aboutsummaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/Bento4/Makefile10
-rw-r--r--multimedia/Bento4/distinfo6
-rw-r--r--multimedia/Bento4/pkg-descr2
-rw-r--r--multimedia/Bento4/pkg-plist145
-rw-r--r--multimedia/Makefile138
-rw-r--r--multimedia/QtAV/Makefile52
-rw-r--r--multimedia/QtAV/distinfo5
-rw-r--r--multimedia/QtAV/files/patch-deploy.pri45
-rw-r--r--multimedia/QtAV/files/patch-src_QtAV_FilterContext.h10
-rw-r--r--multimedia/QtAV/files/patch-src_codec_video_SurfaceInteropCUDA.cpp20
-rw-r--r--multimedia/QtAV/files/patch-src_libQtAV.pro11
-rw-r--r--multimedia/QtAV/pkg-descr5
-rw-r--r--multimedia/QtAV/pkg-plist108
-rw-r--r--multimedia/ab-av1/Makefile91
-rw-r--r--multimedia/ab-av1/Makefile.crates132
-rw-r--r--multimedia/ab-av1/distinfo390
-rw-r--r--multimedia/ab-av1/pkg-descr2
-rw-r--r--multimedia/ab25/Makefile13
-rw-r--r--multimedia/ab25/pkg-descr2
-rw-r--r--multimedia/acidrip/Makefile38
-rw-r--r--multimedia/acidrip/distinfo2
-rw-r--r--multimedia/acidrip/files/patch-AcidRip__acidrip.pm33
-rw-r--r--multimedia/acidrip/pkg-descr12
-rw-r--r--multimedia/acidrip/pkg-plist7
-rw-r--r--multimedia/aegisub/Makefile92
-rw-r--r--multimedia/aegisub/distinfo2
-rw-r--r--multimedia/aegisub/files/patch-Makefile.target11
-rw-r--r--multimedia/aegisub/files/patch-automation__Makefile13
-rw-r--r--multimedia/aegisub/files/patch-boost-1.6962
-rw-r--r--multimedia/aegisub/files/patch-ffms-2.40397
-rw-r--r--multimedia/aegisub/files/patch-fix-dfly-luajit62
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp11
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__common__charset.cpp10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h10
-rw-r--r--multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h10
-rw-r--r--multimedia/aegisub/files/patch-src__Makefile15
-rw-r--r--multimedia/aegisub/files/patch-src__base_grid.h11
-rw-r--r--multimedia/aegisub/files/patch-src__command__command.h10
-rw-r--r--multimedia/aegisub/files/patch-src__frame_main.cpp10
-rw-r--r--multimedia/aegisub/files/patch-src__preferences.cpp10
-rw-r--r--multimedia/aegisub/files/patch-src__spline_curve.cpp10
-rw-r--r--multimedia/aegisub/files/patch-src__video_frame.h10
-rw-r--r--multimedia/aegisub/files/patch-src_search__replace__engine.cpp26
-rw-r--r--multimedia/aegisub/files/patch-src_utils.cpp12
-rw-r--r--multimedia/aegisub/files/patch-tools__Makefile13
-rw-r--r--multimedia/aegisub/files/patch-vendor__universalchardet__Makefile11
-rw-r--r--multimedia/aegisub/pkg-descr6
-rw-r--r--multimedia/aegisub/pkg-plist69
-rw-r--r--multimedia/alass/Makefile113
-rw-r--r--multimedia/alass/distinfo175
-rw-r--r--multimedia/alass/files/patch-powerpc62
-rw-r--r--multimedia/alass/pkg-descr13
-rw-r--r--multimedia/aom/Makefile13
-rw-r--r--multimedia/aom/distinfo8
-rw-r--r--multimedia/aom/files/patch-CMakeLists.txt7
-rw-r--r--multimedia/aom/files/patch-aom__ports_aarch32__cpudetect.c39
-rw-r--r--multimedia/aom/files/patch-aom__ports_aarch64__cpudetect.c29
-rw-r--r--multimedia/aom/files/patch-aom__ports_arm__cpudetect.c41
-rw-r--r--multimedia/aom/files/patch-build_cmake_aom__configure.cmake42
-rw-r--r--multimedia/aom/files/patch-build_cmake_cpu.cmake14
-rw-r--r--multimedia/aom/files/patch-build_cmake_pkg__config.cmake13
-rw-r--r--multimedia/aom/pkg-descr2
-rw-r--r--multimedia/aom/pkg-plist2
-rw-r--r--multimedia/aravis/Makefile4
-rw-r--r--multimedia/aravis/pkg-descr2
-rw-r--r--multimedia/arcan/Makefile20
-rw-r--r--multimedia/arcan/distinfo6
-rw-r--r--multimedia/arcan/files/patch-a12_net_a12__helper__discover.c26
-rw-r--r--multimedia/arcan/files/patch-a12_net_dir__supp.c18
-rw-r--r--multimedia/arcan/pkg-descr2
-rw-r--r--multimedia/arcan/pkg-plist490
-rw-r--r--multimedia/aribb24/Makefile1
-rw-r--r--multimedia/aribb24/pkg-descr2
-rw-r--r--multimedia/assimp/Makefile15
-rw-r--r--multimedia/assimp/distinfo6
-rw-r--r--multimedia/assimp/files/patch-code_AssetLib_MDL_MDLFileData.h11
-rw-r--r--multimedia/assimp/pkg-descr2
-rw-r--r--multimedia/assimp/pkg-plist14
-rw-r--r--multimedia/atomicparsley/Makefile7
-rw-r--r--multimedia/atomicparsley/distinfo6
-rw-r--r--multimedia/atomicparsley/pkg-descr2
-rw-r--r--multimedia/audacious-plugins/Makefile222
-rw-r--r--multimedia/audacious-plugins/distinfo6
-rw-r--r--multimedia/audacious-plugins/pkg-descr2
-rw-r--r--multimedia/audacious-plugins/pkg-plist62
-rw-r--r--multimedia/audacious/Makefile75
-rw-r--r--multimedia/audacious/distinfo6
-rw-r--r--multimedia/audacious/files/patch-Makefile11
-rw-r--r--multimedia/audacious/files/patch-buildsys.mk.in19
-rw-r--r--multimedia/audacious/files/patch-extra.mk.in10
-rw-r--r--multimedia/audacious/files/patch-src_audtool_Makefile8
-rw-r--r--multimedia/audacious/files/patch-src_libaudcore_i18n.h13
-rw-r--r--multimedia/audacious/files/patch-src_libaudcore_vfs.h10
-rw-r--r--multimedia/audacious/pkg-descr2
-rw-r--r--multimedia/audacious/pkg-plist50
-rw-r--r--multimedia/av1an/Makefile221
-rw-r--r--multimedia/av1an/Makefile.crates232
-rw-r--r--multimedia/av1an/distinfo764
-rw-r--r--multimedia/av1an/files/patch-ffmpeg54
-rw-r--r--multimedia/av1an/pkg-descr2
-rw-r--r--multimedia/avidemux-cli/Makefile1
-rw-r--r--multimedia/avidemux-cli/pkg-plist4
-rw-r--r--multimedia/avidemux-plugins/Makefile4
-rw-r--r--multimedia/avidemux-plugins/pkg-plist62
-rw-r--r--multimedia/avidemux-qt5/Makefile1
-rw-r--r--multimedia/avidemux-qt5/pkg-plist19
-rw-r--r--multimedia/avidemux/Makefile3
-rw-r--r--multimedia/avidemux/Makefile.common34
-rw-r--r--multimedia/avidemux/distinfo8
-rw-r--r--multimedia/avidemux/files/extra-patch-i386-nosse14
-rw-r--r--multimedia/avidemux/files/ffmpeg_fix_build_with_binutils_2.41.patch76
-rw-r--r--multimedia/avidemux/files/patch-avidemux_core-ffmpeg_package-patches-configure.patch15
-rw-r--r--multimedia/avidemux/files/patch-cmake_admCheckAudioDeviceLibs.cmake2
-rw-r--r--multimedia/avidemux/pkg-descr2
-rw-r--r--multimedia/avidemux/pkg-plist835
-rw-r--r--multimedia/avinfo/Makefile43
-rw-r--r--multimedia/avinfo/distinfo2
-rw-r--r--multimedia/avinfo/files/patch-src-ass.y33
-rw-r--r--multimedia/avinfo/pkg-descr11
-rw-r--r--multimedia/baka-mplayer/Makefile14
-rw-r--r--multimedia/baka-mplayer/distinfo7
-rw-r--r--multimedia/baka-mplayer/pkg-descr2
-rw-r--r--multimedia/bcmatroska2/Makefile27
-rw-r--r--multimedia/bcmatroska2/distinfo6
-rw-r--r--multimedia/bcmatroska2/files/patch-corec-corec-helpers-file-file_libc.c10
-rw-r--r--multimedia/bcmatroska2/files/patch-corec_corec_helpers_file_file__bctbx.c169
-rw-r--r--multimedia/bcmatroska2/pkg-descr2
-rw-r--r--multimedia/bino/Makefile13
-rw-r--r--multimedia/bino/files/patch-configure.ac10
-rw-r--r--multimedia/bino/pkg-descr2
-rw-r--r--multimedia/bino/pkg-plist2
-rw-r--r--multimedia/bitstream/Makefile1
-rw-r--r--multimedia/bitstream/pkg-descr2
-rw-r--r--multimedia/blind/Makefile2
-rw-r--r--multimedia/blind/files/patch-config.mk5
-rw-r--r--multimedia/blind/pkg-descr2
-rw-r--r--multimedia/blind/pkg-plist80
-rw-r--r--multimedia/bsdbktr_tvtune/Makefile25
-rw-r--r--multimedia/bsdbktr_tvtune/distinfo2
-rw-r--r--multimedia/bsdbktr_tvtune/files/patch-Makefile11
-rw-r--r--multimedia/bsdbktr_tvtune/pkg-descr7
-rw-r--r--multimedia/butt/Makefile19
-rw-r--r--multimedia/butt/distinfo6
-rw-r--r--multimedia/butt/files/patch-src_FLTK_fl__funcs.cpp11
-rw-r--r--multimedia/butt/files/patch-src_Makefile.am8
-rw-r--r--multimedia/butt/pkg-descr2
-rw-r--r--multimedia/camserv/Makefile55
-rw-r--r--multimedia/camserv/distinfo2
-rw-r--r--multimedia/camserv/files/patch-Makefile.am26
-rw-r--r--multimedia/camserv/files/patch-camserv.cfg69
-rw-r--r--multimedia/camserv/files/patch-camserv_Makefile.am12
-rw-r--r--multimedia/camserv/files/patch-camserv_video_fbsd_bttv.c23
-rw-r--r--multimedia/camserv/files/patch-configure.in39
-rw-r--r--multimedia/camserv/files/patch-video_v4l.c11
-rw-r--r--multimedia/camserv/pkg-descr10
-rw-r--r--multimedia/camserv/pkg-plist38
-rw-r--r--multimedia/ccextractor/Makefile50
-rw-r--r--multimedia/ccextractor/distinfo3
-rw-r--r--multimedia/ccextractor/files/patch-src_CMakeLists.txt28
-rw-r--r--multimedia/ccextractor/files/patch-src_lib__ccx_CMakeLists.txt10
-rw-r--r--multimedia/ccextractor/files/patch-src_lib__ccx_ccx__decoders__708.h12
-rw-r--r--multimedia/ccextractor/files/patch-src_lib__ccx_ffmpeg__intgr.c12
-rw-r--r--multimedia/ccextractor/pkg-descr4
-rw-r--r--multimedia/ccextractor/pkg-plist53
-rw-r--r--multimedia/cclive/Makefile33
-rw-r--r--multimedia/cclive/distinfo2
-rw-r--r--multimedia/cclive/pkg-descr11
-rw-r--r--multimedia/celluloid/Makefile13
-rw-r--r--multimedia/celluloid/distinfo6
-rw-r--r--multimedia/celluloid/pkg-descr2
-rw-r--r--multimedia/celluloid/pkg-plist9
-rw-r--r--multimedia/cheese/Makefile11
-rw-r--r--multimedia/cheese/pkg-descr2
-rw-r--r--multimedia/chilitags/Makefile3
-rw-r--r--multimedia/chilitags/pkg-descr2
-rw-r--r--multimedia/cineencoder/Makefile24
-rw-r--r--multimedia/cineencoder/distinfo6
-rw-r--r--multimedia/cineencoder/pkg-descr2
-rw-r--r--multimedia/clapper/Makefile31
-rw-r--r--multimedia/clapper/distinfo3
-rw-r--r--multimedia/clapper/pkg-descr12
-rw-r--r--multimedia/clapper/pkg-plist69
-rw-r--r--multimedia/clive/Makefile34
-rw-r--r--multimedia/clive/distinfo2
-rw-r--r--multimedia/clive/pkg-descr5
-rw-r--r--multimedia/clutter-gst/Makefile3
-rw-r--r--multimedia/clutter-gst/pkg-descr2
-rw-r--r--multimedia/clutter-gst3/Makefile5
-rw-r--r--multimedia/clutter-gst3/pkg-descr2
-rw-r--r--multimedia/cmrt/Makefile1
-rw-r--r--multimedia/cmrt/pkg-descr2
-rw-r--r--multimedia/cmrtlib/Makefile3
-rw-r--r--multimedia/cmrtlib/pkg-descr2
-rw-r--r--multimedia/cx88/Makefile46
-rw-r--r--multimedia/cx88/distinfo6
-rwxr-xr-x[-rw-r--r--]multimedia/cx88/files/cx88d.in0
-rw-r--r--multimedia/cx88/files/patch-audio_cx88__audio.h18
-rw-r--r--multimedia/cx88/files/patch-client_Makefile20
-rw-r--r--multimedia/cx88/files/patch-client_dvb_cx88__dvb__buffer.cpp11
-rw-r--r--multimedia/cx88/files/patch-client_dvb_cx88__dvb__capture.h11
-rw-r--r--multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux.cpp11
-rw-r--r--multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux__feed.cpp11
-rw-r--r--multimedia/cx88/files/patch-client_dvb_cx88__dvb__frontend.cpp11
-rw-r--r--multimedia/cx88/files/patch-client_v4l_cx88__radio__capture.h11
-rw-r--r--multimedia/cx88/files/patch-cx23880_audio_cx23880__audio.c26
-rw-r--r--multimedia/cx88/files/patch-cx23880_mpeg_cx23880__mpeg.c26
-rw-r--r--multimedia/cx88/files/patch-cx23880_video_cx23880__video.c26
-rw-r--r--multimedia/cx88/files/patch-cx23885_avcore_cx23885__avcore.c39
-rw-r--r--multimedia/cx88/files/patch-cx23885_cx23885.c49
-rw-r--r--multimedia/cx88/files/patch-iicdev_iicdev.c25
-rw-r--r--multimedia/cx88/files/patch-ir_cx88__ir.c25
-rw-r--r--multimedia/cx88/pkg-descr2
-rw-r--r--multimedia/dav1d/Makefile13
-rw-r--r--multimedia/dav1d/distinfo10
-rw-r--r--multimedia/dav1d/pkg-descr2
-rw-r--r--multimedia/dav1d/pkg-plist4
-rw-r--r--multimedia/deforaos-player/Makefile9
-rw-r--r--multimedia/deforaos-player/pkg-descr2
-rw-r--r--multimedia/deforaos-player/pkg-plist4
-rw-r--r--multimedia/dirac/Makefile3
-rw-r--r--multimedia/dirac/pkg-descr2
-rw-r--r--multimedia/dragon/Makefile14
-rw-r--r--multimedia/dragon/distinfo6
-rw-r--r--multimedia/dragon/pkg-descr2
-rw-r--r--multimedia/dragon/pkg-plist39
-rw-r--r--multimedia/dtv-scan-tables/Makefile5
-rw-r--r--multimedia/dtv-scan-tables/distinfo6
-rw-r--r--multimedia/dtv-scan-tables/pkg-descr2
-rw-r--r--multimedia/dtv-scan-tables/pkg-plist54
-rw-r--r--multimedia/dumpmpeg/Makefile7
-rw-r--r--multimedia/dv2sub/Makefile8
-rw-r--r--multimedia/dv2sub/pkg-descr2
-rw-r--r--multimedia/dvb-apps/Makefile1
-rw-r--r--multimedia/dvb-apps/pkg-descr2
-rw-r--r--multimedia/dvbcut/Makefile12
-rw-r--r--multimedia/dvbcut/distinfo6
-rw-r--r--multimedia/dvbcut/files/patch-src_dvbcut.cpp42
-rw-r--r--multimedia/dvbcut/files/patch-src_dvbcut.pro14
-rw-r--r--multimedia/dvbcut/files/patch-src_index.h12
-rw-r--r--multimedia/dvbcut/pkg-descr2
-rw-r--r--multimedia/dvbcut/pkg-plist2
-rw-r--r--multimedia/dvbsnoop/Makefile7
-rw-r--r--multimedia/dvbsnoop/pkg-descr2
-rw-r--r--multimedia/dvd-slideshow/Makefile39
-rw-r--r--multimedia/dvd-slideshow/distinfo5
-rw-r--r--multimedia/dvd-slideshow/pkg-descr2
-rw-r--r--multimedia/dvd-slideshow/pkg-plist104
-rw-r--r--multimedia/dvdauthor/Makefile6
-rw-r--r--multimedia/dvdauthor/pkg-descr2
-rw-r--r--multimedia/dvdauthor/pkg-plist14
-rw-r--r--multimedia/dvdid/Makefile3
-rw-r--r--multimedia/dvdid/pkg-descr2
-rw-r--r--multimedia/dvdread/Makefile3
-rw-r--r--multimedia/dvdread/pkg-descr2
-rw-r--r--multimedia/dvdrip/Makefile67
-rw-r--r--multimedia/dvdrip/distinfo3
-rw-r--r--multimedia/dvdrip/files/patch-lib__Video__DVDRip__Cluster__Master.pm11
-rw-r--r--multimedia/dvdrip/files/patch-lib__Video__DVDRip__Config.pm40
-rw-r--r--multimedia/dvdrip/files/patch-lib__Video__DVDRip__FilterList.pm11
-rw-r--r--multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Storage.pm15
-rw-r--r--multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Title.pm27
-rw-r--r--multimedia/dvdrip/files/patch-lib__Video__DVDRip__Project.pm51
-rw-r--r--multimedia/dvdrip/pkg-descr6
-rw-r--r--multimedia/dvdrip/pkg-plist100
-rw-r--r--multimedia/dvdstyler/Makefile27
-rw-r--r--multimedia/dvdstyler/distinfo6
-rw-r--r--multimedia/dvdstyler/files/patch-configure.ac20
-rw-r--r--multimedia/dvdstyler/files/patch-src_mediaenc__ffmpeg.cpp12
-rw-r--r--multimedia/dvdstyler/files/patch-wxVillaLib-PropDlg.cpp10
-rw-r--r--multimedia/dvdstyler/files/patch-wxVillaLib_ThumbnailFactory.cpp11
-rw-r--r--multimedia/dvdstyler/files/patch-wxVillaLib_imagjpg.cpp10
-rw-r--r--multimedia/dvdstyler/files/patch-wxVillaLib_thumb_md5.cpp11
-rw-r--r--multimedia/dvdstyler/pkg-descr2
-rw-r--r--multimedia/dvdstyler/pkg-plist13
-rw-r--r--multimedia/elementary-videos/Makefile16
-rw-r--r--multimedia/elementary-videos/distinfo8
-rw-r--r--multimedia/elementary-videos/files/patch-data_io.elementary.videos.desktop.in10
-rw-r--r--multimedia/elementary-videos/files/patch-meson.build9
-rw-r--r--multimedia/elementary-videos/files/patch-src_Window.vala16
-rw-r--r--multimedia/elementary-videos/pkg-descr2
-rw-r--r--multimedia/elementary-videos/pkg-plist2
-rw-r--r--multimedia/emby-server-devel/Makefile132
-rw-r--r--multimedia/emby-server-devel/distinfo14
-rw-r--r--multimedia/emby-server-devel/files/ImageMagickSharp.dll.config.in3
-rw-r--r--multimedia/emby-server-devel/files/SQLitePCLRaw.provider.sqlite3.dll.config.in3
-rw-r--r--multimedia/emby-server-devel/files/emby-server.in69
-rw-r--r--multimedia/emby-server-devel/files/patch-dav1d-1.0111
-rw-r--r--multimedia/emby-server-devel/pkg-deinstall10
-rw-r--r--multimedia/emby-server-devel/pkg-descr8
-rw-r--r--multimedia/emby-server-devel/pkg-message14
-rw-r--r--multimedia/emby-server-devel/pkg-plist997
-rw-r--r--multimedia/emby-server/Makefile87
-rw-r--r--multimedia/emby-server/distinfo14
-rw-r--r--multimedia/emby-server/files/ImageMagickSharp.dll.config.in3
-rw-r--r--multimedia/emby-server/files/emby-server.in40
-rw-r--r--multimedia/emby-server/files/patch-dav1d-1.0111
-rw-r--r--multimedia/emby-server/pkg-descr2
-rw-r--r--multimedia/emby-server/pkg-message3
-rw-r--r--multimedia/emby-server/pkg-plist1013
-rw-r--r--multimedia/emovix/Makefile3
-rw-r--r--multimedia/emovix/pkg-descr2
-rw-r--r--multimedia/ffaudioconverter/Makefile5
-rw-r--r--multimedia/ffaudioconverter/distinfo6
-rw-r--r--multimedia/ffaudioconverter/pkg-descr2
-rw-r--r--multimedia/ffdec/Makefile10
-rw-r--r--multimedia/ffdec/distinfo6
-rw-r--r--multimedia/ffdec/pkg-descr2
-rw-r--r--multimedia/ffdec/pkg-plist1
-rw-r--r--multimedia/ffmpeg/Makefile116
-rw-r--r--multimedia/ffmpeg/distinfo18
-rw-r--r--multimedia/ffmpeg/files/patch-add-av_stream_get_first_dts-for-qt5-webengine35
-rw-r--r--multimedia/ffmpeg/files/patch-configure26
-rw-r--r--multimedia/ffmpeg/files/patch-libavutil_hwcontext__drm.c24
-rw-r--r--multimedia/ffmpeg/files/patch-libavutil_thread.h14
-rw-r--r--multimedia/ffmpeg/files/patch-svtav1422
-rw-r--r--multimedia/ffmpeg/files/patch-vk2771324
-rw-r--r--multimedia/ffmpeg/pkg-descr2
-rw-r--r--multimedia/ffmpeg/pkg-plist123
-rw-r--r--multimedia/ffmpeg2theora/Makefile30
-rw-r--r--multimedia/ffmpeg2theora/distinfo3
-rw-r--r--multimedia/ffmpeg2theora/files/patch-SConstruct103
-rw-r--r--multimedia/ffmpeg2theora/files/patch-src_ffmpeg2theora.c14
-rw-r--r--multimedia/ffmpeg2theora/files/patch-src_subtitles.c11
-rw-r--r--multimedia/ffmpeg2theora/pkg-descr5
-rw-r--r--multimedia/ffmpeg4/Makefile651
-rw-r--r--multimedia/ffmpeg4/distinfo9
-rw-r--r--multimedia/ffmpeg4/files/patch-configure43
-rw-r--r--multimedia/ffmpeg4/files/patch-doc-Makefile11
-rw-r--r--multimedia/ffmpeg4/files/patch-libavdevice_v4l2.c18
-rw-r--r--multimedia/ffmpeg4/files/patch-libavfilter_glslang.cpp10
-rw-r--r--multimedia/ffmpeg4/files/patch-libavfilter_vf__lensfun.c51
-rw-r--r--multimedia/ffmpeg4/files/patch-libavformat_rtsp.c44
-rw-r--r--multimedia/ffmpeg4/files/patch-libavutil-common.h13
-rw-r--r--multimedia/ffmpeg4/files/patch-libavutil-x86-asm.h11
-rw-r--r--multimedia/ffmpeg4/files/patch-libavutil_hwcontext__drm.c24
-rw-r--r--multimedia/ffmpeg4/files/patch-libswscale_ppc_yuv2rgb__altivec.c15
-rw-r--r--multimedia/ffmpeg4/files/patch-svtav1467
-rw-r--r--multimedia/ffmpeg4/files/patch-vmaf (renamed from multimedia/ffmpeg/files/patch-vmaf)0
-rw-r--r--multimedia/ffmpeg4/override.mk8
-rw-r--r--multimedia/ffmpeg4/pkg-descr3
-rw-r--r--multimedia/ffmpeg4/pkg-plist220
-rw-r--r--multimedia/ffmpegthumbnailer/Makefile26
-rw-r--r--multimedia/ffmpegthumbnailer/distinfo6
-rw-r--r--multimedia/ffmpegthumbnailer/files/patch-CMakeLists.txt52
-rw-r--r--multimedia/ffmpegthumbnailer/pkg-descr2
-rw-r--r--multimedia/ffms2/Makefile9
-rw-r--r--multimedia/ffms2/distinfo6
-rw-r--r--multimedia/ffms2/pkg-descr2
-rw-r--r--multimedia/ffnvcodec-headers/Makefile21
-rw-r--r--multimedia/ffnvcodec-headers/distinfo3
-rw-r--r--multimedia/ffnvcodec-headers/pkg-descr1
-rw-r--r--multimedia/ffnvcodec-headers/pkg-plist6
-rw-r--r--multimedia/ffsubsync/Makefile36
-rw-r--r--multimedia/ffsubsync/distinfo3
-rw-r--r--multimedia/ffsubsync/pkg-descr2
-rw-r--r--multimedia/filebot/Makefile2
-rw-r--r--multimedia/filebot/pkg-descr2
-rw-r--r--multimedia/flvmeta/Makefile27
-rw-r--r--multimedia/flvmeta/distinfo6
-rw-r--r--multimedia/flvmeta/files/patch-man_flvmeta.1461
-rw-r--r--multimedia/flvmeta/pkg-descr2
-rw-r--r--multimedia/flvstreamer/Makefile28
-rw-r--r--multimedia/flvstreamer/distinfo2
-rw-r--r--multimedia/flvstreamer/files/patch-Makefile29
-rw-r--r--multimedia/flvstreamer/files/patch-bytes.h11
-rw-r--r--multimedia/flvstreamer/pkg-descr10
-rw-r--r--multimedia/flvtool++/Makefile8
-rw-r--r--multimedia/flvtool++/pkg-descr2
-rw-r--r--multimedia/fpc-dts/Makefile20
-rw-r--r--multimedia/fpc-dts/files/patch-packages-dts-src-dts.pas97
-rw-r--r--multimedia/fpc-dts/files/patch-packages_dts_fpmake.pp11
-rw-r--r--multimedia/fpc-dts/pkg-plist3
-rw-r--r--multimedia/fpc-libvlc/Makefile17
-rw-r--r--multimedia/fpc-libvlc/files/patch-packages_libvlc_fpmake.pp21
-rw-r--r--multimedia/fpc-libvlc/pkg-plist5
-rw-r--r--multimedia/fswebcam/Makefile26
-rw-r--r--multimedia/fswebcam/distinfo3
-rw-r--r--multimedia/fswebcam/files/patch-Makefile.in13
-rw-r--r--multimedia/fswebcam/files/patch-videodev.h13
-rw-r--r--multimedia/fswebcam/files/patch-videodev2.h12
-rw-r--r--multimedia/fswebcam/pkg-descr6
-rw-r--r--multimedia/fxtv/Makefile40
-rw-r--r--multimedia/fxtv/distinfo2
-rw-r--r--multimedia/fxtv/files/patch-Makefile38
-rw-r--r--multimedia/fxtv/files/patch-app_rsrc.h188
-rw-r--r--multimedia/fxtv/files/patch-haup__remote.c21
-rw-r--r--multimedia/fxtv/files/patch-pixelview__remote.c21
-rw-r--r--multimedia/fxtv/files/patch-remote.c11
-rw-r--r--multimedia/fxtv/files/patch-tvcapture.c22
-rw-r--r--multimedia/fxtv/files/patch-tvcapture.h18
-rw-r--r--multimedia/fxtv/files/patch-tvmenu.c20
-rw-r--r--multimedia/fxtv/files/patch-tvscreen.c12
-rw-r--r--multimedia/fxtv/files/patch-videolib_Makefile11
-rw-r--r--multimedia/fxtv/files/patch-videolib_videolib.c38
-rw-r--r--multimedia/fxtv/files/patch-voxware.h13
-rw-r--r--multimedia/fxtv/files/patch-xutil.c15
-rw-r--r--multimedia/fxtv/pkg-descr9
-rw-r--r--multimedia/fxtv/pkg-plist12
-rw-r--r--multimedia/gaupol/Makefile22
-rw-r--r--multimedia/gaupol/distinfo6
-rw-r--r--multimedia/gaupol/pkg-descr2
-rw-r--r--multimedia/gavl/Makefile3
-rw-r--r--multimedia/gavl/pkg-descr2
-rw-r--r--multimedia/gdialog/Makefile3
-rw-r--r--multimedia/gdialog/pkg-descr1
-rw-r--r--multimedia/get_iplayer/Makefile17
-rw-r--r--multimedia/get_iplayer/distinfo6
-rw-r--r--multimedia/get_iplayer/pkg-descr2
-rw-r--r--multimedia/gmerlin/Makefile81
-rw-r--r--multimedia/gmerlin/distinfo2
-rw-r--r--multimedia/gmerlin/files/patch-configure50
-rw-r--r--multimedia/gmerlin/files/patch-doc__gmerlin.texi11
-rw-r--r--multimedia/gmerlin/files/patch-plugins__videofilters__bgyadif.c11
-rw-r--r--multimedia/gmerlin/files/patch-plugins_cdaudio_cdparanoia.c15
-rw-r--r--multimedia/gmerlin/files/patch-plugins_cdaudio_cdtext.c91
-rw-r--r--multimedia/gmerlin/pkg-descr14
-rw-r--r--multimedia/gmerlin/pkg-plist320
-rw-r--r--multimedia/gmmlib/Makefile7
-rw-r--r--multimedia/gmmlib/distinfo10
-rw-r--r--multimedia/gmmlib/pkg-descr2
-rw-r--r--multimedia/gmmlib/pkg-plist4
-rw-r--r--multimedia/gmp-api/Makefile3
-rw-r--r--multimedia/gmp-api/distinfo6
-rw-r--r--multimedia/gmp-api/pkg-descr2
-rw-r--r--multimedia/gmtk/Makefile3
-rw-r--r--multimedia/gmtk/pkg-descr2
-rw-r--r--multimedia/gnome-mplayer/Makefile6
-rw-r--r--multimedia/gnome-mplayer/pkg-descr2
-rw-r--r--multimedia/gnome-mplayer/pkg-plist2
-rw-r--r--multimedia/gnome-twitch/Makefile69
-rw-r--r--multimedia/gnome-twitch/distinfo3
-rw-r--r--multimedia/gnome-twitch/pkg-descr3
-rw-r--r--multimedia/gnome-twitch/pkg-plist38
-rw-r--r--multimedia/gpac-libgpac/Makefile8
-rw-r--r--multimedia/gpac-libgpac/files/patch-src_evg_raster__yuv.c11
-rw-r--r--multimedia/gpac-libgpac/pkg-descr2
-rw-r--r--multimedia/gpac-mp4box/Makefile12
-rw-r--r--multimedia/gpac-mp4box/pkg-descr2
-rw-r--r--multimedia/gpodder/Makefile9
-rw-r--r--multimedia/gpodder/distinfo6
-rw-r--r--multimedia/gpodder/pkg-descr2
-rw-r--r--multimedia/gpodder/pkg-plist296
-rw-r--r--multimedia/grake/Makefile33
-rw-r--r--multimedia/grake/distinfo2
-rw-r--r--multimedia/grake/pkg-descr3
-rw-r--r--multimedia/gst123/Makefile9
-rw-r--r--multimedia/gst123/pkg-descr2
-rw-r--r--multimedia/gstreamer1-editing-services/Makefile34
-rw-r--r--multimedia/gstreamer1-editing-services/distinfo6
-rw-r--r--multimedia/gstreamer1-editing-services/pkg-descr2
-rw-r--r--multimedia/gstreamer1-editing-services/pkg-plist12
-rw-r--r--multimedia/gstreamer1-libav/Makefile46
-rw-r--r--multimedia/gstreamer1-libav/distinfo8
-rw-r--r--multimedia/gstreamer1-libav/pkg-descr2
-rw-r--r--multimedia/gstreamer1-libav/pkg-plist22
-rw-r--r--multimedia/gstreamer1-plugins-all/Makefile16
-rw-r--r--multimedia/gstreamer1-plugins-all/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-aom/Makefile6
-rw-r--r--multimedia/gstreamer1-plugins-aom/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-assrender/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-assrender/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-bad/Makefile118
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build21
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build17
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h10
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build13
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d142
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb7026
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build20
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build21
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-meson.build18
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt44
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build13
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build16
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build90
-rw-r--r--multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins-bad/pkg-plist93
-rw-r--r--multimedia/gstreamer1-plugins-core/Makefile5
-rw-r--r--multimedia/gstreamer1-plugins-core/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-dash/Makefile11
-rw-r--r--multimedia/gstreamer1-plugins-dash/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-dts/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-dts/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-dv/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-dv/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-dvdread/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-dvdread/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-gnonlin/Makefile7
-rw-r--r--multimedia/gstreamer1-plugins-gnonlin/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-good/Makefile64
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqsgtexture.cc11
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqtglutility.cc15
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtitem.cc11
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtwindow.cc20
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c82
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssink.c73
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssrc.c73
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_gstv4l2object.c13
-rw-r--r--multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_v4l2__calls.c15
-rw-r--r--multimedia/gstreamer1-plugins-good/pkg-plist4
-rw-r--r--multimedia/gstreamer1-plugins-hls/Makefile6
-rw-r--r--multimedia/gstreamer1-plugins-hls/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-kate/Makefile11
-rw-r--r--multimedia/gstreamer1-plugins-libde265/Makefile6
-rw-r--r--multimedia/gstreamer1-plugins-libde265/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-mpeg2dec/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-mpeg2dec/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-mpeg2enc/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-mpeg2enc/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-mplex/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-mplex/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-msdk/Makefile11
-rw-r--r--multimedia/gstreamer1-plugins-msdk/pkg-plist17
-rw-r--r--multimedia/gstreamer1-plugins-openh264/Makefile6
-rw-r--r--multimedia/gstreamer1-plugins-openh264/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-resindvd/Makefile10
-rw-r--r--multimedia/gstreamer1-plugins-resindvd/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-rtmp/Makefile11
-rw-r--r--multimedia/gstreamer1-plugins-rust/Makefile427
-rw-r--r--multimedia/gstreamer1-plugins-rust/Makefile.crates485
-rw-r--r--multimedia/gstreamer1-plugins-rust/distinfo1490
-rw-r--r--multimedia/gstreamer1-plugins-rust/files/patch-cargo-0.5618
-rw-r--r--multimedia/gstreamer1-plugins-rust/files/patch-gst-1.1638
-rw-r--r--multimedia/gstreamer1-plugins-rust/files/patch-powerpc10
-rw-r--r--multimedia/gstreamer1-plugins-rust/files/patch-webp17
-rw-r--r--multimedia/gstreamer1-plugins-rust/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-rust/pkg-plist59
-rw-r--r--multimedia/gstreamer1-plugins-smoothstreaming/Makefile9
-rw-r--r--multimedia/gstreamer1-plugins-smoothstreaming/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-svt-av1/Makefile4
-rw-r--r--multimedia/gstreamer1-plugins-svt-av1/distinfo6
-rw-r--r--multimedia/gstreamer1-plugins-svt-av1/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-svt-hevc/Makefile1
-rw-r--r--multimedia/gstreamer1-plugins-svt-hevc/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-svt-vp9/Makefile1
-rw-r--r--multimedia/gstreamer1-plugins-svt-vp9/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins-theora/Makefile7
-rw-r--r--multimedia/gstreamer1-plugins-theora/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-ttml/Makefile6
-rw-r--r--multimedia/gstreamer1-plugins-ttml/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-ugly/Makefile22
-rw-r--r--multimedia/gstreamer1-plugins-ugly/files/patch-meson.build14
-rw-r--r--multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt13
-rw-r--r--multimedia/gstreamer1-plugins-ugly/pkg-plist3
-rw-r--r--multimedia/gstreamer1-plugins-v4l2/Makefile10
-rw-r--r--multimedia/gstreamer1-plugins-v4l2/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins-vpx/Makefile6
-rw-r--r--multimedia/gstreamer1-plugins-vpx/pkg-plist2
-rw-r--r--multimedia/gstreamer1-plugins-x264/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-x264/pkg-plist2
-rw-r--r--multimedia/gstreamer1-plugins-x265/Makefile8
-rw-r--r--multimedia/gstreamer1-plugins-x265/pkg-plist1
-rw-r--r--multimedia/gstreamer1-plugins/Makefile154
-rw-r--r--multimedia/gstreamer1-plugins/Makefile.common741
-rw-r--r--multimedia/gstreamer1-plugins/distinfo18
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-Makefile.in11
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-configure109
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build11
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_gl_meson.build22
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build13
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build19
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build13
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_allocators_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_app_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_audio_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_fft_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build77
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_pbutils_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_riff_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtp_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtsp_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_sdp_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_tag_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-meson.build39
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-meson__options.txt30
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build19
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build12
-rw-r--r--multimedia/gstreamer1-plugins/files/patch-tools_meson.build15
-rw-r--r--multimedia/gstreamer1-plugins/pkg-descr2
-rw-r--r--multimedia/gstreamer1-plugins/pkg-plist49
-rw-r--r--multimedia/gstreamer1-qt/Makefile6
-rw-r--r--multimedia/gstreamer1-qt/files/patch-elements_gstqtvideosink_gstqtvideosinkplugin.h8
-rw-r--r--multimedia/gstreamer1-qt/files/patch-src_QGst_event.cpp11
-rw-r--r--multimedia/gstreamer1-qt/files/patch-src_QGst_message.cpp11
-rw-r--r--multimedia/gstreamer1-qt/pkg-descr2
-rw-r--r--multimedia/gstreamer1-rtsp-server/Makefile16
-rw-r--r--multimedia/gstreamer1-rtsp-server/distinfo6
-rw-r--r--multimedia/gstreamer1-rtsp-server/pkg-descr2
-rw-r--r--multimedia/gstreamer1-transcoder/Makefile39
-rw-r--r--multimedia/gstreamer1-transcoder/distinfo3
-rw-r--r--multimedia/gstreamer1-transcoder/pkg-descr5
-rw-r--r--multimedia/gstreamer1-transcoder/pkg-plist34
-rw-r--r--multimedia/gstreamer1-vaapi/Makefile33
-rw-r--r--multimedia/gstreamer1-vaapi/distinfo6
-rw-r--r--multimedia/gstreamer1-vaapi/pkg-descr2
-rw-r--r--multimedia/gstreamer1-vaapi/pkg-plist35
-rw-r--r--multimedia/gstreamer1-validate/Makefile19
-rw-r--r--multimedia/gstreamer1-validate/distinfo6
-rw-r--r--multimedia/gstreamer1-validate/pkg-descr2
-rw-r--r--multimedia/gstreamer1/Makefile49
-rw-r--r--multimedia/gstreamer1/distinfo6
-rw-r--r--multimedia/gstreamer1/files/patch-Makefile.in11
-rw-r--r--multimedia/gstreamer1/files/patch-libs_gst_controller_Makefile.in11
-rw-r--r--multimedia/gstreamer1/pkg-descr6
-rw-r--r--multimedia/gstreamer1/pkg-plist41
-rw-r--r--multimedia/gstreamermm/Makefile5
-rw-r--r--multimedia/gtk-pipe-viewer/Makefile14
-rw-r--r--multimedia/gtk-youtube-viewer/Makefile6
-rw-r--r--multimedia/gtk-youtube-viewer/distinfo6
-rw-r--r--multimedia/gtk-youtube-viewer/pkg-descr2
-rw-r--r--multimedia/handbrake/Makefile40
-rw-r--r--multimedia/handbrake/distinfo38
-rw-r--r--multimedia/handbrake/files/P00-freebsd-libavutil-x86-asm-h.patch11
-rw-r--r--multimedia/handbrake/files/P01-freebsd-ifo_types.h.patch11
-rw-r--r--multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs18
-rw-r--r--multimedia/handbrake/files/patch-contrib_x265__10bit_module.defs13
-rw-r--r--multimedia/handbrake/files/patch-contrib_x265__12bit_module.defs13
-rw-r--r--multimedia/handbrake/files/patch-libhb_module.defs15
-rw-r--r--multimedia/handbrake/files/patch-libhb_nlmeans.c11
-rw-r--r--multimedia/handbrake/files/patch-libhb_nlmeans__x86.c11
-rw-r--r--multimedia/handbrake/files/patch-scripts_repo-info.sh8
-rw-r--r--multimedia/handbrake/pkg-descr2
-rw-r--r--multimedia/handbrake/pkg-plist5
-rw-r--r--multimedia/haruna/Makefile28
-rw-r--r--multimedia/haruna/distinfo6
-rw-r--r--multimedia/haruna/pkg-descr2
-rw-r--r--multimedia/haruna/pkg-plist7
-rw-r--r--multimedia/harvid/Makefile7
-rw-r--r--multimedia/harvid/distinfo6
-rw-r--r--multimedia/harvid/files/patch-common.mak2
-rw-r--r--multimedia/harvid/files/patch-src_Makefile8
-rw-r--r--multimedia/harvid/pkg-descr2
-rw-r--r--multimedia/helvum/Makefile164
-rw-r--r--multimedia/helvum/Makefile.crates103
-rw-r--r--multimedia/helvum/distinfo398
-rw-r--r--multimedia/helvum/files/patch-pipewire-i38653
-rw-r--r--multimedia/helvum/files/patch-pipewire_32bit27
-rw-r--r--multimedia/helvum/files/patch-pipewire_eventfd29
-rw-r--r--multimedia/helvum/files/patch-pipewire_init16
-rw-r--r--multimedia/helvum/pkg-descr2
-rw-r--r--multimedia/hypnotix/Makefile10
-rw-r--r--multimedia/hypnotix/distinfo6
-rw-r--r--multimedia/hypnotix/pkg-descr2
-rw-r--r--multimedia/hypnotix/pkg-plist271
-rw-r--r--multimedia/imagination/Makefile34
-rw-r--r--multimedia/imagination/distinfo2
-rw-r--r--multimedia/imagination/files/patch-configure20
-rw-r--r--multimedia/imagination/files/patch-use-plugins.h11
-rw-r--r--multimedia/imagination/pkg-descr4
-rw-r--r--multimedia/imagination/pkg-plist181
-rw-r--r--multimedia/intel-media-sdk/Makefile5
-rw-r--r--multimedia/intel-media-sdk/distinfo6
-rw-r--r--multimedia/intel-media-sdk/pkg-descr2
-rw-r--r--multimedia/iriverter/Makefile25
-rw-r--r--multimedia/iriverter/distinfo2
-rw-r--r--multimedia/iriverter/pkg-descr5
-rw-r--r--multimedia/iriverter/pkg-plist36
-rw-r--r--multimedia/iso2mkv/Makefile5
-rw-r--r--multimedia/iso2mkv/pkg-descr2
-rw-r--r--multimedia/jellyfin/Makefile56
-rw-r--r--multimedia/jellyfin/distinfo5
-rwxr-xr-xmultimedia/jellyfin/files/jellyfin.in78
-rwxr-xr-xmultimedia/jellyfin/files/pkg-message.in53
-rwxr-xr-xmultimedia/jellyfin/pkg-descr5
-rwxr-xr-xmultimedia/jellyfin/pkg-plist1998
-rw-r--r--multimedia/jmref/Makefile5
-rw-r--r--multimedia/jmref/pkg-descr2
-rw-r--r--multimedia/kaffeine/Makefile15
-rw-r--r--multimedia/kaffeine/pkg-descr2
-rw-r--r--multimedia/kaffeine/pkg-plist16
-rw-r--r--multimedia/kamoso/Makefile10
-rw-r--r--multimedia/kamoso/distinfo6
-rw-r--r--multimedia/kamoso/pkg-descr2
-rw-r--r--multimedia/kamoso/pkg-plist6
-rw-r--r--multimedia/kasts/Makefile28
-rw-r--r--multimedia/kasts/distinfo3
-rw-r--r--multimedia/kasts/pkg-descr10
-rw-r--r--multimedia/kasts/pkg-plist41
-rw-r--r--multimedia/kdemultimedia-ffmpegthumbs/Makefile9
-rw-r--r--multimedia/kdemultimedia-ffmpegthumbs/distinfo6
-rw-r--r--multimedia/kdemultimedia-ffmpegthumbs/pkg-descr2
-rw-r--r--multimedia/kdemultimedia-ffmpegthumbs/pkg-plist3
-rw-r--r--multimedia/kdemultimedia/Makefile3
-rw-r--r--multimedia/kdemultimedia/pkg-descr2
-rw-r--r--multimedia/kdenlive/Makefile31
-rw-r--r--multimedia/kdenlive/distinfo6
-rw-r--r--multimedia/kdenlive/pkg-descr2
-rw-r--r--multimedia/kdenlive/pkg-plist103
-rw-r--r--multimedia/kew/Makefile37
-rw-r--r--multimedia/kew/distinfo3
-rw-r--r--multimedia/kew/pkg-descr10
-rw-r--r--multimedia/kf5-kmediaplayer/Makefile9
-rw-r--r--multimedia/kf5-kmediaplayer/distinfo6
-rw-r--r--multimedia/kf5-kmediaplayer/pkg-descr2
-rw-r--r--multimedia/kmplayer/Makefile13
-rw-r--r--multimedia/kmplayer/files/patch-CMakeLists.txt11
-rw-r--r--multimedia/kmplayer/pkg-descr2
-rw-r--r--multimedia/kodi-addon-inputstream.adaptive/Makefile14
-rw-r--r--multimedia/kodi-addon-inputstream.adaptive/distinfo8
-rw-r--r--multimedia/kodi-addon-inputstream.adaptive/files/patch-FindBento4.cmake12
-rw-r--r--multimedia/kodi-addon-inputstream.adaptive/pkg-descr2
-rw-r--r--multimedia/kodi-addon-peripheral.joystick/Makefile8
-rw-r--r--multimedia/kodi-addon-peripheral.joystick/distinfo6
-rw-r--r--multimedia/kodi-addon-peripheral.joystick/pkg-descr2
-rw-r--r--multimedia/kodi-addon-pvr.hts/Makefile7
-rw-r--r--multimedia/kodi-addon-pvr.hts/distinfo6
-rw-r--r--multimedia/kodi-addon-pvr.hts/pkg-descr2
-rw-r--r--multimedia/kodi-addon-pvr.iptvsimple/Makefile7
-rw-r--r--multimedia/kodi-addon-pvr.iptvsimple/distinfo6
-rw-r--r--multimedia/kodi-addon-pvr.iptvsimple/pkg-descr2
-rw-r--r--multimedia/kodi-addon-screensaver.biogenesis/Makefile8
-rw-r--r--multimedia/kodi-addon-screensaver.biogenesis/distinfo6
-rw-r--r--multimedia/kodi-addon-screensaver.biogenesis/pkg-descr2
-rw-r--r--multimedia/kodi-addon-screensaver.matrixtrails/Makefile8
-rw-r--r--multimedia/kodi-addon-screensaver.matrixtrails/distinfo6
-rw-r--r--multimedia/kodi-addon-screensaver.matrixtrails/pkg-descr2
-rw-r--r--multimedia/kodi-addon-screensaver.stars/Makefile8
-rw-r--r--multimedia/kodi-addon-screensaver.stars/distinfo6
-rw-r--r--multimedia/kodi-addon-screensaver.stars/pkg-descr2
-rw-r--r--multimedia/kodi-addon-visualization.fishbmc/Makefile8
-rw-r--r--multimedia/kodi-addon-visualization.fishbmc/distinfo6
-rw-r--r--multimedia/kodi-addon-visualization.fishbmc/pkg-descr2
-rw-r--r--multimedia/kodi-addon-visualization.shadertoy/Makefile8
-rw-r--r--multimedia/kodi-addon-visualization.shadertoy/distinfo6
-rw-r--r--multimedia/kodi-addon-visualization.shadertoy/pkg-descr2
-rw-r--r--multimedia/kodi-addon-visualization.spectrum/Makefile8
-rw-r--r--multimedia/kodi-addon-visualization.spectrum/distinfo6
-rw-r--r--multimedia/kodi-addon-visualization.spectrum/pkg-descr2
-rw-r--r--multimedia/kodi/Makefile92
-rw-r--r--multimedia/kodi/distinfo12
-rw-r--r--multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake29
-rw-r--r--multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake11
-rw-r--r--multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake11
-rw-r--r--multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake11
-rw-r--r--multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake4
-rw-r--r--multimedia/kodi/files/patch-ffmpeg6-support2155
-rw-r--r--multimedia/kodi/files/patch-libfmt13
-rw-r--r--multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp16
-rw-r--r--multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp11
-rw-r--r--multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp14
-rw-r--r--multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h14
-rw-r--r--multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp11
-rw-r--r--multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h4
-rw-r--r--multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp10
-rw-r--r--multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp11
-rw-r--r--multimedia/kodi/pkg-descr2
-rw-r--r--multimedia/kodi/pkg-message2
-rw-r--r--multimedia/kodi/pkg-plist480
-rw-r--r--multimedia/kooha/Makefile217
-rw-r--r--multimedia/kooha/Makefile.crates182
-rw-r--r--multimedia/kooha/distinfo682
-rw-r--r--multimedia/kooha/files/patch-build-aux_cargo.sh18
-rw-r--r--multimedia/kooha/files/patch-pango-1.5016
-rw-r--r--multimedia/kooha/files/patch-zbus19
-rw-r--r--multimedia/kooha/pkg-descr19
-rw-r--r--multimedia/kooha/pkg-plist12
-rw-r--r--multimedia/kvazaar/Makefile16
-rw-r--r--multimedia/kvazaar/distinfo6
-rw-r--r--multimedia/kvazaar/pkg-descr2
-rw-r--r--multimedia/kvazaar/pkg-plist9
-rw-r--r--multimedia/l-smash/Makefile19
-rw-r--r--multimedia/l-smash/distinfo6
-rw-r--r--multimedia/l-smash/files/patch-configure19
-rw-r--r--multimedia/l-smash/pkg-descr2
-rw-r--r--multimedia/l-smash/pkg-plist1
-rw-r--r--multimedia/lebiniou-data/Makefile7
-rw-r--r--multimedia/lebiniou-data/pkg-descr3
-rw-r--r--multimedia/lebiniou/Makefile9
-rw-r--r--multimedia/lebiniou/pkg-descr2
-rw-r--r--multimedia/lebiniou/pkg-plist2
-rw-r--r--multimedia/libaacs/Makefile6
-rw-r--r--multimedia/libaacs/pkg-descr2
-rw-r--r--multimedia/libass/Makefile10
-rw-r--r--multimedia/libass/distinfo6
-rw-r--r--multimedia/libass/pkg-descr2
-rw-r--r--multimedia/libass/pkg-plist2
-rw-r--r--multimedia/libbdplus/Makefile9
-rw-r--r--multimedia/libbdplus/distinfo5
-rw-r--r--multimedia/libbdplus/pkg-descr2
-rw-r--r--multimedia/libbdplus/pkg-plist2
-rw-r--r--multimedia/libbluray/Makefile14
-rw-r--r--multimedia/libbluray/distinfo6
-rw-r--r--multimedia/libbluray/files/patch-src_libbluray_bdj_java_java_io_BDFileSystem.java20
-rw-r--r--multimedia/libbluray/pkg-descr2
-rw-r--r--multimedia/libbluray/pkg-plist6
-rw-r--r--multimedia/libcec/Makefile6
-rw-r--r--multimedia/libcec/pkg-descr2
-rw-r--r--multimedia/libdc1394/Makefile5
-rw-r--r--multimedia/libdc1394/pkg-descr2
-rw-r--r--multimedia/libdc1394/pkg-plist12
-rw-r--r--multimedia/libdca/Makefile8
-rw-r--r--multimedia/libdca/pkg-descr2
-rw-r--r--multimedia/libdca/pkg-plist8
-rw-r--r--multimedia/libdcadec/Makefile1
-rw-r--r--multimedia/libdcadec/pkg-descr2
-rw-r--r--multimedia/libde265/Makefile14
-rw-r--r--multimedia/libde265/distinfo16
-rw-r--r--multimedia/libde265/pkg-descr2
-rw-r--r--multimedia/libde265/pkg-plist2
-rw-r--r--multimedia/libdv/Makefile15
-rw-r--r--multimedia/libdv/pkg-descr2
-rw-r--r--multimedia/libdv/pkg-plist6
-rw-r--r--multimedia/libdvbcsa/Makefile9
-rw-r--r--multimedia/libdvbcsa/pkg-descr2
-rw-r--r--multimedia/libdvbpsi/Makefile8
-rw-r--r--multimedia/libdvbpsi/pkg-descr2
-rw-r--r--multimedia/libdvdcss/Makefile6
-rw-r--r--multimedia/libdvdcss/pkg-descr2
-rw-r--r--multimedia/libdvdnav/Makefile8
-rw-r--r--multimedia/libdvdnav/pkg-descr2
-rw-r--r--multimedia/libdvdread/Makefile10
-rw-r--r--multimedia/libdvdread/distinfo6
-rw-r--r--multimedia/libdvdread/files/patch-src-dvdread-ifo_types.h11
-rw-r--r--multimedia/libdvdread/pkg-descr2
-rw-r--r--multimedia/libfame/Makefile6
-rw-r--r--multimedia/libfame/pkg-descr2
-rw-r--r--multimedia/libfame/pkg-plist20
-rw-r--r--multimedia/libgav1/Makefile3
-rw-r--r--multimedia/libgav1/distinfo6
-rw-r--r--multimedia/libgav1/files/patch-CMakeLists.txt16
-rw-r--r--multimedia/libgav1/pkg-descr2
-rw-r--r--multimedia/libgav1/pkg-plist4
-rw-r--r--multimedia/libhdhomerun/Makefile1
-rw-r--r--multimedia/libhdhomerun/pkg-descr2
-rw-r--r--multimedia/libkate/Makefile67
-rw-r--r--multimedia/libkate/distinfo2
-rw-r--r--multimedia/libkate/pkg-descr10
-rw-r--r--multimedia/libkate/pkg-plist19
-rw-r--r--multimedia/libmatroska/Makefile7
-rw-r--r--multimedia/libmatroska/distinfo6
-rw-r--r--multimedia/libmatroska/pkg-descr2
-rw-r--r--multimedia/libmediaart/Makefile19
-rw-r--r--multimedia/libmediaart/distinfo6
-rw-r--r--multimedia/libmediaart/pkg-descr2
-rw-r--r--multimedia/libmediaart/pkg-plist27
-rw-r--r--multimedia/libmediainfo/Makefile30
-rw-r--r--multimedia/libmediainfo/distinfo6
-rw-r--r--multimedia/libmediainfo/files/patch-configure36
-rw-r--r--multimedia/libmediainfo/pkg-descr3
-rw-r--r--multimedia/libmediainfo/pkg-plist2
-rw-r--r--multimedia/libmpeg2/Makefile9
-rw-r--r--multimedia/libmpeg2/pkg-descr2
-rw-r--r--multimedia/libmpeg2/pkg-plist4
-rw-r--r--multimedia/libmpeg3/Makefile70
-rw-r--r--multimedia/libmpeg3/distinfo2
-rw-r--r--multimedia/libmpeg3/files/patch-ifo.h11
-rw-r--r--multimedia/libmpeg3/files/patch-mpeg3ifo.c21
-rw-r--r--multimedia/libmpeg3/files/patch-mpeg3io.c100
-rw-r--r--multimedia/libmpeg3/files/patch-mpeg3tocutil.c14
-rw-r--r--multimedia/libmpeg3/pkg-descr17
-rw-r--r--multimedia/libmtp/Makefile3
-rw-r--r--multimedia/libmtp/pkg-descr2
-rw-r--r--multimedia/libndi/Makefile4
-rw-r--r--multimedia/libndi/pkg-descr2
-rw-r--r--multimedia/libopenshot/Makefile53
-rw-r--r--multimedia/libopenshot/distinfo6
-rw-r--r--multimedia/libopenshot/files/patch-CMakeLists.txt38
-rw-r--r--multimedia/libopenshot/files/patch-src_CMakeLists.txt11
-rw-r--r--multimedia/libopenshot/files/patch-src_CrashHandler.cpp19
-rw-r--r--multimedia/libopenshot/files/patch-src_FFmpegReader.cpp8
-rw-r--r--multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp16
-rw-r--r--multimedia/libopenshot/files/patch-src_KeyFrame.cpp309
-rw-r--r--multimedia/libopenshot/files/patch-src_KeyFrame.h31
-rw-r--r--multimedia/libopenshot/pkg-descr2
-rw-r--r--multimedia/libopenshot/pkg-plist20
-rw-r--r--multimedia/libquicktime-lame/Makefile40
-rw-r--r--multimedia/libquicktime-lame/distinfo2
-rw-r--r--multimedia/libquicktime-lame/files/patch-configure10
-rw-r--r--multimedia/libquicktime-lame/pkg-descr3
-rw-r--r--multimedia/libquicktime-lame/pkg-plist1
-rw-r--r--multimedia/libquicktime/Makefile135
-rw-r--r--multimedia/libquicktime/distinfo2
-rw-r--r--multimedia/libquicktime/files/patch-ffmpeg29343
-rw-r--r--multimedia/libquicktime/files/patch-libav10711
-rw-r--r--multimedia/libquicktime/files/patch-z-ffmpeg4307
-rw-r--r--multimedia/libquicktime/pkg-descr3
-rw-r--r--multimedia/libquicktime/pkg-plist36
-rw-r--r--multimedia/libquvi-scripts/Makefile31
-rw-r--r--multimedia/libquvi-scripts/distinfo2
-rw-r--r--multimedia/libquvi-scripts/pkg-descr11
-rw-r--r--multimedia/libquvi-scripts/pkg-plist66
-rw-r--r--multimedia/libquvi-scripts09/Makefile39
-rw-r--r--multimedia/libquvi-scripts09/distinfo2
-rw-r--r--multimedia/libquvi-scripts09/pkg-descr11
-rw-r--r--multimedia/libquvi-scripts09/pkg-plist65
-rw-r--r--multimedia/libquvi/Makefile49
-rw-r--r--multimedia/libquvi/distinfo2
-rw-r--r--multimedia/libquvi/pkg-descr15
-rw-r--r--multimedia/libquvi/pkg-plist9
-rw-r--r--multimedia/libquvi09/Makefile41
-rw-r--r--multimedia/libquvi09/distinfo2
-rw-r--r--multimedia/libquvi09/files/patch-src-lua-init.c20
-rw-r--r--multimedia/libquvi09/files/patch-src-quvi-0.9-quvi-Makefile.in13
-rw-r--r--multimedia/libquvi09/pkg-descr15
-rw-r--r--multimedia/libquvi09/pkg-plist20
-rw-r--r--multimedia/librav1e/Makefile2
-rw-r--r--multimedia/librav1e/pkg-plist2
-rw-r--r--multimedia/librespot/Makefile4
-rw-r--r--multimedia/librespot/Makefile.crates119
-rw-r--r--multimedia/librespot/distinfo244
-rw-r--r--multimedia/librespot/pkg-descr2
-rw-r--r--multimedia/librist/Makefile12
-rw-r--r--multimedia/librist/distinfo6
-rw-r--r--multimedia/librist/pkg-descr2
-rw-r--r--multimedia/librist/pkg-plist10
-rw-r--r--multimedia/librtmp/Makefile5
-rw-r--r--multimedia/librtmp/files/patch-librtmp-Makefile11
-rw-r--r--multimedia/librtmp/files/patch-librtmp-hashswf.c11
-rw-r--r--multimedia/librtmp/pkg-descr2
-rw-r--r--multimedia/librtmp/pkg-plist2
-rw-r--r--multimedia/libtheora/Makefile3
-rw-r--r--multimedia/libtheora/pkg-descr2
-rw-r--r--multimedia/libtuner/Makefile2
-rw-r--r--multimedia/libudfread/Makefile20
-rw-r--r--multimedia/libudfread/distinfo3
-rw-r--r--multimedia/libudfread/pkg-descr2
-rw-r--r--multimedia/libudfread/pkg-plist8
-rw-r--r--multimedia/libuvc/Makefile14
-rw-r--r--multimedia/libuvc/distinfo8
-rw-r--r--multimedia/libuvc/pkg-descr2
-rw-r--r--multimedia/libuvc/pkg-plist2
-rw-r--r--multimedia/libv4l/Makefile20
-rw-r--r--multimedia/libv4l/pkg-descr2
-rw-r--r--multimedia/libva-glx/Makefile15
-rw-r--r--multimedia/libva-intel-driver/Makefile8
-rw-r--r--multimedia/libva-intel-driver/pkg-descr2
-rw-r--r--multimedia/libva-intel-hybrid-driver/Makefile2
-rw-r--r--multimedia/libva-intel-hybrid-driver/pkg-descr2
-rw-r--r--multimedia/libva-intel-media-driver/Makefile33
-rw-r--r--multimedia/libva-intel-media-driver/distinfo58
-rw-r--r--multimedia/libva-intel-media-driver/files/patch-revert240
-rw-r--r--multimedia/libva-intel-media-driver/files/patch-userptr31
-rw-r--r--multimedia/libva-intel-media-driver/pkg-descr2
-rw-r--r--multimedia/libva-nvidia-driver/Makefile45
-rw-r--r--multimedia/libva-nvidia-driver/distinfo17
-rw-r--r--multimedia/libva-nvidia-driver/files/patch-meson.build21
-rw-r--r--multimedia/libva-nvidia-driver/pkg-descr9
-rw-r--r--multimedia/libva-utils/Makefile3
-rw-r--r--multimedia/libva-utils/distinfo6
-rw-r--r--multimedia/libva-utils/pkg-descr2
-rw-r--r--multimedia/libva-utils/pkg-plist4
-rw-r--r--multimedia/libva-vdpau-driver/Makefile1
-rw-r--r--multimedia/libva-vdpau-driver/pkg-descr2
-rw-r--r--multimedia/libva/Makefile28
-rw-r--r--multimedia/libva/distinfo14
-rw-r--r--multimedia/libva/pkg-descr2
-rw-r--r--multimedia/libva/pkg-plist22
-rw-r--r--multimedia/libvdpau-va-gl/Makefile1
-rw-r--r--multimedia/libvdpau-va-gl/pkg-descr2
-rw-r--r--multimedia/libvdpau/Makefile3
-rw-r--r--multimedia/libvdpau/pkg-descr2
-rw-r--r--multimedia/libvlcpp/Makefile4
-rw-r--r--multimedia/libvlcpp/pkg-descr2
-rw-r--r--multimedia/libvpx/Makefile5
-rw-r--r--multimedia/libvpx/distinfo6
-rw-r--r--multimedia/libvpx/files/patch-build_make_Makefile10
-rw-r--r--multimedia/libvpx/files/patch-build_make_configure.sh20
-rw-r--r--multimedia/libvpx/files/patch-configure16
-rw-r--r--multimedia/libvpx/files/patch-libs.mk6
-rw-r--r--multimedia/libvpx/files/patch-vpx__ports_aarch32__cpudetect.c39
-rw-r--r--multimedia/libvpx/files/patch-vpx__ports_aarch64__cpudetect.c29
-rw-r--r--multimedia/libvpx/files/patch-vpx__ports_arm__cpudetect.c38
-rw-r--r--multimedia/libvpx/pkg-descr2
-rw-r--r--multimedia/libvpx/pkg-plist7
-rw-r--r--multimedia/libwebm/Makefile24
-rw-r--r--multimedia/libwebm/distinfo5
-rw-r--r--multimedia/libwebm/pkg-descr9
-rw-r--r--multimedia/libwebm/pkg-plist18
-rw-r--r--multimedia/libx264/Makefile1
-rw-r--r--multimedia/libxine/Makefile22
-rw-r--r--multimedia/libxine/distinfo6
-rw-r--r--multimedia/libxine/files/patch-configure44
-rw-r--r--multimedia/libxine/files/patch-dav1d-1.047
-rw-r--r--multimedia/libxine/files/patch-include-xine-xineutils.h22
-rw-r--r--multimedia/libxine/files/patch-src_combined_ffmpeg_demux__avformat.c35
-rw-r--r--multimedia/libxine/files/patch-src_combined_ffmpeg_ff__audio__decoder.c152
-rw-r--r--multimedia/libxine/pkg-descr2
-rw-r--r--multimedia/libxine/pkg-plist8
-rw-r--r--multimedia/libxspf/Makefile3
-rw-r--r--multimedia/libxspf/pkg-descr2
-rw-r--r--multimedia/libzen/Makefile21
-rw-r--r--multimedia/libzen/distinfo6
-rw-r--r--multimedia/libzen/pkg-descr3
-rw-r--r--multimedia/linux-c7-libtheora/Makefile3
-rw-r--r--multimedia/linux-c7-libv4l/Makefile3
-rw-r--r--multimedia/linux-tsmuxer/Makefile3
-rw-r--r--multimedia/linux-tsmuxer/pkg-descr2
-rw-r--r--multimedia/linux_dvbwrapper-kmod/Makefile5
-rw-r--r--multimedia/linux_dvbwrapper-kmod/files/patch-linux__dvbwrapper.c31
-rw-r--r--multimedia/linux_dvbwrapper-kmod/pkg-descr2
-rw-r--r--multimedia/livego/Makefile9
-rw-r--r--multimedia/livego/distinfo10
-rw-r--r--multimedia/livego/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go24
-rw-r--r--multimedia/livego/pkg-descr2
-rw-r--r--multimedia/lives/Makefile139
-rw-r--r--multimedia/lives/pkg-descr2
-rw-r--r--multimedia/livestreamer/Makefile29
-rw-r--r--multimedia/livestreamer/distinfo2
-rw-r--r--multimedia/livestreamer/pkg-descr23
-rw-r--r--multimedia/lms/Makefile38
-rw-r--r--multimedia/lms/distinfo6
-rw-r--r--multimedia/lms/files/patch-CMakeLists.txt20
-rw-r--r--multimedia/lms/files/patch-cmake_modules_FindSTB.cmake10
-rw-r--r--multimedia/lms/files/patch-src_libs_services_auth_include_services_auth_IPasswordService.hpp10
-rw-r--r--multimedia/lms/files/patch-src_libs_utils_impl_ChildProcess.cpp18
-rw-r--r--multimedia/lms/pkg-descr12
-rw-r--r--multimedia/lms/pkg-message7
-rw-r--r--multimedia/lms/pkg-plist34
-rw-r--r--multimedia/lsdvd/Makefile8
-rw-r--r--multimedia/lsdvd/pkg-descr2
-rw-r--r--multimedia/m2tstoavi/Makefile30
-rw-r--r--multimedia/m2tstoavi/distinfo2
-rw-r--r--multimedia/m2tstoavi/pkg-descr3
-rw-r--r--multimedia/m2tstoavi/pkg-plist5
-rw-r--r--multimedia/m2vrequantiser/Makefile3
-rw-r--r--multimedia/m2vrequantiser/pkg-descr2
-rw-r--r--multimedia/makemkv/Makefile201
-rw-r--r--multimedia/makemkv/distinfo20
-rw-r--r--multimedia/makemkv/pkg-descr15
-rw-r--r--multimedia/makemkv/pkg-message6
-rw-r--r--multimedia/makemkv/pkg-plist3
-rw-r--r--multimedia/mediaelch/Makefile42
-rw-r--r--multimedia/mediaelch/distinfo3
-rw-r--r--multimedia/mediaelch/pkg-descr5
-rw-r--r--multimedia/mediainfo/Makefile7
-rw-r--r--multimedia/mediainfo/distinfo6
-rw-r--r--multimedia/mediainfo/pkg-descr2
-rw-r--r--multimedia/mencoder/Makefile11
-rw-r--r--multimedia/mencoder/distinfo6
-rw-r--r--multimedia/mencoder/pkg-descr2
-rw-r--r--multimedia/mencoder/pkg-plist2
-rw-r--r--multimedia/minisatip/Makefile6
-rw-r--r--multimedia/minisatip/distinfo6
-rw-r--r--multimedia/minisatip/pkg-descr2
-rw-r--r--multimedia/minitube/Makefile6
-rw-r--r--multimedia/minitube/files/patch-lib_media_src_mpv_mpvwidget.cpp18
-rw-r--r--multimedia/minitube/pkg-descr2
-rw-r--r--multimedia/mjpegtools/Makefile13
-rw-r--r--multimedia/mjpegtools/pkg-descr2
-rw-r--r--multimedia/mjpegtools/pkg-plist66
-rw-r--r--multimedia/mjpg-streamer/Makefile36
-rw-r--r--multimedia/mjpg-streamer/distinfo3
-rw-r--r--multimedia/mjpg-streamer/files/mjpg_streamer.in28
-rw-r--r--multimedia/mjpg-streamer/files/patch-mjpg__streamer.h10
-rw-r--r--multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_Makefile15
-rw-r--r--multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_input__testpicture.c11
-rw-r--r--multimedia/mjpg-streamer/files/patch-plugins_output__http_httpd.c23
-rw-r--r--multimedia/mjpg-streamer/files/patch-plugins_output__rtsp_output__rtsp.c10
-rw-r--r--multimedia/mjpg-streamer/files/patch-plugins_output__udp_output__udp.c10
-rw-r--r--multimedia/mjpg-streamer/files/patch-utils.c18
-rw-r--r--multimedia/mjpg-streamer/files/pkg-message.in14
-rw-r--r--multimedia/mjpg-streamer/pkg-descr6
-rw-r--r--multimedia/mjpg-streamer/pkg-plist41
-rw-r--r--multimedia/mkclean/Makefile4
-rw-r--r--multimedia/mkclean/distinfo4
-rw-r--r--multimedia/mkclean/pkg-descr2
-rw-r--r--multimedia/mkvalidator/Makefile8
-rw-r--r--multimedia/mkvalidator/pkg-descr2
-rw-r--r--multimedia/mkvtoolnix/Makefile48
-rw-r--r--multimedia/mkvtoolnix/distinfo6
-rw-r--r--multimedia/mkvtoolnix/pkg-descr2
-rw-r--r--multimedia/mkvtoolnix/pkg-plist157
-rw-r--r--multimedia/mkxvcd/Makefile39
-rw-r--r--multimedia/mkxvcd/distinfo3
-rw-r--r--multimedia/mkxvcd/pkg-descr16
-rw-r--r--multimedia/mlt6-qt5/Makefile40
-rw-r--r--multimedia/mlt6-qt5/pkg-plist13
-rw-r--r--multimedia/mlt6/Makefile196
-rw-r--r--multimedia/mlt6/distinfo3
-rw-r--r--multimedia/mlt6/pkg-descr8
-rw-r--r--multimedia/mlt6/pkg-plist536
-rw-r--r--multimedia/mlt7-glaxnimate/Makefile53
-rw-r--r--multimedia/mlt7-glaxnimate/pkg-plist2
-rw-r--r--multimedia/mlt7-qt/Makefile53
-rw-r--r--multimedia/mlt7-qt/pkg-plist16
-rw-r--r--multimedia/mlt7-qt5/Makefile40
-rw-r--r--multimedia/mlt7-qt5/pkg-plist13
-rw-r--r--multimedia/mlt7/Makefile28
-rw-r--r--multimedia/mlt7/distinfo10
-rw-r--r--multimedia/mlt7/files/patch-CMakeLists.txt4
-rw-r--r--multimedia/mlt7/files/patch-src_melt_CMakeLists.txt19
-rw-r--r--multimedia/mlt7/files/patch-src_modules_avformat_producer__avformat.c54
-rw-r--r--multimedia/mlt7/files/patch-src_modules_rtaudio_CMakeLists.txt4
-rw-r--r--multimedia/mlt7/files/patch-src_modules_rtaudio_RtAudio.cpp22
-rw-r--r--multimedia/mlt7/pkg-descr2
-rw-r--r--multimedia/mlt7/pkg-plist36
-rw-r--r--multimedia/mmsrip/Makefile22
-rw-r--r--multimedia/mmsrip/distinfo2
-rw-r--r--multimedia/mmsrip/pkg-descr6
-rw-r--r--multimedia/motion/Makefile68
-rw-r--r--multimedia/motion/distinfo6
-rw-r--r--multimedia/motion/files/patch-configure.ac28
-rw-r--r--multimedia/motion/pkg-descr2
-rw-r--r--multimedia/motion/pkg-plist31
-rw-r--r--multimedia/mp3cd/Makefile3
-rw-r--r--multimedia/mp3cd/pkg-descr2
-rw-r--r--multimedia/mp4v2/Makefile9
-rw-r--r--multimedia/mp4v2/distinfo6
-rw-r--r--multimedia/mp4v2/files/patch-src-itmf-type.cpp11
-rw-r--r--multimedia/mp4v2/files/patch-src-mp4.cpp15
-rw-r--r--multimedia/mp4v2/files/patch-src-mp4file_io.cpp20
-rw-r--r--multimedia/mp4v2/files/patch-src-mp4info.cpp29
-rw-r--r--multimedia/mp4v2/files/patch-src-mp4util.cpp39
-rw-r--r--multimedia/mp4v2/files/patch-src_mp4.cpp18
-rw-r--r--multimedia/mp4v2/files/patch-src_mp4util.h11
-rw-r--r--multimedia/mp4v2/files/patch-src_rtphint.cpp15
-rw-r--r--multimedia/mp4v2/files/patch-util-mp4chaps.cpp10
-rw-r--r--multimedia/mp4v2/files/patch-util-mp4tags.cpp10
-rw-r--r--multimedia/mp4v2/pkg-descr2
-rw-r--r--multimedia/mp4v2/pkg-plist14
-rw-r--r--multimedia/mpc-qt/Makefile12
-rw-r--r--multimedia/mpc-qt/distinfo6
-rw-r--r--multimedia/mpc-qt/pkg-descr2
-rw-r--r--multimedia/mpc-qt/pkg-plist6
-rw-r--r--multimedia/mpeg2codec/Makefile48
-rw-r--r--multimedia/mpeg2codec/distinfo2
-rw-r--r--multimedia/mpeg2codec/files/patch-src_mpeg2enc_mpeg2enc.c23
-rw-r--r--multimedia/mpeg2codec/pkg-descr4
-rw-r--r--multimedia/mpeg2codec/pkg-plist8
-rw-r--r--multimedia/mpeg2play/Makefile29
-rw-r--r--multimedia/mpeg2play/distinfo2
-rw-r--r--multimedia/mpeg2play/files/patch-Imakefile11
-rw-r--r--multimedia/mpeg2play/files/patch-mpeg2play.c11
-rw-r--r--multimedia/mpeg2play/pkg-descr2
-rw-r--r--multimedia/mpeg2play/pkg-plist3
-rw-r--r--multimedia/mpeg_encode/Makefile4
-rw-r--r--multimedia/mpeg_encode/pkg-plist2
-rw-r--r--multimedia/mpeg_play/Makefile31
-rw-r--r--multimedia/mpeg_play/distinfo2
-rw-r--r--multimedia/mpeg_play/files/patch-Imakefile9
-rw-r--r--multimedia/mpeg_play/files/patch-video.h30
-rw-r--r--multimedia/mpeg_play/pkg-descr2
-rw-r--r--multimedia/mpeg_stat/Makefile19
-rw-r--r--multimedia/mpeg_stat/distinfo2
-rw-r--r--multimedia/mpeg_stat/files/patch-Makefile32
-rw-r--r--multimedia/mpeg_stat/files/patch-main.c19
-rw-r--r--multimedia/mpeg_stat/files/patch-proto.h11
-rw-r--r--multimedia/mpeg_stat/pkg-descr14
-rw-r--r--multimedia/mpeg_stat/pkg-plist3
-rw-r--r--multimedia/mpgtx/Makefile32
-rw-r--r--multimedia/mpgtx/distinfo2
-rw-r--r--multimedia/mpgtx/files/patch-chunkTab.cxx21
-rw-r--r--multimedia/mpgtx/files/patch-common.hh11
-rw-r--r--multimedia/mpgtx/pkg-descr16
-rw-r--r--multimedia/mpgtx/pkg-plist9
-rw-r--r--multimedia/mplayer-skins/Makefile3
-rw-r--r--multimedia/mplayer-skins/pkg-descr2
-rw-r--r--multimedia/mplayer/Makefile12
-rw-r--r--multimedia/mplayer/Makefile.common13
-rw-r--r--multimedia/mplayer/Makefile.options11
-rw-r--r--multimedia/mplayer/Makefile.optvars16
-rw-r--r--multimedia/mplayer/distinfo6
-rw-r--r--multimedia/mplayer/files/patch-Makefile2
-rw-r--r--multimedia/mplayer/files/patch-configure50
-rw-r--r--multimedia/mplayer/files/patch-libmpcodecs_vd__ffmpeg.c11
-rw-r--r--multimedia/mplayer/files/patch-loader_ext.c11
-rw-r--r--multimedia/mplayer/files/patch-loader_module.c20
-rw-r--r--multimedia/mplayer/files/patch-loader_win32.c66
-rw-r--r--multimedia/mplayer/pkg-descr2
-rw-r--r--multimedia/mplayer/pkg-plist4
-rw-r--r--multimedia/mplex/Makefile7
-rw-r--r--multimedia/mps-youtube/Makefile52
-rw-r--r--multimedia/mps-youtube/distinfo3
-rw-r--r--multimedia/mps-youtube/files/mps-youtube.in4
-rw-r--r--multimedia/mps-youtube/files/patch-setup.py13
-rw-r--r--multimedia/mps-youtube/pkg-descr16
-rw-r--r--multimedia/mps-youtube/pkg-message9
-rw-r--r--multimedia/mpv-mpris/Makefile3
-rw-r--r--multimedia/mpv-mpris/distinfo6
-rw-r--r--multimedia/mpv-mpris/pkg-descr2
-rw-r--r--multimedia/mpv/Makefile174
-rw-r--r--multimedia/mpv/distinfo24
-rw-r--r--multimedia/mpv/files/patch-libmpv_mpv.def15
-rw-r--r--multimedia/mpv/files/patch-meson.build11
-rw-r--r--multimedia/mpv/pkg-descr2
-rw-r--r--multimedia/mpv/pkg-plist10
-rw-r--r--multimedia/mpvpaper/Makefile9
-rw-r--r--multimedia/mpvpaper/distinfo6
-rw-r--r--multimedia/mpvpaper/pkg-descr2
-rw-r--r--multimedia/mpvqt/Makefile17
-rw-r--r--multimedia/mpvqt/distinfo3
-rw-r--r--multimedia/mpvqt/pkg-descr1
-rw-r--r--multimedia/mpvqt/pkg-plist14
-rw-r--r--multimedia/msdl/Makefile7
-rw-r--r--multimedia/msdl/pkg-descr2
-rw-r--r--multimedia/msopenh264/Makefile12
-rw-r--r--multimedia/msopenh264/distinfo6
-rw-r--r--multimedia/msopenh264/files/patch-openh264-2.035
-rw-r--r--multimedia/msopenh264/pkg-descr2
-rw-r--r--multimedia/mswebrtc/Makefile15
-rw-r--r--multimedia/mswebrtc/distinfo8
-rw-r--r--multimedia/mswebrtc/pkg-descr2
-rw-r--r--multimedia/musikcube/Makefile34
-rw-r--r--multimedia/musikcube/distinfo6
-rw-r--r--multimedia/musikcube/files/patch-src_plugins_gmedecoder_gme_blargg__endian.h13
-rw-r--r--multimedia/musikcube/pkg-descr2
-rw-r--r--multimedia/musikcube/pkg-plist9
-rw-r--r--multimedia/musique/Makefile22
-rw-r--r--multimedia/musique/distinfo32
-rw-r--r--multimedia/musique/pkg-descr2
-rw-r--r--multimedia/mxflib/Makefile1
-rw-r--r--multimedia/mxflib/pkg-descr2
-rw-r--r--multimedia/mythtv-frontend/Makefile13
-rw-r--r--multimedia/mythtv-frontend/pkg-plist2007
-rw-r--r--multimedia/mythtv/Makefile77
-rw-r--r--multimedia/mythtv/distinfo6
-rw-r--r--multimedia/mythtv/files/extrapatch-programs_programs.pro18
-rw-r--r--multimedia/mythtv/files/patch-configure11
-rw-r--r--multimedia/mythtv/files/patch-dav1d-1.0111
-rw-r--r--multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__altivec.c55
-rw-r--r--multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__vsx.c1268
-rw-r--r--multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_yuv2rgb__altivec.c145
-rw-r--r--multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp10
-rw-r--r--multimedia/mythtv/files/pkg-message.in6
-rw-r--r--multimedia/mythtv/pkg-descr18
-rw-r--r--multimedia/mythtv/pkg-plist2989
-rw-r--r--multimedia/naludump/Makefile17
-rw-r--r--multimedia/naludump/pkg-descr2
-rw-r--r--multimedia/navidrome/Makefile275
-rw-r--r--multimedia/navidrome/distinfo490
-rw-r--r--multimedia/navidrome/files/config.toml.sample.in6
-rw-r--r--multimedia/navidrome/pkg-descr2
-rw-r--r--multimedia/neolink/Makefile5
-rw-r--r--multimedia/neolink/pkg-descr2
-rw-r--r--multimedia/nordlicht/Makefile37
-rw-r--r--multimedia/nordlicht/distinfo3
-rw-r--r--multimedia/nordlicht/pkg-descr6
-rw-r--r--multimedia/nordlicht/pkg-plist11
-rw-r--r--multimedia/nostt/Makefile7
-rw-r--r--multimedia/nostt/pkg-descr2
-rw-r--r--multimedia/nymphcast/Makefile3
-rw-r--r--multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt10
-rw-r--r--multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile17
-rw-r--r--multimedia/nymphcast/files/patch-armv758
-rw-r--r--multimedia/nymphcast/files/patch-ffmpeg6-compat27
-rw-r--r--multimedia/nymphcast/pkg-descr2
-rw-r--r--multimedia/nymphcastlib/Makefile2
-rw-r--r--multimedia/nymphcastlib/pkg-descr2
-rw-r--r--multimedia/nymphrpc/Makefile2
-rw-r--r--multimedia/nymphrpc/pkg-descr2
-rw-r--r--multimedia/obs-audio-spectralizer/Makefile29
-rw-r--r--multimedia/obs-audio-spectralizer/distinfo3
-rw-r--r--multimedia/obs-audio-spectralizer/pkg-descr4
-rw-r--r--multimedia/obs-ndi/Makefile22
-rw-r--r--multimedia/obs-ndi/distinfo3
-rw-r--r--multimedia/obs-ndi/files/patch-CMakeLists.txt11
-rw-r--r--multimedia/obs-ndi/files/patch-lib_ndi_Processing.NDI.Lib.h11
-rw-r--r--multimedia/obs-ndi/files/patch-src_obs-ndi.cpp11
-rw-r--r--multimedia/obs-ndi/pkg-descr9
-rw-r--r--multimedia/obs-ndi/pkg-plist7
-rw-r--r--multimedia/obs-qtwebkit/Makefile35
-rw-r--r--multimedia/obs-qtwebkit/distinfo3
-rw-r--r--multimedia/obs-qtwebkit/files/patch-GNUmakefile15
-rw-r--r--multimedia/obs-qtwebkit/pkg-descr5
-rw-r--r--multimedia/obs-qtwebkit/pkg-plist18
-rw-r--r--multimedia/obs-recursion-effect/Makefile30
-rw-r--r--multimedia/obs-recursion-effect/distinfo3
-rw-r--r--multimedia/obs-recursion-effect/pkg-descr1
-rw-r--r--multimedia/obs-scrab/Makefile25
-rw-r--r--multimedia/obs-scrab/distinfo3
-rw-r--r--multimedia/obs-scrab/files/patch-CMakeLists.txt16
-rw-r--r--multimedia/obs-scrab/pkg-descr6
-rw-r--r--multimedia/obs-streamfx/Makefile21
-rw-r--r--multimedia/obs-streamfx/distinfo20
-rw-r--r--multimedia/obs-streamfx/files/patch-CMakeLists.txt86
-rw-r--r--multimedia/obs-streamfx/files/patch-source_encoders_ffmpeg_amf.cpp11
-rw-r--r--multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp29
-rw-r--r--multimedia/obs-streamfx/files/patch-source_sources_source-mirror.cpp12
-rw-r--r--multimedia/obs-streamfx/files/patch-source_updater.cpp81
-rw-r--r--multimedia/obs-streamfx/files/patch-source_updater.hpp13
-rw-r--r--multimedia/obs-streamfx/files/patch-templates_config.hpp.in10
-rw-r--r--multimedia/obs-streamfx/files/patch-templates_version.hpp.in19
-rw-r--r--multimedia/obs-streamfx/pkg-descr2
-rw-r--r--multimedia/obs-streamfx/pkg-plist54
-rw-r--r--multimedia/obs-studio/Makefile88
-rw-r--r--multimedia/obs-studio/distinfo42
-rw-r--r--multimedia/obs-studio/files/patch-UI_window-basic-main.cpp13
-rw-r--r--multimedia/obs-studio/files/patch-UI_window-basic-preview.cpp46
-rw-r--r--multimedia/obs-studio/files/patch-cmake_Modules_CompilerConfig.cmake13
-rw-r--r--multimedia/obs-studio/files/patch-plugins_CMakeLists.txt26
-rw-r--r--multimedia/obs-studio/files/patch-plugins_obs-outputs_librtmp_rtmp.h11
-rw-r--r--multimedia/obs-studio/pkg-descr2
-rw-r--r--multimedia/obs-studio/pkg-plist603
-rw-r--r--multimedia/obs-text-pthread/Makefile29
-rw-r--r--multimedia/obs-text-pthread/distinfo3
-rw-r--r--multimedia/obs-text-pthread/pkg-descr18
-rw-r--r--multimedia/obs-transition-matrix/Makefile27
-rw-r--r--multimedia/obs-transition-matrix/distinfo3
-rw-r--r--multimedia/obs-transition-matrix/files/patch-external_FindLibObs.cmake11
-rw-r--r--multimedia/obs-transition-matrix/pkg-descr3
-rw-r--r--multimedia/obs-v4l2sink/Makefile27
-rw-r--r--multimedia/obs-v4l2sink/distinfo3
-rw-r--r--multimedia/obs-v4l2sink/files/patch-external_FindLibObs.cmake11
-rw-r--r--multimedia/obs-v4l2sink/pkg-descr8
-rw-r--r--multimedia/obs-waveform/Makefile35
-rw-r--r--multimedia/obs-waveform/distinfo3
-rw-r--r--multimedia/obs-waveform/files/patch-CMakeLists.txt28
-rw-r--r--multimedia/obs-waveform/pkg-descr2
-rw-r--r--multimedia/obs-websocket/Makefile30
-rw-r--r--multimedia/obs-websocket/distinfo5
-rw-r--r--multimedia/obs-websocket/pkg-descr4
-rw-r--r--multimedia/obs-websocket/pkg-message11
-rw-r--r--multimedia/obs-websocket/pkg-plist16
-rw-r--r--multimedia/obuparse/Makefile30
-rw-r--r--multimedia/obuparse/distinfo3
-rw-r--r--multimedia/obuparse/files/patch-Makefile33
-rw-r--r--multimedia/obuparse/pkg-descr12
-rw-r--r--multimedia/oggvideotools/Makefile7
-rw-r--r--multimedia/oggvideotools/pkg-descr2
-rw-r--r--multimedia/oggvideotools/pkg-plist22
-rw-r--r--multimedia/ogmrip/Makefile17
-rw-r--r--multimedia/ogmrip/pkg-descr2
-rw-r--r--multimedia/ogmrip/pkg-plist57
-rw-r--r--multimedia/ogmtools/Makefile47
-rw-r--r--multimedia/ogmtools/files/patch-avilib_avidump.c11
-rw-r--r--multimedia/ogmtools/files/patch-configure.in12
-rw-r--r--multimedia/ogmtools/files/patch-gcc11-compat374
-rw-r--r--multimedia/ogmtools/files/patch-ogminfo.c149
-rw-r--r--multimedia/ogmtools/files/patch-ogmmerge.111
-rw-r--r--multimedia/ogmtools/files/patch-ogmsplit.110
-rw-r--r--multimedia/ogmtools/files/patch-os.h11
-rw-r--r--multimedia/ogmtools/files/patch-vorbis__header__utils.c21
-rw-r--r--multimedia/ogmtools/pkg-descr2
-rw-r--r--multimedia/ogmtools/pkg-plist12
-rw-r--r--multimedia/olive/Makefile32
-rw-r--r--multimedia/olive/distinfo10
-rw-r--r--multimedia/olive/files/patch-effects_internal_texteffect.cpp10
-rw-r--r--multimedia/olive/files/patch-effects_internal_timecodeeffect.cpp10
-rw-r--r--multimedia/olive/files/patch-ext_core_src_util_timecodefunctions.cpp11
-rw-r--r--multimedia/olive/files/patch-olive.pro43
-rw-r--r--multimedia/olive/files/patch-ui_graphview.cpp10
-rw-r--r--multimedia/olive/files/patch-ui_timelineheader.cpp10
-rw-r--r--multimedia/olive/pkg-descr2
-rw-r--r--multimedia/olive/pkg-plist63
-rw-r--r--multimedia/omxplayer/Makefile58
-rw-r--r--multimedia/omxplayer/distinfo5
-rw-r--r--multimedia/omxplayer/files/patch-Keyboard.cpp64
-rw-r--r--multimedia/omxplayer/files/patch-Keyboard.h11
-rw-r--r--multimedia/omxplayer/files/patch-Makefile28
-rw-r--r--multimedia/omxplayer/files/patch-Makefile.include46
-rw-r--r--multimedia/omxplayer/files/patch-linux_PlatformDefs.h29
-rw-r--r--multimedia/omxplayer/files/patch-omxplayer.cpp13
-rw-r--r--multimedia/omxplayer/files/patch-utils_variant-impl.hpp27
-rw-r--r--multimedia/omxplayer/pkg-descr5
-rw-r--r--multimedia/onevpl/Makefile25
-rw-r--r--multimedia/onevpl/distinfo6
-rw-r--r--multimedia/onevpl/files/patch-unix81
-rw-r--r--multimedia/onevpl/pkg-descr2
-rw-r--r--multimedia/onevpl/pkg-plist3
-rw-r--r--multimedia/openh264/Makefile3
-rw-r--r--multimedia/openh264/distinfo6
-rw-r--r--multimedia/openh264/pkg-descr2
-rw-r--r--multimedia/openshot/Makefile14
-rw-r--r--multimedia/openshot/distinfo6
-rw-r--r--multimedia/openshot/files/patch-setup.py48
-rw-r--r--multimedia/openshot/files/patch-src_classes_info.py4
-rw-r--r--multimedia/openshot/files/patch-src_classes_language.py14
-rw-r--r--multimedia/openshot/files/patch-src_classes_metrics.py4
-rw-r--r--multimedia/openshot/files/patch-src_launch.py11
-rw-r--r--multimedia/openshot/files/patch-src_settings___default.settings8
-rw-r--r--multimedia/openshot/files/patch-src_windows_preferences.py14
-rw-r--r--multimedia/openshot/pkg-descr2
-rw-r--r--multimedia/openshot/pkg-plist3012
-rw-r--r--multimedia/opentimelineio/Makefile17
-rw-r--r--multimedia/opentimelineio/distinfo18
-rw-r--r--multimedia/opentimelineio/files/patch-src_deps_any_any.hpp12
-rw-r--r--multimedia/opentimelineio/pkg-descr2
-rw-r--r--multimedia/opentimelineio/pkg-plist11
-rw-r--r--multimedia/opentoonz/Makefile5
-rw-r--r--multimedia/opentoonz/pkg-descr2
-rw-r--r--multimedia/oscam/Makefile8
-rw-r--r--multimedia/oscam/files/patch-config.h4
-rw-r--r--multimedia/oscam/files/patch-oscam.c30
-rw-r--r--multimedia/oscam/pkg-descr2
-rw-r--r--multimedia/oscam/pkg-plist36
-rw-r--r--multimedia/p5-Audio-M4P/Makefile3
-rw-r--r--multimedia/p5-Audio-M4P/pkg-descr2
-rw-r--r--multimedia/p5-FFmpeg-Command/Makefile5
-rw-r--r--multimedia/p5-FFmpeg-Command/pkg-descr2
-rw-r--r--multimedia/p5-FLV-Info/Makefile3
-rw-r--r--multimedia/p5-FLV-Info/pkg-descr2
-rw-r--r--multimedia/p5-File-Format-RIFF/Makefile3
-rw-r--r--multimedia/p5-File-Format-RIFF/pkg-descr2
-rw-r--r--multimedia/p5-MP4-Info/Makefile3
-rw-r--r--multimedia/p5-MP4-Info/pkg-descr2
-rw-r--r--multimedia/p5-Net-UPnP/Makefile1
-rw-r--r--multimedia/p5-Net-UPnP/pkg-descr2
-rw-r--r--multimedia/p5-Subtitles/Makefile3
-rw-r--r--multimedia/p5-Subtitles/pkg-descr2
-rw-r--r--multimedia/p5-Umph-Prompt/Makefile24
-rw-r--r--multimedia/p5-Umph-Prompt/distinfo2
-rw-r--r--multimedia/p5-Umph-Prompt/pkg-descr4
-rw-r--r--multimedia/p5-Umph-Prompt/pkg-plist2
-rw-r--r--multimedia/pHash/Makefile60
-rw-r--r--multimedia/pHash/distinfo2
-rw-r--r--multimedia/pHash/files/patch-configure20
-rw-r--r--multimedia/pHash/files/patch-ffmpeg30139
-rw-r--r--multimedia/pHash/files/patch-src_pHash.cpp22
-rw-r--r--multimedia/pHash/pkg-descr5
-rw-r--r--multimedia/pHash/pkg-plist9
-rw-r--r--multimedia/peek/Makefile5
-rw-r--r--multimedia/peek/pkg-descr2
-rw-r--r--multimedia/phonon-designerplugin/Makefile18
-rw-r--r--multimedia/phonon-designerplugin/files/patch-designer_CMakeLists.txt11
-rw-r--r--multimedia/phonon-designerplugin/pkg-descr2
-rw-r--r--multimedia/phonon-gstreamer/Makefile36
-rw-r--r--multimedia/phonon-gstreamer/distinfo3
-rw-r--r--multimedia/phonon-gstreamer/files/pkg-message.in9
-rw-r--r--multimedia/phonon-gstreamer/pkg-descr4
-rw-r--r--multimedia/phonon-gstreamer/pkg-plist65
-rw-r--r--multimedia/phonon-vlc/Makefile34
-rw-r--r--multimedia/phonon-vlc/distinfo6
-rw-r--r--multimedia/phonon-vlc/pkg-descr2
-rw-r--r--multimedia/phonon-vlc/pkg-plist85
-rw-r--r--multimedia/phonon/Makefile49
-rw-r--r--multimedia/phonon/distinfo6
-rw-r--r--multimedia/phonon/pkg-descr2
-rw-r--r--multimedia/phonon/pkg-message1
-rw-r--r--multimedia/phonon/pkg-plist222
-rw-r--r--multimedia/phonon/pkg-plist.qt5336
-rw-r--r--multimedia/phonon/pkg-plist.qt6291
-rw-r--r--multimedia/photofilmstrip/Makefile9
-rw-r--r--multimedia/photofilmstrip/pkg-descr2
-rw-r--r--multimedia/php-pHash/Makefile33
-rw-r--r--multimedia/php-pHash/distinfo2
-rw-r--r--multimedia/php-pHash/files/patch-pHash.cpp312
-rw-r--r--multimedia/php-pHash/files/patch-php__pHash.h17
-rw-r--r--multimedia/php-pHash/pkg-descr6
-rw-r--r--multimedia/pipe-viewer/Makefile66
-rw-r--r--multimedia/pipe-viewer/distinfo3
-rw-r--r--multimedia/pipe-viewer/pkg-descr5
-rw-r--r--multimedia/pipe-viewer/pkg-plist46
-rw-r--r--multimedia/pipewire/Makefile78
-rw-r--r--multimedia/pipewire/distinfo8
-rw-r--r--multimedia/pipewire/files/patch-spa_plugins_meson.build8
-rw-r--r--multimedia/pipewire/files/patch-spa_plugins_vulkan_dmabuf__fallback.c16
-rw-r--r--multimedia/pipewire/files/patch-test_test-functional.c13
-rw-r--r--multimedia/pipewire/pkg-descr2
-rw-r--r--multimedia/pipewire/pkg-plist266
-rw-r--r--multimedia/pitivi/Makefile20
-rw-r--r--multimedia/pitivi/distinfo6
-rw-r--r--multimedia/pitivi/pkg-descr2
-rw-r--r--multimedia/pitivi/pkg-plist264
-rw-r--r--multimedia/plasma5-plank-player/Makefile16
-rw-r--r--multimedia/plasma5-plank-player/distinfo3
-rw-r--r--multimedia/plasma5-plank-player/pkg-descr3
-rw-r--r--multimedia/plasma5-plank-player/pkg-plist33
-rw-r--r--multimedia/plasmatube/Makefile23
-rw-r--r--multimedia/plasmatube/distinfo3
-rw-r--r--multimedia/plasmatube/pkg-descr2
-rw-r--r--multimedia/plasmatube/pkg-plist41
-rw-r--r--multimedia/playerctl/Makefile5
-rw-r--r--multimedia/playerctl/pkg-descr2
-rw-r--r--multimedia/playerctl/pkg-plist2
-rw-r--r--multimedia/plexmediaserver-plexpass/Makefile15
-rw-r--r--multimedia/plexmediaserver-plexpass/distinfo6
-rw-r--r--multimedia/plexmediaserver/Makefile13
-rw-r--r--multimedia/plexmediaserver/distinfo6
-rw-r--r--multimedia/plexmediaserver/pkg-descr2
-rw-r--r--multimedia/podcastdl/Makefile3
-rw-r--r--multimedia/podcastdl/pkg-descr2
-rw-r--r--multimedia/poe/Makefile3
-rw-r--r--multimedia/poe/pkg-descr2
-rw-r--r--multimedia/ppm2fli/Makefile24
-rw-r--r--multimedia/ppm2fli/distinfo2
-rw-r--r--multimedia/ppm2fli/pkg-descr19
-rw-r--r--multimedia/ppm2fli/pkg-plist4
-rw-r--r--multimedia/projectx/Makefile3
-rw-r--r--multimedia/projectx/pkg-descr2
-rw-r--r--multimedia/ptx-kmod/Makefile1
-rw-r--r--multimedia/ptx-kmod/files/patch-dev_ptx_ptx.c25
-rw-r--r--multimedia/ptx-kmod/files/patch-dev_ptx_ptx__proc.c19
-rw-r--r--multimedia/ptx-kmod/pkg-descr3
-rw-r--r--multimedia/pwcbsd/Makefile17
-rw-r--r--multimedia/pwcbsd/files/extra-patch-Makefile.kld11
-rw-r--r--multimedia/pwcbsd/files/extra-patch-pwc-ctrl.c50
-rw-r--r--multimedia/pwcbsd/files/extra-patch-pwc-v4l.c11
-rw-r--r--multimedia/pwcbsd/files/extra-patch-pwc.c654
-rw-r--r--multimedia/pwcbsd/files/extra-patch-pwc.h91
-rw-r--r--multimedia/pwcbsd/files/patch-Makefile.kld11
-rw-r--r--multimedia/pwcbsd/files/patch-pwc-ctrl.c51
-rw-r--r--multimedia/pwcbsd/files/patch-pwc-dec23.c52
-rw-r--r--multimedia/pwcbsd/files/patch-pwc-v4l.c11
-rw-r--r--multimedia/pwcbsd/files/patch-pwc.c662
-rw-r--r--multimedia/pwcbsd/files/patch-pwc.h92
-rw-r--r--multimedia/pwcbsd/files/patch-pwcview.c6
-rw-r--r--multimedia/pwcbsd/pkg-descr2
-rw-r--r--multimedia/pwcbsd/pkg-plist4
-rw-r--r--multimedia/pwcview/Makefile9
-rw-r--r--multimedia/pwcview/pkg-descr2
-rw-r--r--multimedia/pwcview/pkg-plist2
-rw-r--r--multimedia/py-PySceneDetect/Makefile13
-rw-r--r--multimedia/py-PySceneDetect/distinfo6
-rw-r--r--multimedia/py-PySceneDetect/files/patch-scenedetect_platform.py10
-rw-r--r--multimedia/py-PySceneDetect/pkg-descr2
-rw-r--r--multimedia/py-av/Makefile12
-rw-r--r--multimedia/py-av/distinfo6
-rw-r--r--multimedia/py-av/pkg-descr2
-rw-r--r--multimedia/py-cec/Makefile5
-rw-r--r--multimedia/py-cec/pkg-descr2
-rw-r--r--multimedia/py-enzyme/Makefile9
-rw-r--r--multimedia/py-enzyme/pkg-descr2
-rw-r--r--multimedia/py-ffmpeg-python/Makefile6
-rw-r--r--multimedia/py-ffmpeg-python/pkg-descr2
-rw-r--r--multimedia/py-gstreamer1/Makefile7
-rw-r--r--multimedia/py-gstreamer1/distinfo6
-rw-r--r--multimedia/py-gstreamer1/pkg-descr2
-rw-r--r--multimedia/py-gstreamer1/pkg-plist6
-rw-r--r--multimedia/py-guessit/Makefile23
-rw-r--r--multimedia/py-guessit/distinfo6
-rw-r--r--multimedia/py-guessit/pkg-descr2
-rw-r--r--multimedia/py-librtmp/Makefile21
-rw-r--r--multimedia/py-librtmp/pkg-descr2
-rw-r--r--multimedia/py-mat2/Makefile21
-rw-r--r--multimedia/py-mat2/distinfo6
-rw-r--r--multimedia/py-mat2/files/patch-setup.py11
-rw-r--r--multimedia/py-mat2/pkg-descr2
-rw-r--r--multimedia/py-metadata-cleaner/Makefile14
-rw-r--r--multimedia/py-metadata-cleaner/distinfo6
-rw-r--r--multimedia/py-metadata-cleaner/pkg-descr2
-rw-r--r--multimedia/py-metadata-cleaner/pkg-plist175
-rw-r--r--multimedia/py-mido/Makefile5
-rw-r--r--multimedia/py-mido/pkg-descr2
-rw-r--r--multimedia/py-mlt6/Makefile63
-rw-r--r--multimedia/py-mlt6/pkg-plist4
-rw-r--r--multimedia/py-moviepy/Makefile16
-rw-r--r--multimedia/py-moviepy/pkg-descr2
-rw-r--r--multimedia/py-opentimelineio/Makefile17
-rw-r--r--multimedia/py-opentimelineio/distinfo16
-rw-r--r--multimedia/py-opentimelineio/files/patch-setup.py10
-rw-r--r--multimedia/py-opentimelineio/files/patch-src_deps_any_any.hpp12
-rw-r--r--multimedia/py-opentimelineio/pkg-descr2
-rw-r--r--multimedia/py-opentimelineio/pkg-plist91
-rw-r--r--multimedia/py-periscope/Makefile5
-rw-r--r--multimedia/py-periscope/pkg-descr2
-rw-r--r--multimedia/py-pretty_midi/Makefile7
-rw-r--r--multimedia/py-pretty_midi/distinfo6
-rw-r--r--multimedia/py-pretty_midi/pkg-descr2
-rw-r--r--multimedia/py-pymediainfo/Makefile11
-rw-r--r--multimedia/py-pymediainfo/pkg-descr2
-rw-r--r--multimedia/py-pysubs2/Makefile22
-rw-r--r--multimedia/py-pysubs2/distinfo3
-rw-r--r--multimedia/py-pysubs2/pkg-descr4
-rw-r--r--multimedia/py-python-mpv/Makefile21
-rw-r--r--multimedia/py-python-mpv/distinfo3
-rw-r--r--multimedia/py-python-mpv/pkg-descr4
-rw-r--r--multimedia/py-soco/Makefile17
-rw-r--r--multimedia/py-soco/distinfo6
-rw-r--r--multimedia/py-soco/pkg-descr2
-rw-r--r--multimedia/py-srt/Makefile23
-rw-r--r--multimedia/py-srt/distinfo3
-rw-r--r--multimedia/py-srt/pkg-descr4
-rw-r--r--multimedia/py-subliminal/Makefile7
-rw-r--r--multimedia/py-subliminal/pkg-descr2
-rw-r--r--multimedia/py-tartube/Makefile40
-rw-r--r--multimedia/py-tartube/distinfo3
-rw-r--r--multimedia/py-tartube/pkg-descr5
-rw-r--r--multimedia/py-tvnamer/Makefile7
-rw-r--r--multimedia/py-tvnamer/pkg-descr2
-rw-r--r--multimedia/qmmp-plugin-pack-qt5/Makefile8
-rw-r--r--multimedia/qmmp-plugin-pack-qt5/distinfo6
-rw-r--r--multimedia/qmmp-plugin-pack-qt5/pkg-descr2
-rw-r--r--multimedia/qmmp-plugin-pack-qt6/Makefile70
-rw-r--r--multimedia/qmmp-plugin-pack-qt6/distinfo3
-rw-r--r--multimedia/qmmp-plugin-pack-qt6/pkg-descr11
-rw-r--r--multimedia/qmmp-plugin-pack-qt6/pkg-plist7
-rw-r--r--multimedia/qmmp-qt5/Makefile45
-rw-r--r--multimedia/qmmp-qt5/distinfo6
-rw-r--r--multimedia/qmmp-qt5/files/patch-src_plugins_General_CMakeLists.txt15
-rw-r--r--multimedia/qmmp-qt5/pkg-descr1
-rw-r--r--multimedia/qmmp-qt5/pkg-plist3
-rw-r--r--multimedia/qmmp-qt6/Makefile328
-rw-r--r--multimedia/qmmp-qt6/distinfo3
-rw-r--r--multimedia/qmmp-qt6/pkg-descr23
-rw-r--r--multimedia/qmmp-qt6/pkg-plist149
-rw-r--r--multimedia/qpwgraph/Makefile6
-rw-r--r--multimedia/qpwgraph/pkg-descr2
-rw-r--r--multimedia/qt-faststart/Makefile27
-rw-r--r--multimedia/qt-faststart/files/qt-faststart.c327
-rw-r--r--multimedia/qt-faststart/pkg-descr5
-rw-r--r--multimedia/qt5-multimedia/Makefile5
-rw-r--r--multimedia/qt5-multimedia/distinfo6
-rw-r--r--multimedia/qt6-multimedia/Makefile65
-rw-r--r--multimedia/qt6-multimedia/distinfo3
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_CMakeLists.txt14
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_multimedia_configure.cmake20
-rw-r--r--multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_qv4l2camera__p.h11
-rw-r--r--multimedia/qt6-multimedia/pkg-descr4
-rw-r--r--multimedia/qt6-multimedia/pkg-plist313
-rw-r--r--multimedia/quodlibet/Makefile6
-rw-r--r--multimedia/quodlibet/files/patch-gdist_man.py11
-rw-r--r--multimedia/quodlibet/pkg-descr2
-rw-r--r--multimedia/quvi/Makefile32
-rw-r--r--multimedia/quvi/distinfo2
-rw-r--r--multimedia/quvi/pkg-descr8
-rw-r--r--multimedia/quvi09/Makefile32
-rw-r--r--multimedia/quvi09/distinfo2
-rw-r--r--multimedia/quvi09/pkg-descr8
-rw-r--r--multimedia/quvi09/pkg-plist7
-rw-r--r--multimedia/qwinff/Makefile8
-rw-r--r--multimedia/qwinff/files/patch-src_translations_CMakeLists.txt11
-rw-r--r--multimedia/qwinff/pkg-descr2
-rw-r--r--multimedia/rage/Makefile6
-rw-r--r--multimedia/rage/pkg-descr2
-rw-r--r--multimedia/rav1e/Makefile181
-rw-r--r--multimedia/rav1e/Makefile.crates227
-rw-r--r--multimedia/rav1e/distinfo700
-rw-r--r--multimedia/rav1e/files/patch-build.rs40
-rw-r--r--multimedia/rav1e/files/patch-powerpc20
-rw-r--r--multimedia/rav1e/pkg-descr2
-rw-r--r--multimedia/recmpeg/Makefile8
-rw-r--r--multimedia/recmpeg/pkg-descr2
-rw-r--r--multimedia/recordmydesktop/Makefile4
-rw-r--r--multimedia/recordmydesktop/pkg-descr2
-rw-r--r--multimedia/ringrtc/Makefile157
-rw-r--r--multimedia/ringrtc/Makefile.crates332
-rw-r--r--multimedia/ringrtc/distinfo695
-rw-r--r--multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm11
-rw-r--r--multimedia/ringrtc/files/patch-src_rust_build.rs13
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn23
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn22
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn45
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn145
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni9
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni15
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map13
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn53
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn27
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py10
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn69
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni44
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py17
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn10
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc10
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn18
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc12
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h13
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc15
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h13
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc47
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc39
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h19
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn15
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_testing_test.gni11
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn16
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn16
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h102
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn18
-rw-r--r--multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c29
-rw-r--r--multimedia/ringrtc/pkg-descr2
-rw-r--r--multimedia/ringrtc/update.txt5
-rw-r--r--multimedia/ringrtc/webrtc_fetch.sh129
-rw-r--r--multimedia/rtmpdump/Makefile9
-rw-r--r--multimedia/rtmpdump/pkg-descr2
-rw-r--r--multimedia/rtmpdump/pkg-plist4
-rw-r--r--multimedia/rubygem-av/Makefile2
-rw-r--r--multimedia/rubygem-av/files/patch-av.gemspec19
-rw-r--r--multimedia/rubygem-av/pkg-descr2
-rw-r--r--multimedia/rubygem-clutter-gstreamer/Makefile7
-rw-r--r--multimedia/rubygem-clutter-gstreamer/distinfo6
-rw-r--r--multimedia/rubygem-clutter-gstreamer/pkg-descr2
-rw-r--r--multimedia/rubygem-flvtool2/Makefile4
-rw-r--r--multimedia/rubygem-flvtool2/pkg-descr2
-rw-r--r--multimedia/rubygem-gstreamer/Makefile7
-rw-r--r--multimedia/rubygem-gstreamer/distinfo6
-rw-r--r--multimedia/rubygem-gstreamer/pkg-descr2
-rw-r--r--multimedia/rubygem-paperclip-av-transcoder-rails50/Makefile5
-rw-r--r--multimedia/rubygem-paperclip-av-transcoder-rails50/pkg-descr2
-rw-r--r--multimedia/rubygem-paperclip-av-transcoder/Makefile5
-rw-r--r--multimedia/rubygem-paperclip-av-transcoder/pkg-descr2
-rw-r--r--multimedia/rubygem-streamio-ffmpeg/Makefile4
-rw-r--r--multimedia/rubygem-streamio-ffmpeg/pkg-descr2
-rw-r--r--multimedia/sabbu/Makefile47
-rw-r--r--multimedia/sabbu/distinfo2
-rw-r--r--multimedia/sabbu/files/patch-Source-Makefile.in13
-rw-r--r--multimedia/sabbu/files/patch-Source_util.cpp20
-rw-r--r--multimedia/sabbu/files/patch-common.h10
-rw-r--r--multimedia/sabbu/files/patch-configure60
-rw-r--r--multimedia/sabbu/files/patch-video.cpp146
-rw-r--r--multimedia/sabbu/files/patch-video.h17
-rw-r--r--multimedia/sabbu/files/patch-video_ffmpeg.h11
-rw-r--r--multimedia/sabbu/pkg-descr14
-rw-r--r--multimedia/sabbu/pkg-plist52
-rw-r--r--multimedia/schroedinger/Makefile35
-rw-r--r--multimedia/schroedinger/distinfo2
-rw-r--r--multimedia/schroedinger/pkg-descr6
-rw-r--r--multimedia/schroedinger/pkg-plist78
-rw-r--r--multimedia/scte35dump/Makefile80
-rw-r--r--multimedia/scte35dump/Makefile.crates119
-rw-r--r--multimedia/scte35dump/distinfo356
-rw-r--r--multimedia/scte35dump/files/patch-powerpc62
-rw-r--r--multimedia/scte35dump/pkg-descr2
-rw-r--r--multimedia/shotcut/Makefile44
-rw-r--r--multimedia/shotcut/distinfo6
-rw-r--r--multimedia/shotcut/pkg-descr2
-rw-r--r--multimedia/shotcut/pkg-plist46
-rw-r--r--multimedia/simplescreenrecorder/Makefile11
-rw-r--r--multimedia/simplescreenrecorder/distinfo6
-rw-r--r--multimedia/simplescreenrecorder/pkg-descr2
-rw-r--r--multimedia/simplescreenrecorder/pkg-plist1
-rw-r--r--multimedia/smpeg/Makefile11
-rw-r--r--multimedia/smpeg/files/patch-configure34
-rw-r--r--multimedia/smpeg/pkg-descr2
-rw-r--r--multimedia/smpeg/pkg-plist4
-rw-r--r--multimedia/smpeg2/Makefile15
-rw-r--r--multimedia/smpeg2/pkg-descr2
-rw-r--r--multimedia/smpeg2/pkg-plist2
-rw-r--r--multimedia/smplayer-skins/Makefile11
-rw-r--r--multimedia/smplayer-skins/pkg-descr2
-rw-r--r--multimedia/smplayer-themes/Makefile15
-rw-r--r--multimedia/smplayer-themes/pkg-descr2
-rw-r--r--multimedia/smplayer/Makefile39
-rw-r--r--multimedia/smplayer/distinfo6
-rw-r--r--multimedia/smplayer/files/patch-Makefile35
-rw-r--r--multimedia/smplayer/files/pkg-message.in2
-rw-r--r--multimedia/smplayer/pkg-descr2
-rw-r--r--multimedia/smtube/Makefile52
-rw-r--r--multimedia/smtube/distinfo3
-rw-r--r--multimedia/smtube/pkg-descr5
-rw-r--r--multimedia/smtube/pkg-plist40
-rw-r--r--multimedia/snapcast/Makefile19
-rw-r--r--multimedia/snapcast/distinfo6
-rw-r--r--multimedia/snapcast/files/patch-CMakeLists.txt20
-rw-r--r--multimedia/snapcast/pkg-descr2
-rw-r--r--multimedia/snapcast/pkg-plist15
-rw-r--r--multimedia/snappy/Makefile29
-rw-r--r--multimedia/snappy/distinfo2
-rw-r--r--multimedia/snappy/pkg-descr4
-rw-r--r--multimedia/snappy/pkg-plist13
-rw-r--r--multimedia/spigot/Makefile20
-rw-r--r--multimedia/spigot/distinfo2
-rw-r--r--multimedia/spigot/files/patch-Makefile16
-rw-r--r--multimedia/spigot/pkg-descr2
-rw-r--r--multimedia/spigot/pkg-plist2
-rw-r--r--multimedia/spook/Makefile3
-rw-r--r--multimedia/spook/pkg-descr2
-rw-r--r--multimedia/streamlink/Makefile62
-rw-r--r--multimedia/streamlink/distinfo6
-rw-r--r--multimedia/streamlink/pkg-descr12
-rw-r--r--multimedia/subsync/Makefile29
-rw-r--r--multimedia/subsync/distinfo3
-rw-r--r--multimedia/subsync/pkg-descr4
-rw-r--r--multimedia/subtitlecomposer/Makefile19
-rw-r--r--multimedia/subtitlecomposer/distinfo6
-rw-r--r--multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt4
-rw-r--r--multimedia/subtitlecomposer/files/patch-src_subtitlecomposer.xml17
-rw-r--r--multimedia/subtitlecomposer/pkg-descr2
-rw-r--r--multimedia/subtitlecomposer/pkg-plist23
-rw-r--r--multimedia/subtitleoffsetmodifier/Makefile3
-rw-r--r--multimedia/subtitleoffsetmodifier/pkg-descr2
-rw-r--r--multimedia/subtitleripper/Makefile71
-rw-r--r--multimedia/subtitleripper/distinfo3
-rw-r--r--multimedia/subtitleripper/pkg-descr16
-rw-r--r--multimedia/subtitleripper/pkg-plist15
-rw-r--r--multimedia/subtools/Makefile3
-rw-r--r--multimedia/subtools/pkg-descr2
-rw-r--r--multimedia/svt-av1/Makefile5
-rw-r--r--multimedia/svt-av1/distinfo6
-rw-r--r--multimedia/svt-av1/pkg-descr2
-rw-r--r--multimedia/svt-av1/pkg-plist4
-rw-r--r--multimedia/svt-hevc/Makefile1
-rw-r--r--multimedia/svt-hevc/pkg-descr2
-rw-r--r--multimedia/svt-vp9/Makefile1
-rw-r--r--multimedia/svt-vp9/pkg-descr2
-rw-r--r--multimedia/syncplay/Makefile6
-rw-r--r--multimedia/syncplay/pkg-descr2
-rw-r--r--multimedia/szap-s2/Makefile3
-rw-r--r--multimedia/szap-s2/pkg-descr2
-rw-r--r--multimedia/tautulli/Makefile7
-rw-r--r--multimedia/tautulli/distinfo6
-rw-r--r--multimedia/tautulli/pkg-descr2
-rw-r--r--multimedia/tcmplex-panteltje/Makefile3
-rw-r--r--multimedia/tcmplex-panteltje/pkg-descr2
-rw-r--r--multimedia/termplay/Makefile5
-rw-r--r--multimedia/termplay/pkg-descr2
-rw-r--r--multimedia/tinyobjloader/Makefile5
-rw-r--r--multimedia/tinyobjloader/distinfo6
-rw-r--r--multimedia/tinyobjloader/pkg-descr2
-rw-r--r--multimedia/tinyobjloader/pkg-plist2
-rw-r--r--multimedia/tivodecode/Makefile3
-rw-r--r--multimedia/tivodecode/pkg-descr2
-rw-r--r--multimedia/totem-pl-parser/Makefile13
-rw-r--r--multimedia/totem-pl-parser/distinfo6
-rw-r--r--multimedia/totem-pl-parser/files/patch-plparse_plparser.map18
-rw-r--r--multimedia/totem-pl-parser/pkg-plist8
-rw-r--r--multimedia/totem/Makefile9
-rw-r--r--multimedia/totem/pkg-descr2
-rw-r--r--multimedia/totem/pkg-plist4
-rw-r--r--multimedia/transcode/Makefile160
-rw-r--r--multimedia/transcode/distinfo3
-rw-r--r--multimedia/transcode/files/patch-configure29
-rw-r--r--multimedia/transcode/files/patch-ffmpeg0-1013
-rw-r--r--multimedia/transcode/files/patch-ffmpeg0-11299
-rw-r--r--multimedia/transcode/files/patch-ffmpeg2328
-rw-r--r--multimedia/transcode/files/patch-ffmpeg29352
-rw-r--r--multimedia/transcode/files/patch-ffmpeg3213
-rw-r--r--multimedia/transcode/files/patch-ffmpeg4502
-rw-r--r--multimedia/transcode/files/patch-filter_yuvdenoise_motion.c61
-rw-r--r--multimedia/transcode/files/patch-import-v4l30
-rw-r--r--multimedia/transcode/files/patch-import_Makefile.in11
-rw-r--r--multimedia/transcode/files/patch-import__probe_ffmpeg.c11
-rw-r--r--multimedia/transcode/files/patch-import_demux__pass.c11
-rw-r--r--multimedia/transcode/files/patch-import_extract__ac3.c11
-rw-r--r--multimedia/transcode/files/patch-import_extract__mp3.c11
-rw-r--r--multimedia/transcode/files/patch-import_extract__pcm.c11
-rw-r--r--multimedia/transcode/files/patch-libav-10.patch32
-rw-r--r--multimedia/transcode/files/patch-libtc-tc_functions.c33
-rw-r--r--multimedia/transcode/files/patch-livav-9.patch31
-rw-r--r--multimedia/transcode/pkg-descr21
-rw-r--r--multimedia/transcode/pkg-plist130
-rw-r--r--multimedia/tstools/Makefile35
-rw-r--r--multimedia/tstools/distinfo2
-rw-r--r--multimedia/tstools/pkg-descr23
-rw-r--r--multimedia/tstools/pkg-plist19
-rw-r--r--multimedia/tvheadend/Makefile8
-rw-r--r--multimedia/tvheadend/pkg-descr2
-rw-r--r--multimedia/tvheadend/pkg-plist2
-rw-r--r--multimedia/umph/Makefile30
-rw-r--r--multimedia/umph/distinfo2
-rw-r--r--multimedia/umph/pkg-descr8
-rw-r--r--multimedia/ustreamer/Makefile3
-rw-r--r--multimedia/ustreamer/distinfo6
-rw-r--r--multimedia/ustreamer/files/patch-src_Makefile15
-rw-r--r--multimedia/ustreamer/pkg-descr2
-rw-r--r--multimedia/uvg266/Makefile34
-rw-r--r--multimedia/uvg266/distinfo7
-rw-r--r--multimedia/uvg266/pkg-descr4
-rw-r--r--multimedia/uvg266/pkg-plist5
-rw-r--r--multimedia/uxplay/Makefile34
-rw-r--r--multimedia/uxplay/distinfo3
-rw-r--r--multimedia/uxplay/files/pkg-message.in13
-rw-r--r--multimedia/uxplay/pkg-descr13
-rw-r--r--multimedia/v4l-utils/Makefile2
-rw-r--r--multimedia/v4l-utils/pkg-descr2
-rw-r--r--multimedia/v4l-utils/pkg-plist24
-rw-r--r--multimedia/v4l_compat/Makefile1
-rw-r--r--multimedia/v4l_compat/pkg-descr2
-rw-r--r--multimedia/vamps/Makefile3
-rw-r--r--multimedia/vamps/pkg-descr2
-rw-r--r--multimedia/vapoursynth-l-smash-works/Makefile54
-rw-r--r--multimedia/vapoursynth-l-smash-works/distinfo6
-rw-r--r--multimedia/vapoursynth-l-smash-works/files/patch-meson.build23
-rw-r--r--multimedia/vapoursynth-l-smash-works/pkg-descr2
-rw-r--r--multimedia/vapoursynth-vmaf/Makefile4
-rw-r--r--multimedia/vapoursynth-vmaf/pkg-descr2
-rw-r--r--multimedia/vapoursynth/Makefile122
-rw-r--r--multimedia/vapoursynth/distinfo6
-rw-r--r--multimedia/vapoursynth/files/patch-Makefile.am9
-rw-r--r--multimedia/vapoursynth/files/patch-configure.ac13
-rw-r--r--multimedia/vapoursynth/pkg-descr2
-rw-r--r--multimedia/vapoursynth/pkg-plist38
-rw-r--r--multimedia/vcdgear/Makefile3
-rw-r--r--multimedia/vcdgear/pkg-descr2
-rw-r--r--multimedia/vcdimager/Makefile6
-rw-r--r--multimedia/vcdimager/pkg-descr2
-rw-r--r--multimedia/vcdimager/pkg-plist14
-rw-r--r--multimedia/vdpauinfo/Makefile10
-rw-r--r--multimedia/vdpauinfo/distinfo6
-rw-r--r--multimedia/vdpauinfo/pkg-descr2
-rw-r--r--multimedia/vdr-plugin-control/Makefile43
-rw-r--r--multimedia/vdr-plugin-control/distinfo4
-rw-r--r--multimedia/vdr-plugin-control/files/patch-Makefile23
-rw-r--r--multimedia/vdr-plugin-control/files/patch-StringArray.c14
-rw-r--r--multimedia/vdr-plugin-control/files/patch-control.c10
-rw-r--r--multimedia/vdr-plugin-control/files/patch-stack.c14
-rw-r--r--multimedia/vdr-plugin-control/files/patch-telnet.c14
-rw-r--r--multimedia/vdr-plugin-control/pkg-descr14
-rw-r--r--multimedia/vdr-plugin-control/pkg-plist1
-rw-r--r--multimedia/vdr-plugin-eepg/Makefile40
-rw-r--r--multimedia/vdr-plugin-eepg/distinfo2
-rw-r--r--multimedia/vdr-plugin-eepg/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-eepg/files/patch-eepg.c17
-rw-r--r--multimedia/vdr-plugin-eepg/pkg-descr14
-rw-r--r--multimedia/vdr-plugin-eepg/pkg-plist4
-rw-r--r--multimedia/vdr-plugin-epgsearch/Makefile45
-rw-r--r--multimedia/vdr-plugin-epgsearch/distinfo2
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-Makefile54
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-clang4022
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-isnumber30
-rw-r--r--multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c14
-rw-r--r--multimedia/vdr-plugin-epgsearch/pkg-descr7
-rw-r--r--multimedia/vdr-plugin-epgsearch/pkg-plist27
-rw-r--r--multimedia/vdr-plugin-extrecmenu/Makefile37
-rw-r--r--multimedia/vdr-plugin-extrecmenu/distinfo2
-rw-r--r--multimedia/vdr-plugin-extrecmenu/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c14
-rw-r--r--multimedia/vdr-plugin-extrecmenu/pkg-descr22
-rw-r--r--multimedia/vdr-plugin-extrecmenu/pkg-plist23
-rw-r--r--multimedia/vdr-plugin-femon/Makefile37
-rw-r--r--multimedia/vdr-plugin-femon/distinfo2
-rw-r--r--multimedia/vdr-plugin-femon/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch16
-rw-r--r--multimedia/vdr-plugin-femon/pkg-descr9
-rw-r--r--multimedia/vdr-plugin-femon/pkg-plist12
-rw-r--r--multimedia/vdr-plugin-infosatepg/Makefile38
-rw-r--r--multimedia/vdr-plugin-infosatepg/distinfo2
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp110
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-filter.h13
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-global.cpp40
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-global.h22
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp36
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-process.cpp26
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp50
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-status.cpp21
-rw-r--r--multimedia/vdr-plugin-infosatepg/files/patch-status.h18
-rw-r--r--multimedia/vdr-plugin-infosatepg/pkg-descr5
-rw-r--r--multimedia/vdr-plugin-infosatepg/pkg-plist5
-rw-r--r--multimedia/vdr-plugin-iptv/Makefile62
-rw-r--r--multimedia/vdr-plugin-iptv/distinfo2
-rw-r--r--multimedia/vdr-plugin-iptv/files/channels.conf.iptv17
-rw-r--r--multimedia/vdr-plugin-iptv/files/patch-Makefile28
-rw-r--r--multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv28
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf3
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf2
-rw-r--r--multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf1
-rw-r--r--multimedia/vdr-plugin-iptv/pkg-descr20
-rw-r--r--multimedia/vdr-plugin-iptv/pkg-plist32
-rw-r--r--multimedia/vdr-plugin-markad/Makefile55
-rw-r--r--multimedia/vdr-plugin-markad/distinfo2
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-Makefile15
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_Makefile48
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp192
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_decoder.h10
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp138
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-plugin_Makefile22
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp19
-rw-r--r--multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp113
-rw-r--r--multimedia/vdr-plugin-markad/pkg-descr5
-rw-r--r--multimedia/vdr-plugin-markad/pkg-plist13
-rw-r--r--multimedia/vdr-plugin-osdpip/Makefile38
-rw-r--r--multimedia/vdr-plugin-osdpip/distinfo3
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-decoder.c20
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-ffmpeg126
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-ffmpeg352
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-libav940
-rw-r--r--multimedia/vdr-plugin-osdpip/files/patch-osd.c11
-rw-r--r--multimedia/vdr-plugin-osdpip/pkg-descr8
-rw-r--r--multimedia/vdr-plugin-osdpip/pkg-plist22
-rw-r--r--multimedia/vdr-plugin-osdteletext/Makefile38
-rw-r--r--multimedia/vdr-plugin-osdteletext/distinfo2
-rw-r--r--multimedia/vdr-plugin-osdteletext/files/patch-Makefile11
-rw-r--r--multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt47
-rw-r--r--multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.229
-rw-r--r--multimedia/vdr-plugin-osdteletext/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-osdteletext/pkg-plist13
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/Makefile41
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/distinfo4
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile8
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c66
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h22
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c35
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.1831
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c18
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h11
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c36
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c11
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/pkg-descr8
-rw-r--r--multimedia/vdr-plugin-reelchannelscan/pkg-plist80
-rw-r--r--multimedia/vdr-plugin-remote/Makefile37
-rw-r--r--multimedia/vdr-plugin-remote/distinfo2
-rw-r--r--multimedia/vdr-plugin-remote/files/patch-Makefile48
-rw-r--r--multimedia/vdr-plugin-remote/files/patch-uhid1255
-rw-r--r--multimedia/vdr-plugin-remote/pkg-descr64
-rw-r--r--multimedia/vdr-plugin-remote/pkg-plist7
-rw-r--r--multimedia/vdr-plugin-skinenigmang/Makefile47
-rw-r--r--multimedia/vdr-plugin-skinenigmang/distinfo4
-rw-r--r--multimedia/vdr-plugin-skinenigmang/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.165
-rw-r--r--multimedia/vdr-plugin-skinenigmang/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-skinenigmang/pkg-plist126
-rw-r--r--multimedia/vdr-plugin-sleeptimer/Makefile36
-rw-r--r--multimedia/vdr-plugin-sleeptimer/distinfo2
-rw-r--r--multimedia/vdr-plugin-sleeptimer/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-sleeptimer/files/patch-i18.c14
-rw-r--r--multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c11
-rw-r--r--multimedia/vdr-plugin-sleeptimer/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-sleeptimer/pkg-plist22
-rw-r--r--multimedia/vdr-plugin-streamdev/Makefile57
-rw-r--r--multimedia/vdr-plugin-streamdev/distinfo2
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-Makefile10
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-client-Makefile14
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-client-setup.c10
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-Makefile14
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c28
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c28
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c13
-rw-r--r--multimedia/vdr-plugin-streamdev/files/patch-server-setup.c10
-rw-r--r--multimedia/vdr-plugin-streamdev/pkg-descr20
-rw-r--r--multimedia/vdr-plugin-streamdev/pkg-plist20
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/Makefile36
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/distinfo2
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c23
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.2925
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/pkg-descr8
-rw-r--r--multimedia/vdr-plugin-ttxtsubs/pkg-plist11
-rw-r--r--multimedia/vdr-plugin-vdrmanager/Makefile38
-rw-r--r--multimedia/vdr-plugin-vdrmanager/distinfo2
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp12
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp17
-rw-r--r--multimedia/vdr-plugin-vdrmanager/files/patch-sock.h12
-rw-r--r--multimedia/vdr-plugin-vdrmanager/pkg-descr4
-rw-r--r--multimedia/vdr-plugin-vdrmanager/pkg-plist2
-rw-r--r--multimedia/vdr-plugin-vnsiserver/Makefile48
-rw-r--r--multimedia/vdr-plugin-vnsiserver/distinfo2
-rw-r--r--multimedia/vdr-plugin-vnsiserver/files/patch-Makefile33
-rw-r--r--multimedia/vdr-plugin-vnsiserver/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-vnsiserver/pkg-plist4
-rw-r--r--multimedia/vdr-plugin-wirbelscan/Makefile39
-rw-r--r--multimedia/vdr-plugin-wirbelscan/distinfo2
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb51
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/patch-Makefile21
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c11
-rw-r--r--multimedia/vdr-plugin-wirbelscan/files/types.sed5
-rw-r--r--multimedia/vdr-plugin-wirbelscan/pkg-descr6
-rw-r--r--multimedia/vdr-plugin-wirbelscan/pkg-plist22
-rw-r--r--multimedia/vdr-plugin-xineliboutput/Makefile71
-rw-r--r--multimedia/vdr-plugin-xineliboutput/distinfo3
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/keymap1203
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-Makefile83
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-c++11163
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-clang43
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-config.c14
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-configure93
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-osd.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c64
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h13
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c108
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c283
-rw-r--r--multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c11
-rw-r--r--multimedia/vdr-plugin-xineliboutput/pkg-descr17
-rw-r--r--multimedia/vdr-plugin-xineliboutput/pkg-plist19
-rw-r--r--multimedia/vdr-plugin-xvdr/Makefile40
-rw-r--r--multimedia/vdr-plugin-xvdr/distinfo2
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e75
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-Makefile9
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-rofafor84
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c15
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c13
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h12
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c16
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c15
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c24
-rw-r--r--multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c21
-rw-r--r--multimedia/vdr-plugin-xvdr/pkg-descr5
-rw-r--r--multimedia/vdr-plugin-xvdr/pkg-plist2
-rw-r--r--multimedia/vdr-plugins/Makefile65
-rw-r--r--multimedia/vdr-plugins/pkg-descr20
-rw-r--r--multimedia/vdr/Makefile114
-rw-r--r--multimedia/vdr/Makefile.plugins58
-rw-r--r--multimedia/vdr/distinfo2
-rw-r--r--multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c19
-rw-r--r--multimedia/vdr/files/patch-abs-types.diff27
-rw-r--r--multimedia/vdr/files/patch-c++1174
-rw-r--r--multimedia/vdr/files/patch-clang4011
-rw-r--r--multimedia/vdr/files/patch-device.c11
-rw-r--r--multimedia/vdr/files/patch-device.h20
-rw-r--r--multimedia/vdr/files/patch-dvbdevice.c55
-rw-r--r--multimedia/vdr/files/patch-dvbdevice.h11
-rw-r--r--multimedia/vdr/files/patch-menu.c11
-rw-r--r--multimedia/vdr/files/patch-menuitems.c10
-rw-r--r--multimedia/vdr/files/patch-plugin.c19
-rw-r--r--multimedia/vdr/files/patch-receiver.c15
-rw-r--r--multimedia/vdr/files/patch-tools.c38
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates10
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD1222
-rw-r--r--multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff13
-rw-r--r--multimedia/vdr/files/patch-vdr.111
-rw-r--r--multimedia/vdr/files/patch-z-Makefile45
-rw-r--r--multimedia/vdr/files/patch-z-cutter.c61
-rw-r--r--multimedia/vdr/files/patch-z-dvbdevice.c14
-rw-r--r--multimedia/vdr/files/patch-z-libsi-si.c42
-rw-r--r--multimedia/vdr/files/remote.conf116
-rw-r--r--multimedia/vdr/files/stb0899-signalstrength.patch28
-rw-r--r--multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch11
-rw-r--r--multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff10
-rw-r--r--multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1959
-rw-r--r--multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-256
-rw-r--r--multimedia/vdr/files/vdr-waitdvb.in37
-rw-r--r--multimedia/vdr/files/vdr.in44
-rw-r--r--multimedia/vdr/pkg-descr17
-rw-r--r--multimedia/vdr/pkg-plist152
-rw-r--r--multimedia/vid.stab/Makefile1
-rw-r--r--multimedia/vid.stab/pkg-descr2
-rw-r--r--multimedia/video-trimmer/Makefile36
-rw-r--r--multimedia/video-trimmer/Makefile.crates204
-rw-r--r--multimedia/video-trimmer/distinfo411
-rw-r--r--multimedia/video-trimmer/pkg-descr3
-rw-r--r--multimedia/video-trimmer/pkg-plist36
-rw-r--r--multimedia/vlc/Makefile62
-rw-r--r--multimedia/vlc/distinfo6
-rw-r--r--multimedia/vlc/files/patch-arch-vlc-live-media-202117
-rw-r--r--multimedia/vlc/files/patch-dav1d-1.0136
-rw-r--r--multimedia/vlc/pkg-descr2
-rw-r--r--multimedia/vlc/pkg-plist16
-rw-r--r--multimedia/vmaf/Makefile5
-rw-r--r--multimedia/vmaf/distinfo6
-rw-r--r--multimedia/vmaf/files/patch-meson.build20
-rw-r--r--multimedia/vmaf/pkg-descr2
-rw-r--r--multimedia/vmaf/pkg-plist6
-rw-r--r--multimedia/vtkmpeg2encode/Makefile7
-rw-r--r--multimedia/vtkmpeg2encode/pkg-descr2
-rw-r--r--multimedia/vvdec/Makefile16
-rw-r--r--multimedia/vvdec/distinfo6
-rw-r--r--multimedia/vvdec/files/patch-source_Lib_vvdec_vvdecimpl.h13
-rw-r--r--multimedia/vvdec/pkg-descr2
-rw-r--r--multimedia/vvdec/pkg-plist2
-rw-r--r--multimedia/vvenc/Makefile34
-rw-r--r--multimedia/vvenc/distinfo3
-rw-r--r--multimedia/vvenc/pkg-descr12
-rw-r--r--multimedia/vvenc/pkg-plist13
-rw-r--r--multimedia/w_scan2/Makefile11
-rw-r--r--multimedia/w_scan2/distinfo6
-rw-r--r--multimedia/w_scan2/pkg-descr2
-rw-r--r--multimedia/webcamd/Makefile9
-rw-r--r--multimedia/webcamd/distinfo6
-rw-r--r--multimedia/webcamd/files/webcamd.in1
-rw-r--r--multimedia/webcamd/pkg-descr2
-rw-r--r--multimedia/webcamd/pkg-message19
-rw-r--r--multimedia/webcamd/pkg-plist128
-rw-r--r--multimedia/webcamoid/Makefile19
-rw-r--r--multimedia/webcamoid/distinfo6
-rw-r--r--multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_capture_v4l2sys_src_capturev4l2.cpp41
-rw-r--r--multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp41
-rw-r--r--multimedia/webcamoid/files/patch-libAvKys_Plugins_VirtualCamera_src_v4l2lb_src_vcamv4l2lb.cpp41
-rw-r--r--multimedia/webcamoid/pkg-descr2
-rw-r--r--multimedia/webcamoid/pkg-plist67
-rw-r--r--multimedia/webvfx-qt5/Makefile47
-rw-r--r--multimedia/webvfx-qt5/distinfo3
-rw-r--r--multimedia/webvfx-qt5/files/patch-tools_browser_browser.ui11
-rw-r--r--multimedia/webvfx-qt5/pkg-descr8
-rw-r--r--multimedia/webvfx-qt5/pkg-plist149
-rw-r--r--multimedia/wf-recorder/Makefile27
-rw-r--r--multimedia/wf-recorder/distinfo8
-rw-r--r--multimedia/wf-recorder/pkg-descr2
-rw-r--r--multimedia/win32-codecs/Makefile81
-rw-r--r--multimedia/win32-codecs/distinfo8
-rw-r--r--multimedia/win32-codecs/pkg-descr39
-rw-r--r--multimedia/win32-codecs/pkg-plist239
-rw-r--r--multimedia/winff/Makefile28
-rw-r--r--multimedia/winff/distinfo6
-rw-r--r--multimedia/winff/files/patch-winff_unit1.pas59
-rw-r--r--multimedia/winff/pkg-descr2
-rw-r--r--multimedia/winff/pkg-plist5
-rw-r--r--multimedia/wireplumber/Makefile47
-rw-r--r--multimedia/wireplumber/distinfo3
-rw-r--r--multimedia/wireplumber/pkg-descr6
-rw-r--r--multimedia/wireplumber/pkg-plist178
-rw-r--r--multimedia/wl-screenrec/Makefile32
-rw-r--r--multimedia/wl-screenrec/Makefile.crates92
-rw-r--r--multimedia/wl-screenrec/distinfo187
-rw-r--r--multimedia/wl-screenrec/files/patch-ffmpeg40
-rw-r--r--multimedia/wl-screenrec/pkg-descr14
-rw-r--r--multimedia/wlrobs/Makefile10
-rw-r--r--multimedia/wlrobs/distinfo6
-rw-r--r--multimedia/wlrobs/files/patch-meson.build13
-rw-r--r--multimedia/wlrobs/pkg-descr2
-rw-r--r--multimedia/x264/Makefile69
-rw-r--r--multimedia/x264/distinfo6
-rw-r--r--multimedia/x264/files/patch-configure27
-rw-r--r--multimedia/x264/pkg-descr2
-rw-r--r--multimedia/x265/Makefile23
-rw-r--r--multimedia/x265/distinfo8
-rw-r--r--multimedia/x265/files/patch-md553
-rw-r--r--multimedia/x265/files/patch-source_CMakeLists.txt12
-rw-r--r--multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake8
-rw-r--r--multimedia/x265/files/patch-source_common_version.cpp11
-rw-r--r--multimedia/x265/files/patch-source_encoder_api.cpp19
-rw-r--r--multimedia/x265/files/patch-source_x265.h8
-rw-r--r--multimedia/x265/files/patch-warnings201
-rw-r--r--multimedia/x265/pkg-descr2
-rw-r--r--multimedia/x265/pkg-plist2
-rw-r--r--multimedia/xanim/Makefile7
-rw-r--r--multimedia/xanim/pkg-descr1
-rw-r--r--multimedia/xawtv/Makefile25
-rw-r--r--multimedia/xawtv/files/patch-Makefile.in11
-rw-r--r--multimedia/xawtv/files/patch-common__vbi-data.c6
-rw-r--r--multimedia/xawtv/files/patch-configure21
-rw-r--r--multimedia/xawtv/files/patch-console__fbtools.c6
-rw-r--r--multimedia/xawtv/files/patch-console__scantv.c6
-rw-r--r--multimedia/xawtv/files/patch-console__showqt.c14
-rw-r--r--multimedia/xawtv/files/patch-console__vbi-tty.c30
-rw-r--r--multimedia/xawtv/files/patch-libng__contrib-plugins__Subdir.mk6
-rw-r--r--multimedia/xawtv/files/patch-libng__plugins__drv0-bsd.c24
-rw-r--r--multimedia/xawtv/files/patch-libng_plugins_Subdir.mk9
-rw-r--r--multimedia/xawtv/files/patch-scripts-subtitles6
-rw-r--r--multimedia/xawtv/files/patch-x11__Subdir.mk8
-rw-r--r--multimedia/xawtv/pkg-descr2
-rw-r--r--multimedia/xawtv/pkg-plist73
-rw-r--r--multimedia/xfce4-parole/Makefile15
-rw-r--r--multimedia/xfce4-parole/distinfo6
-rw-r--r--multimedia/xfce4-parole/files/patch-configure15
-rw-r--r--multimedia/xfce4-parole/files/patch-src_plugins_mpris2_mpris2-provider.c11
-rw-r--r--multimedia/xfce4-parole/pkg-descr2
-rw-r--r--multimedia/xfce4-parole/pkg-plist9
-rw-r--r--multimedia/xine/Makefile12
-rw-r--r--multimedia/xine/distinfo6
-rw-r--r--multimedia/xine/pkg-descr2
-rw-r--r--multimedia/xine/pkg-plist207
-rw-r--r--multimedia/xporthdmv/Makefile5
-rw-r--r--multimedia/xporthdmv/pkg-descr2
-rw-r--r--multimedia/xvid/Makefile3
-rw-r--r--multimedia/xvid/pkg-descr2
-rw-r--r--multimedia/yamdi/Makefile3
-rw-r--r--multimedia/yamdi/pkg-descr2
-rw-r--r--multimedia/ytfzf/Makefile21
-rw-r--r--multimedia/ytfzf/distinfo6
-rw-r--r--multimedia/ytfzf/files/patch-ytfzf11
-rw-r--r--multimedia/ytfzf/pkg-descr2
-rw-r--r--multimedia/zart/Makefile5
-rw-r--r--multimedia/zart/pkg-descr2
-rw-r--r--multimedia/zoneminder/Makefile14
-rw-r--r--multimedia/zoneminder/distinfo10
-rw-r--r--multimedia/zoneminder/files/patch-dep_jwt-cpp_include_jwt-cpp_jwt.h14
-rw-r--r--multimedia/zoneminder/files/patch-src_zm__utils.cpp16
-rw-r--r--multimedia/zoneminder/files/pkg-message.in5
-rw-r--r--multimedia/zoneminder/pkg-descr2
-rw-r--r--multimedia/zoneminder/pkg-plist61
2279 files changed, 39430 insertions, 47253 deletions
diff --git a/multimedia/Bento4/Makefile b/multimedia/Bento4/Makefile
index 16be6fe9ef92..dc3f83cd4e1c 100644
--- a/multimedia/Bento4/Makefile
+++ b/multimedia/Bento4/Makefile
@@ -1,15 +1,16 @@
PORTNAME= Bento4
PORTVERSION= 1.6.0
DISTVERSIONPREFIX=v
-DISTVERSIONSUFFIX=-639
+DISTVERSIONSUFFIX=-640
+PORTREVISION= 2
CATEGORIES= multimedia devel
MAINTAINER= rodrigo@FreeBSD.org
COMMENT= Full-featured MP4 format and MPEG DASH library and tools
+WWW= https://www.bento4.com
LICENSE= GPLv2
-BROKEN_aarch64= fails to compile: Ap4AesBlockCipher.cpp:93:4: AP4_PLATFORM_BYTE_ORDER is not set
BROKEN_riscv64= fails to compile: Ap4AesBlockCipher.cpp:93:4: AP4_PLATFORM_BYTE_ORDER is not set
RUN_DEPENDS= bash:shells/bash
@@ -25,7 +26,7 @@ CMAKE_BUILD_TYPE= Release
INSTALL_TARGET= do-install
post-patch:
- @${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|g' ${WRKSRC}/Source/Python/wrappers/*
+ @${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|g' ${WRKSRC}/Source/Python/wrappers/*
@${REINPLACE_CMD} -e 's|$$BASEDIR/..|${DATADIR}|g' ${WRKSRC}/Source/Python/wrappers/*
do-install:
@@ -40,5 +41,8 @@ do-install:
. for prog in mp4dash mp4dashclone mp4hls
${INSTALL_SCRIPT} ${WRKSRC}/Source/Python/wrappers/${prog} ${STAGEDIR}${PREFIX}/bin
. endfor
+ @${MKDIR} ${STAGEDIR}${PREFIX}/include/Bento4
+ @${FIND} -s ${WRKSRC} -type f -name "*.h" -type f \
+ -exec ${INSTALL_DATA} {} ${STAGEDIR}${PREFIX}/include/Bento4 ';'
.include <bsd.port.mk>
diff --git a/multimedia/Bento4/distinfo b/multimedia/Bento4/distinfo
index ce471231485e..95121f56b849 100644
--- a/multimedia/Bento4/distinfo
+++ b/multimedia/Bento4/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1631717748
-SHA256 (axiomatic-systems-Bento4-v1.6.0-639_GH0.tar.gz) = 9f3eb912207d7ed9c1e6e05315083404b32a11f8aacd604a9b2bdcb10bf79eb9
-SIZE (axiomatic-systems-Bento4-v1.6.0-639_GH0.tar.gz) = 5475450
+TIMESTAMP = 1690230714
+SHA256 (axiomatic-systems-Bento4-v1.6.0-640_GH0.tar.gz) = 27a47dc9e2fafb957d3fbc60e15e3d50838ea30767bb09a3e54ca127bf02b7a1
+SIZE (axiomatic-systems-Bento4-v1.6.0-640_GH0.tar.gz) = 5484136
diff --git a/multimedia/Bento4/pkg-descr b/multimedia/Bento4/pkg-descr
index bc15ede561dc..d08ce0ce72dc 100644
--- a/multimedia/Bento4/pkg-descr
+++ b/multimedia/Bento4/pkg-descr
@@ -3,5 +3,3 @@ This format is defined in international specifications ISO/IEC 14496-12,
14496-14 and 14496-15.
The format is a derivative of the Apple Quicktime file format,
so Bento4 can be used to read and write most Quicktime files as well.
-
-WWW: https://www.bento4.com
diff --git a/multimedia/Bento4/pkg-plist b/multimedia/Bento4/pkg-plist
index f77c391c5254..ef0899d2756c 100644
--- a/multimedia/Bento4/pkg-plist
+++ b/multimedia/Bento4/pkg-plist
@@ -20,6 +20,151 @@ bin/mp4mux
bin/mp4split
bin/mp4tag
lib/libap4.a
+include/Bento4/Ap4.h
+include/Bento4/Ap48bdlAtom.h
+include/Bento4/Ap4Ac3Parser.h
+include/Bento4/Ap4Ac4Parser.h
+include/Bento4/Ap4Ac4Utils.h
+include/Bento4/Ap4AdtsParser.h
+include/Bento4/Ap4AesBlockCipher.h
+include/Bento4/Ap4AinfAtom.h
+include/Bento4/Ap4Array.h
+include/Bento4/Ap4Atom.h
+include/Bento4/Ap4AtomFactory.h
+include/Bento4/Ap4AtomSampleTable.h
+include/Bento4/Ap4AtomixAdapters.h
+include/Bento4/Ap4Av1cAtom.h
+include/Bento4/Ap4AvcParser.h
+include/Bento4/Ap4AvccAtom.h
+include/Bento4/Ap4BitStream.h
+include/Bento4/Ap4BlocAtom.h
+include/Bento4/Ap4ByteStream.h
+include/Bento4/Ap4Co64Atom.h
+include/Bento4/Ap4Command.h
+include/Bento4/Ap4CommandFactory.h
+include/Bento4/Ap4CommonEncryption.h
+include/Bento4/Ap4Config.h
+include/Bento4/Ap4Constants.h
+include/Bento4/Ap4ContainerAtom.h
+include/Bento4/Ap4CttsAtom.h
+include/Bento4/Ap4Dac3Atom.h
+include/Bento4/Ap4Dac4Atom.h
+include/Bento4/Ap4DataBuffer.h
+include/Bento4/Ap4Debug.h
+include/Bento4/Ap4Dec3Atom.h
+include/Bento4/Ap4DecoderConfigDescriptor.h
+include/Bento4/Ap4DecoderSpecificInfoDescriptor.h
+include/Bento4/Ap4Descriptor.h
+include/Bento4/Ap4DescriptorFactory.h
+include/Bento4/Ap4DrefAtom.h
+include/Bento4/Ap4DvccAtom.h
+include/Bento4/Ap4DynamicCast.h
+include/Bento4/Ap4Eac3Parser.h
+include/Bento4/Ap4ElstAtom.h
+include/Bento4/Ap4EsDescriptor.h
+include/Bento4/Ap4EsdsAtom.h
+include/Bento4/Ap4Expandable.h
+include/Bento4/Ap4File.h
+include/Bento4/Ap4FileByteStream.h
+include/Bento4/Ap4FileCopier.h
+include/Bento4/Ap4FileWriter.h
+include/Bento4/Ap4FragmentSampleTable.h
+include/Bento4/Ap4FrmaAtom.h
+include/Bento4/Ap4FtypAtom.h
+include/Bento4/Ap4GrpiAtom.h
+include/Bento4/Ap4HdlrAtom.h
+include/Bento4/Ap4HevcParser.h
+include/Bento4/Ap4HintTrackReader.h
+include/Bento4/Ap4Hmac.h
+include/Bento4/Ap4HmhdAtom.h
+include/Bento4/Ap4HvccAtom.h
+include/Bento4/Ap4IkmsAtom.h
+include/Bento4/Ap4Interfaces.h
+include/Bento4/Ap4IodsAtom.h
+include/Bento4/Ap4Ipmp.h
+include/Bento4/Ap4IproAtom.h
+include/Bento4/Ap4IsfmAtom.h
+include/Bento4/Ap4IsltAtom.h
+include/Bento4/Ap4IsmaCryp.h
+include/Bento4/Ap4KeyWrap.h
+include/Bento4/Ap4LinearReader.h
+include/Bento4/Ap4List.h
+include/Bento4/Ap4Marlin.h
+include/Bento4/Ap4MdhdAtom.h
+include/Bento4/Ap4MehdAtom.h
+include/Bento4/Ap4MetaData.h
+include/Bento4/Ap4MfhdAtom.h
+include/Bento4/Ap4MfroAtom.h
+include/Bento4/Ap4MoovAtom.h
+include/Bento4/Ap4Movie.h
+include/Bento4/Ap4MovieFragment.h
+include/Bento4/Ap4Mp4AudioInfo.h
+include/Bento4/Ap4Mpeg2Ts.h
+include/Bento4/Ap4MvhdAtom.h
+include/Bento4/Ap4NalParser.h
+include/Bento4/Ap4NeptuneAdapters.h
+include/Bento4/Ap4NmhdAtom.h
+include/Bento4/Ap4ObjectDescriptor.h
+include/Bento4/Ap4OdafAtom.h
+include/Bento4/Ap4OddaAtom.h
+include/Bento4/Ap4OdheAtom.h
+include/Bento4/Ap4OhdrAtom.h
+include/Bento4/Ap4OmaDcf.h
+include/Bento4/Ap4PdinAtom.h
+include/Bento4/Ap4Piff.h
+include/Bento4/Ap4Processor.h
+include/Bento4/Ap4Protection.h
+include/Bento4/Ap4PsshAtom.h
+include/Bento4/Ap4Results.h
+include/Bento4/Ap4RtpAtom.h
+include/Bento4/Ap4RtpHint.h
+include/Bento4/Ap4SLConfigDescriptor.h
+include/Bento4/Ap4SaioAtom.h
+include/Bento4/Ap4SaizAtom.h
+include/Bento4/Ap4Sample.h
+include/Bento4/Ap4SampleDescription.h
+include/Bento4/Ap4SampleEntry.h
+include/Bento4/Ap4SampleSource.h
+include/Bento4/Ap4SampleTable.h
+include/Bento4/Ap4SbgpAtom.h
+include/Bento4/Ap4SchmAtom.h
+include/Bento4/Ap4SdpAtom.h
+include/Bento4/Ap4SegmentBuilder.h
+include/Bento4/Ap4SencAtom.h
+include/Bento4/Ap4SgpdAtom.h
+include/Bento4/Ap4SidxAtom.h
+include/Bento4/Ap4SmhdAtom.h
+include/Bento4/Ap4StcoAtom.h
+include/Bento4/Ap4SthdAtom.h
+include/Bento4/Ap4StreamCipher.h
+include/Bento4/Ap4String.h
+include/Bento4/Ap4StscAtom.h
+include/Bento4/Ap4StsdAtom.h
+include/Bento4/Ap4StssAtom.h
+include/Bento4/Ap4StszAtom.h
+include/Bento4/Ap4SttsAtom.h
+include/Bento4/Ap4Stz2Atom.h
+include/Bento4/Ap4SyntheticSampleTable.h
+include/Bento4/Ap4TencAtom.h
+include/Bento4/Ap4TfdtAtom.h
+include/Bento4/Ap4TfhdAtom.h
+include/Bento4/Ap4TfraAtom.h
+include/Bento4/Ap4TimsAtom.h
+include/Bento4/Ap4TkhdAtom.h
+include/Bento4/Ap4Track.h
+include/Bento4/Ap4TrakAtom.h
+include/Bento4/Ap4TrefTypeAtom.h
+include/Bento4/Ap4TrexAtom.h
+include/Bento4/Ap4TrunAtom.h
+include/Bento4/Ap4Types.h
+include/Bento4/Ap4UrlAtom.h
+include/Bento4/Ap4Utils.h
+include/Bento4/Ap4UuidAtom.h
+include/Bento4/Ap4Version.h
+include/Bento4/Ap4VmhdAtom.h
+include/Bento4/Ap4VpccAtom.h
+include/Bento4/Bento4C.h
+@dir include/Bento4
%%DATADIR%%/utils/aes.py
%%DATADIR%%/utils/check-indexes.py
%%DATADIR%%/utils/mp4-dash-clone.py
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 6d4b2ef5b41c..3dad23381cb9 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -1,11 +1,9 @@
COMMENT = Multimedia software
SUBDIR += Bento4
- SUBDIR += QtAV
SUBDIR += ab-av1
SUBDIR += ab25
- SUBDIR += acidrip
- SUBDIR += aegisub
+ SUBDIR += alass
SUBDIR += aom
SUBDIR += aravis
SUBDIR += arcan
@@ -19,22 +17,17 @@
SUBDIR += avidemux-cli
SUBDIR += avidemux-plugins
SUBDIR += avidemux-qt5
- SUBDIR += avinfo
SUBDIR += baka-mplayer
SUBDIR += bcmatroska2
SUBDIR += bino
SUBDIR += bitstream
SUBDIR += blind
- SUBDIR += bsdbktr_tvtune
SUBDIR += butt
- SUBDIR += camserv
- SUBDIR += ccextractor
- SUBDIR += cclive
SUBDIR += celluloid
SUBDIR += cheese
SUBDIR += chilitags
SUBDIR += cineencoder
- SUBDIR += clive
+ SUBDIR += clapper
SUBDIR += clutter-gst
SUBDIR += clutter-gst3
SUBDIR += cmrt
@@ -54,7 +47,6 @@
SUBDIR += dvdauthor
SUBDIR += dvdid
SUBDIR += dvdread
- SUBDIR += dvdrip
SUBDIR += dvdstyler
SUBDIR += elementary-videos
SUBDIR += emby-server
@@ -63,30 +55,26 @@
SUBDIR += ffaudioconverter
SUBDIR += ffdec
SUBDIR += ffmpeg
- SUBDIR += ffmpeg2theora
+ SUBDIR += ffmpeg4
SUBDIR += ffmpegthumbnailer
SUBDIR += ffms2
+ SUBDIR += ffnvcodec-headers
+ SUBDIR += ffsubsync
SUBDIR += filebot
SUBDIR += flvmeta
- SUBDIR += flvstreamer
SUBDIR += flvtool++
- SUBDIR += fpc-dts
- SUBDIR += fpc-libvlc
- SUBDIR += fxtv
+ SUBDIR += fswebcam
SUBDIR += gaupol
SUBDIR += gavl
SUBDIR += gdialog
SUBDIR += get_iplayer
- SUBDIR += gmerlin
SUBDIR += gmmlib
SUBDIR += gmp-api
SUBDIR += gmtk
SUBDIR += gnome-mplayer
- SUBDIR += gnome-twitch
SUBDIR += gpac-libgpac
SUBDIR += gpac-mp4box
SUBDIR += gpodder
- SUBDIR += grake
SUBDIR += gst123
SUBDIR += gstreamer1
SUBDIR += gstreamer1-editing-services
@@ -104,7 +92,6 @@
SUBDIR += gstreamer1-plugins-gnonlin
SUBDIR += gstreamer1-plugins-good
SUBDIR += gstreamer1-plugins-hls
- SUBDIR += gstreamer1-plugins-kate
SUBDIR += gstreamer1-plugins-libde265
SUBDIR += gstreamer1-plugins-mpeg2dec
SUBDIR += gstreamer1-plugins-mpeg2enc
@@ -112,7 +99,6 @@
SUBDIR += gstreamer1-plugins-msdk
SUBDIR += gstreamer1-plugins-openh264
SUBDIR += gstreamer1-plugins-resindvd
- SUBDIR += gstreamer1-plugins-rtmp
SUBDIR += gstreamer1-plugins-rust
SUBDIR += gstreamer1-plugins-smoothstreaming
SUBDIR += gstreamer1-plugins-svt-av1
@@ -127,26 +113,27 @@
SUBDIR += gstreamer1-plugins-x265
SUBDIR += gstreamer1-qt
SUBDIR += gstreamer1-rtsp-server
- SUBDIR += gstreamer1-transcoder
SUBDIR += gstreamer1-vaapi
SUBDIR += gstreamer1-validate
SUBDIR += gstreamermm
+ SUBDIR += gtk-pipe-viewer
SUBDIR += gtk-youtube-viewer
SUBDIR += handbrake
SUBDIR += haruna
SUBDIR += harvid
SUBDIR += helvum
SUBDIR += hypnotix
- SUBDIR += imagination
SUBDIR += intel-media-sdk
- SUBDIR += iriverter
SUBDIR += iso2mkv
+ SUBDIR += jellyfin
SUBDIR += jmref
SUBDIR += kaffeine
SUBDIR += kamoso
+ SUBDIR += kasts
SUBDIR += kdemultimedia
SUBDIR += kdemultimedia-ffmpegthumbs
SUBDIR += kdenlive
+ SUBDIR += kew
SUBDIR += kf5-kmediaplayer
SUBDIR += kmplayer
SUBDIR += kodi
@@ -183,40 +170,34 @@
SUBDIR += libfame
SUBDIR += libgav1
SUBDIR += libhdhomerun
- SUBDIR += libkate
SUBDIR += libmatroska
SUBDIR += libmediaart
SUBDIR += libmediainfo
SUBDIR += libmpeg2
- SUBDIR += libmpeg3
SUBDIR += libmtp
SUBDIR += libndi
SUBDIR += libopenshot
- SUBDIR += libquicktime
- SUBDIR += libquicktime-lame
- SUBDIR += libquvi
- SUBDIR += libquvi-scripts
- SUBDIR += libquvi-scripts09
- SUBDIR += libquvi09
SUBDIR += librav1e
SUBDIR += librespot
SUBDIR += librist
SUBDIR += librtmp
SUBDIR += libtheora
SUBDIR += libtuner
+ SUBDIR += libudfread
SUBDIR += libuvc
SUBDIR += libv4l
SUBDIR += libva
- SUBDIR += libva-glx
SUBDIR += libva-intel-driver
SUBDIR += libva-intel-hybrid-driver
SUBDIR += libva-intel-media-driver
+ SUBDIR += libva-nvidia-driver
SUBDIR += libva-utils
SUBDIR += libva-vdpau-driver
SUBDIR += libvdpau
SUBDIR += libvdpau-va-gl
SUBDIR += libvlcpp
SUBDIR += libvpx
+ SUBDIR += libwebm
SUBDIR += libx264
SUBDIR += libxine
SUBDIR += libxspf
@@ -227,44 +208,34 @@
SUBDIR += linux_dvbwrapper-kmod
SUBDIR += livego
SUBDIR += lives
- SUBDIR += livestreamer
SUBDIR += lms
SUBDIR += lsdvd
- SUBDIR += m2tstoavi
SUBDIR += m2vrequantiser
SUBDIR += makemkv
+ SUBDIR += mediaelch
SUBDIR += mediainfo
SUBDIR += mencoder
SUBDIR += minisatip
SUBDIR += minitube
SUBDIR += mjpegtools
- SUBDIR += mjpg-streamer
SUBDIR += mkclean
SUBDIR += mkvalidator
SUBDIR += mkvtoolnix
- SUBDIR += mkxvcd
- SUBDIR += mlt6
- SUBDIR += mlt6-qt5
SUBDIR += mlt7
- SUBDIR += mlt7-qt5
- SUBDIR += mmsrip
+ SUBDIR += mlt7-glaxnimate
+ SUBDIR += mlt7-qt
SUBDIR += motion
SUBDIR += mp3cd
SUBDIR += mp4v2
SUBDIR += mpc-qt
- SUBDIR += mpeg2codec
- SUBDIR += mpeg2play
SUBDIR += mpeg_encode
- SUBDIR += mpeg_play
- SUBDIR += mpeg_stat
- SUBDIR += mpgtx
SUBDIR += mplayer
SUBDIR += mplayer-skins
SUBDIR += mplex
- SUBDIR += mps-youtube
SUBDIR += mpv
SUBDIR += mpv-mpris
SUBDIR += mpvpaper
+ SUBDIR += mpvqt
SUBDIR += msdl
SUBDIR += msopenh264
SUBDIR += mswebrtc
@@ -272,29 +243,23 @@
SUBDIR += musique
SUBDIR += mxflib
SUBDIR += mythtv
- SUBDIR += mythtv-frontend
SUBDIR += naludump
SUBDIR += navidrome
SUBDIR += neolink
- SUBDIR += nordlicht
SUBDIR += nostt
SUBDIR += nymphcast
SUBDIR += nymphcastlib
SUBDIR += nymphrpc
- SUBDIR += obs-audio-spectralizer
- SUBDIR += obs-ndi
- SUBDIR += obs-qtwebkit
- SUBDIR += obs-scrab
+ SUBDIR += obs-recursion-effect
SUBDIR += obs-streamfx
SUBDIR += obs-studio
- SUBDIR += obs-transition-matrix
- SUBDIR += obs-v4l2sink
- SUBDIR += obs-websocket
+ SUBDIR += obs-text-pthread
+ SUBDIR += obs-waveform
+ SUBDIR += obuparse
SUBDIR += oggvideotools
SUBDIR += ogmrip
SUBDIR += ogmtools
SUBDIR += olive
- SUBDIR += omxplayer
SUBDIR += onevpl
SUBDIR += openh264
SUBDIR += openshot
@@ -308,23 +273,21 @@
SUBDIR += p5-MP4-Info
SUBDIR += p5-Net-UPnP
SUBDIR += p5-Subtitles
- SUBDIR += p5-Umph-Prompt
- SUBDIR += pHash
SUBDIR += peek
SUBDIR += phonon
SUBDIR += phonon-designerplugin
- SUBDIR += phonon-gstreamer
SUBDIR += phonon-vlc
SUBDIR += photofilmstrip
- SUBDIR += php-pHash
+ SUBDIR += pipe-viewer
SUBDIR += pipewire
SUBDIR += pitivi
+ SUBDIR += plasma5-plank-player
+ SUBDIR += plasmatube
SUBDIR += playerctl
SUBDIR += plexmediaserver
SUBDIR += plexmediaserver-plexpass
SUBDIR += podcastdl
SUBDIR += poe
- SUBDIR += ppm2fli
SUBDIR += projectx
SUBDIR += ptx-kmod
SUBDIR += pwcbsd
@@ -340,29 +303,33 @@
SUBDIR += py-mat2
SUBDIR += py-metadata-cleaner
SUBDIR += py-mido
- SUBDIR += py-mlt6
SUBDIR += py-moviepy
SUBDIR += py-opentimelineio
SUBDIR += py-periscope
SUBDIR += py-pretty_midi
SUBDIR += py-pymediainfo
+ SUBDIR += py-pysubs2
+ SUBDIR += py-python-mpv
SUBDIR += py-soco
+ SUBDIR += py-srt
SUBDIR += py-subliminal
+ SUBDIR += py-tartube
SUBDIR += py-tvnamer
SUBDIR += qmmp-plugin-pack-qt5
+ SUBDIR += qmmp-plugin-pack-qt6
SUBDIR += qmmp-qt5
+ SUBDIR += qmmp-qt6
SUBDIR += qpwgraph
- SUBDIR += qt-faststart
SUBDIR += qt5-multimedia
+ SUBDIR += qt6-multimedia
SUBDIR += quodlibet
- SUBDIR += quvi
- SUBDIR += quvi09
SUBDIR += qwinff
SUBDIR += rage
SUBDIR += rav1e
SUBDIR += recmpeg
SUBDIR += recordmydesktop
SUBDIR += replex
+ SUBDIR += ringrtc
SUBDIR += rtmpdump
SUBDIR += rubygem-av
SUBDIR += rubygem-clutter-gstreamer
@@ -371,8 +338,6 @@
SUBDIR += rubygem-paperclip-av-transcoder
SUBDIR += rubygem-paperclip-av-transcoder-rails50
SUBDIR += rubygem-streamio-ffmpeg
- SUBDIR += sabbu
- SUBDIR += schroedinger
SUBDIR += scte35dump
SUBDIR += shotcut
SUBDIR += simplescreenrecorder
@@ -381,16 +346,11 @@
SUBDIR += smplayer
SUBDIR += smplayer-skins
SUBDIR += smplayer-themes
- SUBDIR += smtube
SUBDIR += snapcast
- SUBDIR += snappy
- SUBDIR += spigot
SUBDIR += spook
SUBDIR += streamlink
- SUBDIR += subsync
SUBDIR += subtitlecomposer
SUBDIR += subtitleoffsetmodifier
- SUBDIR += subtitleripper
SUBDIR += subtools
SUBDIR += svt-av1
SUBDIR += svt-hevc
@@ -404,11 +364,10 @@
SUBDIR += tivodecode
SUBDIR += totem
SUBDIR += totem-pl-parser
- SUBDIR += transcode
- SUBDIR += tstools
SUBDIR += tvheadend
- SUBDIR += umph
SUBDIR += ustreamer
+ SUBDIR += uvg266
+ SUBDIR += uxplay
SUBDIR += v4l-utils
SUBDIR += v4l_compat
SUBDIR += vamps
@@ -418,41 +377,20 @@
SUBDIR += vcdgear
SUBDIR += vcdimager
SUBDIR += vdpauinfo
- SUBDIR += vdr
- SUBDIR += vdr-plugin-control
- SUBDIR += vdr-plugin-eepg
- SUBDIR += vdr-plugin-epgsearch
- SUBDIR += vdr-plugin-extrecmenu
- SUBDIR += vdr-plugin-femon
- SUBDIR += vdr-plugin-infosatepg
- SUBDIR += vdr-plugin-iptv
- SUBDIR += vdr-plugin-markad
- SUBDIR += vdr-plugin-osdpip
- SUBDIR += vdr-plugin-osdteletext
- SUBDIR += vdr-plugin-reelchannelscan
- SUBDIR += vdr-plugin-remote
- SUBDIR += vdr-plugin-skinenigmang
- SUBDIR += vdr-plugin-sleeptimer
- SUBDIR += vdr-plugin-streamdev
- SUBDIR += vdr-plugin-ttxtsubs
- SUBDIR += vdr-plugin-vdrmanager
- SUBDIR += vdr-plugin-vnsiserver
- SUBDIR += vdr-plugin-wirbelscan
- SUBDIR += vdr-plugin-xineliboutput
- SUBDIR += vdr-plugin-xvdr
- SUBDIR += vdr-plugins
SUBDIR += vid.stab
+ SUBDIR += video-trimmer
SUBDIR += vlc
SUBDIR += vmaf
SUBDIR += vtkmpeg2encode
SUBDIR += vvdec
+ SUBDIR += vvenc
SUBDIR += w_scan2
SUBDIR += webcamd
SUBDIR += webcamoid
- SUBDIR += webvfx-qt5
SUBDIR += wf-recorder
- SUBDIR += win32-codecs
SUBDIR += winff
+ SUBDIR += wireplumber
+ SUBDIR += wl-screenrec
SUBDIR += wlrobs
SUBDIR += x264
SUBDIR += x265
diff --git a/multimedia/QtAV/Makefile b/multimedia/QtAV/Makefile
deleted file mode 100644
index bb5cac8da2a0..000000000000
--- a/multimedia/QtAV/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-PORTNAME= QtAV
-DISTVERSIONPREFIX= v
-DISTVERSION= 1.13.0
-PORTREVISION= 3
-CATEGORIES= multimedia
-DIST_SUBDIR= KDE
-
-PATCH_SITES= https://github.com/wang-bin/QtAV/commit/
-PATCHFILES= 5abba7f0505e75fceabd4dd8992a7e02bb149d64.patch:-p1
-
-MAINTAINER= kde@FreeBSD.org
-COMMENT= Cross-platform multimedia framwork based on Qt and ffmpeg
-
-LICENSE= LGPL21+
-LICENSE_FILE= ${WRKSRC}/lgpl-2.1.txt
-
-LIB_DEPENDS= libass.so:multimedia/libass \
- libavcodec.so:multimedia/ffmpeg
-
-USES= compiler:c++11-lang gl qmake:outsource qt:5 xorg
-USE_GL= gl
-USE_QT= core declarative gui network opengl sql widgets \
- buildtools_build qmake_build
-USE_XORG= x11 xext xv
-
-OPTIONS_DEFINE= OPENAL UCHARDET VAAPI PULSEAUDIO
-OPTIONS_DEFAULT= OPENAL UCHARDET VAAPI
-OPTIONS_SUB= yes
-
-OPENAL_LIB_DEPENDS= libopenal.so:audio/openal-soft
-OPENAL_QMAKE_OFF= CONFIG+=no-openal
-
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_QMAKE_OFF= CONFIG+=no-pulseaudio
-
-UCHARDET_DESC= Guess subtitle encoding via uchardet
-UCHARDET_LIB_DEPENDS= libuchardet.so:textproc/uchardet
-UCHARDET_QMAKE_OFF= CONFIG+=no-uchardet
-
-VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
-VAAPI_QMAKE_OFF= CONFIG+=no-vaapi
-
-PLIST_SUB= QT_VERSION="${_QT_VERSION}"
-
-USE_GITHUB= yes
-GH_ACCOUNT= wang-bin
-
-# The examples are GLPv3 licencensed and have too generic names, like 'Player',
-# so don't install them.
-QMAKE_ARGS= CONFIG+=no-examples
-
-.include <bsd.port.mk>
diff --git a/multimedia/QtAV/distinfo b/multimedia/QtAV/distinfo
deleted file mode 100644
index a3f2e094788c..000000000000
--- a/multimedia/QtAV/distinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-TIMESTAMP = 1584858326
-SHA256 (KDE/wang-bin-QtAV-v1.13.0_GH0.tar.gz) = a493d54d105b32c526f05188e4d7a8cf3508ecac697aae088721ffad20982288
-SIZE (KDE/wang-bin-QtAV-v1.13.0_GH0.tar.gz) = 2213489
-SHA256 (KDE/5abba7f0505e75fceabd4dd8992a7e02bb149d64.patch) = cf6e80e5102356e4a72706f1f7a13396a3911954afe900a957112c56f5c280d5
-SIZE (KDE/5abba7f0505e75fceabd4dd8992a7e02bb149d64.patch) = 616
diff --git a/multimedia/QtAV/files/patch-deploy.pri b/multimedia/QtAV/files/patch-deploy.pri
deleted file mode 100644
index 9b25d334bdec..000000000000
--- a/multimedia/QtAV/files/patch-deploy.pri
+++ /dev/null
@@ -1,45 +0,0 @@
---- deploy.pri.orig 2017-04-06 20:22:41 UTC
-+++ deploy.pri
-@@ -4,7 +4,7 @@ INSTALL_PREFIX = /usr/local
- share.files = $$PROJECTROOT/qtc_packaging/common/changelog \
- $$PROJECTROOT/qtc_packaging/common/copyright \
- $$PROJECTROOT/qtc_packaging/common/README
--share.path = /usr/share/doc/$${TARGET}
-+share.path = $$[QT_INSTALL_PREFIX]/share/doc/$${TARGET}
-
- isEqual(TEMPLATE, app) {
- unix:!symbian {
-@@ -25,9 +25,9 @@ isEqual(TEMPLATE, app) {
- #debian.files = $$PROJECTROOT/qtc_packaging/fremantle/control
- } else {
- desktopfile.files = $$PROJECTROOT/qtc_packaging/debian_generic/$${TARGET}.desktop
-- desktopfile.path = /usr/share/applications
-+ desktopfile.path = $$[QT_INSTALL_PREFIX]/share/applications
- icon.files = $$PROJECTROOT/qtc_packaging/debian_generic/$${TARGET}.png
-- icon.path = /usr/share/icons/hicolor/64x64/apps
-+ icon.path = $$[QT_INSTALL_PREFIX]/share/icons/hicolor/64x64/apps
- #debian.files = $$PROJECTROOT/qtc_packaging/generic/control
- }
- INSTALLS += desktopfile icon
-@@ -41,9 +41,9 @@ isEqual(TEMPLATE, app) {
- isEmpty(SDK_HEADERS) {
- sdkheaders.files = $$HEADERS
- }
-- sdkheaders.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-- sdkheaders_private.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$MODULE_VERSION/$$MODULE_INCNAME/private
-- !plugin: target.path = $$[QT_INSTALL_LIBS]
-+ sdkheaders.path = $$[QT_INSTALL_PREFIX]/include/$$MODULE_INCNAME
-+ sdkheaders_private.path = $$[QT_INSTALL_PREFIX]/include/$$MODULE_INCNAME/$$MODULE_VERSION/$$MODULE_INCNAME/private
-+ !plugin: target.path = $$[QT_INSTALL_PREFIX]/lib
- INSTALLS += sdkheaders sdkheaders_private
- }
- }
-@@ -51,7 +51,7 @@ isEqual(TEMPLATE, app) {
- INSTALLS *= target share
-
- for(bin, BIN_INSTALLS) {
-- eval($${bin}.path = $${INSTALL_PREFIX}/bin)
-+ eval($${bin}.path = $$[QT_INSTALL_PREFIX]/bin)
- message("adding $$bin to bin install targets...")
- INSTALLS += $$bin
- }
diff --git a/multimedia/QtAV/files/patch-src_QtAV_FilterContext.h b/multimedia/QtAV/files/patch-src_QtAV_FilterContext.h
deleted file mode 100644
index 8c68a24d493b..000000000000
--- a/multimedia/QtAV/files/patch-src_QtAV_FilterContext.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/QtAV/FilterContext.h.orig 2020-05-21 11:58:15 UTC
-+++ src/QtAV/FilterContext.h
-@@ -26,6 +26,7 @@
- #include <QtCore/QByteArray>
- #include <QtCore/QRect>
- #include <QtGui/QPainter>
-+#include <QtGui/QPainterPath>
- /*
- * QPainterFilterContext, D2DFilterContext, ...
- */
diff --git a/multimedia/QtAV/files/patch-src_codec_video_SurfaceInteropCUDA.cpp b/multimedia/QtAV/files/patch-src_codec_video_SurfaceInteropCUDA.cpp
deleted file mode 100644
index 738ea50c67a8..000000000000
--- a/multimedia/QtAV/files/patch-src_codec_video_SurfaceInteropCUDA.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/codec/video/SurfaceInteropCUDA.cpp.orig 2020-08-26 17:34:29 UTC
-+++ src/codec/video/SurfaceInteropCUDA.cpp
-@@ -132,7 +132,7 @@ bool HostInteropResource::map(int picIndex, const CUVI
- if (!ensureResource(pitch, H)) //copy height is coded height
- return false;
- // the same thread (context) as cuMemAllocHost, so no ccontext switch is needed
-- CUDA_ENSURE(cuMemcpyDtoH(host_mem.data, devptr, pitch*H*3/2), NULL);
-+ CUDA_ENSURE(cuMemcpyDtoH(host_mem.data, devptr, pitch*H*3/2), false);
- host_mem.index = picIndex;
- }
- // map to texture
-@@ -173,7 +173,7 @@ bool HostInteropResource::ensureResource(int pitch, in
- if (!share_ctx) // cuMemFreeHost will be called in dtor which is not the current thread.
- CUDA_WARN(cuCtxPushCurrent(ctx));
- // NV12
-- CUDA_ENSURE(cuMemAllocHost((void**)&host_mem.data, pitch*height*3/2), NULL);
-+ CUDA_ENSURE(cuMemAllocHost((void**)&host_mem.data, pitch*height*3/2), false);
- if (!share_ctx)
- CUDA_WARN(cuCtxPopCurrent(NULL)); //can be null or &ctx
- return true;
diff --git a/multimedia/QtAV/files/patch-src_libQtAV.pro b/multimedia/QtAV/files/patch-src_libQtAV.pro
deleted file mode 100644
index f35a19d38745..000000000000
--- a/multimedia/QtAV/files/patch-src_libQtAV.pro
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/libQtAV.pro.orig 2017-06-21 01:47:15 UTC
-+++ src/libQtAV.pro
-@@ -614,7 +614,7 @@ mac {
-
- unix:!mac:!cross_compile {
- icon.files = $$PWD/$${TARGET}.svg
--icon.path = /usr/share/icons/hicolor/scalable/apps
-+icon.path = $$[QT_INSTALL_PREFIX]/share/icons/hicolor/scalable/apps
- INSTALLS += icon
- #debian
- DEB_INSTALL_LIST = .$$[QT_INSTALL_LIBS]/libQt*AV.so.*
diff --git a/multimedia/QtAV/pkg-descr b/multimedia/QtAV/pkg-descr
deleted file mode 100644
index 780ea977bc62..000000000000
--- a/multimedia/QtAV/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-A cross-platform multimedia framework based on Qt and FFmpeg.
-High performance. User & developer friendly. Supports Android,
-iOS, Windows store and desktops.
-
-WWW: https://github.com/wang-bin/QtAV
diff --git a/multimedia/QtAV/pkg-plist b/multimedia/QtAV/pkg-plist
deleted file mode 100644
index d5aab177336e..000000000000
--- a/multimedia/QtAV/pkg-plist
+++ /dev/null
@@ -1,108 +0,0 @@
-include/QtAV/%%QT_VERSION%%/QtAV/private/AVCompat.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/AVDecoder_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/AVEncoder_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/AVOutput_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/AudioOutputBackend.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/AudioResampler_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/Filter_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/Frame_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/MediaIO_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/OpenGLRendererBase_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/PlayerSubtitle.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/QPainterRenderer_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/SubtitleProcessor.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/VideoRenderer_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/VideoShader_p.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/factory.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/mkid.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/prepost.h
-include/QtAV/%%QT_VERSION%%/QtAV/private/singleton.h
-include/QtAV/AVClock.h
-include/QtAV/AVDecoder.h
-include/QtAV/AVDemuxer.h
-include/QtAV/AVEncoder.h
-include/QtAV/AVError.h
-include/QtAV/AVMuxer.h
-include/QtAV/AVOutput.h
-include/QtAV/AVPlayer.h
-include/QtAV/AVTranscoder.h
-include/QtAV/AudioDecoder.h
-include/QtAV/AudioEncoder.h
-include/QtAV/AudioFormat.h
-include/QtAV/AudioFrame.h
-include/QtAV/AudioOutput.h
-include/QtAV/AudioResampler.h
-include/QtAV/ConvolutionShader.h
-include/QtAV/EncodeFilter.h
-include/QtAV/FactoryDefine.h
-include/QtAV/Filter.h
-include/QtAV/FilterContext.h
-include/QtAV/Frame.h
-include/QtAV/FrameReader.h
-include/QtAV/GLSLFilter.h
-include/QtAV/Geometry.h
-include/QtAV/GeometryRenderer.h
-include/QtAV/LibAVFilter.h
-include/QtAV/MediaIO.h
-include/QtAV/OpenGLRendererBase.h
-include/QtAV/OpenGLTypes.h
-include/QtAV/OpenGLVideo.h
-include/QtAV/OpenGLWindowRenderer.h
-include/QtAV/Packet.h
-include/QtAV/QPainterRenderer.h
-include/QtAV/QtAV
-include/QtAV/QtAV.h
-include/QtAV/QtAV_Global.h
-include/QtAV/Statistics.h
-include/QtAV/SubImage.h
-include/QtAV/Subtitle.h
-include/QtAV/SubtitleFilter.h
-include/QtAV/SurfaceInterop.h
-include/QtAV/VideoCapture.h
-include/QtAV/VideoDecoder.h
-include/QtAV/VideoEncoder.h
-include/QtAV/VideoFormat.h
-include/QtAV/VideoFrame.h
-include/QtAV/VideoFrameExtractor.h
-include/QtAV/VideoOutput.h
-include/QtAV/VideoRenderer.h
-include/QtAV/VideoShader.h
-include/QtAV/VideoShaderObject.h
-include/QtAV/dptr.h
-include/QtAV/version.h
-include/QtAVWidgets/GLWidgetRenderer2.h
-include/QtAVWidgets/GraphicsItemRenderer.h
-include/QtAVWidgets/OpenGLWidgetRenderer.h
-include/QtAVWidgets/QtAVWidgets
-include/QtAVWidgets/QtAVWidgets.h
-include/QtAVWidgets/VideoPreviewWidget.h
-include/QtAVWidgets/WidgetRenderer.h
-include/QtAVWidgets/global.h
-include/QtAVWidgets/version.h
-lib/libQtAV.prl
-lib/libQtAV.so
-lib/libQtAV.so.1
-lib/libQtAV.so.1.13
-lib/libQtAV.so.1.13.0
-lib/libQtAVWidgets.prl
-lib/libQtAVWidgets.so
-lib/libQtAVWidgets.so.1
-lib/libQtAVWidgets.so.1.13
-lib/libQtAVWidgets.so.1.13.0
-%%QT_MKSPECDIR%%/features/av.prf
-%%QT_MKSPECDIR%%/features/avwidgets.prf
-%%QT_MKSPECDIR%%/modules/qt_lib_av.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_av_private.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_avwidgets.pri
-%%QT_MKSPECDIR%%/modules/qt_lib_avwidgets_private.pri
-%%QT_QMLDIR%%/QtAV/Video.qml
-%%QT_QMLDIR%%/QtAV/libQmlAV.so
-%%QT_QMLDIR%%/QtAV/plugins.qmltypes
-%%QT_QMLDIR%%/QtAV/qmldir
-%%DOCSDIR%%/README
-%%DOCSDIR%%/changelog
-%%DOCSDIR%%/copyright
-%%DOCSDIR%%Widgets/README
-%%DOCSDIR%%Widgets/changelog
-%%DOCSDIR%%Widgets/copyright
-share/icons/hicolor/scalable/apps/QtAV.svg
diff --git a/multimedia/ab-av1/Makefile b/multimedia/ab-av1/Makefile
index c5240df4b517..2b4ebd808a1b 100644
--- a/multimedia/ab-av1/Makefile
+++ b/multimedia/ab-av1/Makefile
@@ -1,17 +1,17 @@
PORTNAME= ab-av1
DISTVERSIONPREFIX= v
-DISTVERSION= 0.3.1
+DISTVERSION= 0.7.14
PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= AV1 re-encoding using ffmpeg, svt-av1 & vmaf
+WWW= https://github.com/alexheretic/ab-av1
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
- SvtAv1EncApp:multimedia/svt-av1
+RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
USES= cargo
USE_GITHUB= yes
@@ -21,91 +21,6 @@ PLIST_FILES= bin/${PORTNAME} \
share/fish/vendor_completions.d/${PORTNAME}.fish \
share/zsh/site-functions/_${PORTNAME}
-CARGO_CRATES= anyhow-1.0.56 \
- atty-0.2.14 \
- autocfg-1.1.0 \
- bitflags-1.3.2 \
- bytes-1.1.0 \
- cc-1.0.73 \
- cfg-if-1.0.0 \
- clap-3.1.6 \
- clap_complete-3.1.1 \
- clap_derive-3.1.4 \
- console-0.15.0 \
- encode_unicode-0.3.6 \
- errno-0.2.8 \
- errno-dragonfly-0.1.2 \
- ffprobe-0.3.0 \
- futures-0.3.21 \
- futures-channel-0.3.21 \
- futures-core-0.3.21 \
- futures-executor-0.3.21 \
- futures-io-0.3.21 \
- futures-macro-0.3.21 \
- futures-sink-0.3.21 \
- futures-task-0.3.21 \
- futures-util-0.3.21 \
- getrandom-0.2.5 \
- hashbrown-0.11.2 \
- heck-0.4.0 \
- hermit-abi-0.1.19 \
- humantime-2.1.0 \
- indexmap-1.8.0 \
- indicatif-0.16.2 \
- itoa-1.0.1 \
- lazy_static-1.4.0 \
- libc-0.2.120 \
- log-0.4.14 \
- memchr-2.4.1 \
- mio-0.8.1 \
- miow-0.3.7 \
- ntapi-0.3.7 \
- num_cpus-1.13.1 \
- num_threads-0.1.5 \
- number_prefix-0.4.0 \
- once_cell-1.10.0 \
- os_str_bytes-6.0.0 \
- pin-project-lite-0.2.8 \
- pin-utils-0.1.0 \
- ppv-lite86-0.2.16 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
- proc-macro2-1.0.36 \
- quote-1.0.15 \
- rand-0.8.5 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- regex-1.5.5 \
- regex-syntax-0.6.25 \
- ryu-1.0.9 \
- serde-1.0.136 \
- serde_derive-1.0.136 \
- serde_json-1.0.79 \
- signal-hook-registry-1.4.0 \
- slab-0.4.5 \
- strsim-0.10.0 \
- syn-1.0.89 \
- termcolor-1.1.3 \
- terminal_size-0.1.17 \
- textwrap-0.15.0 \
- time-0.3.7 \
- time-macros-0.2.3 \
- tokio-1.17.0 \
- tokio-macros-1.7.0 \
- tokio-process-stream-0.2.0 \
- tokio-stream-0.1.8 \
- tokio-util-0.6.9 \
- unicode-width-0.1.9 \
- unicode-xid-0.2.2 \
- unix-named-pipe-0.2.0 \
- version_check-0.9.4 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wasi-0.11.0+wasi-snapshot-preview1 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0
-
post-install:
.for _shell in bash fish zsh
@${ECHO_MSG} "Generating ${STAGEDIR}${PREFIX}/${PLIST_FILES:M*${_shell}*}"
diff --git a/multimedia/ab-av1/Makefile.crates b/multimedia/ab-av1/Makefile.crates
new file mode 100644
index 000000000000..9713e5fd62b9
--- /dev/null
+++ b/multimedia/ab-av1/Makefile.crates
@@ -0,0 +1,132 @@
+CARGO_CRATES= addr2line-0.21.0 \
+ adler-1.0.2 \
+ anstream-0.6.11 \
+ anstyle-1.0.6 \
+ anstyle-parse-0.2.3 \
+ anstyle-query-1.0.2 \
+ anstyle-wincon-3.0.2 \
+ anyhow-1.0.79 \
+ arrayref-0.3.7 \
+ arrayvec-0.7.4 \
+ autocfg-1.1.0 \
+ backtrace-0.3.69 \
+ bitflags-1.3.2 \
+ bitflags-2.4.2 \
+ blake3-1.5.0 \
+ byteorder-1.5.0 \
+ bytes-1.5.0 \
+ cc-1.0.83 \
+ cfg-if-1.0.0 \
+ clap-4.5.0 \
+ clap_builder-4.5.0 \
+ clap_complete-4.5.0 \
+ clap_derive-4.5.0 \
+ clap_lex-0.7.0 \
+ colorchoice-1.0.0 \
+ console-0.15.8 \
+ constant_time_eq-0.3.0 \
+ crc32fast-1.3.2 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.19 \
+ deranged-0.3.11 \
+ dirs-5.0.1 \
+ dirs-sys-0.4.1 \
+ encode_unicode-0.3.6 \
+ errno-0.3.8 \
+ fastrand-2.0.1 \
+ ffprobe-0.3.3 \
+ fs2-0.4.3 \
+ futures-0.3.30 \
+ futures-channel-0.3.30 \
+ futures-core-0.3.30 \
+ futures-executor-0.3.30 \
+ futures-io-0.3.30 \
+ futures-macro-0.3.30 \
+ futures-sink-0.3.30 \
+ futures-task-0.3.30 \
+ futures-util-0.3.30 \
+ fxhash-0.2.1 \
+ getrandom-0.2.12 \
+ gimli-0.28.1 \
+ heck-0.4.1 \
+ hermit-abi-0.3.5 \
+ humantime-2.1.0 \
+ indicatif-0.17.7 \
+ infer-0.15.0 \
+ instant-0.1.12 \
+ itoa-1.0.10 \
+ lazy_static-1.4.0 \
+ libc-0.2.153 \
+ libredox-0.0.1 \
+ linux-raw-sys-0.4.13 \
+ lock_api-0.4.11 \
+ log-0.4.20 \
+ memchr-2.7.1 \
+ miniz_oxide-0.7.2 \
+ mio-0.8.10 \
+ num-conv-0.1.0 \
+ num_cpus-1.16.0 \
+ number_prefix-0.4.0 \
+ object-0.32.2 \
+ option-ext-0.2.0 \
+ parking_lot-0.11.2 \
+ parking_lot_core-0.8.6 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ portable-atomic-1.6.0 \
+ powerfmt-0.2.0 \
+ proc-macro2-1.0.78 \
+ quote-1.0.35 \
+ redox_syscall-0.2.16 \
+ redox_syscall-0.4.1 \
+ redox_users-0.4.4 \
+ rustc-demangle-0.1.23 \
+ rustix-0.38.31 \
+ ryu-1.0.16 \
+ scopeguard-1.2.0 \
+ serde-1.0.196 \
+ serde_derive-1.0.196 \
+ serde_json-1.0.113 \
+ shell-escape-0.1.5 \
+ signal-hook-registry-1.4.1 \
+ slab-0.4.9 \
+ sled-0.34.7 \
+ smallvec-1.13.1 \
+ strsim-0.11.0 \
+ syn-2.0.48 \
+ terminal_size-0.3.0 \
+ thiserror-1.0.56 \
+ thiserror-impl-1.0.56 \
+ time-0.3.34 \
+ time-core-0.1.2 \
+ time-macros-0.2.17 \
+ tokio-1.36.0 \
+ tokio-macros-2.2.0 \
+ tokio-process-stream-0.4.0 \
+ tokio-stream-0.1.14 \
+ tokio-util-0.7.10 \
+ unicode-ident-1.0.12 \
+ unicode-width-0.1.11 \
+ utf8parse-0.2.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.0 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.0 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.0
diff --git a/multimedia/ab-av1/distinfo b/multimedia/ab-av1/distinfo
index 06acf7ef38ad..97a161724888 100644
--- a/multimedia/ab-av1/distinfo
+++ b/multimedia/ab-av1/distinfo
@@ -1,171 +1,267 @@
-TIMESTAMP = 1646472382
-SHA256 (rust/crates/anyhow-1.0.56.crate) = 4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27
-SIZE (rust/crates/anyhow-1.0.56.crate) = 44780
-SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (rust/crates/atty-0.2.14.crate) = 5470
+TIMESTAMP = 1707534124
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/anstream-0.6.11.crate) = 6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5
+SIZE (rust/crates/anstream-0.6.11.crate) = 30239
+SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
+SIZE (rust/crates/anstyle-1.0.6.crate) = 14604
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.79.crate) = 080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca
+SIZE (rust/crates/anyhow-1.0.79.crate) = 44931
+SHA256 (rust/crates/arrayref-0.3.7.crate) = 6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545
+SIZE (rust/crates/arrayref-0.3.7.crate) = 9620
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
+SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
-SIZE (rust/crates/bytes-1.1.0.crate) = 49640
-SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
-SIZE (rust/crates/cc-1.0.73.crate) = 57880
+SHA256 (rust/crates/bitflags-2.4.2.crate) = ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf
+SIZE (rust/crates/bitflags-2.4.2.crate) = 42602
+SHA256 (rust/crates/blake3-1.5.0.crate) = 0231f06152bf547e9c2b5194f247cd97aacf6dcd8b15d8e5ec0663f64580da87
+SIZE (rust/crates/blake3-1.5.0.crate) = 168914
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.5.0.crate) = a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223
+SIZE (rust/crates/bytes-1.5.0.crate) = 58909
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/clap-3.1.6.crate) = d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123
-SIZE (rust/crates/clap-3.1.6.crate) = 202211
-SHA256 (rust/crates/clap_complete-3.1.1.crate) = df6f3613c0a3cddfd78b41b10203eb322cb29b600cbdf808a7d3db95691b8e25
-SIZE (rust/crates/clap_complete-3.1.1.crate) = 22432
-SHA256 (rust/crates/clap_derive-3.1.4.crate) = da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16
-SIZE (rust/crates/clap_derive-3.1.4.crate) = 25358
-SHA256 (rust/crates/console-0.15.0.crate) = a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31
-SIZE (rust/crates/console-0.15.0.crate) = 23507
+SHA256 (rust/crates/clap-4.5.0.crate) = 80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f
+SIZE (rust/crates/clap-4.5.0.crate) = 55379
+SHA256 (rust/crates/clap_builder-4.5.0.crate) = 458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99
+SIZE (rust/crates/clap_builder-4.5.0.crate) = 163521
+SHA256 (rust/crates/clap_complete-4.5.0.crate) = 299353be8209bd133b049bf1c63582d184a8b39fd9c04f15fe65f50f88bdfe6c
+SIZE (rust/crates/clap_complete-4.5.0.crate) = 37818
+SHA256 (rust/crates/clap_derive-4.5.0.crate) = 307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47
+SIZE (rust/crates/clap_derive-4.5.0.crate) = 29042
+SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
+SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb
+SIZE (rust/crates/console-0.15.8.crate) = 36364
+SHA256 (rust/crates/constant_time_eq-0.3.0.crate) = f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2
+SIZE (rust/crates/constant_time_eq-0.3.0.crate) = 11369
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/dirs-5.0.1.crate) = 44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225
+SIZE (rust/crates/dirs-5.0.1.crate) = 12255
+SHA256 (rust/crates/dirs-sys-0.4.1.crate) = 520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c
+SIZE (rust/crates/dirs-sys-0.4.1.crate) = 10719
SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
-SHA256 (rust/crates/errno-0.2.8.crate) = f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1
-SIZE (rust/crates/errno-0.2.8.crate) = 9276
-SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
-SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
-SHA256 (rust/crates/ffprobe-0.3.0.crate) = f439d57070a29c93e5bdf9f98b973360aa96b1b8c203793de54482f168fc216a
-SIZE (rust/crates/ffprobe-0.3.0.crate) = 4609
-SHA256 (rust/crates/futures-0.3.21.crate) = f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e
-SIZE (rust/crates/futures-0.3.21.crate) = 49935
-SHA256 (rust/crates/futures-channel-0.3.21.crate) = c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010
-SIZE (rust/crates/futures-channel-0.3.21.crate) = 31961
-SHA256 (rust/crates/futures-core-0.3.21.crate) = 0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3
-SIZE (rust/crates/futures-core-0.3.21.crate) = 14601
-SHA256 (rust/crates/futures-executor-0.3.21.crate) = 9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6
-SIZE (rust/crates/futures-executor-0.3.21.crate) = 17306
-SHA256 (rust/crates/futures-io-0.3.21.crate) = fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b
-SIZE (rust/crates/futures-io-0.3.21.crate) = 8902
-SHA256 (rust/crates/futures-macro-0.3.21.crate) = 33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512
-SIZE (rust/crates/futures-macro-0.3.21.crate) = 11250
-SHA256 (rust/crates/futures-sink-0.3.21.crate) = 21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868
-SIZE (rust/crates/futures-sink-0.3.21.crate) = 7843
-SHA256 (rust/crates/futures-task-0.3.21.crate) = 57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a
-SIZE (rust/crates/futures-task-0.3.21.crate) = 11815
-SHA256 (rust/crates/futures-util-0.3.21.crate) = d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a
-SIZE (rust/crates/futures-util-0.3.21.crate) = 153768
-SHA256 (rust/crates/getrandom-0.2.5.crate) = d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77
-SIZE (rust/crates/getrandom-0.2.5.crate) = 27719
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
-SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
-SIZE (rust/crates/heck-0.4.0.crate) = 11161
-SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
-SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/fastrand-2.0.1.crate) = 25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5
+SIZE (rust/crates/fastrand-2.0.1.crate) = 14664
+SHA256 (rust/crates/ffprobe-0.3.3.crate) = b5d603974ab029fc75cebf00bfa06c9c6f49a6fb657f4f5f6a9fd6cbd76910a4
+SIZE (rust/crates/ffprobe-0.3.3.crate) = 5796
+SHA256 (rust/crates/fs2-0.4.3.crate) = 9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213
+SIZE (rust/crates/fs2-0.4.3.crate) = 13138
+SHA256 (rust/crates/futures-0.3.30.crate) = 645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0
+SIZE (rust/crates/futures-0.3.30.crate) = 53828
+SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78
+SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736
+SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d
+SIZE (rust/crates/futures-core-0.3.30.crate) = 14071
+SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d
+SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744
+SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1
+SIZE (rust/crates/futures-io-0.3.30.crate) = 8910
+SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac
+SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278
+SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5
+SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004
+SIZE (rust/crates/futures-task-0.3.30.crate) = 11126
+SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48
+SIZE (rust/crates/futures-util-0.3.30.crate) = 159977
+SHA256 (rust/crates/fxhash-0.2.1.crate) = c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c
+SIZE (rust/crates/fxhash-0.2.1.crate) = 4102
+SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5
+SIZE (rust/crates/getrandom-0.2.12.crate) = 36163
+SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
+SIZE (rust/crates/gimli-0.28.1.crate) = 270497
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.5.crate) = d0c62115964e08cb8039170eb33c1d0e2388a256930279edca206fff675f82c3
+SIZE (rust/crates/hermit-abi-0.3.5.crate) = 14437
SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
SIZE (rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
-SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
-SHA256 (rust/crates/indicatif-0.16.2.crate) = 2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b
-SIZE (rust/crates/indicatif-0.16.2.crate) = 35057
-SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
-SIZE (rust/crates/itoa-1.0.1.crate) = 11059
+SHA256 (rust/crates/indicatif-0.17.7.crate) = fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25
+SIZE (rust/crates/indicatif-0.17.7.crate) = 63108
+SHA256 (rust/crates/infer-0.15.0.crate) = cb33622da908807a06f9513c19b3c1ad50fab3e4137d82a78107d502075aa199
+SIZE (rust/crates/infer-0.15.0.crate) = 18734
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (rust/crates/libc-0.2.120.crate) = ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09
-SIZE (rust/crates/libc-0.2.120.crate) = 574677
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
-SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
-SIZE (rust/crates/memchr-2.4.1.crate) = 64977
-SHA256 (rust/crates/mio-0.8.1.crate) = 7ba42135c6a5917b9db9cd7b293e5409e1c6b041e6f9825e92e55a894c63b6f8
-SIZE (rust/crates/mio-0.8.1.crate) = 88205
-SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
-SIZE (rust/crates/miow-0.3.7.crate) = 24563
-SHA256 (rust/crates/ntapi-0.3.7.crate) = c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f
-SIZE (rust/crates/ntapi-0.3.7.crate) = 126994
-SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
-SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
-SHA256 (rust/crates/num_threads-0.1.5.crate) = aba1801fb138d8e85e11d0fc70baf4fe1cdfffda7c6cd34a854905df588e5ed0
-SIZE (rust/crates/num_threads-0.1.5.crate) = 7109
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/libredox-0.0.1.crate) = 85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8
+SIZE (rust/crates/libredox-0.0.1.crate) = 4212
+SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c
+SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/miniz_oxide-0.7.2.crate) = 9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7
+SIZE (rust/crates/miniz_oxide-0.7.2.crate) = 55731
+SHA256 (rust/crates/mio-0.8.10.crate) = 8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09
+SIZE (rust/crates/mio-0.8.10.crate) = 102345
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3
SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922
-SHA256 (rust/crates/once_cell-1.10.0.crate) = 87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9
-SIZE (rust/crates/once_cell-1.10.0.crate) = 30414
-SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64
-SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046
-SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c
-SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847
+SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/option-ext-0.2.0.crate) = 04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d
+SIZE (rust/crates/option-ext-0.2.0.crate) = 7345
+SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
+SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
+SHA256 (rust/crates/parking_lot_core-0.8.6.crate) = 60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc
+SIZE (rust/crates/parking_lot_core-0.8.6.crate) = 32567
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
-SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
-SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
-SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
-SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
-SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
-SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
-SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
-SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145
-SIZE (rust/crates/quote-1.0.15.crate) = 27281
-SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
-SIZE (rust/crates/rand-0.8.5.crate) = 87113
-SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
-SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
-SHA256 (rust/crates/regex-1.5.5.crate) = 1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286
-SIZE (rust/crates/regex-1.5.5.crate) = 238119
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
-SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
-SIZE (rust/crates/ryu-1.0.9.crate) = 48391
-SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
-SIZE (rust/crates/serde-1.0.136.crate) = 76158
-SHA256 (rust/crates/serde_derive-1.0.136.crate) = 08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9
-SIZE (rust/crates/serde_derive-1.0.136.crate) = 54776
-SHA256 (rust/crates/serde_json-1.0.79.crate) = 8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95
-SIZE (rust/crates/serde_json-1.0.79.crate) = 144451
-SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
-SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
-SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5
-SIZE (rust/crates/slab-0.4.5.crate) = 15888
-SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
-SIZE (rust/crates/strsim-0.10.0.crate) = 11355
-SHA256 (rust/crates/syn-1.0.89.crate) = ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54
-SIZE (rust/crates/syn-1.0.89.crate) = 235966
-SHA256 (rust/crates/termcolor-1.1.3.crate) = bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755
-SIZE (rust/crates/termcolor-1.1.3.crate) = 17242
-SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
-SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
-SHA256 (rust/crates/textwrap-0.15.0.crate) = b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb
-SIZE (rust/crates/textwrap-0.15.0.crate) = 52998
-SHA256 (rust/crates/time-0.3.7.crate) = 004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d
-SIZE (rust/crates/time-0.3.7.crate) = 76358
-SHA256 (rust/crates/time-macros-0.2.3.crate) = 25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6
-SIZE (rust/crates/time-macros-0.2.3.crate) = 16838
-SHA256 (rust/crates/tokio-1.17.0.crate) = 2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee
-SIZE (rust/crates/tokio-1.17.0.crate) = 562425
-SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7
-SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261
-SHA256 (rust/crates/tokio-process-stream-0.2.0.crate) = bfe1b77e2c74925ae5a21d24d16019777206bb2f794358d786b83a31b608193c
-SIZE (rust/crates/tokio-process-stream-0.2.0.crate) = 5590
-SHA256 (rust/crates/tokio-stream-0.1.8.crate) = 50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3
-SIZE (rust/crates/tokio-stream-0.1.8.crate) = 30537
-SHA256 (rust/crates/tokio-util-0.6.9.crate) = 9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0
-SIZE (rust/crates/tokio-util-0.6.9.crate) = 76480
-SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
-SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/unix-named-pipe-0.2.0.crate) = 6ad653da8f36ac5825ba06642b5a3cce14a4e52c6a5fab4a8928d53f4426dae2
-SIZE (rust/crates/unix-named-pipe-0.2.0.crate) = 4898
-SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
-SIZE (rust/crates/version_check-0.9.4.crate) = 14895
-SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/portable-atomic-1.6.0.crate) = 7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0
+SIZE (rust/crates/portable-atomic-1.6.0.crate) = 140689
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/proc-macro2-1.0.78.crate) = e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae
+SIZE (rust/crates/proc-macro2-1.0.78.crate) = 47158
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/redox_users-0.4.4.crate) = a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4
+SIZE (rust/crates/redox_users-0.4.4.crate) = 15438
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
+SHA256 (rust/crates/rustix-0.38.31.crate) = 6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949
+SIZE (rust/crates/rustix-0.38.31.crate) = 375443
+SHA256 (rust/crates/ryu-1.0.16.crate) = f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c
+SIZE (rust/crates/ryu-1.0.16.crate) = 47351
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/serde-1.0.196.crate) = 870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32
+SIZE (rust/crates/serde-1.0.196.crate) = 77097
+SHA256 (rust/crates/serde_derive-1.0.196.crate) = 33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67
+SIZE (rust/crates/serde_derive-1.0.196.crate) = 55775
+SHA256 (rust/crates/serde_json-1.0.113.crate) = 69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79
+SIZE (rust/crates/serde_json-1.0.113.crate) = 146970
+SHA256 (rust/crates/shell-escape-0.1.5.crate) = 45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f
+SIZE (rust/crates/shell-escape-0.1.5.crate) = 6847
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/sled-0.34.7.crate) = 7f96b4737c2ce5987354855aed3797279def4ebf734436c6aa4552cf8e169935
+SIZE (rust/crates/sled-0.34.7.crate) = 485296
+SHA256 (rust/crates/smallvec-1.13.1.crate) = e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7
+SIZE (rust/crates/smallvec-1.13.1.crate) = 34952
+SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01
+SIZE (rust/crates/strsim-0.11.0.crate) = 13710
+SHA256 (rust/crates/syn-2.0.48.crate) = 0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f
+SIZE (rust/crates/syn-2.0.48.crate) = 250566
+SHA256 (rust/crates/terminal_size-0.3.0.crate) = 21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7
+SIZE (rust/crates/terminal_size-0.3.0.crate) = 10096
+SHA256 (rust/crates/thiserror-1.0.56.crate) = d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad
+SIZE (rust/crates/thiserror-1.0.56.crate) = 20592
+SHA256 (rust/crates/thiserror-impl-1.0.56.crate) = fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471
+SIZE (rust/crates/thiserror-impl-1.0.56.crate) = 15367
+SHA256 (rust/crates/time-0.3.34.crate) = c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749
+SIZE (rust/crates/time-0.3.34.crate) = 118430
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.17.crate) = 7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774
+SIZE (rust/crates/time-macros-0.2.17.crate) = 24443
+SHA256 (rust/crates/tokio-1.36.0.crate) = 61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931
+SIZE (rust/crates/tokio-1.36.0.crate) = 757286
+SHA256 (rust/crates/tokio-macros-2.2.0.crate) = 5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b
+SIZE (rust/crates/tokio-macros-2.2.0.crate) = 11520
+SHA256 (rust/crates/tokio-process-stream-0.4.0.crate) = 2f09c7fc9546d3b9586bc95c58ac2bdb48b07c538a26e317b558e6de2fac98b8
+SIZE (rust/crates/tokio-process-stream-0.4.0.crate) = 5453
+SHA256 (rust/crates/tokio-stream-0.1.14.crate) = 397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842
+SIZE (rust/crates/tokio-stream-0.1.14.crate) = 35881
+SHA256 (rust/crates/tokio-util-0.7.10.crate) = 5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15
+SIZE (rust/crates/tokio-util-0.7.10.crate) = 110508
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-width-0.1.11.crate) = e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85
+SIZE (rust/crates/unicode-width-0.1.11.crate) = 19187
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (alexheretic-ab-av1-v0.3.1_GH0.tar.gz) = 6b662828a8085f6548a6409e4381da11e78f6d3f43b721d57f16ce530c1a5ba6
-SIZE (alexheretic-ab-av1-v0.3.1_GH0.tar.gz) = 29697
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (alexheretic-ab-av1-v0.7.14_GH0.tar.gz) = 1757ed9fb2307a7f5f6106d12afc8535c3bcd6b3aae249552a1f23c9d102f864
+SIZE (alexheretic-ab-av1-v0.7.14_GH0.tar.gz) = 44657
diff --git a/multimedia/ab-av1/pkg-descr b/multimedia/ab-av1/pkg-descr
index 843b9f0dd206..3a27f2ab2701 100644
--- a/multimedia/ab-av1/pkg-descr
+++ b/multimedia/ab-av1/pkg-descr
@@ -1,3 +1 @@
AV1 encoding tool with fast VMAF sampling. Uses svt-av1, ffmpeg & vmaf.
-
-WWW: https://github.com/alexheretic/ab-av1
diff --git a/multimedia/ab25/Makefile b/multimedia/ab25/Makefile
index baf2972292e1..99bd112e1b32 100644
--- a/multimedia/ab25/Makefile
+++ b/multimedia/ab25/Makefile
@@ -3,8 +3,9 @@ PORTVERSION= 0.2.5
CATEGORIES= multimedia
MASTER_SITES= LOCAL/hrs
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Utility for ARIB STD-B25 ECM handling in MPEG2-TS stream
+WWW= http://www.marumo.ne.jp/db2012_2.htm #13
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/licence.txt
@@ -17,11 +18,17 @@ USE_LDCONFIG= yes
PORTDOCS= README readme-en.txt readme-jp.txt
PLIST_FILES= bin/b25 \
- lib/libab25.a lib/libab25_p.a lib/libab25.so.1 lib/libab25.so \
+ lib/libab25.a lib/libab25.so.1 lib/libab25.so \
include/ab25/arib_std_b25.h include/ab25/b_cas_card.h
OPTIONS_DEFINE= DOCS
+.include <bsd.port.pre.mk>
+
+.if ${OPSYS} == FreeBSD && ${OSVERSION} <= 1400079
+PLIST_FILES+= lib/libab25_p.a
+.endif
+
pre-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/include/ab25
@@ -29,4 +36,4 @@ post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/multimedia/ab25/pkg-descr b/multimedia/ab25/pkg-descr
index fe0937a08749..418a539073b8 100644
--- a/multimedia/ab25/pkg-descr
+++ b/multimedia/ab25/pkg-descr
@@ -2,5 +2,3 @@ This is a utility that implements ECM extraction from MPEG-2 TS stream and
MULTI2 decoding specified in ARIB STD-B25 (an ISDB conditional access system
used in Japan). PC/SC interface is used for extracting Ks key from a B-CAS
card.
-
-WWW: http://www.marumo.ne.jp/db2012_2.htm#13
diff --git a/multimedia/acidrip/Makefile b/multimedia/acidrip/Makefile
deleted file mode 100644
index 8c3fbc640843..000000000000
--- a/multimedia/acidrip/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: michael johnson <ahze@ahze.net>
-
-PORTNAME= acidrip
-PORTVERSION= 0.14
-PORTREVISION= 11
-CATEGORIES= multimedia
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}%20-%20Your%20two-wheeled%20knife
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= GTK2::Perl wrapper for MPlayer and MEncoder for ripping DVDs
-
-BUILD_DEPENDS= lsdvd:multimedia/lsdvd \
- mencoder:multimedia/mencoder \
- p5-Gtk2>=0:x11-toolkits/p5-Gtk2
-RUN_DEPENDS:= ${BUILD_DEPENDS}
-
-USES= perl5
-USE_PERL5= configure
-
-.if defined(WITH_DVD_DEVICE)
-DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE}
-.else
-DEFAULT_DVD_DEVICE=/dev/acd0
-.endif
-
-pre-everything::
-.if !defined(WITH_DVD_DEVICE)
- @${ECHO_MSG} "===> The default DVD device is ${DEFAULT_DVD_DEVICE}"
- @${ECHO_MSG} "===> Define WITH_DVD_DEVICE if you want to change the default"
- @${ECHO_MSG} "===> For example, 'make WITH_DVD_DEVICE=\"/dev/somedevice\"'"
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|' ${WRKSRC}/AcidRip/acidrip.pm
- @${RM} ${WRKSRC}/AcidRip/*.bak
- @${RM} ${WRKSRC}/AcidRip/*.orig
-
-.include <bsd.port.mk>
diff --git a/multimedia/acidrip/distinfo b/multimedia/acidrip/distinfo
deleted file mode 100644
index 588a6cb20f58..000000000000
--- a/multimedia/acidrip/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (acidrip-0.14.tar.gz) = 51bb84174e8dae733ddd1f69a16b90d875e4455135ed20a024a79b98ae7d58c1
-SIZE (acidrip-0.14.tar.gz) = 92086
diff --git a/multimedia/acidrip/files/patch-AcidRip__acidrip.pm b/multimedia/acidrip/files/patch-AcidRip__acidrip.pm
deleted file mode 100644
index dedde3a11747..000000000000
--- a/multimedia/acidrip/files/patch-AcidRip__acidrip.pm
+++ /dev/null
@@ -1,33 +0,0 @@
---- ./AcidRip/acidrip.pm.orig 2004-07-25 10:03:09.000000000 -0400
-+++ ./AcidRip/acidrip.pm 2009-06-23 19:43:28.289154908 -0400
-@@ -218,7 +218,29 @@
- $menc{'video'} .= ":pass=$::settings->{'video_pass'}" if $::settings->{'video_passes'} > 1;
- }
- if ( $::settings->{'video_codec'} eq 'xvid' ) {
-- $menc{'video'} = "-ovc xvid -xvidencopts $::settings->{'xvid_options'}:bitrate=$::settings->{'video_bitrate'}";
-+#----------------
-+#ORIGINAL $menc{'video'} = "-ovc xvid -xvidencopts $::settings->{'xvid_options'}:bitrate=$::settings->{'video_bitrate'}";
-+ $menc{'video'} = "-ovc xvid -xvidencopts ";
-+ if ( $::settings->{'xvid_options'} eq '' )
-+ {
-+ # my $msgaa = "AA You have no xvid_options set.";
-+ # message($msgaa);
-+ # print $msgaa . "\n";
-+ # my $msgbb = "BB You have no xvid_options set.";
-+ # message($msgbb);
-+ # print $msgbb . "\n";
-+ }
-+ else
-+ {
-+ # my $msgaa = "AA You do have some xvid_options set.";
-+ # message($msgaa);
-+ # print $msgaa . "\n";
-+ # my $msgbb = "BB You do have some xvid_options set.";
-+ # message($msgbb);
-+ # print $msgbb . "\n";
-+ $menc{'video'} .= "$::settings->{'xvid_options'}:" ;
-+ }
-+ $menc{'video'} .= "bitrate=$::settings->{'video_bitrate'}";
- $menc{'video'} .= ":pass=$::settings->{'video_pass'}" if $::settings->{'video_passes'} > 1;
- }
- if ( $::settings->{'video_codec'} eq 'nuv' ) {
diff --git a/multimedia/acidrip/pkg-descr b/multimedia/acidrip/pkg-descr
deleted file mode 100644
index d861a6cb6d72..000000000000
--- a/multimedia/acidrip/pkg-descr
+++ /dev/null
@@ -1,12 +0,0 @@
-AcidRip is a Gtk2::Perl application for ripping and encoding DVD's.
-It neatly wraps MPlayer and MEncoder, seeing as MPlayer is by far the best
-bit of video playing kit around for Linux (and FreeBSD). As well as creating
-a simple Graphical Interface for those scared of getting down and dirty with
-MEncoders command line interface, It also automates the process in a number of
-ways:
-
- o Parses DVD into contents tree
- o Finds longest title
- o Calculate video bitrate for given filesize
- o Finds black bands and crops them
- o Gives suggestions for improved performance
diff --git a/multimedia/acidrip/pkg-plist b/multimedia/acidrip/pkg-plist
deleted file mode 100644
index e345d3978056..000000000000
--- a/multimedia/acidrip/pkg-plist
+++ /dev/null
@@ -1,7 +0,0 @@
-bin/acidrip
-%%SITE_PERL%%/AcidRip/acidrip.pm
-%%SITE_PERL%%/AcidRip/interface.pm
-%%SITE_PERL%%/AcidRip/logo.png
-%%SITE_PERL%%/AcidRip/messages.pm
-%%SITE_PERL%%/AcidRip/signals.pm
-%%PERL5_MAN1%%/acidrip.1.gz
diff --git a/multimedia/aegisub/Makefile b/multimedia/aegisub/Makefile
deleted file mode 100644
index 218877685f08..000000000000
--- a/multimedia/aegisub/Makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-# Created by: Leinier Cruz Salfran <salfrancl@yahoo.es>
-
-PORTNAME= aegisub
-PORTVERSION= 3.2.2
-PORTREVISION= 53
-CATEGORIES= multimedia
-MASTER_SITES= http://ftp.aegisub.org/pub/archives/releases/source/ \
- ftp://ftp.aegisub.org/pub/archives/releases/source/ \
- ftp://ftp2.aegisub.org/pub/archives/releases/source/ \
- https://github.com/Aegisub/Aegisub/releases/download/v${PORTVERSION}/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Cross-platform subtitle editor
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENCE
-
-BROKEN_aarch64= Fails to compile: no support for this architecture (yet)
-NOT_FOR_ARCHS= powerpc64 powerpc64le
-NOT_FOR_ARCHS_REASON_powerpc64= No support for PowerPC 64 bit mode
-NOT_FOR_ARCHS_REASON_powerpc64le= No support for PowerPC 64 bit mode
-
-LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
- libicui18n.so:devel/icu \
- libass.so:multimedia/libass \
- libfontconfig.so:x11-fonts/fontconfig
-
-USES= compiler:c++11-lib desktop-file-utils gettext gl gmake gnome \
- iconv localbase pkgconfig tar:xz
-USE_GNOME= intltool
-USE_WX= 3.0
-WX_CONF_ARGS= absolute
-USE_GL= gl
-USE_CSTD= c99
-USE_CXXSTD= c++11
-CPPFLAGS+= -DU_USING_ICU_NAMESPACE=1
-LDFLAGS+= -Wl,--as-needed # freetype
-GNU_CONFIGURE= yes
-CONFIGURE_ENV= ICONV_LIBS="${ICONV_LIB}" PTHREAD_LIBS="-pthread" \
- agi_cv_with_iconv=yes
-CONFIGURE_ARGS= --disable-compiler-flags \
- --disable-gcc-prec \
- --disable-sanity-checks \
- --disable-update-checker \
- --without-libc++ \
- ${ICONV_CONFIGURE_ARG}
-
-PLIST_SUB= VERSION="${PORTVERSION:R}"
-
-OPTIONS_DEFINE= ALSA DOCS FFMPEG FFTW HUNSPELL OPENAL PORTAUDIO \
- PULSEAUDIO
-OPTIONS_DEFAULT= FFMPEG FFTW HUNSPELL PULSEAUDIO
-
-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-ALSA_CONFIGURE_OFF= --without-alsa
-FFMPEG_LIB_DEPENDS= libffms2.so:multimedia/ffms2
-FFMPEG_CONFIGURE_OFF= --without-ffms
-FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3
-FFTW_CONFIGURE_OFF= --without-fftw3
-HUNSPELL_LIB_DEPENDS= libhunspell-1.7.so:textproc/hunspell
-HUNSPELL_CONFIGURE_OFF= --without-hunspell
-OPENAL_USES= openal
-OPENAL_CONFIGURE_OFF= --without-openal
-PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio
-PORTAUDIO_CONFIGURE_OFF=\
- --without-portaudio
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_OFF=\
- --without-libpulse
-
-# src/audio_display.o: undefined reference to symbol '__atomic_load_8@@LIBATOMIC_1.0'
-.if empty(CFLAGS:M-march=*)
-CFLAGS+= ${CFLAGS_${ARCH}_${CHOSEN_COMPILER_TYPE}}
-CFLAGS_i386_gcc= -march=pentium
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e \
- 's| -O3||' ${WRKSRC}/configure
- @${REINPLACE_CMD} -e \
- 's|".*build/|"./build/|' ${WRKSRC}/build/version.sh
- @${REINPLACE_CMD} -e \
- 's|^CC=|CC?=| ; \
- /^CCOPT_/s|=.*|=| ; \
- /^CCDEBUG/s|=.*|=|' ${WRKSRC}/vendor/luajit/src/Makefile
-
-post-install:
- (cd ${WRKSRC} && ${COPYTREE_SHARE} \
- automation/v4-docs ${STAGEDIR}${DOCSDIR})
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/aegisub-*
-
-.include <bsd.port.mk>
diff --git a/multimedia/aegisub/distinfo b/multimedia/aegisub/distinfo
deleted file mode 100644
index ad4bd2233ff2..000000000000
--- a/multimedia/aegisub/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (aegisub-3.2.2.tar.xz) = c55e33945b82d8513c02ea6e782f0d72c726adcd3707e95b8c0022f6151e6885
-SIZE (aegisub-3.2.2.tar.xz) = 5252052
diff --git a/multimedia/aegisub/files/patch-Makefile.target b/multimedia/aegisub/files/patch-Makefile.target
deleted file mode 100644
index 3a84e06db188..000000000000
--- a/multimedia/aegisub/files/patch-Makefile.target
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.target.orig 2014-12-08 00:07:09 UTC
-+++ Makefile.target
-@@ -112,7 +112,7 @@ POST_FLAGS = $($@_FLAGS) -c -o $@ $<
- # Libraries contain all object files they depend on (but they may depend on other files)
- # Not using libtool on OS X because it has an unsilenceable warning about a
- # compatibility issue with BSD 4.3 (wtf)
--lib%.a: $$($$*_OBJ)
-+lib%.a: $$($$(*F)_OBJ)
- @$(BIN_MKDIR_P) $(dir $@)
- $(BIN_AR) cru $@ $(filter %.o,$^)
- $(BIN_RANLIB) $@
diff --git a/multimedia/aegisub/files/patch-automation__Makefile b/multimedia/aegisub/files/patch-automation__Makefile
deleted file mode 100644
index 228b1338af3e..000000000000
--- a/multimedia/aegisub/files/patch-automation__Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- automation/Makefile.orig
-+++ automation/Makefile
-@@ -13,8 +13,8 @@
- $(MKDIR_INSTALL)
-
- aegisub-lua_OBJ := $(d)tests/aegisub.o $(TOP)lib/libaegisub.a $(TOP)lib/libluabins.a $(LIBS_LUA)
--aegisub-lua_CPPFLAGS := $(CPPFLAGS_BOOST) $(CFLAGS_LUA) -I$(TOP)libaegisub/include -I$(TOP)src $(CXXFLAGS_WX)
--aegisub-lua_LIBS := $(LIBS_WX) $(LIBS_BOOST) $(LIBS_ICU)
-+aegisub-lua_CPPFLAGS := $(CPPFLAGS_BOOST) $(CFLAGS_LUA) -I$(TOP)libaegisub/include -I$(TOP)src $(CXXFLAGS_WX) $(CFLAGS_ICONV) $(CFLAGS_PTHREAD)
-+aegisub-lua_LIBS := $(LIBS_WX) $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_ICONV) $(LIBS_PTHREAD)
-
- PROGRAM += $(d)aegisub-lua
-
diff --git a/multimedia/aegisub/files/patch-boost-1.69 b/multimedia/aegisub/files/patch-boost-1.69
deleted file mode 100644
index 3849c63b4d9e..000000000000
--- a/multimedia/aegisub/files/patch-boost-1.69
+++ /dev/null
@@ -1,62 +0,0 @@
-https://github.com/Aegisub/Aegisub/issues/93
-
---- src/colour_button.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/colour_button.cpp
-@@ -18,7 +18,12 @@
-
- #include "dialogs.h"
-
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
-
- wxDEFINE_EVENT(EVT_COLOR, wxThreadEvent);
-
---- src/subtitles_provider_libass.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/subtitles_provider_libass.cpp
-@@ -50,7 +50,12 @@
- #include <libaegisub/util.h>
-
- #include <atomic>
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
- #include <memory>
- #include <mutex>
-
---- src/video_frame.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/video_frame.cpp
-@@ -16,7 +16,12 @@
-
- #include "video_frame.h"
-
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
- #include <wx/image.h>
-
- namespace {
---- src/video_provider_dummy.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/video_provider_dummy.cpp
-@@ -46,7 +46,12 @@
- #include <boost/algorithm/string/split.hpp>
- #include <boost/filesystem/path.hpp>
- #include <libaegisub/format.h>
-+#include <boost/version.hpp>
-+#if BOOST_VERSION >= 106900
-+#include <boost/gil.hpp>
-+#else
- #include <boost/gil/gil_all.hpp>
-+#endif
-
- DummyVideoProvider::DummyVideoProvider(double fps, int frames, int width, int height, agi::Color colour, bool pattern)
- : framecount(frames)
diff --git a/multimedia/aegisub/files/patch-ffms-2.40 b/multimedia/aegisub/files/patch-ffms-2.40
deleted file mode 100644
index b87e7e26fd26..000000000000
--- a/multimedia/aegisub/files/patch-ffms-2.40
+++ /dev/null
@@ -1,397 +0,0 @@
-https://github.com/Aegisub/Aegisub/commit/ebc76c8a1168
-https://github.com/Aegisub/Aegisub/commit/1aa9215e7fc3
-
-src/video_provider_ffmpegsource.cpp:81:38: error: use of undeclared identifier 'FFMS_CS_BT470BG'
- FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
- ^
-src/video_provider_ffmpegsource.cpp:106:8: error: use of undeclared identifier 'FFMS_CS_RGB'
- case FFMS_CS_RGB:
- ^
-src/video_provider_ffmpegsource.cpp:108:8: error: use of undeclared identifier 'FFMS_CS_BT709'
- case FFMS_CS_BT709:
- ^
-src/video_provider_ffmpegsource.cpp:110:8: error: use of undeclared identifier 'FFMS_CS_FCC'
- case FFMS_CS_FCC:
- ^
-src/video_provider_ffmpegsource.cpp:112:8: error: use of undeclared identifier 'FFMS_CS_BT470BG'
- case FFMS_CS_BT470BG:
- ^
-src/video_provider_ffmpegsource.cpp:113:8: error: use of undeclared identifier 'FFMS_CS_SMPTE170M'
- case FFMS_CS_SMPTE170M:
- ^
-src/video_provider_ffmpegsource.cpp:115:8: error: use of undeclared identifier 'FFMS_CS_SMPTE240M'
- case FFMS_CS_SMPTE240M:
- ^
-src/video_provider_ffmpegsource.cpp:211:69: error: use of undeclared identifier 'FFMS_GetSourceType'; did you mean 'FFMS_GetTrackType'?
- if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
- ^~~~~~~~~~~~~~~~~~
- FFMS_GetTrackType
-/usr/local/include/ffms.h:430:15: note: 'FFMS_GetTrackType' declared here
-FFMS_API(int) FFMS_GetTrackType(FFMS_Track *T);
- ^
-src/video_provider_ffmpegsource.cpp:211:88: error: no viable conversion from 'agi::scoped_holder<FFMS_Index *, void (*)(FFMS_Index *)>' (aka 'scoped_holder<FFMS_Index *, void (*)(FFMS_Index *)>') to 'FFMS_Track *'
- if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
- ^~~~~
-libaegisub/include/libaegisub/scoped_ptr.h:31:2: note: candidate function
- operator T() const { return value; }
- ^
-/usr/local/include/ffms.h:430:45: note: passing argument to parameter 'T' here
-FFMS_API(int) FFMS_GetTrackType(FFMS_Track *T);
- ^
-src/video_provider_ffmpegsource.cpp:211:98: error: use of undeclared identifier 'FFMS_SOURCE_LAVF'
- if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
- ^
-src/video_provider_ffmpegsource.cpp:243:12: error: use of undeclared identifier 'FFMS_CS_UNSPECIFIED'; did you mean 'FFMS_CR_UNSPECIFIED'?
- if (CS == FFMS_CS_UNSPECIFIED)
- ^~~~~~~~~~~~~~~~~~~
- FFMS_CR_UNSPECIFIED
-/usr/local/include/ffms.h:220:5: note: 'FFMS_CR_UNSPECIFIED' declared here
- FFMS_CR_UNSPECIFIED = 0,
- ^
-src/video_provider_ffmpegsource.cpp:244:40: error: use of undeclared identifier 'FFMS_CS_BT709'
- CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
- ^
-src/video_provider_ffmpegsource.cpp:244:56: error: use of undeclared identifier 'FFMS_CS_BT470BG'
- CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
- ^
-src/video_provider_ffmpegsource.cpp:248:12: error: use of undeclared identifier 'FFMS_CS_RGB'
- if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
- ^
-src/video_provider_ffmpegsource.cpp:248:33: error: use of undeclared identifier 'FFMS_CS_BT470BG'
- if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
- ^
-src/video_provider_ffmpegsource.cpp:249:41: error: use of undeclared identifier 'FFMS_CS_BT470BG'
- if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
- ^
-src/video_provider_ffmpegsource.cpp:251:40: error: use of undeclared identifier 'FFMS_CS_BT470BG'
- ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
- ^
-src/ffmpegsource_common.cpp:101:11: error: use of undeclared identifier 'FFMS_DoIndexing'
- Index = FFMS_DoIndexing(Indexer, Trackmask, FFMS_TRACKMASK_NONE,
- ^
-17 errors generated.
-
---- src/audio_provider_ffmpegsource.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/audio_provider_ffmpegsource.cpp
-@@ -91,18 +91,20 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
- }
-
- std::map<int, std::string> TrackList = GetTracksOfType(Indexer, FFMS_TYPE_AUDIO);
-- if (TrackList.empty())
-- throw agi::AudioDataNotFound("no audio tracks found");
-
- // initialize the track number to an invalid value so we can detect later on
- // whether the user actually had to choose a track or not
- int TrackNumber = -1;
- if (TrackList.size() > 1) {
-- TrackNumber = AskForTrackSelection(TrackList, FFMS_TYPE_AUDIO);
-- // if it's still -1 here, user pressed cancel
-- if (TrackNumber == -1)
-+ auto Selection = AskForTrackSelection(TrackList, FFMS_TYPE_AUDIO);
-+ if (Selection == TrackSelection::None)
- throw agi::UserCancelException("audio loading canceled by user");
-+ TrackNumber = static_cast<int>(Selection);
- }
-+ else if (TrackList.size() == 1)
-+ TrackNumber = TrackList.begin()->first;
-+ else
-+ throw agi::AudioDataNotFound("no audio tracks found");
-
- // generate a name for the cache file
- agi::fs::path CacheName = GetCacheFilename(filename);
-@@ -114,24 +116,13 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
- if (Index && FFMS_IndexBelongsToFile(Index, filename.string().c_str(), &ErrInfo))
- Index = nullptr;
-
-- // index valid but track number still not set?
- if (Index) {
-- // track number not set? just grab the first track
-- if (TrackNumber < 0)
-- TrackNumber = FFMS_GetFirstTrackOfType(Index, FFMS_TYPE_AUDIO, &ErrInfo);
-- if (TrackNumber < 0)
-- throw agi::AudioDataNotFound(std::string("Couldn't find any audio tracks: ") + ErrInfo.Buffer);
--
-- // index is valid and track number is now set,
-- // but do we have indexing info for the desired audio track?
-+ // we already have an index, but the desired track may not have been
-+ // indexed, and if it wasn't we need to reindex
- FFMS_Track *TempTrackData = FFMS_GetTrackFromIndex(Index, TrackNumber);
- if (FFMS_GetNumFrames(TempTrackData) <= 0)
- Index = nullptr;
- }
-- // no valid index exists and the file only has one audio track, index it
-- else if (TrackNumber < 0)
-- TrackNumber = FFMS_TRACKMASK_ALL;
-- // else: do nothing (keep track mask as it is)
-
- // reindex if the error handling mode has changed
- FFMS_IndexErrorHandling ErrorHandling = GetErrorHandlingMode();
-@@ -142,17 +133,10 @@ void FFmpegSourceAudioProvider::LoadAudio(agi::fs::pat
-
- // moment of truth
- if (!Index) {
-- int TrackMask;
-- if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool() || TrackNumber == FFMS_TRACKMASK_ALL)
-- TrackMask = FFMS_TRACKMASK_ALL;
-- else
-- TrackMask = (1 << TrackNumber);
--
-+ TrackSelection TrackMask = static_cast<TrackSelection>(TrackNumber);
-+ if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool())
-+ TrackMask = TrackSelection::All;
- Index = DoIndexing(Indexer, CacheName, TrackMask, ErrorHandling);
--
-- // if tracknumber still isn't set we need to set it now
-- if (TrackNumber == FFMS_TRACKMASK_ALL)
-- TrackNumber = FFMS_GetFirstTrackOfType(Index, FFMS_TYPE_AUDIO, &ErrInfo);
- }
- else
- FFMS_CancelIndexing(Indexer);
---- src/ffmpegsource_common.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/ffmpegsource_common.cpp
-@@ -80,7 +80,10 @@ FFmpegSourceProvider::FFmpegSourceProvider(agi::Backgr
- /// @param Indexer A pointer to the indexer object representing the file to be indexed
- /// @param CacheName The filename of the output index file
- /// @param Trackmask A binary mask of the track numbers to index
--FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& CacheName, int Trackmask, FFMS_IndexErrorHandling IndexEH) {
-+FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Indexer *Indexer,
-+ agi::fs::path const& CacheName,
-+ TrackSelection Track,
-+ FFMS_IndexErrorHandling IndexEH) {
- char FFMSErrMsg[1024];
- FFMS_ErrorInfo ErrInfo;
- ErrInfo.Buffer = FFMSErrMsg;
-@@ -98,8 +101,22 @@ FFMS_Index *FFmpegSourceProvider::DoIndexing(FFMS_Inde
- ps->SetProgress(Current, Total);
- return ps->IsCancelled();
- };
-- Index = FFMS_DoIndexing(Indexer, Trackmask, FFMS_TRACKMASK_NONE,
-+#if FFMS_VERSION >= ((2 << 24) | (21 << 16) | (0 << 8) | 0)
-+ if (Track == TrackSelection::All)
-+ FFMS_TrackTypeIndexSettings(Indexer, FFMS_TYPE_AUDIO, 1, 0);
-+ else if (Track != TrackSelection::None)
-+ FFMS_TrackIndexSettings(Indexer, static_cast<int>(Track), 1, 0);
-+ FFMS_SetProgressCallback(Indexer, callback, ps);
-+ Index = FFMS_DoIndexing2(Indexer, IndexEH, &ErrInfo);
-+#else
-+ int Trackmask = 0;
-+ if (Track == TrackSelection::All)
-+ Trackmask = std::numeric_limits<int>::max();
-+ else if (Track != TrackSelection::None)
-+ Trackmask = 1 << static_cast<int>(Track);
-+ Index = FFMS_DoIndexing(Indexer, Trackmask, 0,
- nullptr, nullptr, IndexEH, callback, ps, &ErrInfo);
-+#endif
- });
-
- if (Index == nullptr)
-@@ -119,21 +136,24 @@ std::map<int, std::string> FFmpegSourceProvider::GetTr
- std::map<int,std::string> TrackList;
- int NumTracks = FFMS_GetNumTracksI(Indexer);
-
-+ // older versions of ffms2 can't index audio tracks past 31
-+#if FFMS_VERSION < ((2 << 24) | (21 << 16) | (0 << 8) | 0)
-+ if (Type == FFMS_TYPE_AUDIO)
-+ NumTracks = std::min(NumTracks, std::numeric_limits<int>::digits);
-+#endif
-+
- for (int i=0; i<NumTracks; i++) {
- if (FFMS_GetTrackTypeI(Indexer, i) == Type) {
-- const char *CodecName = FFMS_GetCodecNameI(Indexer, i);
-- if (CodecName)
-- TrackList.insert(std::pair<int,std::string>(i, CodecName));
-+ if (auto CodecName = FFMS_GetCodecNameI(Indexer, i))
-+ TrackList[i] = CodecName;
- }
- }
- return TrackList;
- }
-
--/// @brief Ask user for which track he wants to load
--/// @param TrackList A std::map with the track numbers as keys and codec names as values
--/// @param Type The track type to ask about
--/// @return Returns the track number chosen (an integer >= 0) on success, or a negative integer if the user cancelled.
--int FFmpegSourceProvider::AskForTrackSelection(const std::map<int, std::string> &TrackList, FFMS_TrackType Type) {
-+FFmpegSourceProvider::TrackSelection
-+FFmpegSourceProvider::AskForTrackSelection(const std::map<int, std::string> &TrackList,
-+ FFMS_TrackType Type) {
- std::vector<int> TrackNumbers;
- wxArrayString Choices;
-
-@@ -148,8 +168,8 @@ int FFmpegSourceProvider::AskForTrackSelection(const s
- Choices);
-
- if (Choice < 0)
-- return Choice;
-- return TrackNumbers[Choice];
-+ return TrackSelection::None;
-+ return static_cast<TrackSelection>(TrackNumbers[Choice]);
- }
-
- /// @brief Set ffms2 log level according to setting in config.dat
---- src/ffmpegsource_common.h.orig 2014-12-08 00:07:09 UTC
-+++ src/ffmpegsource_common.h
-@@ -42,11 +42,6 @@
-
- namespace agi { class BackgroundRunner; }
-
--/// Index all tracks
--#define FFMS_TRACKMASK_ALL -1
--/// Index no tracks
--#define FFMS_TRACKMASK_NONE 0
--
- /// @class FFmpegSourceProvider
- /// @brief Base class for FFMS2 source providers; contains common functions etc
- class FFmpegSourceProvider {
-@@ -57,24 +52,18 @@ class FFmpegSourceProvider {
- public:
- FFmpegSourceProvider(agi::BackgroundRunner *br);
-
-- /// Logging level constants from avutil/log.h
-- enum FFMS_LogLevel {
-- /// nothing printed
-- FFMS_LOG_QUIET = -8,
-- FFMS_LOG_PANIC = 0,
-- FFMS_LOG_FATAL = 8,
-- FFMS_LOG_ERROR = 16,
-- FFMS_LOG_WARNING = 24,
-- FFMS_LOG_INFO = 32,
-- FFMS_LOG_VERBOSE = 40,
-- FFMS_LOG_DEBUG = 48,
-+ enum class TrackSelection : int {
-+ None = -1,
-+ All = -2
- };
-
- void CleanCache();
-
-- FFMS_Index *DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& Cachename, int Trackmask, FFMS_IndexErrorHandling IndexEH);
-+ FFMS_Index *DoIndexing(FFMS_Indexer *Indexer, agi::fs::path const& Cachename,
-+ TrackSelection Track,
-+ FFMS_IndexErrorHandling IndexEH);
- std::map<int, std::string> GetTracksOfType(FFMS_Indexer *Indexer, FFMS_TrackType Type);
-- int AskForTrackSelection(const std::map<int, std::string>& TrackList, FFMS_TrackType Type);
-+ TrackSelection AskForTrackSelection(const std::map<int, std::string>& TrackList, FFMS_TrackType Type);
- agi::fs::path GetCacheFilename(agi::fs::path const& filename);
- void SetLogLevel();
- FFMS_IndexErrorHandling GetErrorHandlingMode();
---- src/video_provider_ffmpegsource.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/video_provider_ffmpegsource.cpp
-@@ -44,6 +44,23 @@
- #include <libaegisub/make_unique.h>
-
- namespace {
-+typedef enum AGI_ColorSpaces {
-+ AGI_CS_RGB = 0,
-+ AGI_CS_BT709 = 1,
-+ AGI_CS_UNSPECIFIED = 2,
-+ AGI_CS_FCC = 4,
-+ AGI_CS_BT470BG = 5,
-+ AGI_CS_SMPTE170M = 6,
-+ AGI_CS_SMPTE240M = 7,
-+ AGI_CS_YCOCG = 8,
-+ AGI_CS_BT2020_NCL = 9,
-+ AGI_CS_BT2020_CL = 10,
-+ AGI_CS_SMPTE2085 = 11,
-+ AGI_CS_CHROMATICITY_DERIVED_NCL = 12,
-+ AGI_CS_CHROMATICITY_DERIVED_CL = 13,
-+ AGI_CS_ICTCP = 14
-+} AGI_ColorSpaces;
-+
- /// @class FFmpegSourceVideoProvider
- /// @brief Implements video loading through the FFMS library.
- class FFmpegSourceVideoProvider final : public VideoProvider, FFmpegSourceProvider {
-@@ -78,7 +95,7 @@ class FFmpegSourceVideoProvider final : public VideoPr
- if (matrix == RealColorSpace)
- FFMS_SetInputFormatV(VideoSource, CS, CR, FFMS_GetPixFmt(""), nullptr);
- else if (matrix == "TV.601")
-- FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
-+ FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), nullptr);
- else
- return;
- ColorSpace = matrix;
-@@ -103,16 +120,16 @@ std::string colormatrix_description(int cs, int cr) {
- std::string str = cr == FFMS_CR_JPEG ? "PC" : "TV";
-
- switch (cs) {
-- case FFMS_CS_RGB:
-+ case AGI_CS_RGB:
- return "None";
-- case FFMS_CS_BT709:
-+ case AGI_CS_BT709:
- return str + ".709";
-- case FFMS_CS_FCC:
-+ case AGI_CS_FCC:
- return str + ".FCC";
-- case FFMS_CS_BT470BG:
-- case FFMS_CS_SMPTE170M:
-+ case AGI_CS_BT470BG:
-+ case AGI_CS_SMPTE170M:
- return str + ".601";
-- case FFMS_CS_SMPTE240M:
-+ case AGI_CS_SMPTE240M:
- return str + ".240M";
- default:
- throw VideoOpenError("Unknown video color space");
-@@ -149,14 +166,12 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
- if (TrackList.size() <= 0)
- throw VideoNotSupported("no video tracks found");
-
-- // initialize the track number to an invalid value so we can detect later on
-- // whether the user actually had to choose a track or not
- int TrackNumber = -1;
- if (TrackList.size() > 1) {
-- TrackNumber = AskForTrackSelection(TrackList, FFMS_TYPE_VIDEO);
-- // if it's still -1 here, user pressed cancel
-- if (TrackNumber == -1)
-+ auto Selection = AskForTrackSelection(TrackList, FFMS_TYPE_VIDEO);
-+ if (Selection == TrackSelection::None)
- throw agi::UserCancelException("video loading cancelled by user");
-+ TrackNumber = static_cast<int>(Selection);
- }
-
- // generate a name for the cache file
-@@ -180,9 +195,9 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
-
- // moment of truth
- if (!Index) {
-- int TrackMask = FFMS_TRACKMASK_NONE;
-+ auto TrackMask = TrackSelection::None;
- if (OPT_GET("Provider/FFmpegSource/Index All Tracks")->GetBool() || OPT_GET("Video/Open Audio")->GetBool())
-- TrackMask = FFMS_TRACKMASK_ALL;
-+ TrackMask = TrackSelection::All;
- Index = DoIndexing(Indexer, CacheName, TrackMask, GetErrorHandlingMode());
- }
- else {
-@@ -208,8 +223,10 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
-
- // set thread count
- int Threads = OPT_GET("Provider/Video/FFmpegSource/Decoding Threads")->GetInt();
-+#if FFMS_VERSION < ((2 << 24) | (30 << 16) | (0 << 8) | 0)
- if (FFMS_GetVersion() < ((2 << 24) | (17 << 16) | (2 << 8) | 1) && FFMS_GetSourceType(Index) == FFMS_SOURCE_LAVF)
- Threads = 1;
-+#endif
-
- // set seekmode
- // TODO: give this its own option?
-@@ -240,15 +257,15 @@ void FFmpegSourceVideoProvider::LoadVideo(agi::fs::pat
- CS = TempFrame->ColorSpace;
- CR = TempFrame->ColorRange;
-
-- if (CS == FFMS_CS_UNSPECIFIED)
-- CS = Width > 1024 || Height >= 600 ? FFMS_CS_BT709 : FFMS_CS_BT470BG;
-+ if (CS == AGI_CS_UNSPECIFIED)
-+ CS = Width > 1024 || Height >= 600 ? AGI_CS_BT709 : AGI_CS_BT470BG;
- RealColorSpace = ColorSpace = colormatrix_description(CS, CR);
-
- #if FFMS_VERSION >= ((2 << 24) | (17 << 16) | (1 << 8) | 0)
-- if (CS != FFMS_CS_RGB && CS != FFMS_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
-- if (FFMS_SetInputFormatV(VideoSource, FFMS_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
-+ if (CS != AGI_CS_RGB && CS != AGI_CS_BT470BG && ColorSpace != colormatrix && (colormatrix == "TV.601" || OPT_GET("Video/Force BT.601")->GetBool())) {
-+ if (FFMS_SetInputFormatV(VideoSource, AGI_CS_BT470BG, CR, FFMS_GetPixFmt(""), &ErrInfo))
- throw VideoOpenError(std::string("Failed to set input format: ") + ErrInfo.Buffer);
-- ColorSpace = colormatrix_description(FFMS_CS_BT470BG, CR);
-+ ColorSpace = colormatrix_description(AGI_CS_BT470BG, CR);
- }
- #endif
-
diff --git a/multimedia/aegisub/files/patch-fix-dfly-luajit b/multimedia/aegisub/files/patch-fix-dfly-luajit
deleted file mode 100644
index 98b4c33b0c17..000000000000
--- a/multimedia/aegisub/files/patch-fix-dfly-luajit
+++ /dev/null
@@ -1,62 +0,0 @@
---- vendor/luajit/src/jit/bcsave.lua.orig 2014-12-08 00:07:09 UTC
-+++ vendor/luajit/src/jit/bcsave.lua
-@@ -69,7 +69,7 @@ local map_arch = {
-
- local map_os = {
- linux = true, windows = true, osx = true, freebsd = true, netbsd = true,
-- openbsd = true, solaris = true,
-+ openbsd = true, dragonfly = true, solaris = true,
- }
-
- local function checkarg(str, map, err)
---- vendor/luajit/src/lj_alloc.c.orig 2014-12-08 00:07:09 UTC
-+++ vendor/luajit/src/lj_alloc.c
-@@ -188,14 +188,14 @@ static LJ_AINLINE void *CALL_MMAP(size_t
- return ptr;
- }
-
--#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__sun__)
-+#elif LJ_TARGET_OSX || LJ_TARGET_PS4 || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__sun__)
-
- /* OSX and FreeBSD mmap() use a naive first-fit linear search.
- ** That's perfect for us. Except that -pagezero_size must be set for OSX,
- ** otherwise the lower 4GB are blocked. And the 32GB RLIMIT_DATA needs
- ** to be reduced to 250MB on FreeBSD.
- */
--#if LJ_TARGET_OSX
-+#if LJ_TARGET_OSX || defined(__DragonFly__)
- #define MMAP_REGION_START ((uintptr_t)0x10000)
- #elif LJ_TARGET_PS4
- #define MMAP_REGION_START ((uintptr_t)0x4000)
-@@ -232,7 +232,7 @@ static LJ_AINLINE void *CALL_MMAP(size_t
- return p;
- }
- if (p != CMFAIL) munmap(p, size);
--#ifdef __sun__
-+#if defined(__sun__) || defined(__DragonFly__)
- alloc_hint += 0x1000000; /* Need near-exhaustive linear scan. */
- if (alloc_hint + size < MMAP_REGION_END) continue;
- #endif
---- vendor/luajit/src/lj_arch.h.orig 2015-03-27 14:17:40 UTC
-+++ vendor/luajit/src/lj_arch.h
-@@ -67,7 +67,8 @@
- #elif defined(__MACH__) && defined(__APPLE__)
- #define LUAJIT_OS LUAJIT_OS_OSX
- #elif (defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || \
-- defined(__NetBSD__) || defined(__OpenBSD__)) && !defined(__ORBIS__)
-+ defined(__NetBSD__) || defined(__OpenBSD__) || \
-+ defined(__DragonFly__)) && !defined(__ORBIS__)
- #define LUAJIT_OS LUAJIT_OS_BSD
- #elif (defined(__sun__) && defined(__svr4__)) || defined(__CYGWIN__)
- #define LUAJIT_OS LUAJIT_OS_POSIX
---- vendor/luajit/src/lj_gdbjit.c.orig 2014-12-08 00:07:09 UTC
-+++ vendor/luajit/src/lj_gdbjit.c
-@@ -356,6 +356,8 @@ static const ELFheader elfhdr_template =
- .eosabi = 2,
- #elif defined(__OpenBSD__)
- .eosabi = 12,
-+#elif defined(__DragonFly__)
-+ .eosabi = 0,
- #elif (defined(__sun__) && defined(__svr4__))
- .eosabi = 6,
- #else
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp b/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
deleted file mode 100644
index 41a74f61b396..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__common__calltip_provider.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/common/calltip_provider.cpp.orig 2014-08-05 20:40:25.000000000 +0900
-+++ libaegisub/common/calltip_provider.cpp 2014-08-05 20:40:42.000000000 +0900
-@@ -19,6 +19,7 @@
- #include "libaegisub/ass/dialogue_parser.h"
-
- #include <algorithm>
-+#include <cstring>
-
- namespace {
- struct proto_lit {
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp b/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
deleted file mode 100644
index 3d037948949d..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__common__character_count.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- libaegisub/common/character_count.cpp.orig 2014-08-05 20:41:47.000000000 +0900
-+++ libaegisub/common/character_count.cpp 2014-08-05 20:43:19.000000000 +0900
-@@ -22,6 +22,8 @@
- #include <unicode/uchar.h>
- #include <unicode/utf8.h>
-
-+#include <algorithm>
-+#include <memory>
- #include <mutex>
- #include <unicode/brkiter.h>
-
diff --git a/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp b/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
deleted file mode 100644
index 4b253f17a90e..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__common__charset.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/common/charset.cpp.orig 2014-08-05 20:44:44.000000000 +0900
-+++ libaegisub/common/charset.cpp 2014-08-05 20:44:59.000000000 +0900
-@@ -20,6 +20,7 @@
-
- #include "libaegisub/file_mapping.h"
-
-+#include <algorithm>
- #include <string>
-
- #ifndef _WIN32
diff --git a/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h b/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
deleted file mode 100644
index 3f7e004be16a..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub__include__libaegisub__audio__provider.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/include/libaegisub/audio/provider.h.orig 2014-07-28 23:29:16.000000000 +0900
-+++ libaegisub/include/libaegisub/audio/provider.h 2014-08-05 19:40:17.000000000 +0900
-@@ -20,6 +20,7 @@
- #include <libaegisub/fs_fwd.h>
-
- #include <atomic>
-+#include <memory>
- #include <vector>
-
- namespace agi {
diff --git a/multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp b/multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp
deleted file mode 100644
index 134ae6b64c8a..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub_common_cajun_reader.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/common/cajun/reader.cpp.orig 2014-12-08 00:07:09 UTC
-+++ libaegisub/common/cajun/reader.cpp
-@@ -9,6 +9,7 @@ Author: Terry Caton
- #include "libaegisub/cajun/reader.h"
-
- #include <boost/interprocess/streams/bufferstream.hpp>
-+#include <algorithm> // std::find
- #include <cassert>
-
- /*
diff --git a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h b/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h
deleted file mode 100644
index 4d7364418f57..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_file__mapping.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/include/libaegisub/file_mapping.h.orig 2014-12-08 00:07:09 UTC
-+++ libaegisub/include/libaegisub/file_mapping.h
-@@ -18,6 +18,7 @@
-
- #include <boost/interprocess/detail/os_file_functions.hpp>
- #include <cstdint>
-+#include <memory> // std::unique_ptr
-
- namespace agi {
- // boost::interprocess::file_mapping is awesome and uses CreateFileA on Windows
diff --git a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h b/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h
deleted file mode 100644
index 72b61d0ad224..000000000000
--- a/multimedia/aegisub/files/patch-libaegisub_include_libaegisub_format.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- libaegisub/include/libaegisub/format.h.orig 2014-12-08 00:07:09 UTC
-+++ libaegisub/include/libaegisub/format.h
-@@ -19,6 +19,7 @@
- #include <boost/interprocess/streams/vectorstream.hpp>
- #include <boost/io/ios_state.hpp>
- #include <type_traits>
-+#include <typeinfo> // std::bad_cast
-
- class wxString;
-
diff --git a/multimedia/aegisub/files/patch-src__Makefile b/multimedia/aegisub/files/patch-src__Makefile
deleted file mode 100644
index 83c39ed46db9..000000000000
--- a/multimedia/aegisub/files/patch-src__Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/Makefile.orig
-+++ src/Makefile
-@@ -3,10 +3,10 @@
- PROGRAM += $(d)src
-
- src_CPPFLAGS := -I$(d) -I.. -I$(d)include -I$(TOP)libaegisub/include -I$(TOP)build \
-- $(CFLAGS_PTHREAD) $(CFLAGS_FFTW3) $(CFLAGS_ICU)
-+ $(CFLAGS_PTHREAD) $(CFLAGS_FFTW3) $(CFLAGS_ICU) $(CFLAGS_ICONV)
- src_CXXFLAGS := $(CXXFLAGS_WX)
- src_LIBS := $(LIBS_GL) $(LIBS_PTHREAD) $(LIBS_WX) $(LIBS_FREETYPE) \
-- $(LIBS_LIBASS) $(LIBS_FONTCONFIG) $(LIBS_FFTW3) $(LIBS_BOOST) $(LIBS_ICU)
-+ $(LIBS_LIBASS) $(LIBS_FONTCONFIG) $(LIBS_FFTW3) $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_ICONV)
- src_PCH := $(d)agi_pre.h
- src_INSTALLNAME := $(AEGISUB_COMMAND)
-
diff --git a/multimedia/aegisub/files/patch-src__base_grid.h b/multimedia/aegisub/files/patch-src__base_grid.h
deleted file mode 100644
index fb218f1e36fb..000000000000
--- a/multimedia/aegisub/files/patch-src__base_grid.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/base_grid.h.orig
-+++ src/base_grid.h
-@@ -39,6 +39,8 @@
- #include <map>
- #include <memory>
- #include <vector>
-+#include <wx/brush.h>
-+#include <wx/scrolbar.h>
- #include <wx/window.h>
-
- #include "selection_controller.h"
diff --git a/multimedia/aegisub/files/patch-src__command__command.h b/multimedia/aegisub/files/patch-src__command__command.h
deleted file mode 100644
index a3489553be9c..000000000000
--- a/multimedia/aegisub/files/patch-src__command__command.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/command/command.h.orig 2014-08-05 20:09:07.000000000 +0900
-+++ src/command/command.h 2014-08-05 20:09:21.000000000 +0900
-@@ -17,6 +17,7 @@
- /// @ingroup command
-
- #include <map>
-+#include <memory>
- #include <string>
- #include <vector>
-
diff --git a/multimedia/aegisub/files/patch-src__frame_main.cpp b/multimedia/aegisub/files/patch-src__frame_main.cpp
deleted file mode 100644
index 9dcff17723bc..000000000000
--- a/multimedia/aegisub/files/patch-src__frame_main.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/frame_main.cpp.orig
-+++ src/frame_main.cpp
-@@ -80,6 +80,7 @@
- #include <wx/msgdlg.h>
- #include <wx/statline.h>
- #include <wx/sysopt.h>
-+#include <wx/toolbar.h>
-
- enum {
- ID_APP_TIMER_STATUSCLEAR = 12002
diff --git a/multimedia/aegisub/files/patch-src__preferences.cpp b/multimedia/aegisub/files/patch-src__preferences.cpp
deleted file mode 100644
index d9c19afc0635..000000000000
--- a/multimedia/aegisub/files/patch-src__preferences.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/preferences.cpp.orig
-+++ src/preferences.cpp
-@@ -47,6 +47,7 @@
-
- #include <wx/checkbox.h>
- #include <wx/combobox.h>
-+#include <wx/dc.h>
- #include <wx/event.h>
- #include <wx/listctrl.h>
- #include <wx/msgdlg.h>
diff --git a/multimedia/aegisub/files/patch-src__spline_curve.cpp b/multimedia/aegisub/files/patch-src__spline_curve.cpp
deleted file mode 100644
index 5575c8fdeff5..000000000000
--- a/multimedia/aegisub/files/patch-src__spline_curve.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/spline_curve.cpp.orig 2014-08-06 00:07:08.000000000 +0900
-+++ src/spline_curve.cpp 2014-08-06 00:07:27.000000000 +0900
-@@ -35,6 +35,7 @@
- #include "spline_curve.h"
- #include "utils.h"
-
-+#include <algorithm>
- #include <limits>
-
- SplineCurve::SplineCurve(Vector2D p1) : p1(p1), type(POINT) { }
diff --git a/multimedia/aegisub/files/patch-src__video_frame.h b/multimedia/aegisub/files/patch-src__video_frame.h
deleted file mode 100644
index 84aa43c8e465..000000000000
--- a/multimedia/aegisub/files/patch-src__video_frame.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/video_frame.h.orig
-+++ src/video_frame.h
-@@ -15,6 +15,7 @@
- // Aegisub Project http://www.aegisub.org/
-
- #include <vector>
-+#include <cstddef>
-
- class wxImage;
-
diff --git a/multimedia/aegisub/files/patch-src_search__replace__engine.cpp b/multimedia/aegisub/files/patch-src_search__replace__engine.cpp
deleted file mode 100644
index e52abd0b78d0..000000000000
--- a/multimedia/aegisub/files/patch-src_search__replace__engine.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-After https://github.com/boostorg/range/commit/69409ed63a9e1 build fails:
-
-src/search_replace_engine.cpp:315:14: error: call to
- 'distance' is ambiguous
- count += distance(
- ^~~~~~~~
-/usr/include/c++/v1/iterator:511:1: note: candidate function [with _InputIter =
- boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
-distance(_InputIter __first, _InputIter __last)
-^
-/usr/local/include/boost/iterator/distance.hpp:49:9: note: candidate function [with SinglePassIterator =
- boost::u32regex_iterator<std::__1::__wrap_iter<const char *> >]
- distance(SinglePassIterator first, SinglePassIterator last)
- ^
-
---- src/search_replace_engine.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/search_replace_engine.cpp
-@@ -312,7 +312,7 @@
- if (MatchState ms = matches(&diag, 0)) {
- auto& diag_field = diag.*get_dialogue_field(settings.field);
- std::string const& text = diag_field.get();
-- count += distance(
-+ count += std::distance(
- boost::u32regex_iterator<std::string::const_iterator>(begin(text), end(text), *ms.re),
- boost::u32regex_iterator<std::string::const_iterator>());
- diag_field = u32regex_replace(text, *ms.re, settings.replace_with);
diff --git a/multimedia/aegisub/files/patch-src_utils.cpp b/multimedia/aegisub/files/patch-src_utils.cpp
deleted file mode 100644
index 40ea41c30ca9..000000000000
--- a/multimedia/aegisub/files/patch-src_utils.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-https://github.com/Aegisub/Aegisub/commit/dd67db47cb22
-
---- src/utils.cpp.orig 2014-12-08 00:07:09 UTC
-+++ src/utils.cpp
-@@ -44,6 +44,7 @@
- #include <boost/filesystem/path.hpp>
- #include <map>
- #include <unicode/locid.h>
-+#include <unicode/unistr.h>
- #include <wx/clipbrd.h>
- #include <wx/filedlg.h>
- #include <wx/stdpaths.h>
diff --git a/multimedia/aegisub/files/patch-tools__Makefile b/multimedia/aegisub/files/patch-tools__Makefile
deleted file mode 100644
index 35b6a5293ed2..000000000000
--- a/multimedia/aegisub/files/patch-tools__Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
---- tools/Makefile.orig
-+++ tools/Makefile
-@@ -7,8 +7,8 @@
- endif
-
- repack-thes-dict_OBJ := $(d)repack-thes-dict.o $(TOP)lib/libaegisub.a
--repack-thes-dict_LIBS := $(LIBS_BOOST) $(LIBS_ICU)
--repack-thes-dict_CPPFLAGS := -I$(TOP) -I$(TOP)libaegisub/include $(CFLAGS_ICU)
-+repack-thes-dict_LIBS := $(LIBS_BOOST) $(LIBS_ICU) $(LIBS_PTHREAD) $(LIBS_ICONV)
-+repack-thes-dict_CPPFLAGS := -I$(TOP) -I$(TOP)libaegisub/include $(CFLAGS_ICU) $(CFLAGS_ICONV) $(CFLAGS_PTHREAD)
-
- PROGRAM += $(d)repack-thes-dict
-
diff --git a/multimedia/aegisub/files/patch-vendor__universalchardet__Makefile b/multimedia/aegisub/files/patch-vendor__universalchardet__Makefile
deleted file mode 100644
index 0403ed61ebee..000000000000
--- a/multimedia/aegisub/files/patch-vendor__universalchardet__Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- vendor/universalchardet/Makefile.orig 2021-02-21 05:40:22 UTC
-+++ vendor/universalchardet/Makefile
-@@ -1,7 +1,7 @@
- include $(dir $(lastword $(MAKEFILE_LIST)))../../header.mk
-
- universalchardet_OBJ := $(subst .cpp,.o,$(wildcard $(d)*.cpp))
--universalchardet_CPPFLAGS := -D_X86_
-+universalchardet_CPPFLAGS := -D_X86_ -D_LIBCPP_STDLIB_INCLUDE_NEXT
-
- LIB += universalchardet
-
diff --git a/multimedia/aegisub/pkg-descr b/multimedia/aegisub/pkg-descr
deleted file mode 100644
index c0220c8b6f4a..000000000000
--- a/multimedia/aegisub/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-The Aegisub Project is a community-driven effort to write the BSDL licensed
-cross-platform subtitle editor Aegisub. Composed completely of volunteers
-passionate about subtitling, as a project it strives to be open, fair and
-most of all: free.
-
-WWW: http://www.aegisub.org/
diff --git a/multimedia/aegisub/pkg-plist b/multimedia/aegisub/pkg-plist
deleted file mode 100644
index 1fb5636cf227..000000000000
--- a/multimedia/aegisub/pkg-plist
+++ /dev/null
@@ -1,69 +0,0 @@
-bin/aegisub-%%VERSION%%
-%%DATADIR%%/automation/autoload/cleantags-autoload.lua
-%%DATADIR%%/automation/autoload/kara-templater.lua
-%%DATADIR%%/automation/autoload/karaoke-auto-leadin.lua
-%%DATADIR%%/automation/autoload/macro-1-edgeblur.lua
-%%DATADIR%%/automation/autoload/macro-2-mkfullwitdh.lua
-%%DATADIR%%/automation/autoload/select-overlaps.moon
-%%DATADIR%%/automation/autoload/strip-tags.lua
-%%DATADIR%%/automation/demos/future-windy-blur.lua
-%%DATADIR%%/automation/demos/raytracer.lua
-%%DATADIR%%/automation/demos/raytracer-test1.ass
-%%DATADIR%%/automation/include/aegisub/clipboard.lua
-%%DATADIR%%/automation/include/aegisub/re.moon
-%%DATADIR%%/automation/include/aegisub/unicode.moon
-%%DATADIR%%/automation/include/aegisub/util.moon
-%%DATADIR%%/automation/include/cleantags.lua
-%%DATADIR%%/automation/include/clipboard.lua
-%%DATADIR%%/automation/include/karaskel-auto4.lua
-%%DATADIR%%/automation/include/karaskel.lua
-%%DATADIR%%/automation/include/moonscript.lua
-%%DATADIR%%/automation/include/re.lua
-%%DATADIR%%/automation/include/unicode.lua
-%%DATADIR%%/automation/include/utils-auto4.lua
-%%DATADIR%%/automation/include/utils.lua
-share/applications/aegisub.desktop
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/basic-function-interface.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/configuration-dialogs.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/file-streams.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/misc.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/overview.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/progress-reporting.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/subtitle-data.txt
-%%PORTDOCS%%%%DOCSDIR%%/automation/v4-docs/template-scripting-ideas.ass
-share/icons/hicolor/16x16/apps/aegisub.png
-share/icons/hicolor/22x22/apps/aegisub.png
-share/icons/hicolor/24x24/apps/aegisub.png
-share/icons/hicolor/32x32/apps/aegisub.png
-share/icons/hicolor/48x48/apps/aegisub.png
-share/icons/hicolor/64x64/apps/aegisub.png
-share/icons/hicolor/scalable/apps/aegisub.svg
-share/locale/ar/LC_MESSAGES/aegisub-32.mo
-share/locale/bg/LC_MESSAGES/aegisub-32.mo
-share/locale/ca/LC_MESSAGES/aegisub-32.mo
-share/locale/cs/LC_MESSAGES/aegisub-32.mo
-share/locale/da/LC_MESSAGES/aegisub-32.mo
-share/locale/de/LC_MESSAGES/aegisub-32.mo
-share/locale/el/LC_MESSAGES/aegisub-32.mo
-share/locale/es/LC_MESSAGES/aegisub-32.mo
-share/locale/eu/LC_MESSAGES/aegisub-32.mo
-share/locale/fa/LC_MESSAGES/aegisub-32.mo
-share/locale/fi/LC_MESSAGES/aegisub-32.mo
-share/locale/fr_FR/LC_MESSAGES/aegisub-32.mo
-share/locale/gl/LC_MESSAGES/aegisub-32.mo
-share/locale/hu/LC_MESSAGES/aegisub-32.mo
-share/locale/id/LC_MESSAGES/aegisub-32.mo
-share/locale/it/LC_MESSAGES/aegisub-32.mo
-share/locale/ja/LC_MESSAGES/aegisub-32.mo
-share/locale/ko/LC_MESSAGES/aegisub-32.mo
-share/locale/nl/LC_MESSAGES/aegisub-32.mo
-share/locale/pl/LC_MESSAGES/aegisub-32.mo
-share/locale/pt_BR/LC_MESSAGES/aegisub-32.mo
-share/locale/pt_PT/LC_MESSAGES/aegisub-32.mo
-share/locale/ru/LC_MESSAGES/aegisub-32.mo
-share/locale/sr_RS/LC_MESSAGES/aegisub-32.mo
-share/locale/sr_RS@latin/LC_MESSAGES/aegisub-32.mo
-share/locale/uk_UA/LC_MESSAGES/aegisub-32.mo
-share/locale/vi/LC_MESSAGES/aegisub-32.mo
-share/locale/zh_CN/LC_MESSAGES/aegisub-32.mo
-share/locale/zh_TW/LC_MESSAGES/aegisub-32.mo
diff --git a/multimedia/alass/Makefile b/multimedia/alass/Makefile
new file mode 100644
index 000000000000..ddc0ff069d9f
--- /dev/null
+++ b/multimedia/alass/Makefile
@@ -0,0 +1,113 @@
+PORTNAME= alass
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.0.0
+PORTREVISION= 5
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Automatic Language-Agnostic Subtitle Synchronization
+WWW= https://github.com/kaegi/alass
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/../LICENSE
+
+USES= cargo
+
+USE_GITHUB= yes
+GH_ACCOUNT= kaegi
+
+WRKSRC_SUBDIR= alass-cli
+
+CARGO_CRATES= aho-corasick-0.6.10 \
+ ansi_term-0.11.0 \
+ ascii-0.7.1 \
+ atty-0.2.13 \
+ autocfg-0.1.6 \
+ backtrace-0.3.38 \
+ backtrace-sys-0.1.31 \
+ bitflags-1.2.0 \
+ byteorder-1.3.2 \
+ c2-chacha-0.2.2 \
+ cast-0.2.2 \
+ cc-1.0.45 \
+ cfg-if-0.1.10 \
+ clap-2.33.0 \
+ combine-2.5.2 \
+ ctrlc-3.1.3 \
+ either-1.5.3 \
+ encoding_rs-0.8.20 \
+ enum_primitive-0.1.1 \
+ error-chain-0.10.0 \
+ failure-0.1.5 \
+ failure_derive-0.1.5 \
+ getrandom-0.1.12 \
+ image-0.13.0 \
+ itertools-0.8.0 \
+ itoa-0.4.4 \
+ lazy_static-0.2.11 \
+ lazy_static-1.4.0 \
+ libc-0.2.62 \
+ log-0.3.9 \
+ log-0.4.8 \
+ memchr-2.2.1 \
+ nix-0.14.1 \
+ nom-2.1.0 \
+ num-integer-0.1.41 \
+ num-iter-0.1.39 \
+ num-rational-0.1.42 \
+ num-traits-0.1.43 \
+ num-traits-0.2.8 \
+ num_cpus-1.10.1 \
+ numtoa-0.1.0 \
+ pbr-1.0.2 \
+ ppv-lite86-0.2.5 \
+ proc-macro2-0.4.30 \
+ proc-macro2-1.0.4 \
+ quote-0.6.13 \
+ quote-1.0.2 \
+ rand-0.7.2 \
+ rand_chacha-0.2.1 \
+ rand_core-0.5.1 \
+ rand_hc-0.2.0 \
+ redox_syscall-0.1.56 \
+ redox_termios-0.1.1 \
+ regex-0.2.11 \
+ regex-syntax-0.5.6 \
+ rmp-0.8.8 \
+ rmp-serde-0.14.0 \
+ rustc-demangle-0.1.16 \
+ ryu-1.0.0 \
+ safemem-0.2.0 \
+ serde-1.0.101 \
+ serde_derive-1.0.101 \
+ serde_json-1.0.40 \
+ strsim-0.8.0 \
+ subparse-0.6.2 \
+ syn-0.15.44 \
+ syn-1.0.5 \
+ synstructure-0.10.2 \
+ termion-1.5.3 \
+ textwrap-0.11.0 \
+ thread_local-0.3.6 \
+ threadpool-1.7.1 \
+ time-0.1.42 \
+ ucd-util-0.1.5 \
+ unicode-width-0.1.6 \
+ unicode-xid-0.1.0 \
+ unicode-xid-0.2.0 \
+ utf8-ranges-1.0.4 \
+ vec_map-0.8.1 \
+ vobsub-0.2.3 \
+ void-1.0.2 \
+ wasi-0.7.0 \
+ webrtc-vad-0.4.0 \
+ winapi-0.3.8 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0
+
+PLIST_FILES= bin/${PORTNAME}-cli
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}-cli
+
+.include <bsd.port.mk>
diff --git a/multimedia/alass/distinfo b/multimedia/alass/distinfo
new file mode 100644
index 000000000000..55299f18d71b
--- /dev/null
+++ b/multimedia/alass/distinfo
@@ -0,0 +1,175 @@
+TIMESTAMP = 1698020905
+SHA256 (rust/crates/aho-corasick-0.6.10.crate) = 81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5
+SIZE (rust/crates/aho-corasick-0.6.10.crate) = 26122
+SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
+SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
+SHA256 (rust/crates/ascii-0.7.1.crate) = 3ae7d751998c189c1d4468cf0a39bb2eae052a9c58d50ebb3b9591ee3813ad50
+SIZE (rust/crates/ascii-0.7.1.crate) = 13273
+SHA256 (rust/crates/atty-0.2.13.crate) = 1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90
+SIZE (rust/crates/atty-0.2.13.crate) = 4764
+SHA256 (rust/crates/autocfg-0.1.6.crate) = b671c8fb71b457dd4ae18c4ba1e59aa81793daacc361d82fcd410cef0d491875
+SIZE (rust/crates/autocfg-0.1.6.crate) = 11439
+SHA256 (rust/crates/backtrace-0.3.38.crate) = 690a62be8920ccf773ee00ef0968649b0e724cda8bd5b12286302b4ae955fdf5
+SIZE (rust/crates/backtrace-0.3.38.crate) = 68133
+SHA256 (rust/crates/backtrace-sys-0.1.31.crate) = 82a830b4ef2d1124a711c71d263c5abdc710ef8e907bd508c88be475cebc422b
+SIZE (rust/crates/backtrace-sys-0.1.31.crate) = 518877
+SHA256 (rust/crates/bitflags-1.2.0.crate) = 8a606a02debe2813760609f57a64a2ffd27d9fdf5b2f133eaca0b248dd92cdd2
+SIZE (rust/crates/bitflags-1.2.0.crate) = 16814
+SHA256 (rust/crates/byteorder-1.3.2.crate) = a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5
+SIZE (rust/crates/byteorder-1.3.2.crate) = 21596
+SHA256 (rust/crates/c2-chacha-0.2.2.crate) = 7d64d04786e0f528460fc884753cf8dddcc466be308f6026f8e355c41a0e4101
+SIZE (rust/crates/c2-chacha-0.2.2.crate) = 13766
+SHA256 (rust/crates/cast-0.2.2.crate) = 926013f2860c46252efceabb19f4a6b308197505082c609025aa6706c011d427
+SIZE (rust/crates/cast-0.2.2.crate) = 10318
+SHA256 (rust/crates/cc-1.0.45.crate) = 4fc9a35e1f4290eb9e5fc54ba6cf40671ed2a2514c3eeb2b2a908dda2ea5a1be
+SIZE (rust/crates/cc-1.0.45.crate) = 49112
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/clap-2.33.0.crate) = 5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9
+SIZE (rust/crates/clap-2.33.0.crate) = 196458
+SHA256 (rust/crates/combine-2.5.2.crate) = 1645a65a99c7c8d345761f4b75a6ffe5be3b3b27a93ee731fccc5050ba6be97c
+SIZE (rust/crates/combine-2.5.2.crate) = 61092
+SHA256 (rust/crates/ctrlc-3.1.3.crate) = c7dfd2d8b4c82121dfdff120f818e09fc4380b0b7e17a742081a89b94853e87f
+SIZE (rust/crates/ctrlc-3.1.3.crate) = 11792
+SHA256 (rust/crates/either-1.5.3.crate) = bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3
+SIZE (rust/crates/either-1.5.3.crate) = 12278
+SHA256 (rust/crates/encoding_rs-0.8.20.crate) = 87240518927716f79692c2ed85bfe6e98196d18c6401ec75355760233a7e12e9
+SIZE (rust/crates/encoding_rs-0.8.20.crate) = 1403599
+SHA256 (rust/crates/enum_primitive-0.1.1.crate) = be4551092f4d519593039259a9ed8daedf0da12e5109c5280338073eaeb81180
+SIZE (rust/crates/enum_primitive-0.1.1.crate) = 4186
+SHA256 (rust/crates/error-chain-0.10.0.crate) = d9435d864e017c3c6afeac1654189b06cdb491cf2ff73dbf0d73b0f292f42ff8
+SIZE (rust/crates/error-chain-0.10.0.crate) = 18432
+SHA256 (rust/crates/failure-0.1.5.crate) = 795bd83d3abeb9220f257e597aa0080a508b27533824adf336529648f6abf7e2
+SIZE (rust/crates/failure-0.1.5.crate) = 36749
+SHA256 (rust/crates/failure_derive-0.1.5.crate) = ea1063915fd7ef4309e222a5a07cf9c319fb9c7836b1f89b85458672dbb127e1
+SIZE (rust/crates/failure_derive-0.1.5.crate) = 4884
+SHA256 (rust/crates/getrandom-0.1.12.crate) = 473a1265acc8ff1e808cd0a1af8cee3c2ee5200916058a2ca113c29f2d903571
+SIZE (rust/crates/getrandom-0.1.12.crate) = 23809
+SHA256 (rust/crates/image-0.13.0.crate) = 1c3f4f5ea213ed9899eca760a8a14091d4b82d33e27cf8ced336ff730e9f6da8
+SIZE (rust/crates/image-0.13.0.crate) = 95122
+SHA256 (rust/crates/itertools-0.8.0.crate) = 5b8467d9c1cebe26feb08c640139247fac215782d35371ade9a2136ed6085358
+SIZE (rust/crates/itertools-0.8.0.crate) = 78917
+SHA256 (rust/crates/itoa-0.4.4.crate) = 501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f
+SIZE (rust/crates/itoa-0.4.4.crate) = 11147
+SHA256 (rust/crates/lazy_static-0.2.11.crate) = 76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73
+SIZE (rust/crates/lazy_static-0.2.11.crate) = 12361
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.62.crate) = 34fcd2c08d2f832f376f4173a231990fa5aef4e99fb569867318a227ef4c06ba
+SIZE (rust/crates/libc-0.2.62.crate) = 433193
+SHA256 (rust/crates/log-0.3.9.crate) = e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b
+SIZE (rust/crates/log-0.3.9.crate) = 16686
+SHA256 (rust/crates/log-0.4.8.crate) = 14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7
+SIZE (rust/crates/log-0.4.8.crate) = 31297
+SHA256 (rust/crates/memchr-2.2.1.crate) = 88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e
+SIZE (rust/crates/memchr-2.2.1.crate) = 20862
+SHA256 (rust/crates/nix-0.14.1.crate) = 6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce
+SIZE (rust/crates/nix-0.14.1.crate) = 185227
+SHA256 (rust/crates/nom-2.1.0.crate) = e5d4598834859fedb9a0a69d5b862a970e77982a92f544d547257a4d49469067
+SIZE (rust/crates/nom-2.1.0.crate) = 93192
+SHA256 (rust/crates/num-integer-0.1.41.crate) = b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09
+SIZE (rust/crates/num-integer-0.1.41.crate) = 19399
+SHA256 (rust/crates/num-iter-0.1.39.crate) = 76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e
+SIZE (rust/crates/num-iter-0.1.39.crate) = 9616
+SHA256 (rust/crates/num-rational-0.1.42.crate) = ee314c74bd753fc86b4780aa9475da469155f3848473a261d2d18e35245a784e
+SIZE (rust/crates/num-rational-0.1.42.crate) = 17253
+SHA256 (rust/crates/num-traits-0.1.43.crate) = 92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31
+SIZE (rust/crates/num-traits-0.1.43.crate) = 7659
+SHA256 (rust/crates/num-traits-0.2.8.crate) = 6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32
+SIZE (rust/crates/num-traits-0.2.8.crate) = 39965
+SHA256 (rust/crates/num_cpus-1.10.1.crate) = bcef43580c035376c0705c42792c294b66974abbfd2789b511784023f71f3273
+SIZE (rust/crates/num_cpus-1.10.1.crate) = 11151
+SHA256 (rust/crates/numtoa-0.1.0.crate) = b8f8bdf33df195859076e54ab11ee78a1b208382d3a26ec40d142ffc1ecc49ef
+SIZE (rust/crates/numtoa-0.1.0.crate) = 8999
+SHA256 (rust/crates/pbr-1.0.2.crate) = 4403eb718d70c03ee279e51737782902c68cca01e870a33b6a2f9dfb50b9cd83
+SIZE (rust/crates/pbr-1.0.2.crate) = 3756259
+SHA256 (rust/crates/ppv-lite86-0.2.5.crate) = e3cbf9f658cdb5000fcf6f362b8ea2ba154b9f146a61c7a20d647034c6b6561b
+SIZE (rust/crates/ppv-lite86-0.2.5.crate) = 20606
+SHA256 (rust/crates/proc-macro2-0.4.30.crate) = cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759
+SIZE (rust/crates/proc-macro2-0.4.30.crate) = 34731
+SHA256 (rust/crates/proc-macro2-1.0.4.crate) = afdc77cc74ec70ed262262942ebb7dac3d479e9e5cfa2da1841c0806f6cdabcc
+SIZE (rust/crates/proc-macro2-1.0.4.crate) = 35217
+SHA256 (rust/crates/quote-0.6.13.crate) = 6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1
+SIZE (rust/crates/quote-0.6.13.crate) = 17475
+SHA256 (rust/crates/quote-1.0.2.crate) = 053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe
+SIZE (rust/crates/quote-1.0.2.crate) = 23023
+SHA256 (rust/crates/rand-0.7.2.crate) = 3ae1b169243eaf61759b8475a998f0a385e42042370f3a7dbaf35246eacc8412
+SIZE (rust/crates/rand-0.7.2.crate) = 111438
+SHA256 (rust/crates/rand_chacha-0.2.1.crate) = 03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853
+SIZE (rust/crates/rand_chacha-0.2.1.crate) = 11475
+SHA256 (rust/crates/rand_core-0.5.1.crate) = 90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19
+SIZE (rust/crates/rand_core-0.5.1.crate) = 21116
+SHA256 (rust/crates/rand_hc-0.2.0.crate) = ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c
+SIZE (rust/crates/rand_hc-0.2.0.crate) = 11670
+SHA256 (rust/crates/redox_syscall-0.1.56.crate) = 2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84
+SIZE (rust/crates/redox_syscall-0.1.56.crate) = 17117
+SHA256 (rust/crates/redox_termios-0.1.1.crate) = 7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76
+SIZE (rust/crates/redox_termios-0.1.1.crate) = 3227
+SHA256 (rust/crates/regex-0.2.11.crate) = 9329abc99e39129fcceabd24cf5d85b4671ef7c29c50e972bc5afe32438ec384
+SIZE (rust/crates/regex-0.2.11.crate) = 209507
+SHA256 (rust/crates/regex-syntax-0.5.6.crate) = 7d707a4fa2637f2dca2ef9fd02225ec7661fe01a53623c1e6515b6916511f7a7
+SIZE (rust/crates/regex-syntax-0.5.6.crate) = 233912
+SHA256 (rust/crates/rmp-0.8.8.crate) = 0f594cb7ff8f1c5a7907f6be91f15795c8301e0d5718eb007fb5832723dd716e
+SIZE (rust/crates/rmp-0.8.8.crate) = 23462
+SHA256 (rust/crates/rmp-serde-0.14.0.crate) = 4a31c0798045f039ace94e0166f76478b3ba83116ec7c9d4bc934c5b13b8df21
+SIZE (rust/crates/rmp-serde-0.14.0.crate) = 21215
+SHA256 (rust/crates/rustc-demangle-0.1.16.crate) = 4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783
+SIZE (rust/crates/rustc-demangle-0.1.16.crate) = 19137
+SHA256 (rust/crates/ryu-1.0.0.crate) = c92464b447c0ee8c4fb3824ecc8383b81717b9f1e74ba2e72540aef7b9f82997
+SIZE (rust/crates/ryu-1.0.0.crate) = 40170
+SHA256 (rust/crates/safemem-0.2.0.crate) = e27a8b19b835f7aea908818e871f5cc3a5a186550c30773be987e155e8163d8f
+SIZE (rust/crates/safemem-0.2.0.crate) = 6450
+SHA256 (rust/crates/serde-1.0.101.crate) = 9796c9b7ba2ffe7a9ce53c2287dfc48080f4b2b362fcc245a259b3a7201119dd
+SIZE (rust/crates/serde-1.0.101.crate) = 73115
+SHA256 (rust/crates/serde_derive-1.0.101.crate) = 4b133a43a1ecd55d4086bd5b4dc6c1751c68b1bfbeba7a5040442022c7e7c02e
+SIZE (rust/crates/serde_derive-1.0.101.crate) = 49736
+SHA256 (rust/crates/serde_json-1.0.40.crate) = 051c49229f282f7c6f3813f8286cc1e3323e8051823fce42c7ea80fe13521704
+SIZE (rust/crates/serde_json-1.0.40.crate) = 69695
+SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
+SIZE (rust/crates/strsim-0.8.0.crate) = 9309
+SHA256 (rust/crates/subparse-0.6.2.crate) = 85df9a5e6faca000b0e892aeaa0d899569b568eb744a4054bd3ea1d4831d0039
+SIZE (rust/crates/subparse-0.6.2.crate) = 31142
+SHA256 (rust/crates/syn-0.15.44.crate) = 9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5
+SIZE (rust/crates/syn-0.15.44.crate) = 184212
+SHA256 (rust/crates/syn-1.0.5.crate) = 66850e97125af79138385e9b88339cbcd037e3f28ceab8c5ad98e64f0f1f80bf
+SIZE (rust/crates/syn-1.0.5.crate) = 190286
+SHA256 (rust/crates/synstructure-0.10.2.crate) = 02353edf96d6e4dc81aea2d8490a7e9db177bf8acb0e951c24940bf866cb313f
+SIZE (rust/crates/synstructure-0.10.2.crate) = 17988
+SHA256 (rust/crates/termion-1.5.3.crate) = 6a8fb22f7cde82c8220e5aeacb3258ed7ce996142c77cba193f203515e26c330
+SIZE (rust/crates/termion-1.5.3.crate) = 22080
+SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
+SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
+SHA256 (rust/crates/thread_local-0.3.6.crate) = c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b
+SIZE (rust/crates/thread_local-0.3.6.crate) = 12388
+SHA256 (rust/crates/threadpool-1.7.1.crate) = e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865
+SIZE (rust/crates/threadpool-1.7.1.crate) = 15756
+SHA256 (rust/crates/time-0.1.42.crate) = db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f
+SIZE (rust/crates/time-0.1.42.crate) = 30005
+SHA256 (rust/crates/ucd-util-0.1.5.crate) = fa9b3b49edd3468c0e6565d85783f51af95212b6fa3986a5500954f00b460874
+SIZE (rust/crates/ucd-util-0.1.5.crate) = 26284
+SHA256 (rust/crates/unicode-width-0.1.6.crate) = 7007dbd421b92cc6e28410fe7362e2e0a2503394908f417b68ec8d1c364c4e20
+SIZE (rust/crates/unicode-width-0.1.6.crate) = 16394
+SHA256 (rust/crates/unicode-xid-0.1.0.crate) = fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc
+SIZE (rust/crates/unicode-xid-0.1.0.crate) = 16000
+SHA256 (rust/crates/unicode-xid-0.2.0.crate) = 826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c
+SIZE (rust/crates/unicode-xid-0.2.0.crate) = 14994
+SHA256 (rust/crates/utf8-ranges-1.0.4.crate) = b4ae116fef2b7fea257ed6440d3cfcff7f190865f170cdad00bb6465bf18ecba
+SIZE (rust/crates/utf8-ranges-1.0.4.crate) = 8575
+SHA256 (rust/crates/vec_map-0.8.1.crate) = 05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a
+SIZE (rust/crates/vec_map-0.8.1.crate) = 14959
+SHA256 (rust/crates/vobsub-0.2.3.crate) = aa122d660e26d9b6aa8f3436304b667ec81cbc0d48a5d19640d7e55ca8eac812
+SIZE (rust/crates/vobsub-0.2.3.crate) = 17920
+SHA256 (rust/crates/void-1.0.2.crate) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d
+SIZE (rust/crates/void-1.0.2.crate) = 2356
+SHA256 (rust/crates/wasi-0.7.0.crate) = b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d
+SIZE (rust/crates/wasi-0.7.0.crate) = 33941
+SHA256 (rust/crates/webrtc-vad-0.4.0.crate) = 39a1e40fd6ca90be95459152a2537f2ba4286ee1b13073f7ebcaa74fc94e3008
+SIZE (rust/crates/webrtc-vad-0.4.0.crate) = 944774
+SHA256 (rust/crates/winapi-0.3.8.crate) = 8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6
+SIZE (rust/crates/winapi-0.3.8.crate) = 1128308
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (kaegi-alass-v2.0.0_GH0.tar.gz) = ce88f92c7a427b623edcabb1b64e80be70cca2777f3da4b96702820a6cdf1e26
+SIZE (kaegi-alass-v2.0.0_GH0.tar.gz) = 3999274
diff --git a/multimedia/alass/files/patch-powerpc b/multimedia/alass/files/patch-powerpc
new file mode 100644
index 000000000000..1b92066ac900
--- /dev/null
+++ b/multimedia/alass/files/patch-powerpc
@@ -0,0 +1,62 @@
+--- cargo-crates/libc-0.2.62/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2020-03-17 20:35:43 UTC
++++ cargo-crates/libc-0.2.62/src/unix/bsd/freebsdlike/freebsd/mod.rs
+@@ -1486,6 +1486,9 @@ cfg_if! {
+ } else if #[cfg(target_arch = "powerpc64")] {
+ mod powerpc64;
+ pub use self::powerpc64::*;
++ } else if #[cfg(target_arch = "powerpc")] {
++ mod powerpc;
++ pub use self::powerpc::*;
+ } else {
+ // Unknown target_arch
+ }
+--- cargo-crates/libc-0.2.62/src/unix/bsd/freebsdlike/freebsd/powerpc.rs.orig 2021-06-23 22:40:24 UTC
++++ cargo-crates/libc-0.2.62/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
+@@ -0,0 +1,47 @@
++pub type c_char = u8;
++pub type c_long = i32;
++pub type c_ulong = u32;
++pub type wchar_t = i32;
++pub type time_t = i64;
++pub type suseconds_t = i32;
++pub type register_t = i32;
++
++s! {
++ pub struct stat {
++ pub st_dev: ::dev_t,
++ pub st_ino: ::ino_t,
++ pub st_mode: ::mode_t,
++ pub st_nlink: ::nlink_t,
++ pub st_uid: ::uid_t,
++ pub st_gid: ::gid_t,
++ pub st_rdev: ::dev_t,
++ pub st_atime: ::time_t,
++ pub st_atime_nsec: ::c_long,
++ pub st_mtime: ::time_t,
++ pub st_mtime_nsec: ::c_long,
++ pub st_ctime: ::time_t,
++ pub st_ctime_nsec: ::c_long,
++ pub st_size: ::off_t,
++ pub st_blocks: ::blkcnt_t,
++ pub st_blksize: ::blksize_t,
++ pub st_flags: ::fflags_t,
++ pub st_gen: u32,
++ pub st_lspare: i32,
++ pub st_birthtime: ::time_t,
++ pub st_birthtime_nsec: ::c_long,
++ }
++}
++
++// should be pub(crate), but that requires Rust 1.18.0
++cfg_if! {
++ if #[cfg(libc_const_size_of)] {
++ #[doc(hidden)]
++ pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1;
++ } else {
++ #[doc(hidden)]
++ pub const _ALIGNBYTES: usize = 4 - 1;
++ }
++}
++
++pub const MAP_32BIT: ::c_int = 0x00080000;
++pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4
diff --git a/multimedia/alass/pkg-descr b/multimedia/alass/pkg-descr
new file mode 100644
index 000000000000..86f3885a6a61
--- /dev/null
+++ b/multimedia/alass/pkg-descr
@@ -0,0 +1,13 @@
+alass is a command line tool to synchronize subtitles to movies.
+
+It can automatically correct
+- constant offsets
+- splits due to advertisement breaks, directors cut, ...
+- different framerates
+
+The alignment process is not only fast and
+accurate, but also language-agnostic. This means
+you can align subtitles to movies in different
+languages.
+
+'alass' stands for "Automatic Language-Agnostic Subtitle Synchronization".
diff --git a/multimedia/aom/Makefile b/multimedia/aom/Makefile
index 48a1f3bccb5c..8935222ca332 100644
--- a/multimedia/aom/Makefile
+++ b/multimedia/aom/Makefile
@@ -1,14 +1,12 @@
PORTNAME= aom
-DISTVERSIONPREFIX= v
-DISTVERSION= 3.3.0
-PORTREVISION= 1
+DISTVERSION= 3.8.2
CATEGORIES= multimedia
-
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= b389ce89bdb6.patch:-p1 # unbreak JXL
+MASTER_SITES= https://storage.googleapis.com/${PORTNAME}-releases/
+DISTNAME= lib${PORTNAME}-${DISTVERSION}
MAINTAINER= jbeich@FreeBSD.org
COMMENT= AV1 reference encoder/decoder
+WWW= https://aomedia.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,15 +16,14 @@ BUILD_DEPENDS_amd64= nasm:devel/nasm
BUILD_DEPENDS_i386= nasm:devel/nasm
USES= cmake compiler:c++11-lib perl5
-USE_GITHUB= yes
USE_PERL5= build
USE_LDCONFIG= yes
-GH_ACCOUNT= jbeich # mirror
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= ENABLE_DOCS ENABLE_TESTS
OPTIONS_DEFINE= JXL VMAF
OPTIONS_DEFAULT=JXL VMAF
+OPTIONS_EXCLUDE=JXL # https://bugs.chromium.org/p/aomedia/issues/detail?id=3457
JXL_DESC= Encoding tuning for Butteraugli
JXL_LIB_DEPENDS= libjxl.so:graphics/libjxl
diff --git a/multimedia/aom/distinfo b/multimedia/aom/distinfo
index 5b86847f970c..7805b30e6188 100644
--- a/multimedia/aom/distinfo
+++ b/multimedia/aom/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1644909642
-SHA256 (jbeich-aom-v3.3.0_GH0.tar.gz) = 298ced1f5aeed8f7c4e21138eeb646b19486e9c6e2d711640f4ae5822ad330c1
-SIZE (jbeich-aom-v3.3.0_GH0.tar.gz) = 4768166
-SHA256 (b389ce89bdb6.patch) = ce109a4b912c4400a46f09532bf3c059c3a661100cb85b8ae80d22ba64af8875
-SIZE (b389ce89bdb6.patch) = 2392
+TIMESTAMP = 1709943112
+SHA256 (libaom-3.8.2.tar.gz) = 98f7d6d7ddbf06d088735f5e51782df053fd1b08c553882c2924bd0b2021a202
+SIZE (libaom-3.8.2.tar.gz) = 5455275
diff --git a/multimedia/aom/files/patch-CMakeLists.txt b/multimedia/aom/files/patch-CMakeLists.txt
index 175de31849f0..91b299b29a9d 100644
--- a/multimedia/aom/files/patch-CMakeLists.txt
+++ b/multimedia/aom/files/patch-CMakeLists.txt
@@ -1,14 +1,15 @@
- Drop unused static libhwy dependency when using shared libjxl
---- CMakeLists.txt.orig 2021-10-13 17:24:39 UTC
+--- CMakeLists.txt.orig 2022-06-16 19:13:50 UTC
+++ CMakeLists.txt
-@@ -525,12 +525,6 @@ if(CONFIG_AV1_ENCODER)
+@@ -565,13 +565,6 @@ if(CONFIG_AV1_ENCODER)
if(LIBJXL_CFLAGS)
append_compiler_flag("${LIBJXL_CFLAGS}")
endif()
- pkg_check_modules(LIBHWY REQUIRED libhwy)
- target_link_libraries(aom PRIVATE ${LIBHWY_LDFLAGS} ${LIBHWY_LIBRARIES})
-- target_include_directories(aom PRIVATE ${LIBLIBHWY_INCLUDE_DIRS})
+- target_include_directories(aom_dsp_encoder
+- PRIVATE ${LIBLIBHWY_INCLUDE_DIRS})
- if(LIBHWY_CFLAGS)
- append_compiler_flag("${LIBHWY_CFLAGS}")
- endif()
diff --git a/multimedia/aom/files/patch-aom__ports_aarch32__cpudetect.c b/multimedia/aom/files/patch-aom__ports_aarch32__cpudetect.c
new file mode 100644
index 000000000000..f73ebb24b13c
--- /dev/null
+++ b/multimedia/aom/files/patch-aom__ports_aarch32__cpudetect.c
@@ -0,0 +1,39 @@
+- Assume NEON is enabled on armv7
+- Implement runtime detection on FreeBSD
+
+--- aom_ports/aarch32_cpudetect.c.orig 2023-11-30 23:18:12 UTC
++++ aom_ports/aarch32_cpudetect.c
+@@ -12,7 +12,7 @@
+
+ #include "arm_cpudetect.h"
+
+-#if !CONFIG_RUNTIME_CPU_DETECT
++#if !CONFIG_RUNTIME_CPU_DETECT || defined(__ARM_NEON)
+
+ static int arm_get_cpu_caps(void) {
+ // This function should actually be a no-op. There is no way to adjust any of
+@@ -55,9 +55,23 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
+
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/multimedia/aom/files/patch-aom__ports_aarch64__cpudetect.c b/multimedia/aom/files/patch-aom__ports_aarch64__cpudetect.c
new file mode 100644
index 000000000000..41f34b516c23
--- /dev/null
+++ b/multimedia/aom/files/patch-aom__ports_aarch64__cpudetect.c
@@ -0,0 +1,29 @@
+- Implement runtime detection on FreeBSD
+
+--- aom_ports/aarch64_cpudetect.c.orig 2023-11-30 23:18:12 UTC
++++ aom_ports/aarch64_cpudetect.c
+@@ -95,9 +95,23 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
+
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/multimedia/aom/files/patch-aom__ports_arm__cpudetect.c b/multimedia/aom/files/patch-aom__ports_arm__cpudetect.c
deleted file mode 100644
index c8bce475ce5e..000000000000
--- a/multimedia/aom/files/patch-aom__ports_arm__cpudetect.c
+++ /dev/null
@@ -1,41 +0,0 @@
-- Assume NEON is enabled on aarch64
-- Implement NEON runtime detection on FreeBSD
-
---- aom_ports/arm_cpudetect.c.orig 2021-10-01 00:23:06 UTC
-+++ aom_ports/arm_cpudetect.c
-@@ -38,7 +38,7 @@ static int arm_cpu_env_mask(void) {
- return env && *env ? (int)strtol(env, NULL, 0) : ~0;
- }
-
--#if !CONFIG_RUNTIME_CPU_DETECT || defined(__APPLE__)
-+#if !CONFIG_RUNTIME_CPU_DETECT || defined(__ARM_NEON) || defined(__APPLE__)
-
- int aom_arm_cpu_caps(void) {
- /* This function should actually be a no-op. There is no way to adjust any of
-@@ -143,7 +143,25 @@ int aom_arm_cpu_caps(void) {
- }
- return flags & mask;
- }
--#else /* end __linux__ */
-+#elif defined(__FreeBSD__)
-+
-+#include <sys/auxv.h>
-+
-+int aom_arm_cpu_caps(void) {
-+ int flags;
-+ int mask;
-+ u_long hwcap = 0;
-+ if (!arm_cpu_env_flags(&flags)) {
-+ return flags;
-+ }
-+ mask = arm_cpu_env_mask();
-+ elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
-+#if HAVE_NEON
-+ if (hwcap & HWCAP_NEON) flags |= HAS_NEON;
-+#endif
-+ return flags & mask;
-+}
-+#else /* end __FreeBSD__ */
- #error \
- "Runtime CPU detection selected, but no CPU detection method " \
- "available for your platform. Rerun cmake with -DCONFIG_RUNTIME_CPU_DETECT=0."
diff --git a/multimedia/aom/files/patch-build_cmake_aom__configure.cmake b/multimedia/aom/files/patch-build_cmake_aom__configure.cmake
index 5b2650ea5d63..4670783ec104 100644
--- a/multimedia/aom/files/patch-build_cmake_aom__configure.cmake
+++ b/multimedia/aom/files/patch-build_cmake_aom__configure.cmake
@@ -1,9 +1,9 @@
- FreeBSD and NetBSD powerpc* targets don't abbreviate to ppc*
- ARM uses compiler intrinsics, so don't require GNU as
---- build/cmake/aom_configure.cmake.orig 2021-02-23 19:51:03 UTC
+--- build/cmake/aom_configure.cmake.orig 2024-01-17 20:24:28 UTC
+++ build/cmake/aom_configure.cmake
-@@ -71,7 +71,7 @@ if(NOT AOM_TARGET_CPU)
+@@ -73,7 +73,7 @@ if(NOT AOM_TARGET_CPU)
set(AOM_TARGET_CPU "${cpu_lowercase}")
elseif(cpu_lowercase MATCHES "aarch64")
set(AOM_TARGET_CPU "arm64")
@@ -12,21 +12,39 @@
set(AOM_TARGET_CPU "ppc")
else()
message(WARNING "The architecture ${CMAKE_SYSTEM_PROCESSOR} is not "
-@@ -159,17 +159,6 @@ elseif(AOM_TARGET_CPU MATCHES "arm")
- if(NOT AS_EXECUTABLE)
- set(AS_EXECUTABLE as)
- endif()
+@@ -181,35 +181,6 @@ if(AOM_TARGET_CPU STREQUAL "x86" OR AOM_TARGET_CPU STR
+ "To build without optimizations, add -DAOM_TARGET_CPU=generic to "
+ "your cmake command line.")
+ endif()
+- string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS)
+-elseif(AOM_TARGET_CPU MATCHES "arm")
+- if(AOM_TARGET_SYSTEM STREQUAL "Darwin")
+- if(NOT CMAKE_ASM_COMPILER)
+- set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER})
+- endif()
+- set(AOM_AS_FLAGS -arch ${AOM_TARGET_CPU} -isysroot ${CMAKE_OSX_SYSROOT})
+- elseif(AOM_TARGET_SYSTEM STREQUAL "Windows")
+- if(NOT CMAKE_ASM_COMPILER)
+- set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER} -c -mimplicit-it=always)
+- endif()
+- else()
+- if(NOT CMAKE_ASM_COMPILER)
+- set(CMAKE_ASM_COMPILER as)
+- endif()
- endif()
-- find_program(as_executable_found ${AS_EXECUTABLE})
-- if(NOT as_executable_found)
+- include(CheckLanguage)
+- check_language(ASM)
+- if(NOT CMAKE_ASM_COMPILER)
- message(
- FATAL_ERROR
- "Unable to find assembler and optimizations are enabled."
-- "Searched for ${AS_EXECUTABLE}. Install it, add it to your path, or "
-- "set the assembler directly by adding -DAS_EXECUTABLE=<assembler path> "
-- "to your CMake command line."
+- "Searched for ${CMAKE_ASM_COMPILER}. Install it, add it to your path,"
+- "or set the assembler directly by adding "
+- "-DCMAKE_ASM_COMPILER=<assembler path> to your CMake command line."
- "To build without optimizations, add -DAOM_TARGET_CPU=generic to your "
- "cmake command line.")
- endif()
+- endif()
+- enable_language(ASM)
string(STRIP "${AOM_AS_FLAGS}" AOM_AS_FLAGS)
endif()
+
diff --git a/multimedia/aom/files/patch-build_cmake_cpu.cmake b/multimedia/aom/files/patch-build_cmake_cpu.cmake
index 26fe6890c69c..92353162f0a3 100644
--- a/multimedia/aom/files/patch-build_cmake_cpu.cmake
+++ b/multimedia/aom/files/patch-build_cmake_cpu.cmake
@@ -1,13 +1,13 @@
- Don't enable NEON on armv6 similar to build/cmake/rtcd.pl
---- build/cmake/cpu.cmake.orig 2018-11-16 20:24:20 UTC
+--- build/cmake/cpu.cmake.orig 2023-11-30 23:18:12 UTC
+++ build/cmake/cpu.cmake
-@@ -9,7 +9,7 @@
- # can obtain it at www.aomedia.org/license/patent.
- #
+@@ -61,7 +61,7 @@ if("${AOM_TARGET_CPU}" STREQUAL "arm64")
+ endif()
+ endforeach()
--if("${AOM_TARGET_CPU}" MATCHES "^arm")
-+if("${AOM_TARGET_CPU}" MATCHES "^arm" AND NOT "${AOM_TARGET_CPU}" MATCHES "^armv6")
- set(ARCH_ARM 1)
+-elseif("${AOM_TARGET_CPU}" MATCHES "^arm")
++elseif("${AOM_TARGET_CPU}" MATCHES "^arm" AND NOT "${AOM_TARGET_CPU}" MATCHES "^armv6")
+ set(AOM_ARCH_ARM 1)
set(RTCD_ARCH_ARM "yes")
diff --git a/multimedia/aom/files/patch-build_cmake_pkg__config.cmake b/multimedia/aom/files/patch-build_cmake_pkg__config.cmake
new file mode 100644
index 000000000000..6fcc7a9a5e01
--- /dev/null
+++ b/multimedia/aom/files/patch-build_cmake_pkg__config.cmake
@@ -0,0 +1,13 @@
+- Limit internal dependencies to static library
+
+--- build/cmake/pkg_config.cmake.orig 2022-06-17 17:46:18 UTC
++++ build/cmake/pkg_config.cmake
+@@ -51,7 +51,7 @@ file(APPEND "${pkgconfig_file}" "Version: ${package_ve
+ APPEND "${pkgconfig_file}"
+ "Description: Alliance for Open Media AV1 codec library v${aom_version}.\n")
+ file(APPEND "${pkgconfig_file}" "Version: ${package_version}\n")
+-file(APPEND "${pkgconfig_file}" "Requires:")
++file(APPEND "${pkgconfig_file}" "Requires.private:")
+ if(CONFIG_TUNE_VMAF)
+ file(APPEND "${pkgconfig_file}" " libvmaf")
+ endif()
diff --git a/multimedia/aom/pkg-descr b/multimedia/aom/pkg-descr
index 77aca114e4ee..e2dbb3553b1a 100644
--- a/multimedia/aom/pkg-descr
+++ b/multimedia/aom/pkg-descr
@@ -3,5 +3,3 @@ designed for video transmissions over the Internet. It is being
developed by the Alliance for Open Media (AOMedia), a consortium of
firms from the semiconductor industry, video on demand providers, and
web browser developers, founded in 2015.
-
-WWW: https://aomedia.org/
diff --git a/multimedia/aom/pkg-plist b/multimedia/aom/pkg-plist
index 88f645191596..c2984851035b 100644
--- a/multimedia/aom/pkg-plist
+++ b/multimedia/aom/pkg-plist
@@ -13,5 +13,5 @@ include/aom/aomdx.h
lib/libaom.a
lib/libaom.so
lib/libaom.so.3
-lib/libaom.so.3.3.0
+lib/libaom.so.3.8.2
libdata/pkgconfig/aom.pc
diff --git a/multimedia/aravis/Makefile b/multimedia/aravis/Makefile
index ff27b155fef1..47b4ccf8dae8 100644
--- a/multimedia/aravis/Makefile
+++ b/multimedia/aravis/Makefile
@@ -1,11 +1,11 @@
-# Created by: Rozhuk Ivan rozhuk.im@gmail.com
-
PORTNAME= aravis
DISTVERSION= 0.8.20
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Camera control and image acquisition viewer
+WWW= https://github.com/AravisProject/aravis
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/aravis/pkg-descr b/multimedia/aravis/pkg-descr
index f270a746684a..d8d5ecb87e1a 100644
--- a/multimedia/aravis/pkg-descr
+++ b/multimedia/aravis/pkg-descr
@@ -4,5 +4,3 @@ 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.
-
-WWW: https://github.com/AravisProject/aravis
diff --git a/multimedia/arcan/Makefile b/multimedia/arcan/Makefile
index 93c93ca207d9..0650a2a7a811 100644
--- a/multimedia/arcan/Makefile
+++ b/multimedia/arcan/Makefile
@@ -1,9 +1,11 @@
PORTNAME= arcan
-DISTVERSION= 0.6.1
+DISTVERSION= 0.6.3
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Display Server, Multimedia Framework, Game Engine
+WWW= https://arcan-fe.com/
LICENSE= BSD3CLAUSE GPLv2+ LGPL21+
LICENSE_COMB= multi
@@ -25,7 +27,9 @@ WRKSRC_SUBDIR= src
CMAKE_ON= HYBRID_HEADLESS
CMAKE_OFF= STATIC_LIBUVC
CMAKE_ARGS= -DDISTR_TAG:STRING="portbld" \
- -DENGINE_BUILDTAG:STRING="${DISTVERSIONFULL}"
+ -DENGINE_BUILDTAG:STRING="${DISTVERSIONFULL}" \
+ -DMAN_DEST=share/man/man1 \
+ -DAPIMAN_DEST=share/man/man3
LDFLAGS+= -Wl,--as-needed # bzip2, ffmpeg, librt, libutil, lzma, zlib
LDFLAGS_i386= -Wl,-z,notext
@@ -33,16 +37,13 @@ OPTIONS_DEFINE= ESPEAK FFMPEG LUAJIT MANPAGES SDL SUID TESSERACT UVC VLC VNC WAY
OPTIONS_DEFAULT=ESPEAK FFMPEG LUAJIT MANPAGES SDL SUID TESSERACT UVC VLC VNC WAYLAND
OPTIONS_SUB= yes
-ESPEAK_DESC= Text to speech via eSpeak
-ESPEAK_LIB_DEPENDS= libespeak.so:audio/espeak
-
+ESPEAK_LIB_DEPENDS= libespeak-ng.so:audio/espeak-ng
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-MANPAGES_USE= RUBY=yes
-MANPAGES_VARS= RUBY_NO_RUN_DEPENDS=yes
+MANPAGES_USES= ruby:build
LUAJIT_DESC= Use LuaJIT instead of standard Lua
-LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit-openresty
+LUAJIT_USES= luajit
LUAJIT_USES_OFF= lua:51
LUAJIT_CMAKE_BOOL_OFF= DISABLE_JIT
@@ -67,11 +68,12 @@ UVC_CMAKE_BOOL= FSRV_DECODE_UVC
VNC_DESC= VNC client/server support
VNC_LIB_DEPENDS= libvncserver.so:net/libvncserver
+WAYLAND_CATEGORIES= wayland
WAYLAND_BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-server.so:graphics/wayland \
libxcb-icccm.so:x11/xcb-util-wm \
libxkbcommon.so:x11/libxkbcommon
-WAYLAND_RUN_DEPENDS= xwayland-devel>0:x11-servers/xwayland-devel
+WAYLAND_RUN_DEPENDS= Xwayland:x11-servers/xwayland
WAYLAND_USES= xorg
WAYLAND_USE= XORG=xcb
WAYLAND_CMAKE_BOOL_OFF= DISABLE_WAYLAND
diff --git a/multimedia/arcan/distinfo b/multimedia/arcan/distinfo
index 5a015480d4e0..013debde0762 100644
--- a/multimedia/arcan/distinfo
+++ b/multimedia/arcan/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1637255127
-SHA256 (letoram-arcan-0.6.1_GH0.tar.gz) = ca8a9b82000eef60970901641be1130b19c51a1cc2a17278e2365ca3e3a13551
-SIZE (letoram-arcan-0.6.1_GH0.tar.gz) = 11616998
+TIMESTAMP = 1702944834
+SHA256 (letoram-arcan-0.6.3_GH0.tar.gz) = c62ab2471d0c402d36749701a713689638866f8f24352a90ac82ec191f27e387
+SIZE (letoram-arcan-0.6.3_GH0.tar.gz) = 12139719
diff --git a/multimedia/arcan/files/patch-a12_net_a12__helper__discover.c b/multimedia/arcan/files/patch-a12_net_a12__helper__discover.c
new file mode 100644
index 000000000000..f248704a3cc5
--- /dev/null
+++ b/multimedia/arcan/files/patch-a12_net_a12__helper__discover.c
@@ -0,0 +1,26 @@
+src/a12/net/a12_helper_discover.c:211:23: error: variable has incomplete type 'struct sockaddr_in'
+ struct sockaddr_in caddr;
+ ^
+src/a12/net/a12_helper_discover.c:219:15: error: use of undeclared identifier 'INET6_ADDRSTRLEN'
+ char name[INET6_ADDRSTRLEN];
+ ^
+src/a12/net/a12_helper_discover.c:304:41: error: use of undeclared identifier 'IPPROTO_UDP'
+ int sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ ^
+src/a12/net/a12_helper_discover.c:312:14: warning: implicit declaration of function 'htons' is invalid in C99 [-Wimplicit-function-declaration]
+ .s_addr = htons(INADDR_ANY),
+ ^
+src/a12/net/a12_helper_discover.c:312:20: error: use of undeclared identifier 'INADDR_ANY'
+ .s_addr = htons(INADDR_ANY),
+ ^
+
+--- a12/net/a12_helper_discover.c.orig 2023-12-19 00:13:54 UTC
++++ a12/net/a12_helper_discover.c
+@@ -13,6 +13,7 @@
+ #include <inttypes.h>
+ #include <sys/wait.h>
+ #include <sys/types.h>
++#include <netinet/in.h>
+ #include <sys/socket.h>
+ #include <pthread.h>
+ #include <semaphore.h>
diff --git a/multimedia/arcan/files/patch-a12_net_dir__supp.c b/multimedia/arcan/files/patch-a12_net_dir__supp.c
new file mode 100644
index 000000000000..0dc303c68d60
--- /dev/null
+++ b/multimedia/arcan/files/patch-a12_net_dir__supp.c
@@ -0,0 +1,18 @@
+src/a12/net/dir_supp.c:390:43: error: incompatible function pointer types passing 'int (const FTSENT **, const FTSENT **)' (aka 'int (const struct _ftsent **, const struct _ftsent **)') to parameter of type 'int (*)(const FTSENT *const *, const FTSENT *const *)' (aka 'int (*)(const struct _ftsent *const *, const struct _ftsent *const *)') [-Wincompatible-function-pointer-types]
+ 390 | if (!(fts = fts_open(path, FTS_PHYSICAL, comp_alpha)))
+ | ^~~~~~~~~~
+/usr/include/fts.h:129:12: note: passing argument to parameter here
+ 129 | int (*)(const FTSENT * const *, const FTSENT * const *));
+ | ^
+
+--- a12/net/dir_supp.c.orig 2023-12-19 00:13:54 UTC
++++ a12/net/dir_supp.c
+@@ -189,7 +189,7 @@ FILE* file_to_membuf(FILE* applin, char** out, size_t*
+ return applbuf;
+ }
+
+-static int comp_alpha(const FTSENT** a, const FTSENT** b)
++static int comp_alpha(const FTSENT* const* a, const FTSENT* const* b)
+ {
+ return strcmp((*a)->fts_name, (*b)->fts_name);
+ }
diff --git a/multimedia/arcan/pkg-descr b/multimedia/arcan/pkg-descr
index 4d89ee2103be..cdc681396bc0 100644
--- a/multimedia/arcan/pkg-descr
+++ b/multimedia/arcan/pkg-descr
@@ -6,5 +6,3 @@ At its heart lies a robust and portable multimedia engine, with a well-tested
and well-documented Lua scripting interface. The development emphasizes
security, debuggability and performance -- guided by a principle of least
surprise in terms of API design.
-
-WWW: https://arcan-fe.com/
diff --git a/multimedia/arcan/pkg-plist b/multimedia/arcan/pkg-plist
index ec9c4c402ade..55c580353bf0 100644
--- a/multimedia/arcan/pkg-plist
+++ b/multimedia/arcan/pkg-plist
@@ -32,257 +32,260 @@ lib/libarcan_a12.so
lib/libarcan_a12.so.0.1
lib/libarcan_shmif.a
lib/libarcan_shmif.so
-lib/libarcan_shmif.so.0.14
+lib/libarcan_shmif.so.0.16
lib/libarcan_shmif_ext.so
-lib/libarcan_shmif_ext.so.0.14
+lib/libarcan_shmif_ext.so.0.16
lib/libarcan_shmif_intext.so
-lib/libarcan_shmif_intext.so.0.14
+lib/libarcan_shmif_intext.so.0.16
lib/libarcan_shmif_server.so
-lib/libarcan_shmif_server.so.0.14
+lib/libarcan_shmif_server.so.0.16
lib/libarcan_tui.so
-lib/libarcan_tui.so.0.14
+lib/libarcan_tui.so.0.16
libdata/pkgconfig/arcan-shmif-ext.pc
libdata/pkgconfig/arcan-shmif-srv.pc
libdata/pkgconfig/arcan-shmif-tui.pc
libdata/pkgconfig/arcan-shmif.pc
-%%WAYLAND%%man/man1/arcan-wayland.1.gz
-man/man1/arcan.1.gz
-man/man1/arcan_db.1.gz
-%%MANPAGES%%man/man3/accept_target.3.gz
-%%MANPAGES%%man/man3/add_3dmesh.3.gz
-%%MANPAGES%%man/man3/alloc_surface.3.gz
-%%MANPAGES%%man/man3/appl_arguments.3.gz
-%%MANPAGES%%man/man3/arcan_api_overview.3.gz
-%%MANPAGES%%man/man3/arcantarget_hint.3.gz
-%%MANPAGES%%man/man3/attrtag_model.3.gz
-%%MANPAGES%%man/man3/audio_buffer_size.3.gz
-%%MANPAGES%%man/man3/audio_gain.3.gz
-%%MANPAGES%%man/man3/benchmark_data.3.gz
-%%MANPAGES%%man/man3/benchmark_enable.3.gz
-%%MANPAGES%%man/man3/benchmark_timestamp.3.gz
-%%MANPAGES%%man/man3/benchmark_tracedata.3.gz
-%%MANPAGES%%man/man3/blend_image.3.gz
-%%MANPAGES%%man/man3/bond_target.3.gz
-%%MANPAGES%%man/man3/build_3dbox.3.gz
-%%MANPAGES%%man/man3/build_3dplane.3.gz
-%%MANPAGES%%man/man3/build_cylinder.3.gz
-%%MANPAGES%%man/man3/build_pointcloud.3.gz
-%%MANPAGES%%man/man3/build_shader.3.gz
-%%MANPAGES%%man/man3/build_sphere.3.gz
-%%MANPAGES%%man/man3/camtag_model.3.gz
-%%MANPAGES%%man/man3/capture_audio.3.gz
-%%MANPAGES%%man/man3/center_image.3.gz
-%%MANPAGES%%man/man3/close_rawresource.3.gz
-%%MANPAGES%%man/man3/color_surface.3.gz
-%%MANPAGES%%man/man3/controller_leds.3.gz
-%%MANPAGES%%man/man3/copy_image_transform.3.gz
-%%MANPAGES%%man/man3/copy_surface_properties.3.gz
-%%MANPAGES%%man/man3/crop_image.3.gz
-%%MANPAGES%%man/man3/current_context_usage.3.gz
-%%MANPAGES%%man/man3/cursor_position.3.gz
-%%MANPAGES%%man/man3/cursor_setstorage.3.gz
-%%MANPAGES%%man/man3/decode_modifiers.3.gz
-%%MANPAGES%%man/man3/define_arcantarget.3.gz
-%%MANPAGES%%man/man3/define_calctarget.3.gz
-%%MANPAGES%%man/man3/define_feedtarget.3.gz
-%%MANPAGES%%man/man3/define_linktarget.3.gz
-%%MANPAGES%%man/man3/define_nulltarget.3.gz
-%%MANPAGES%%man/man3/define_recordtarget.3.gz
-%%MANPAGES%%man/man3/define_rendertarget.3.gz
-%%MANPAGES%%man/man3/delete_audio.3.gz
-%%MANPAGES%%man/man3/delete_image.3.gz
-%%MANPAGES%%man/man3/delete_shader.3.gz
-%%MANPAGES%%man/man3/expire_image.3.gz
-%%MANPAGES%%man/man3/fill_surface.3.gz
-%%MANPAGES%%man/man3/finalize_3dmodel.3.gz
-%%MANPAGES%%man/man3/focus_target.3.gz
-%%MANPAGES%%man/man3/force_image_blend.3.gz
-%%MANPAGES%%man/man3/forward3d_model.3.gz
-%%MANPAGES%%man/man3/frameserver_debugstall.3.gz
-%%MANPAGES%%man/man3/get_key.3.gz
-%%MANPAGES%%man/man3/get_keys.3.gz
-%%MANPAGES%%man/man3/glob_resource.3.gz
-%%MANPAGES%%man/man3/hide_image.3.gz
-%%MANPAGES%%man/man3/image_access_storage.3.gz
-%%MANPAGES%%man/man3/image_active_frame.3.gz
-%%MANPAGES%%man/man3/image_children.3.gz
-%%MANPAGES%%man/man3/image_clip_off.3.gz
-%%MANPAGES%%man/man3/image_clip_on.3.gz
-%%MANPAGES%%man/man3/image_color.3.gz
-%%MANPAGES%%man/man3/image_framecyclemode.3.gz
-%%MANPAGES%%man/man3/image_framesetsize.3.gz
-%%MANPAGES%%man/man3/image_get_txcos.3.gz
-%%MANPAGES%%man/man3/image_hit.3.gz
-%%MANPAGES%%man/man3/image_inherit_order.3.gz
-%%MANPAGES%%man/man3/image_loaded.3.gz
-%%MANPAGES%%man/man3/image_mask_clear.3.gz
-%%MANPAGES%%man/man3/image_mask_clearall.3.gz
-%%MANPAGES%%man/man3/image_mask_set.3.gz
-%%MANPAGES%%man/man3/image_mask_toggle.3.gz
-%%MANPAGES%%man/man3/image_matchstorage.3.gz
-%%MANPAGES%%man/man3/image_mipmap.3.gz
-%%MANPAGES%%man/man3/image_origo_offset.3.gz
-%%MANPAGES%%man/man3/image_parent.3.gz
-%%MANPAGES%%man/man3/image_pushasynch.3.gz
-%%MANPAGES%%man/man3/image_resize_storage.3.gz
-%%MANPAGES%%man/man3/image_scale_txcos.3.gz
-%%MANPAGES%%man/man3/image_screen_coordinates.3.gz
-%%MANPAGES%%man/man3/image_set_txcos.3.gz
-%%MANPAGES%%man/man3/image_set_txcos_default.3.gz
-%%MANPAGES%%man/man3/image_shader.3.gz
-%%MANPAGES%%man/man3/image_sharestorage.3.gz
-%%MANPAGES%%man/man3/image_state.3.gz
-%%MANPAGES%%man/man3/image_storage_properties.3.gz
-%%MANPAGES%%man/man3/image_storage_slice.3.gz
-%%MANPAGES%%man/man3/image_surface_initial.3.gz
-%%MANPAGES%%man/man3/image_surface_initial_properties.3.gz
-%%MANPAGES%%man/man3/image_surface_properties.3.gz
-%%MANPAGES%%man/man3/image_surface_resolve.3.gz
-%%MANPAGES%%man/man3/image_surface_resolve_properties.3.gz
-%%MANPAGES%%man/man3/image_tesselation.3.gz
-%%MANPAGES%%man/man3/image_texfilter.3.gz
-%%MANPAGES%%man/man3/image_tracetag.3.gz
-%%MANPAGES%%man/man3/image_transform_cycle.3.gz
-%%MANPAGES%%man/man3/input_capabilities.3.gz
-%%MANPAGES%%man/man3/input_remap_translation.3.gz
-%%MANPAGES%%man/man3/input_samplebase.3.gz
-%%MANPAGES%%man/man3/input_target.3.gz
-%%MANPAGES%%man/man3/inputanalog_filter.3.gz
-%%MANPAGES%%man/man3/inputanalog_query.3.gz
-%%MANPAGES%%man/man3/inputanalog_toggle.3.gz
-%%MANPAGES%%man/man3/instant_image_transform.3.gz
-%%MANPAGES%%man/man3/kbd_repeat.3.gz
-%%MANPAGES%%man/man3/launch_avfeed.3.gz
-%%MANPAGES%%man/man3/launch_decode.3.gz
-%%MANPAGES%%man/man3/launch_target.3.gz
-%%MANPAGES%%man/man3/led_intensity.3.gz
-%%MANPAGES%%man/man3/link_image.3.gz
-%%MANPAGES%%man/man3/list_audio_inputs.3.gz
-%%MANPAGES%%man/man3/list_target_tags.3.gz
-%%MANPAGES%%man/man3/list_targets.3.gz
-%%MANPAGES%%man/man3/load_asample.3.gz
-%%MANPAGES%%man/man3/load_image.3.gz
-%%MANPAGES%%man/man3/load_image_asynch.3.gz
-%%MANPAGES%%man/man3/map_video_display.3.gz
-%%MANPAGES%%man/man3/match_keys.3.gz
-%%MANPAGES%%man/man3/max_current_image_order.3.gz
-%%MANPAGES%%man/man3/mesh_shader.3.gz
-%%MANPAGES%%man/man3/message_target.3.gz
-%%MANPAGES%%man/man3/move3d_model.3.gz
-%%MANPAGES%%man/man3/move_cursor.3.gz
-%%MANPAGES%%man/man3/move_image.3.gz
-%%MANPAGES%%man/man3/net_discover.3.gz
-%%MANPAGES%%man/man3/net_listen.3.gz
-%%MANPAGES%%man/man3/net_open.3.gz
-%%MANPAGES%%man/man3/new_3dmodel.3.gz
-%%MANPAGES%%man/man3/nudge_cursor.3.gz
-%%MANPAGES%%man/man3/nudge_image.3.gz
-%%MANPAGES%%man/man3/null_surface.3.gz
-%%MANPAGES%%man/man3/open_nonblock.3.gz
-%%MANPAGES%%man/man3/open_rawresource.3.gz
-%%MANPAGES%%man/man3/order_image.3.gz
-%%MANPAGES%%man/man3/orient3d_model.3.gz
-%%MANPAGES%%man/man3/pacify_target.3.gz
-%%MANPAGES%%man/man3/persist_image.3.gz
-%%MANPAGES%%man/man3/pick_items.3.gz
-%%MANPAGES%%man/man3/play_audio.3.gz
-%%MANPAGES%%man/man3/pop_video_context.3.gz
-%%MANPAGES%%man/man3/push_video_context.3.gz
-%%MANPAGES%%man/man3/random_surface.3.gz
-%%MANPAGES%%man/man3/raw_surface.3.gz
-%%MANPAGES%%man/man3/read_rawresource.3.gz
-%%MANPAGES%%man/man3/recordtarget_gain.3.gz
-%%MANPAGES%%man/man3/relink_image.3.gz
-%%MANPAGES%%man/man3/render_text.3.gz
-%%MANPAGES%%man/man3/rendertarget_attach.3.gz
-%%MANPAGES%%man/man3/rendertarget_bind.3.gz
-%%MANPAGES%%man/man3/rendertarget_detach.3.gz
-%%MANPAGES%%man/man3/rendertarget_forceupdate.3.gz
-%%MANPAGES%%man/man3/rendertarget_id.3.gz
-%%MANPAGES%%man/man3/rendertarget_metrics.3.gz
-%%MANPAGES%%man/man3/rendertarget_noclear.3.gz
-%%MANPAGES%%man/man3/rendertarget_range.3.gz
-%%MANPAGES%%man/man3/rendertarget_reconfigure.3.gz
-%%MANPAGES%%man/man3/rendertarget_vids.3.gz
-%%MANPAGES%%man/man3/resample_image.3.gz
-%%MANPAGES%%man/man3/reset_image_transform.3.gz
-%%MANPAGES%%man/man3/reset_target.3.gz
-%%MANPAGES%%man/man3/resize_cursor.3.gz
-%%MANPAGES%%man/man3/resize_image.3.gz
-%%MANPAGES%%man/man3/resize_video_canvas.3.gz
-%%MANPAGES%%man/man3/resource.3.gz
-%%MANPAGES%%man/man3/restore_target.3.gz
-%%MANPAGES%%man/man3/resume_target.3.gz
-%%MANPAGES%%man/man3/rotate3d_model.3.gz
-%%MANPAGES%%man/man3/rotate_image.3.gz
-%%MANPAGES%%man/man3/save_screenshot.3.gz
-%%MANPAGES%%man/man3/scale3d_model.3.gz
-%%MANPAGES%%man/man3/scale_3dvertices.3.gz
-%%MANPAGES%%man/man3/scale_image.3.gz
-%%MANPAGES%%man/man3/set_context_attachment.3.gz
-%%MANPAGES%%man/man3/set_image_as_frame.3.gz
-%%MANPAGES%%man/man3/set_led.3.gz
-%%MANPAGES%%man/man3/set_led_rgb.3.gz
-%%MANPAGES%%man/man3/shader_ugroup.3.gz
-%%MANPAGES%%man/man3/shader_uniform.3.gz
-%%MANPAGES%%man/man3/show_image.3.gz
-%%MANPAGES%%man/man3/shutdown.3.gz
-%%MANPAGES%%man/man3/snapshot_target.3.gz
-%%MANPAGES%%man/man3/step3d_model.3.gz
-%%MANPAGES%%man/man3/stepframe_target.3.gz
-%%MANPAGES%%man/man3/store_key.3.gz
-%%MANPAGES%%man/man3/storepop_video_context.3.gz
-%%MANPAGES%%man/man3/storepush_video_context.3.gz
-%%MANPAGES%%man/man3/strafe3d_model.3.gz
-%%MANPAGES%%man/man3/subsystem_reset.3.gz
-%%MANPAGES%%man/man3/suspend_target.3.gz
-%%MANPAGES%%man/man3/switch_default_blendmode.3.gz
-%%MANPAGES%%man/man3/switch_default_imageproc.3.gz
-%%MANPAGES%%man/man3/switch_default_scalemode.3.gz
-%%MANPAGES%%man/man3/switch_default_texfilter.3.gz
-%%MANPAGES%%man/man3/switch_default_texmode.3.gz
-%%MANPAGES%%man/man3/swizzle_model.3.gz
-%%MANPAGES%%man/man3/system_collapse.3.gz
-%%MANPAGES%%man/man3/system_context_size.3.gz
-%%MANPAGES%%man/man3/system_defaultfont.3.gz
-%%MANPAGES%%man/man3/system_identstr.3.gz
-%%MANPAGES%%man/man3/system_load.3.gz
-%%MANPAGES%%man/man3/system_snapshot.3.gz
-%%MANPAGES%%man/man3/tag_image_transform.3.gz
-%%MANPAGES%%man/man3/target_alloc.3.gz
-%%MANPAGES%%man/man3/target_configurations.3.gz
-%%MANPAGES%%man/man3/target_coreopt.3.gz
-%%MANPAGES%%man/man3/target_devicehint.3.gz
-%%MANPAGES%%man/man3/target_displayhint.3.gz
-%%MANPAGES%%man/man3/target_flags.3.gz
-%%MANPAGES%%man/man3/target_fonthint.3.gz
-%%MANPAGES%%man/man3/target_framemode.3.gz
-%%MANPAGES%%man/man3/target_geohint.3.gz
-%%MANPAGES%%man/man3/target_graphmode.3.gz
-%%MANPAGES%%man/man3/target_input.3.gz
-%%MANPAGES%%man/man3/target_parent.3.gz
-%%MANPAGES%%man/man3/target_portconfig.3.gz
-%%MANPAGES%%man/man3/target_seek.3.gz
-%%MANPAGES%%man/man3/target_synchronous.3.gz
-%%MANPAGES%%man/man3/target_updatehandler.3.gz
-%%MANPAGES%%man/man3/target_verbose.3.gz
-%%MANPAGES%%man/man3/text_dimensions.3.gz
-%%MANPAGES%%man/man3/toggle_mouse_grab.3.gz
-%%MANPAGES%%man/man3/transfer_image_transform.3.gz
-%%MANPAGES%%man/man3/utf8kind.3.gz
-%%MANPAGES%%man/man3/valid_vid.3.gz
-%%MANPAGES%%man/man3/video_3dorder.3.gz
-%%MANPAGES%%man/man3/video_display_state.3.gz
-%%MANPAGES%%man/man3/video_displaydescr.3.gz
-%%MANPAGES%%man/man3/video_displaygamma.3.gz
-%%MANPAGES%%man/man3/video_displaymodes.3.gz
-%%MANPAGES%%man/man3/video_synchronization.3.gz
-%%MANPAGES%%man/man3/vr_map_limb.3.gz
-%%MANPAGES%%man/man3/vr_metadata.3.gz
-%%MANPAGES%%man/man3/vr_setup.3.gz
-%%MANPAGES%%man/man3/warning.3.gz
-%%MANPAGES%%man/man3/write_rawresource.3.gz
-%%MANPAGES%%man/man3/zap_resource.3.gz
+%%WAYLAND%%share/man/man1/arcan-wayland.1.gz
+share/man/man1/arcan.1.gz
+share/man/man1/arcan_db.1.gz
+%%MANPAGES%%share/man/man3/accept_target.3.gz
+%%MANPAGES%%share/man/man3/add_3dmesh.3.gz
+%%MANPAGES%%share/man/man3/alloc_surface.3.gz
+%%MANPAGES%%share/man/man3/appl_arguments.3.gz
+%%MANPAGES%%share/man/man3/arcan_api_overview.3.gz
+%%MANPAGES%%share/man/man3/arcantarget_hint.3.gz
+%%MANPAGES%%share/man/man3/attrtag_model.3.gz
+%%MANPAGES%%share/man/man3/audio_buffer_size.3.gz
+%%MANPAGES%%share/man/man3/audio_gain.3.gz
+%%MANPAGES%%share/man/man3/benchmark_data.3.gz
+%%MANPAGES%%share/man/man3/benchmark_enable.3.gz
+%%MANPAGES%%share/man/man3/benchmark_timestamp.3.gz
+%%MANPAGES%%share/man/man3/benchmark_tracedata.3.gz
+%%MANPAGES%%share/man/man3/blend_image.3.gz
+%%MANPAGES%%share/man/man3/bond_target.3.gz
+%%MANPAGES%%share/man/man3/build_3dbox.3.gz
+%%MANPAGES%%share/man/man3/build_3dplane.3.gz
+%%MANPAGES%%share/man/man3/build_cylinder.3.gz
+%%MANPAGES%%share/man/man3/build_pointcloud.3.gz
+%%MANPAGES%%share/man/man3/build_shader.3.gz
+%%MANPAGES%%share/man/man3/build_sphere.3.gz
+%%MANPAGES%%share/man/man3/camtag_model.3.gz
+%%MANPAGES%%share/man/man3/capture_audio.3.gz
+%%MANPAGES%%share/man/man3/center_image.3.gz
+%%MANPAGES%%share/man/man3/close_rawresource.3.gz
+%%MANPAGES%%share/man/man3/color_surface.3.gz
+%%MANPAGES%%share/man/man3/controller_leds.3.gz
+%%MANPAGES%%share/man/man3/copy_image_transform.3.gz
+%%MANPAGES%%share/man/man3/copy_surface_properties.3.gz
+%%MANPAGES%%share/man/man3/crop_image.3.gz
+%%MANPAGES%%share/man/man3/current_context_usage.3.gz
+%%MANPAGES%%share/man/man3/cursor_position.3.gz
+%%MANPAGES%%share/man/man3/cursor_setstorage.3.gz
+%%MANPAGES%%share/man/man3/decode_modifiers.3.gz
+%%MANPAGES%%share/man/man3/define_arcantarget.3.gz
+%%MANPAGES%%share/man/man3/define_calctarget.3.gz
+%%MANPAGES%%share/man/man3/define_feedtarget.3.gz
+%%MANPAGES%%share/man/man3/define_linktarget.3.gz
+%%MANPAGES%%share/man/man3/define_nulltarget.3.gz
+%%MANPAGES%%share/man/man3/define_recordtarget.3.gz
+%%MANPAGES%%share/man/man3/define_rendertarget.3.gz
+%%MANPAGES%%share/man/man3/delete_audio.3.gz
+%%MANPAGES%%share/man/man3/delete_image.3.gz
+%%MANPAGES%%share/man/man3/delete_shader.3.gz
+%%MANPAGES%%share/man/man3/expire_image.3.gz
+%%MANPAGES%%share/man/man3/fill_surface.3.gz
+%%MANPAGES%%share/man/man3/finalize_3dmodel.3.gz
+%%MANPAGES%%share/man/man3/focus_target.3.gz
+%%MANPAGES%%share/man/man3/force_image_blend.3.gz
+%%MANPAGES%%share/man/man3/forward3d_model.3.gz
+%%MANPAGES%%share/man/man3/frameserver_debugstall.3.gz
+%%MANPAGES%%share/man/man3/get_key.3.gz
+%%MANPAGES%%share/man/man3/get_keys.3.gz
+%%MANPAGES%%share/man/man3/glob_resource.3.gz
+%%MANPAGES%%share/man/man3/hide_image.3.gz
+%%MANPAGES%%share/man/man3/image_access_storage.3.gz
+%%MANPAGES%%share/man/man3/image_active_frame.3.gz
+%%MANPAGES%%share/man/man3/image_children.3.gz
+%%MANPAGES%%share/man/man3/image_clip_off.3.gz
+%%MANPAGES%%share/man/man3/image_clip_on.3.gz
+%%MANPAGES%%share/man/man3/image_color.3.gz
+%%MANPAGES%%share/man/man3/image_framecyclemode.3.gz
+%%MANPAGES%%share/man/man3/image_framesetsize.3.gz
+%%MANPAGES%%share/man/man3/image_get_txcos.3.gz
+%%MANPAGES%%share/man/man3/image_hit.3.gz
+%%MANPAGES%%share/man/man3/image_inherit_order.3.gz
+%%MANPAGES%%share/man/man3/image_loaded.3.gz
+%%MANPAGES%%share/man/man3/image_mask_clear.3.gz
+%%MANPAGES%%share/man/man3/image_mask_clearall.3.gz
+%%MANPAGES%%share/man/man3/image_mask_set.3.gz
+%%MANPAGES%%share/man/man3/image_mask_toggle.3.gz
+%%MANPAGES%%share/man/man3/image_matchstorage.3.gz
+%%MANPAGES%%share/man/man3/image_metadata.3.gz
+%%MANPAGES%%share/man/man3/image_mipmap.3.gz
+%%MANPAGES%%share/man/man3/image_origo_offset.3.gz
+%%MANPAGES%%share/man/man3/image_parent.3.gz
+%%MANPAGES%%share/man/man3/image_pushasynch.3.gz
+%%MANPAGES%%share/man/man3/image_resize_storage.3.gz
+%%MANPAGES%%share/man/man3/image_scale_txcos.3.gz
+%%MANPAGES%%share/man/man3/image_screen_coordinates.3.gz
+%%MANPAGES%%share/man/man3/image_set_txcos.3.gz
+%%MANPAGES%%share/man/man3/image_set_txcos_default.3.gz
+%%MANPAGES%%share/man/man3/image_shader.3.gz
+%%MANPAGES%%share/man/man3/image_sharestorage.3.gz
+%%MANPAGES%%share/man/man3/image_state.3.gz
+%%MANPAGES%%share/man/man3/image_storage_properties.3.gz
+%%MANPAGES%%share/man/man3/image_storage_slice.3.gz
+%%MANPAGES%%share/man/man3/image_surface_initial.3.gz
+%%MANPAGES%%share/man/man3/image_surface_initial_properties.3.gz
+%%MANPAGES%%share/man/man3/image_surface_properties.3.gz
+%%MANPAGES%%share/man/man3/image_surface_resolve.3.gz
+%%MANPAGES%%share/man/man3/image_surface_resolve_properties.3.gz
+%%MANPAGES%%share/man/man3/image_tesselation.3.gz
+%%MANPAGES%%share/man/man3/image_texfilter.3.gz
+%%MANPAGES%%share/man/man3/image_tracetag.3.gz
+%%MANPAGES%%share/man/man3/image_transform_cycle.3.gz
+%%MANPAGES%%share/man/man3/input_capabilities.3.gz
+%%MANPAGES%%share/man/man3/input_remap_translation.3.gz
+%%MANPAGES%%share/man/man3/input_samplebase.3.gz
+%%MANPAGES%%share/man/man3/input_target.3.gz
+%%MANPAGES%%share/man/man3/inputanalog_filter.3.gz
+%%MANPAGES%%share/man/man3/inputanalog_query.3.gz
+%%MANPAGES%%share/man/man3/inputanalog_toggle.3.gz
+%%MANPAGES%%share/man/man3/instant_image_transform.3.gz
+%%MANPAGES%%share/man/man3/kbd_repeat.3.gz
+%%MANPAGES%%share/man/man3/launch_avfeed.3.gz
+%%MANPAGES%%share/man/man3/launch_decode.3.gz
+%%MANPAGES%%share/man/man3/launch_target.3.gz
+%%MANPAGES%%share/man/man3/led_intensity.3.gz
+%%MANPAGES%%share/man/man3/link_image.3.gz
+%%MANPAGES%%share/man/man3/list_audio_inputs.3.gz
+%%MANPAGES%%share/man/man3/list_namespaces.3.gz
+%%MANPAGES%%share/man/man3/list_target_tags.3.gz
+%%MANPAGES%%share/man/man3/list_targets.3.gz
+%%MANPAGES%%share/man/man3/load_asample.3.gz
+%%MANPAGES%%share/man/man3/load_image.3.gz
+%%MANPAGES%%share/man/man3/load_image_asynch.3.gz
+%%MANPAGES%%share/man/man3/map_video_display.3.gz
+%%MANPAGES%%share/man/man3/match_keys.3.gz
+%%MANPAGES%%share/man/man3/max_current_image_order.3.gz
+%%MANPAGES%%share/man/man3/mesh_shader.3.gz
+%%MANPAGES%%share/man/man3/message_target.3.gz
+%%MANPAGES%%share/man/man3/move3d_model.3.gz
+%%MANPAGES%%share/man/man3/move_cursor.3.gz
+%%MANPAGES%%share/man/man3/move_image.3.gz
+%%MANPAGES%%share/man/man3/net_discover.3.gz
+%%MANPAGES%%share/man/man3/net_listen.3.gz
+%%MANPAGES%%share/man/man3/net_open.3.gz
+%%MANPAGES%%share/man/man3/new_3dmodel.3.gz
+%%MANPAGES%%share/man/man3/nudge_cursor.3.gz
+%%MANPAGES%%share/man/man3/nudge_image.3.gz
+%%MANPAGES%%share/man/man3/null_surface.3.gz
+%%MANPAGES%%share/man/man3/open_nonblock.3.gz
+%%MANPAGES%%share/man/man3/open_rawresource.3.gz
+%%MANPAGES%%share/man/man3/order_image.3.gz
+%%MANPAGES%%share/man/man3/orient3d_model.3.gz
+%%MANPAGES%%share/man/man3/pacify_target.3.gz
+%%MANPAGES%%share/man/man3/persist_image.3.gz
+%%MANPAGES%%share/man/man3/pick_items.3.gz
+%%MANPAGES%%share/man/man3/play_audio.3.gz
+%%MANPAGES%%share/man/man3/pop_video_context.3.gz
+%%MANPAGES%%share/man/man3/push_video_context.3.gz
+%%MANPAGES%%share/man/man3/random_surface.3.gz
+%%MANPAGES%%share/man/man3/raw_surface.3.gz
+%%MANPAGES%%share/man/man3/read_rawresource.3.gz
+%%MANPAGES%%share/man/man3/recordtarget_gain.3.gz
+%%MANPAGES%%share/man/man3/relink_image.3.gz
+%%MANPAGES%%share/man/man3/render_text.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_attach.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_bind.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_detach.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_forceupdate.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_id.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_metrics.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_noclear.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_range.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_reconfigure.3.gz
+%%MANPAGES%%share/man/man3/rendertarget_vids.3.gz
+%%MANPAGES%%share/man/man3/resample_image.3.gz
+%%MANPAGES%%share/man/man3/reset_image_transform.3.gz
+%%MANPAGES%%share/man/man3/reset_target.3.gz
+%%MANPAGES%%share/man/man3/resize_cursor.3.gz
+%%MANPAGES%%share/man/man3/resize_image.3.gz
+%%MANPAGES%%share/man/man3/resize_video_canvas.3.gz
+%%MANPAGES%%share/man/man3/resource.3.gz
+%%MANPAGES%%share/man/man3/restore_target.3.gz
+%%MANPAGES%%share/man/man3/resume_target.3.gz
+%%MANPAGES%%share/man/man3/rotate3d_model.3.gz
+%%MANPAGES%%share/man/man3/rotate_image.3.gz
+%%MANPAGES%%share/man/man3/save_screenshot.3.gz
+%%MANPAGES%%share/man/man3/scale3d_model.3.gz
+%%MANPAGES%%share/man/man3/scale_3dvertices.3.gz
+%%MANPAGES%%share/man/man3/scale_image.3.gz
+%%MANPAGES%%share/man/man3/set_context_attachment.3.gz
+%%MANPAGES%%share/man/man3/set_image_as_frame.3.gz
+%%MANPAGES%%share/man/man3/set_led.3.gz
+%%MANPAGES%%share/man/man3/set_led_rgb.3.gz
+%%MANPAGES%%share/man/man3/shader_ugroup.3.gz
+%%MANPAGES%%share/man/man3/shader_uniform.3.gz
+%%MANPAGES%%share/man/man3/show_image.3.gz
+%%MANPAGES%%share/man/man3/shutdown.3.gz
+%%MANPAGES%%share/man/man3/snapshot_target.3.gz
+%%MANPAGES%%share/man/man3/step3d_model.3.gz
+%%MANPAGES%%share/man/man3/stepframe_target.3.gz
+%%MANPAGES%%share/man/man3/store_key.3.gz
+%%MANPAGES%%share/man/man3/storepop_video_context.3.gz
+%%MANPAGES%%share/man/man3/storepush_video_context.3.gz
+%%MANPAGES%%share/man/man3/strafe3d_model.3.gz
+%%MANPAGES%%share/man/man3/subsystem_reset.3.gz
+%%MANPAGES%%share/man/man3/suspend_target.3.gz
+%%MANPAGES%%share/man/man3/switch_default_blendmode.3.gz
+%%MANPAGES%%share/man/man3/switch_default_imageproc.3.gz
+%%MANPAGES%%share/man/man3/switch_default_scalemode.3.gz
+%%MANPAGES%%share/man/man3/switch_default_texfilter.3.gz
+%%MANPAGES%%share/man/man3/switch_default_texmode.3.gz
+%%MANPAGES%%share/man/man3/swizzle_model.3.gz
+%%MANPAGES%%share/man/man3/system_collapse.3.gz
+%%MANPAGES%%share/man/man3/system_context_size.3.gz
+%%MANPAGES%%share/man/man3/system_defaultfont.3.gz
+%%MANPAGES%%share/man/man3/system_identstr.3.gz
+%%MANPAGES%%share/man/man3/system_load.3.gz
+%%MANPAGES%%share/man/man3/system_snapshot.3.gz
+%%MANPAGES%%share/man/man3/tag_image_transform.3.gz
+%%MANPAGES%%share/man/man3/target_alloc.3.gz
+%%MANPAGES%%share/man/man3/target_anchorhint.3.gz
+%%MANPAGES%%share/man/man3/target_configurations.3.gz
+%%MANPAGES%%share/man/man3/target_coreopt.3.gz
+%%MANPAGES%%share/man/man3/target_devicehint.3.gz
+%%MANPAGES%%share/man/man3/target_displayhint.3.gz
+%%MANPAGES%%share/man/man3/target_flags.3.gz
+%%MANPAGES%%share/man/man3/target_fonthint.3.gz
+%%MANPAGES%%share/man/man3/target_framemode.3.gz
+%%MANPAGES%%share/man/man3/target_geohint.3.gz
+%%MANPAGES%%share/man/man3/target_graphmode.3.gz
+%%MANPAGES%%share/man/man3/target_input.3.gz
+%%MANPAGES%%share/man/man3/target_parent.3.gz
+%%MANPAGES%%share/man/man3/target_portconfig.3.gz
+%%MANPAGES%%share/man/man3/target_seek.3.gz
+%%MANPAGES%%share/man/man3/target_synchronous.3.gz
+%%MANPAGES%%share/man/man3/target_updatehandler.3.gz
+%%MANPAGES%%share/man/man3/target_verbose.3.gz
+%%MANPAGES%%share/man/man3/text_dimensions.3.gz
+%%MANPAGES%%share/man/man3/toggle_mouse_grab.3.gz
+%%MANPAGES%%share/man/man3/transfer_image_transform.3.gz
+%%MANPAGES%%share/man/man3/utf8kind.3.gz
+%%MANPAGES%%share/man/man3/valid_vid.3.gz
+%%MANPAGES%%share/man/man3/video_3dorder.3.gz
+%%MANPAGES%%share/man/man3/video_display_state.3.gz
+%%MANPAGES%%share/man/man3/video_displaydescr.3.gz
+%%MANPAGES%%share/man/man3/video_displaygamma.3.gz
+%%MANPAGES%%share/man/man3/video_displaymodes.3.gz
+%%MANPAGES%%share/man/man3/video_synchronization.3.gz
+%%MANPAGES%%share/man/man3/vr_map_limb.3.gz
+%%MANPAGES%%share/man/man3/vr_metadata.3.gz
+%%MANPAGES%%share/man/man3/vr_setup.3.gz
+%%MANPAGES%%share/man/man3/warning.3.gz
+%%MANPAGES%%share/man/man3/write_rawresource.3.gz
+%%MANPAGES%%share/man/man3/zap_resource.3.gz
%%DATADIR%%/appl/console/console.lua
%%DATADIR%%/appl/console/console_osdkbd.lua
%%DATADIR%%/appl/console/cursor.png
@@ -295,6 +298,7 @@ man/man1/arcan_db.1.gz
%%DATADIR%%/scripts/builtin/decorator.lua
%%DATADIR%%/scripts/builtin/json.lua
%%DATADIR%%/scripts/builtin/keyboard.lua
+%%DATADIR%%/scripts/builtin/legacy.lua
%%DATADIR%%/scripts/builtin/mouse.lua
%%DATADIR%%/scripts/builtin/osdkbd.lua
%%DATADIR%%/scripts/builtin/string.lua
diff --git a/multimedia/aribb24/Makefile b/multimedia/aribb24/Makefile
index cf51a8e44ffc..541e221c8416 100644
--- a/multimedia/aribb24/Makefile
+++ b/multimedia/aribb24/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= multimedia
MAINTAINER= driesm@FreeBSD.org
COMMENT= ARIB STD-B24 library
+WWW= https://github.com/nkoriyama/aribb24
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/aribb24/pkg-descr b/multimedia/aribb24/pkg-descr
index 850a2011641e..bfa1e5d7ab78 100644
--- a/multimedia/aribb24/pkg-descr
+++ b/multimedia/aribb24/pkg-descr
@@ -1,4 +1,2 @@
A library for ARIB STD-B24, decoding JIS 8 bit characters
and parsing MPEG-TS stream.
-
-WWW: https://github.com/nkoriyama/aribb24
diff --git a/multimedia/assimp/Makefile b/multimedia/assimp/Makefile
index bad7cadb5467..8add4b36dcfe 100644
--- a/multimedia/assimp/Makefile
+++ b/multimedia/assimp/Makefile
@@ -1,26 +1,29 @@
PORTNAME= assimp
DISTVERSIONPREFIX= v
-DISTVERSION= 5.1.5
+DISTVERSION= 5.4.0
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= Library to import various 3D model formats in a uniform manner
+WWW= https://www.assimp.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= cmake:testing compiler:c++11-lib cpe localbase:ldflags minizip pkgconfig
+BROKEN_armv6= field within 'Assimp::MDL::Vertex_MDL7' is less aligned than 'Assimp::MDL::Vertex_MDL7::..., see https://github.com/assimp/assimp/issues/4640
+
+USES= cmake:testing compiler:c++17-lang cpe localbase:ldflags pkgconfig # minizip is disabled for https://github.com/assimp/assimp/issues/4374
USE_GITHUB= yes
USE_LDCONFIG= yes
-CMAKE_OFF= ASSIMP_BUILD_TESTS
+CMAKE_OFF= ASSIMP_BUILD_TESTS ASSIMP_BUILD_ZLIB BUILD_STATIC_LIBS
+CMAKE_ON= ASSIMP_BUILD_MINIZIP # workaround for https://github.com/assimp/assimp/issues/4374
CMAKE_TESTING_ON= ASSIMP_BUILD_TESTS
+CMAKE_TESTING_TARGET= ${ALL_TARGET} # hack to avoid target
-do-test:
+post-test: # 1 test fails, see https://github.com/assimp/assimp/issues/4751
@cd ${BUILD_WRKSRC} && \
- ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} -D${CMAKE_TESTING_ON}=ON ${CMAKE_SOURCE_PATH} && \
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} ${CMAKE_TESTING_TARGET} && \
${BUILD_WRKSRC}/bin/unit
.include <bsd.port.mk>
diff --git a/multimedia/assimp/distinfo b/multimedia/assimp/distinfo
index 35891dad0fcd..06bee598446a 100644
--- a/multimedia/assimp/distinfo
+++ b/multimedia/assimp/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641403619
-SHA256 (assimp-assimp-v5.1.5_GH0.tar.gz) = d62b58ed3b35c20f89570863a5415df97cb1b301b444d39687140fc883717ced
-SIZE (assimp-assimp-v5.1.5_GH0.tar.gz) = 48972912
+TIMESTAMP = 1712548445
+SHA256 (assimp-assimp-v5.4.0_GH0.tar.gz) = a90f77b0269addb2f381b00c09ad47710f2aab6b1d904f5e9a29953c30104d3f
+SIZE (assimp-assimp-v5.4.0_GH0.tar.gz) = 53744951
diff --git a/multimedia/assimp/files/patch-code_AssetLib_MDL_MDLFileData.h b/multimedia/assimp/files/patch-code_AssetLib_MDL_MDLFileData.h
new file mode 100644
index 000000000000..334f12063fbd
--- /dev/null
+++ b/multimedia/assimp/files/patch-code_AssetLib_MDL_MDLFileData.h
@@ -0,0 +1,11 @@
+--- code/AssetLib/MDL/MDLFileData.h.orig 2023-10-16 03:31:18 UTC
++++ code/AssetLib/MDL/MDLFileData.h
+@@ -603,7 +603,7 @@ struct Vertex_MDL7
+ union {
+ uint8_t norm162index;
+ float norm[3];
+- };
++ } PACK_STRUCT;
+ } PACK_STRUCT;
+
+ // -------------------------------------------------------------------------------------
diff --git a/multimedia/assimp/pkg-descr b/multimedia/assimp/pkg-descr
index 84ac20991572..c8866482442c 100644
--- a/multimedia/assimp/pkg-descr
+++ b/multimedia/assimp/pkg-descr
@@ -2,5 +2,3 @@ Open Asset Import Library (short name: Assimp) is a portable Open Source
library to import various well-known 3D model formats in a uniform manner.
The most recent version also knows how to export 3d files and is therefore
suitable as general-purpose 3D model converter. See the feature list.
-
-WWW: https://www.assimp.org/
diff --git a/multimedia/assimp/pkg-plist b/multimedia/assimp/pkg-plist
index 5b8b43774fcb..ea761efaafcd 100644
--- a/multimedia/assimp/pkg-plist
+++ b/multimedia/assimp/pkg-plist
@@ -1,4 +1,5 @@
-bin/assimp
+include/assimp/AssertHandler.h
+include/assimp/Base64.hpp
include/assimp/BaseImporter.h
include/assimp/Bitmap.h
include/assimp/BlobIOSystem.h
@@ -27,6 +28,7 @@ include/assimp/Logger.hpp
include/assimp/MathFunctions.h
include/assimp/MemoryIOWrapper.h
include/assimp/NullLogger.hpp
+include/assimp/ObjMaterial.h
include/assimp/ParsingUtils.h
include/assimp/Profiler.h
include/assimp/ProgressHandler.hpp
@@ -85,11 +87,11 @@ include/assimp/vector2.inl
include/assimp/vector3.h
include/assimp/vector3.inl
include/assimp/version.h
-lib/cmake/assimp-5.1/assimpConfig.cmake
-lib/cmake/assimp-5.1/assimpConfigVersion.cmake
-lib/cmake/assimp-5.1/assimpTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/assimp-5.1/assimpTargets.cmake
+lib/cmake/assimp-5.4/assimpConfig.cmake
+lib/cmake/assimp-5.4/assimpConfigVersion.cmake
+lib/cmake/assimp-5.4/assimpTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/assimp-5.4/assimpTargets.cmake
lib/libassimp.so
lib/libassimp.so.5
-lib/libassimp.so.5.1.4
+lib/libassimp.so.5.4.0
libdata/pkgconfig/assimp.pc
diff --git a/multimedia/atomicparsley/Makefile b/multimedia/atomicparsley/Makefile
index 033dcf4ac7d4..b589e3458dde 100644
--- a/multimedia/atomicparsley/Makefile
+++ b/multimedia/atomicparsley/Makefile
@@ -1,9 +1,10 @@
PORTNAME= atomicparsley
-PORTVERSION= 20210114.184825.1dbe1be
+PORTVERSION= 20221229.172126.d813aa6
CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
COMMENT= Command line program for reading parsing and setting MP4/M4A metadata
+WWW= https://github.com/wez/atomicparsley
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -14,8 +15,4 @@ GH_ACCOUNT= wez
CPE_VENDOR= atomicparsley_project
PLIST_FILES= bin/AtomicParsley
-do-install:
- ${INSTALL_PROGRAM} ${PLIST_FILES:Mbin/*:T:S,^,${INSTALL_WRKSRC}/,} \
- ${STAGEDIR}${PREFIX}/bin
-
.include <bsd.port.mk>
diff --git a/multimedia/atomicparsley/distinfo b/multimedia/atomicparsley/distinfo
index 2f5589306db4..2a081b346878 100644
--- a/multimedia/atomicparsley/distinfo
+++ b/multimedia/atomicparsley/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1610678905
-SHA256 (wez-atomicparsley-20210114.184825.1dbe1be_GH0.tar.gz) = 8877262c86d0ad231a5b0eaa8ab9c0c1d4e06fafea0b96a819d9a5e565a28b8c
-SIZE (wez-atomicparsley-20210114.184825.1dbe1be_GH0.tar.gz) = 228477
+TIMESTAMP = 1672363286
+SHA256 (wez-atomicparsley-20221229.172126.d813aa6_GH0.tar.gz) = 2f095a251167dc771e8f4434abe4a9c7af7d8e13c718fb8439a0e0d97078899b
+SIZE (wez-atomicparsley-20221229.172126.d813aa6_GH0.tar.gz) = 230461
diff --git a/multimedia/atomicparsley/pkg-descr b/multimedia/atomicparsley/pkg-descr
index 9e1dfaecc83f..89b3fde89e09 100644
--- a/multimedia/atomicparsley/pkg-descr
+++ b/multimedia/atomicparsley/pkg-descr
@@ -5,5 +5,3 @@ setting metadata into MPEG-4 files supporting these styles of metadata:
* 3gp-style assets in 3GPP, 3GPP2, MobileMP4 & derivatives
* ISO copyright notices at movie & track level for MPEG-4
* uuid private user extension text & file embedding for MPEG-4
-
-WWW: https://github.com/wez/atomicparsley
diff --git a/multimedia/audacious-plugins/Makefile b/multimedia/audacious-plugins/Makefile
index e08b8ff138af..6087a8e428d1 100644
--- a/multimedia/audacious-plugins/Makefile
+++ b/multimedia/audacious-plugins/Makefile
@@ -1,13 +1,12 @@
-# Created by: Zastupov Stepan [RedChrom] <redchrom@mail.ru>
-
PORTNAME= audacious-plugins
-PORTVERSION= 4.1
-PORTREVISION= 5
+PORTVERSION= 4.3.1
+PORTREVISION= 4
CATEGORIES= multimedia audio
MASTER_SITES= http://distfiles.audacious-media-player.org/
MAINTAINER= madpilot@FreeBSD.org
COMMENT= Plugins needed for audacious
+WWW= https://audacious-media-player.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,159 +17,194 @@ LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \
libfreetype.so:print/freetype2 \
libmpg123.so:audio/mpg123
-FLAVORS= qt5 gtk2
+FLAVORS= qt5 qt6 gtk2 gtk3
FLAVOR?= ${FLAVORS:[1]}
USES= compiler:c++11-lib gettext-tools gmake gnome iconv \
- localbase pkgconfig tar:bzip2 xorg
+ localbase meson pkgconfig tar:bzip2 xorg
USE_GNOME= glib20 libxml2 gdkpixbuf2
USE_XORG= x11
-qt5_CONFLICTS_INSTALL= audacious-plugins-gtk2
+CONFIGURE_ENV= LIBRARY_PATH="${LOCALBASE}/lib"
+MAKE_ENV= LIBRARY_PATH="${LOCALBASE}/lib"
+MESON_ARGS= -Dmms=false -Dcoreaudio=false
+
+qt5_CONFLICTS_INSTALL= audacious-plugins-qt6 audacious-plugins-gtk2 audacious-plugins-gtk3
qt5_RUN_DEPENDS= audacious:multimedia/audacious@qt5
qt5_BUILD_DEPENDS= audacious:multimedia/audacious@qt5
+qt6_PKGNAMESUFFIX= -qt6
+qt6_CONFLICTS_INSTALL= audacious-plugins audacious-plugins-gtk2 audacious-plugins-gtk3
+qt6_RUN_DEPENDS= audacious:multimedia/audacious@qt6
+qt6_BUILD_DEPENDS= audacious:multimedia/audacious@qt6
+
gtk2_PKGNAMESUFFIX= -gtk2
-gtk2_CONFLICTS_INSTALL= audacious-plugins
+gtk2_CONFLICTS_INSTALL= audacious-plugins audacious-plugins-qt6 audacious-plugins-gtk3
+gtk2_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
gtk2_RUN_DEPENDS= audacious:multimedia/audacious@gtk2
gtk2_BUILD_DEPENDS= audacious:multimedia/audacious@gtk2
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --disable-console --disable-soxr \
- --enable-gnomeshortcuts
+gtk3_PKGNAMESUFFIX= -gtk3
+gtk3_CONFLICTS_INSTALL= audacious-plugins audacious-plugins-qt6 audacious-plugins-gtk2
+gtk3_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
+gtk3_RUN_DEPENDS= audacious:multimedia/audacious@gtk3
+gtk3_BUILD_DEPENDS= audacious:multimedia/audacious@gtk3
.if ${FLAVOR} == qt5
-CONFIGURE_ARGS+= --enable-qt --disable-gtk
+MESON_ARGS+= -Dqt=true -Dqt6=false -Dgtk=false -Dgtk3=false
USES+= qt:5
-USE_QT= core gui widgets
-PLIST_SUB= QT5="" GTK2="@comment "
+USE_QT= core gui multimedia network widgets x11extras
+PLIST_SUB= QT="" QT5="" GTK="@comment "
+.elif ${FLAVOR} == qt6
+MESON_ARGS+= -Dqt=true -Dqt6=true -Dgtk=false -Dgtk3=false
+USES+= qt:6
+USE_QT= base multimedia
+PLIST_SUB= QT="" QT5="@comment " GTK="@comment "
.elif ${FLAVOR} == gtk2
-CONFIGURE_ARGS+= --disable-qt --enable-gtk --enable-hotkey
-USE_GNOME+= gtk20 cairo
-PLIST_SUB= QT5="@comment " GTK2=""
+MESON_ARGS+= -Dqt=false -Dqt6=false -Dgtk=true -Dgtk3=false -Dhotkey=true
+USE_GNOME+= cairo gtk20
+PLIST_SUB= QT="@comment " QT6="@comment " GTK=""
+.elif ${FLAVOR} == gtk3
+MESON_ARGS+= -Dqt=false -Dqt6=false -Dgtk=true -Dgtk3=true -Dhotkey=true
+USE_GNOME+= cairo gtk30
+PLIST_SUB= QT="@comment " QT6="@comment " GTK=""
.endif
-OPTIONS_DEFINE= AAC ADPLUG AMIDI BS2B CDDA CUE FFMPEG FLAC LAME LIRC \
- MMS MODPLUG MPRIS NEON NLS NOTIFY OPENMPT SAMPLERATE \
- SCROBBLER SID SNDFILE SPEEDPITCH VORBIS WAVPACK
+OPTIONS_DEFINE= AAC ADPLUG AMIDI BS2B CDDA CONSOLE CUE FFMPEG FLAC LAME LIRC \
+ MODPLUG MPG123 MPRIS NEON NLS NOTIFY OPENGL OPENMPT OPUS \
+ SAMPLERATE SCROBBLER SID SNDFILE SOXR SPEEDPITCH VORBIS \
+ WAVPACK
OPTIONS_MULTI= OUTPUT
-OPTIONS_MULTI_OUTPUT= ALSA FILEWRITER JACK OSS PULSEAUDIO SDL SNDIO
-OPTIONS_DEFAULT= AAC ADPLUG CDDA CUE FILEWRITER FFMPEG FLAC MMS MPRIS \
- NEON NLS NOTIFY OPENMPT OSS PULSEAUDIO SCROBBLER \
- SID VORBIS WAVPACK
-OPTIONS_SUB= yes
-
-.if ${FLAVOR} == gtk2
-OPTIONS_DEFINE+= AOSD OPENGL
+OPTIONS_MULTI_OUTPUT= ALSA FILEWRITER JACK OSS PIPEWIRE PULSEAUDIO SDL SNDIO
+OPTIONS_DEFAULT= AAC ADPLUG CDDA CUE FILEWRITER FFMPEG FLAC MPRIS \
+ MPG123 NEON NLS NOTIFY OPENMPT OPUS OSS PIPEWIRE PULSEAUDIO \
+ SCROBBLER SID VORBIS WAVPACK
+OPTIONS_SUB= yes
+
+.if ${FLAVOR} == gtk2 || ${FLAVOR} == gtk3
+OPTIONS_DEFINE+= AOSD
OPTIONS_DEFAULT+= AOSD
.endif
-ADPLUG_DESC= ADPLUG plugin
-AMIDI_DESC= Amidi decoder
-AOSD_DESC= Audacious OSD
-BS2B_DESC= BS2B effect
-FILEWRITER_DESC=File writer
-MPRIS_DESC= NPRIS plugin
-NEON_DESC= Neon plugin
-OPENMPT_DESC= OpenMPT plugin
-SCROBBLER_DESC= Scrobbler decoder
-SID_DESC= Sound chip emulator of Commodore
-SPEEDPITCH_DESC=Speed and Pitch plugin
+ADPLUG_DESC= ADPLUG plugin
+AMIDI_DESC= Amidi decoder
+AOSD_DESC= Audacious OSD
+BS2B_DESC= BS2B effect
+CONSOLE_DESC= Game Console Music Emulation
+FILEWRITER_DESC= File writer
+MPRIS_DESC= NPRIS plugin
+NEON_DESC= Neon plugin
+OPENMPT_DESC= OpenMPT plugin
+SCROBBLER_DESC= Scrobbler decoder
+SID_DESC= Sound chip emulator of Commodore
+SPEEDPITCH_DESC= Speed and Pitch plugin
AAC_LIB_DEPENDS= libfaad.so:audio/faad
-AAC_CONFIGURE_ENABLE= aac
+AAC_MESON_TRUE= aac
ADPLUG_LIB_DEPENDS= libadplug.so:audio/libadplug \
libbinio.so:devel/libbinio
-ADPLUG_CONFIGURE_ENABLE= adplug
+ADPLUG_MESON_TRUE= adplug
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-ALSA_CONFIGURE_ENABLE= alsa
+ALSA_MESON_TRUE= alsa
AMIDI_LIB_DEPENDS= libfluidsynth.so:audio/fluidsynth
-AMIDI_CONFIGURE_ENABLE= amidiplug
+AMIDI_MESON_TRUE= amidiplug
AOSD_USES= xorg
AOSD_USE= gnome=pango xorg=xrender
AOSD_LIB_DEPENDS= libXcomposite.so:x11/libXcomposite
-AOSD_CONFIGURE_ENABLE= aosd
+AOSD_MESON_TRUE= aosd
BS2B_LIB_DEPENDS= libbs2b.so:audio/libbs2b
-BS2B_CONFIGURE_ENABLE= bs2b
+BS2B_MESON_TRUE= bs2b
CDDA_LIB_DEPENDS= libcdio_cdda.so:sysutils/libcdio-paranoia \
libcddb.so:audio/libcddb \
libcdio.so:sysutils/libcdio
-CDDA_CONFIGURE_ENABLE= cdaudio
+CDDA_MESON_TRUE= cdaudio
+CONSOLE_MESON_TRUE= console
CUE_LIB_DEPENDS= libcue.so:textproc/libcue
-CUE_CONFIGURE_ENABLE= cue
-FILEWRITER_CONFIGURE_ENABLE= filewriter
+CUE_MESON_TRUE= cue
+FILEWRITER_MESON_TRUE= filewriter
FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-FFMPEG_CONFIGURE_WITH= ffmpeg=ffmpeg
+FFMPEG_MESON_TRUE= ffaudio
FLAC_LIB_DEPENDS= libFLAC.so:audio/flac
-FLAC_CONFIGURE_ENABLE= flac
+FLAC_MESON_TRUE= flac
JACK_LIB_DEPENDS= libjack.so:audio/jack \
libsamplerate.so:audio/libsamplerate
-JACK_CONFIGURE_ENABLE= jack
+JACK_MESON_TRUE= jack
LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
-LAME_CONFIGURE_ENABLE= filewriter_mp3
LIRC_LIB_DEPENDS= liblirc_client.so:comms/lirc
-LIRC_CONFIGURE_ENABLE= lirc
-MMS_LIB_DEPENDS= libmms.so:net/libmms
-MMS_CONFIGURE_ENABLE= mms
+LIRC_MESON_TRUE= lirc
MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
-MODPLUG_CONFIGURE_ENABLE= modplug
-MPRIS_CONFIGURE_ENABLE= mpris2
+MODPLUG_MESON_TRUE= modplug
+MPRIS_MESON_TRUE= mpris2
NEON_LIB_DEPENDS= libneon.so:www/neon
-NEON_CONFIGURE_ENABLE= neon
+NEON_MESON_TRUE= neon
+MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123
+MPG123_MESON_TRUE= mpg123
NLS_USES= gettext-runtime
-NLS_CONFIGURE_ENABLE= nls
NOTIFY_LIB_DEPENDS= libnotify.so:devel/libnotify
-NOTIFY_CONFIGURE_ENABLE=notify
-OPENGL_USES= gl xorg
-OPENGL_USE= xorg=x11 gl=gl
-OPENGL_CONFIGURE_ENABLE=glspectrum
+NOTIFY_MESON_TRUE= notify
+OPENGL_USES= gl
+OPENGL_USE= gl=gl
+.if ${FLAVOR} == qt5
+OPENGL_USE+= qt=opengl
+.endif
+OPENGL_MESON_TRUE= gl-spectrum
OPENMPT_LIB_DEPENDS= libopenmpt.so:audio/libopenmpt
-OPENMPT_CONFIGURE_ENABLE= openmpt
-OSS_CONFIGURE_ENABLE= oss4
+OPENMPT_MESON_TRUE= openmpt
+OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile \
+ libopus.so:audio/opus
+OPUS_MESON_TRUE= opus
+OSS_MESON_TRUE= oss
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_MESON_TRUE= pipewire
PULSEAUDIO_LIB_DEPENDS= libpulse-mainloop-glib.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_ENABLE= pulse
+PULSEAUDIO_MESON_TRUE= pulse
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
-SAMPLERATE_CONFIGURE_ENABLE= resample
+SAMPLERATE_MESON_TRUE= resample
SCROBBLER_LIB_DEPENDS= libcurl.so:ftp/curl
-SCROBBLER_CONFIGURE_ENABLE= scrobbler2
-SDL_CONFIGURE_ON= --enable-sdlout --with-libsdl=2
-SDL_CONFIGURE_OFF= --disable-sdlout
+SCROBBLER_MESON_TRUE= scrobbler2
+SDL_MESON_TRUE= sdlout
SDL_USES= sdl
SDL_USE= SDL=sdl2
SID_LIB_DEPENDS= libsidplayfp.so:audio/libsidplayfp
-SID_CONFIGURE_ENABLE= sid
+SID_MESON_TRUE= sid
SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile
-SNDFILE_CONFIGURE_ENABLE= sndfile
+SNDFILE_MESON_TRUE= sndfile
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
-SNDIO_CONFIGURE_ENABLE= sndio
-SPEEDPITCH_CONFIGURE_ENABLE= speedpitch
+SNDIO_MESON_TRUE= sndio
+SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr
+SOXR_MESON_TRUE= soxr
+SPEEDPITCH_MESON_TRUE= speedpitch
SPEEDPITCH_IMPLIES= SAMPLERATE
VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
libogg.so:audio/libogg
-VORBIS_CONFIGURE_ENABLE=vorbis
+VORBIS_MESON_TRUE= vorbis
WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack
-WAVPACK_CONFIGURE_ENABLE= wavpack
-
-post-patch:
- @${REINPLACE_CMD} -e 's| $${MFLAGS}||g' \
- ${WRKSRC}/buildsys.mk.in
- @${FIND} ${WRKSRC} -type f -name 'Makefile' \
- | ${XARGS} ${REINPLACE_CMD} -e 's| -Wno-bool-operation||'
+WAVPACK_MESON_TRUE= wavpack
-post-patch-NLS-off:
- ${REINPLACE_CMD} -e 's,po,,' ${WRKSRC}/Makefile
+.include <bsd.port.options.mk>
-post-install:
- @${FIND} ${STAGEDIR}${PREFIX}/lib/audacious/ -name "*.so" \
- -exec ${STRIP_CMD} {} \;
-
-post-install-ADPLUG-on:
- ${INSTALL_LIB} ${WRKSRC}/src/adplug/adplug.so \
- ${STAGEDIR}${PREFIX}/lib/audacious/Input
+.if ${PORT_OPTIONS:MFILEWRITER}
+.if ${PORT_OPTIONS:MFLAC}
+MESON_ARGS+= -Dfilewriter-flac=true
+.else
+MESON_ARGS+= -Dfilewriter-flac=false
+.endif
+.if ${PORT_OPTIONS:MLAME}
+MESON_ARGS+= -Dfilewriter-mp3=true
+.else
+MESON_ARGS+= -Dfilewriter-mp3=false
+.endif
+.if ${PORT_OPTIONS:MVORBIS}
+MESON_ARGS+= -Dfilewriter-ogg=true
+.else
+MESON_ARGS+= -Dfilewriter-ogg=false
+.endif
+.else
+MESON_ARGS+= -Dfilewriter-flac=false -Dfilewriter-mp3=false -Dfilewriter-ogg=false
+.endif
-post-install-OPENMPT-on:
- ${INSTALL_LIB} ${WRKSRC}/src/openmpt/openmpt.so \
- ${STAGEDIR}${PREFIX}/lib/audacious/Input
+post-patch-NLS-off:
+ @${REINPLACE_CMD} -e "/^subdir('po')/d" ${WRKSRC}/meson.build
.include <bsd.port.mk>
diff --git a/multimedia/audacious-plugins/distinfo b/multimedia/audacious-plugins/distinfo
index d574bad4893d..b780519174a2 100644
--- a/multimedia/audacious-plugins/distinfo
+++ b/multimedia/audacious-plugins/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613831013
-SHA256 (audacious-plugins-4.1.tar.bz2) = dad6fc625055349d589e36e8e5c8ae7dfafcddfe96894806509696d82bb61d4c
-SIZE (audacious-plugins-4.1.tar.bz2) = 1802825
+TIMESTAMP = 1682842744
+SHA256 (audacious-plugins-4.3.1.tar.bz2) = 2dea26e3af583a2d684df240b27b2b2932bcd653df4db500a85f4fe5d5fdc8a6
+SIZE (audacious-plugins-4.3.1.tar.bz2) = 1786114
diff --git a/multimedia/audacious-plugins/pkg-descr b/multimedia/audacious-plugins/pkg-descr
index fda0c27147f4..bd2e1d6d3fe4 100644
--- a/multimedia/audacious-plugins/pkg-descr
+++ b/multimedia/audacious-plugins/pkg-descr
@@ -1,4 +1,2 @@
Audacious Plugins are the input, output, visualization and effect plugins
needed for Audacious
-
-WWW: https://audacious-media-player.org/
diff --git a/multimedia/audacious-plugins/pkg-plist b/multimedia/audacious-plugins/pkg-plist
index 1d2a5426fd5a..77c8e9f2a246 100644
--- a/multimedia/audacious-plugins/pkg-plist
+++ b/multimedia/audacious-plugins/pkg-plist
@@ -5,45 +5,48 @@ lib/audacious/Container/audpl.so
lib/audacious/Container/m3u.so
lib/audacious/Container/pls.so
lib/audacious/Container/xspf.so
+lib/audacious/Effect/bitcrusher.so
%%BS2B%%lib/audacious/Effect/bs2b.so
lib/audacious/Effect/compressor.so
lib/audacious/Effect/crossfade.so
lib/audacious/Effect/crystalizer.so
lib/audacious/Effect/echo.so
-%%GTK2%%lib/audacious/Effect/ladspa.so
+%%GTK%%lib/audacious/Effect/ladspa.so
lib/audacious/Effect/mixer.so
%%SAMPLERATE%%lib/audacious/Effect/resample.so
lib/audacious/Effect/silence-removal.so
+%%SOXR%%lib/audacious/Effect/sox-resampler.so
%%SPEEDPITCH%%lib/audacious/Effect/speed-pitch.so
lib/audacious/Effect/stereo.so
lib/audacious/Effect/voice_removal.so
-%%GTK2%%lib/audacious/General/alarm.so
-%%GTK2%%lib/audacious/General/albumart.so
-%%QT5%%lib/audacious/General/albumart-qt.so
-%%GTK2%%%%AOSD%%lib/audacious/General/aosd.so
+%%GTK%%lib/audacious/General/albumart.so
+%%QT%%lib/audacious/General/albumart-qt.so
+%%GTK%%%%AOSD%%lib/audacious/General/aosd.so
%%CDDA%%lib/audacious/General/cd-menu-items.so
lib/audacious/General/delete-files.so
-%%GTK2%%lib/audacious/General/gtkui.so
-%%GTK2%%lib/audacious/General/hotkey.so
+%%GTK%%lib/audacious/General/gtkui.so
+%%GTK%%lib/audacious/General/hotkey.so
%%LIRC%%lib/audacious/General/lirc.so
-%%QT5%%lib/audacious/General/lyricwiki-qt.so
+%%QT%%lib/audacious/General/lyricwiki-qt.so
%%MPRIS%%lib/audacious/General/mpris2.so
%%NOTIFY%%lib/audacious/General/notify.so
-%%GTK2%%lib/audacious/General/playlist-manager.so
-%%QT5%%lib/audacious/General/playlist-manager-qt.so
-%%QT5%%lib/audacious/General/qtui.so
+%%GTK%%lib/audacious/General/playlist-manager.so
+%%QT%%lib/audacious/General/playlist-manager-qt.so
+%%QT%%lib/audacious/General/qthotkey.so
+%%QT%%lib/audacious/General/qtui.so
%%SCROBBLER%%lib/audacious/General/scrobbler.so
-%%GTK2%%lib/audacious/General/search-tool.so
-%%QT5%%lib/audacious/General/search-tool-qt.so
-%%GTK2%%lib/audacious/General/skins.so
-%%QT5%%lib/audacious/General/skins-qt.so
-%%QT5%%lib/audacious/General/song-info-qt.so
+%%GTK%%lib/audacious/General/search-tool.so
+%%QT%%lib/audacious/General/search-tool-qt.so
+%%GTK%%lib/audacious/General/skins.so
+%%QT%%lib/audacious/General/skins-qt.so
+%%QT%%lib/audacious/General/song-info-qt.so
lib/audacious/General/song_change.so
-%%GTK2%%lib/audacious/General/statusicon.so
-%%QT5%%lib/audacious/General/statusicon-qt.so
+%%GTK%%lib/audacious/General/statusicon.so
+%%QT%%lib/audacious/General/statusicon-qt.so
%%AAC%%lib/audacious/Input/aac-raw.so
%%AMIDI%%lib/audacious/Input/amidi-plug.so
%%CDDA%%lib/audacious/Input/cdaudio-ng.so
+%%CONSOLE%%lib/audacious/Input/console.so
%%FFMPEG%%lib/audacious/Input/ffaudio.so
%%FLAC%%lib/audacious/Input/flacng.so
lib/audacious/Input/madplug.so
@@ -51,6 +54,7 @@ lib/audacious/Input/metronom.so
%%MODPLUG%%lib/audacious/Input/modplug.so
%%ADPLUG%%lib/audacious/Input/adplug.so
%%OPENMPT%%lib/audacious/Input/openmpt.so
+%%OPUS%%lib/audacious/Input/opus.so
lib/audacious/Input/psf2.so
%%SID%%lib/audacious/Input/sid.so
%%SNDFILE%%lib/audacious/Input/sndfile.so
@@ -63,18 +67,20 @@ lib/audacious/Input/xsf.so
%%FILEWRITER%%lib/audacious/Output/filewriter.so
%%JACK%%lib/audacious/Output/jack-ng.so
%%OSS%%lib/audacious/Output/oss4.so
+%%PIPEWIRE%%lib/audacious/Output/pipewire.so
%%PULSEAUDIO%%lib/audacious/Output/pulse_audio.so
+%%QT%%%%QT5%%lib/audacious/Output/qtaudio.so
%%SDL%%lib/audacious/Output/sdlout.so
%%SNDIO%%lib/audacious/Output/sndio-ng.so
lib/audacious/Transport/gio.so
-%%MMS%%lib/audacious/Transport/mms.so
%%NEON%%lib/audacious/Transport/neon.so
-%%GTK2%%lib/audacious/Visualization/blur_scope.so
-%%QT5%%lib/audacious/Visualization/blur_scope-qt.so
-%%GTK2%%lib/audacious/Visualization/cairo-spectrum.so
-%%QT5%%lib/audacious/Visualization/qt-spectrum.so
-%%GTK2%%%%OPENGL%%lib/audacious/Visualization/gl-spectrum.so
-%%QT5%%lib/audacious/Visualization/vumeter-qt.so
+%%GTK%%lib/audacious/Visualization/blur_scope.so
+%%QT%%lib/audacious/Visualization/blur_scope-qt.so
+%%GTK%%lib/audacious/Visualization/cairo-spectrum.so
+%%QT%%lib/audacious/Visualization/qt-spectrum.so
+%%GTK%%%%OPENGL%%lib/audacious/Visualization/gl-spectrum.so
+%%QT%%%%OPENGL%%lib/audacious/Visualization/gl-spectrum-qt.so
+%%QT%%lib/audacious/Visualization/vumeter-qt.so
share/audacious/Skins/Classic/balance.png
share/audacious/Skins/Classic/cbuttons.png
share/audacious/Skins/Classic/eq_ex.png
@@ -122,6 +128,7 @@ share/audacious/Skins/Default/pledit.png
share/audacious/Skins/Default/pledit.txt
share/audacious/Skins/Default/posbar.png
share/audacious/Skins/Default/shufrep.png
+share/audacious/Skins/Default/skin-classic.hints
share/audacious/Skins/Default/skin.hints
share/audacious/Skins/Default/text.png
share/audacious/Skins/Default/titlebar.png
@@ -194,6 +201,7 @@ share/audacious/Skins/TinyPlayer/text.png
share/audacious/Skins/TinyPlayer/titlebar.png
share/audacious/Skins/TinyPlayer/viscolor.txt
share/audacious/Skins/TinyPlayer/volume.png
+%%NLS%%share/locale/af/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/ar/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/be/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/bg/LC_MESSAGES/audacious-plugins.mo
@@ -208,6 +216,8 @@ share/audacious/Skins/TinyPlayer/volume.png
%%NLS%%share/locale/es_AR/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/es_MX/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/et/LC_MESSAGES/audacious-plugins.mo
+%%NLS%%share/locale/eu/LC_MESSAGES/audacious-plugins.mo
+%%NLS%%share/locale/fa_IR/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/fi/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/fr/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/gl/LC_MESSAGES/audacious-plugins.mo
@@ -224,6 +234,7 @@ share/audacious/Skins/TinyPlayer/volume.png
%%NLS%%share/locale/pl/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/pt_PT/LC_MESSAGES/audacious-plugins.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/ru/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/si/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/sk/LC_MESSAGES/audacious-plugins.mo
@@ -235,5 +246,6 @@ share/audacious/Skins/TinyPlayer/volume.png
%%NLS%%share/locale/ta/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/tr/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/uk/LC_MESSAGES/audacious-plugins.mo
+%%NLS%%share/locale/uz/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/audacious-plugins.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/audacious-plugins.mo
diff --git a/multimedia/audacious/Makefile b/multimedia/audacious/Makefile
index 2675fadaf75f..002542b984bb 100644
--- a/multimedia/audacious/Makefile
+++ b/multimedia/audacious/Makefile
@@ -1,12 +1,12 @@
-# Created by: Zastupov Stepan [RedChrom] <redchrom@mail.ru>
-
PORTNAME= audacious
-PORTVERSION= 4.1
+PORTVERSION= 4.3.1
+PORTREVISION= 3
CATEGORIES= multimedia audio
MASTER_SITES= https://distfiles.audacious-media-player.org/
MAINTAINER= madpilot@FreeBSD.org
COMMENT= Lightweight and versatile audio player
+WWW= https://audacious-media-player.org/
LICENSE= BSD2CLAUSE BSD3CLAUSE
LICENSE_COMB= multi
@@ -15,47 +15,65 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libfreetype.so:print/freetype2 \
libfontconfig.so:x11-fonts/fontconfig
-FLAVORS= qt5 gtk2
+FLAVORS= qt5 qt6 gtk2 gtk3
FLAVOR?= ${FLAVORS:[1]}
USES= compiler:c++11-lib desktop-file-utils gettext-tools gmake \
- iconv localbase pkgconfig tar:bzip2 xorg
+ gnome iconv localbase meson pkgconfig tar:bzip2 xorg
+USE_GNOME= glib20
USE_XORG= x11 sm
USE_LDCONFIG= yes
+SUB_FILES= pkg-message
-qt5_CONFLICTS_INSTALL= audacious-gtk2
+CONFIGURE_ENV= LIBRARY_PATH="${LOCALBASE}/lib"
+MAKE_ENV= LIBRARY_PATH="${LOCALBASE}/lib"
-gtk2_PKGNAMESUFFIX= -gtk2
-gtk2_CONFLICTS_INSTALL= audacious
+qt5_CONFLICTS_INSTALL= audacious-qt6 audacious-gtk2 audacious-gtk3
-GNU_CONFIGURE= yes
-SUB_FILES= pkg-message
+qt6_PKGNAMESUFFIX= -qt6
+qt6_CONFLICTS_INSTALL= audacious audacious-gtk2 audacious-gtk3
-CONFIGURE_ARGS= --with-pkgconfigdir=${PREFIX}/libdata/pkgconfig \
- --without-buildstamp
+gtk2_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
+gtk2_PKGNAMESUFFIX= -gtk2
+gtk2_CONFLICTS_INSTALL= audacious audacious-qt6 audacious-gtk3
+
+gtk3_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
+gtk3_PKGNAMESUFFIX= -gtk3
+gtk3_CONFLICTS_INSTALL= audacious audacious-qt6 audacious-gtk2
.if ${FLAVOR} == qt5
-CONFIGURE_ARGS+= --enable-qt --disable-gtk
+MESON_ARGS+= -Dqt=true -Dqt6=false -Dgtk=false -Dgtk3=false
USES+= qt:5
-USE_QT= buildtools_build core gui widgets
-PLIST_SUB= QT5="" GTK2="@comment "
+USE_QT= buildtools:build core gui widgets
+PLIST_SUB= QT="" GTK="@comment "
+.elif ${FLAVOR} == qt6
+MESON_ARGS+= -Dqt=true -Dqt6=true -Dgtk=false -Dgtk3=false
+USES+= qt:6
+USE_QT= base
+PLIST_SUB= QT="" GTK="@comment "
.elif ${FLAVOR} == gtk2
-CONFIGURE_ARGS+= --disable-qt --enable-gtk
-USES+= gnome
-USE_GNOME= gtk20 glib20 cairo
-PLIST_SUB= QT5="@comment " GTK2=""
+MESON_ARGS+= -Dqt=false -Dqt6=false -Dgtk=true -Dgtk3=false
+USE_GNOME+= cairo gdkpixbuf2 gtk20
+PLIST_SUB= QT="@comment " GTK=""
+.elif ${FLAVOR} == gtk3
+MESON_ARGS+= -Dqt=false -Dqt6=false -Dgtk=true -Dgtk3=true
+USE_GNOME+= cairo gdkpixbuf2 gtk30
+PLIST_SUB= QT="@comment " GTK=""
.endif
-OPTIONS_DEFINE= NLS EXECINFO
-OPTIONS_DEFAULT=EXECINFO
-OPTIONS_SUB= yes
-EXECINFO_DESC= Build with libexecinfo support
+OPTIONS_DEFINE= NLS LIBARCHIVE EXECINFO
+OPTIONS_DEFAULT= EXECINFO
+OPTIONS_SUB= yes
+EXECINFO_DESC= Build with libexecinfo support
+LIBARCHIVE_DESC= Build with libarchive support
+
+LIBARCHIVE_MESON_TRUE= libarchive
+LIBARCHIVE_USES= libarchive
-NLS_USES= gettext-runtime
-NLS_CONFIGURE_ENABLE= nls
+NLS_USES= gettext-runtime
post-patch-NLS-off:
- ${REINPLACE_CMD} -e 's,po,,' ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} -e "/^subdir('po')/d" ${WRKSRC}/meson.build
post-patch-EXECINFO-on:
@${REINPLACE_CMD} 's|-lm |-lm -lexecinfo |' \
@@ -64,7 +82,8 @@ post-patch-EXECINFO-on:
${WRKSRC}/audacious.pc.in
post-install:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/aud*
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/lib*
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/metainfo
+ ${INSTALL_DATA} ${WRKSRC}/contrib/audacious.appdata.xml \
+ ${STAGEDIR}${PREFIX}/share/metainfo/
.include <bsd.port.mk>
diff --git a/multimedia/audacious/distinfo b/multimedia/audacious/distinfo
index d35c24fe9a7a..ea9883f0daa7 100644
--- a/multimedia/audacious/distinfo
+++ b/multimedia/audacious/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613830349
-SHA256 (audacious-4.1.tar.bz2) = 1f58858f9789e867c513b5272987f13bdfb09332b03c2814ad4c6e29f525e35c
-SIZE (audacious-4.1.tar.bz2) = 586472
+TIMESTAMP = 1682842590
+SHA256 (audacious-4.3.1.tar.bz2) = 85e9e26841505b51e342ee72a2d05f19bef894f567a029ebb3f3e0c1adb42042
+SIZE (audacious-4.3.1.tar.bz2) = 630820
diff --git a/multimedia/audacious/files/patch-Makefile b/multimedia/audacious/files/patch-Makefile
deleted file mode 100644
index 702dbc1b5a38..000000000000
--- a/multimedia/audacious/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig 2016-08-24 14:50:57 UTC
-+++ Makefile
-@@ -14,6 +14,8 @@ DATA = AUTHORS \
- images/playlist.png \
- images/plugins.png
-
-+CONTRIB = contrib/audacious.appdata.xml
-+
- include buildsys.mk
-
- install-extra:
diff --git a/multimedia/audacious/files/patch-buildsys.mk.in b/multimedia/audacious/files/patch-buildsys.mk.in
deleted file mode 100644
index 60ba317135ec..000000000000
--- a/multimedia/audacious/files/patch-buildsys.mk.in
+++ /dev/null
@@ -1,19 +0,0 @@
---- buildsys.mk.in.orig 2021-02-01 23:26:34 UTC
-+++ buildsys.mk.in
-@@ -656,6 +656,16 @@ install: install-extra
- ${DIR_LEAVE}; \
- done
-
-+ for i in "" ${CONTRIB}; do \
-+ test x"$$i" = x"" && continue; \
-+ ${INSTALL_STATUS}; \
-+ if ${MKDIR_P} ${DESTDIR}${datarootdir}/appdata && ${INSTALL} -m 644 $$i ${DESTDIR}${datarootdir}/appdata/$$(basename $$i); then \
-+ ${INSTALL_OK}; \
-+ else \
-+ ${INSTALL_FAILED}; \
-+ fi \
-+ done
-+
- for i in "" ${SHARED_LIB}; do \
- test x"$$i" = x"" && continue; \
- ${INSTALL_STATUS}; \
diff --git a/multimedia/audacious/files/patch-extra.mk.in b/multimedia/audacious/files/patch-extra.mk.in
deleted file mode 100644
index 5789fd2e6418..000000000000
--- a/multimedia/audacious/files/patch-extra.mk.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- extra.mk.in.orig 2016-08-24 14:50:57 UTC
-+++ extra.mk.in
-@@ -12,6 +12,7 @@ GMODULE_LIBS ?= @GMODULE_LIBS@
- GTK_CFLAGS ?= @GTK_CFLAGS@
- GTK_LIBS ?= @GTK_LIBS@
- QTCORE_CFLAGS ?= @QTCORE_CFLAGS@
-+LIBINTL ?= @LIBINTL@
- QTCORE_LIBS ?= @QTCORE_LIBS@
- QT_CFLAGS ?= @QT_CFLAGS@
- QT_LIBS ?= @QT_LIBS@
diff --git a/multimedia/audacious/files/patch-src_audtool_Makefile b/multimedia/audacious/files/patch-src_audtool_Makefile
deleted file mode 100644
index c4edbcb3709f..000000000000
--- a/multimedia/audacious/files/patch-src_audtool_Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
---- src/audtool/Makefile.orig 2016-08-24 14:50:57 UTC
-+++ src/audtool/Makefile
-@@ -15,4 +15,4 @@ include ../../buildsys.mk
- include ../../extra.mk
-
- CPPFLAGS := -I../.. -I../dbus ${CPPFLAGS} ${GLIB_CFLAGS} ${GIO_CFLAGS}
--LIBS := ../dbus/aud-dbus.a ${LIBS} ${GLIB_LIBS} ${GIO_LIBS}
-+LIBS := ../dbus/aud-dbus.a ${LIBS} ${GLIB_LIBS} ${GIO_LIBS} ${LIBINTL}
diff --git a/multimedia/audacious/files/patch-src_libaudcore_i18n.h b/multimedia/audacious/files/patch-src_libaudcore_i18n.h
new file mode 100644
index 000000000000..de75cd1c038f
--- /dev/null
+++ b/multimedia/audacious/files/patch-src_libaudcore_i18n.h
@@ -0,0 +1,13 @@
+--- src/libaudcore/i18n.h.orig 2022-07-10 01:11:00 UTC
++++ src/libaudcore/i18n.h
+@@ -34,8 +34,9 @@
+
+ #else
+
+-#define _(String) (String)
++#define _(String) ((char *)String)
+ #define N_(String) (String)
++#define gettext(str) (str)
+ #define dgettext(package, str) (str)
+ #define dngettext(package, str1, str2, count) (count > 1 ? str2 : str1)
+ #define ngettext(str1, str2, count) (count > 1 ? str2 : str1)
diff --git a/multimedia/audacious/files/patch-src_libaudcore_vfs.h b/multimedia/audacious/files/patch-src_libaudcore_vfs.h
new file mode 100644
index 000000000000..9c6edc1ee551
--- /dev/null
+++ b/multimedia/audacious/files/patch-src_libaudcore_vfs.h
@@ -0,0 +1,10 @@
+--- src/libaudcore/vfs.h.orig 2023-04-29 20:10:24 UTC
++++ src/libaudcore/vfs.h
+@@ -51,6 +51,7 @@ enum VFSSeekType
+
+ enum VFSSeekType
+ {
++ VFS_SEEK_UNK = -1,
+ VFS_SEEK_SET = 0,
+ VFS_SEEK_CUR = 1,
+ VFS_SEEK_END = 2
diff --git a/multimedia/audacious/pkg-descr b/multimedia/audacious/pkg-descr
index a119b5c87532..7e46de32c579 100644
--- a/multimedia/audacious/pkg-descr
+++ b/multimedia/audacious/pkg-descr
@@ -1,5 +1,3 @@
Audacious is an open source audio player. A descendant of XMMS, it plays
your music how you want it, without stealing away your computer's
resources from other tasks.
-
-WWW: https://audacious-media-player.org/
diff --git a/multimedia/audacious/pkg-plist b/multimedia/audacious/pkg-plist
index 3e301b2a5264..c98e6216f89b 100644
--- a/multimedia/audacious/pkg-plist
+++ b/multimedia/audacious/pkg-plist
@@ -30,39 +30,40 @@ include/libaudcore/tuple.h
include/libaudcore/vfs.h
include/libaudcore/vfs_async.h
include/libaudcore/visualizer.h
-%%QT5%%include/libaudqt/colorbutton.h
-%%QT5%%include/libaudqt/dock.h
-%%QT5%%include/libaudqt/export.h
-%%QT5%%include/libaudqt/iface.h
-%%QT5%%include/libaudqt/info-widget.h
-%%QT5%%include/libaudqt/libaudqt.h
-%%QT5%%include/libaudqt/menu.h
-%%QT5%%include/libaudqt/treeview.h
-%%GTK2%%include/libaudgui/libaudgui-gtk.h
-%%GTK2%%include/libaudgui/libaudgui.h
-%%GTK2%%include/libaudgui/list.h
-%%GTK2%%include/libaudgui/menu.h
+%%QT%%include/libaudqt/colorbutton.h
+%%QT%%include/libaudqt/dock.h
+%%QT%%include/libaudqt/export.h
+%%QT%%include/libaudqt/iface.h
+%%QT%%include/libaudqt/info-widget.h
+%%QT%%include/libaudqt/libaudqt.h
+%%QT%%include/libaudqt/menu.h
+%%QT%%include/libaudqt/treeview.h
+%%GTK%%include/libaudgui/gtk-compat.h
+%%GTK%%include/libaudgui/libaudgui-gtk.h
+%%GTK%%include/libaudgui/libaudgui.h
+%%GTK%%include/libaudgui/list.h
+%%GTK%%include/libaudgui/menu.h
lib/libaudcore.so
lib/libaudcore.so.5
-lib/libaudcore.so.5.3.0
-%%GTK2%%lib/libaudgui.so
-%%GTK2%%lib/libaudgui.so.5
-%%GTK2%%lib/libaudgui.so.5.1.0
-%%QT5%%lib/libaudqt.so
-%%QT5%%lib/libaudqt.so.2
-%%QT5%%lib/libaudqt.so.2.3.0
+lib/libaudcore.so.5.4.0
+%%GTK%%lib/libaudgui.so
+%%GTK%%lib/libaudgui.so.5
+%%GTK%%lib/libaudgui.so.5.2.0
+%%QT%%lib/libaudqt.so
+%%QT%%lib/libaudqt.so.2
+%%QT%%lib/libaudqt.so.2.4.0
lib/libaudtag.so
lib/libaudtag.so.3
lib/libaudtag.so.3.0.0
libdata/pkgconfig/audacious.pc
-man/man1/audacious.1.gz
-man/man1/audtool.1.gz
-share/appdata/audacious.appdata.xml
+share/man/man1/audacious.1.gz
+share/man/man1/audtool.1.gz
share/applications/audacious.desktop
%%DATADIR%%/AUTHORS
%%DATADIR%%/COPYING
share/icons/hicolor/48x48/apps/audacious.png
share/icons/hicolor/scalable/apps/audacious.svg
+%%NLS%%share/locale/af/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/ar/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/be/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/bg/LC_MESSAGES/audacious.mo
@@ -77,6 +78,8 @@ share/icons/hicolor/scalable/apps/audacious.svg
%%NLS%%share/locale/es_AR/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/es_MX/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/et/LC_MESSAGES/audacious.mo
+%%NLS%%share/locale/eu/LC_MESSAGES/audacious.mo
+%%NLS%%share/locale/fa_IR/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/fi/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/fr/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/gl/LC_MESSAGES/audacious.mo
@@ -93,6 +96,7 @@ share/icons/hicolor/scalable/apps/audacious.svg
%%NLS%%share/locale/pl/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/pt_PT/LC_MESSAGES/audacious.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/ru/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/si/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/sk/LC_MESSAGES/audacious.mo
@@ -104,5 +108,7 @@ share/icons/hicolor/scalable/apps/audacious.svg
%%NLS%%share/locale/ta/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/tr/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/uk/LC_MESSAGES/audacious.mo
+%%NLS%%share/locale/uz/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/audacious.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/audacious.mo
+share/metainfo/audacious.appdata.xml
diff --git a/multimedia/av1an/Makefile b/multimedia/av1an/Makefile
index a9ec849a3235..27a34c6063f9 100644
--- a/multimedia/av1an/Makefile
+++ b/multimedia/av1an/Makefile
@@ -1,233 +1,32 @@
PORTNAME= av1an
-DISTVERSION= 0.3.1
-PORTREVISION= 4
+DISTVERSION= 0.4.2
+PORTREVISION= 2
CATEGORIES= multimedia
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= 2fc2ea51f2b6.patch:-p1 # https://github.com/master-of-zen/Av1an/pull/557
-
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Command-line encoding framework with per scene quality
+WWW= https://github.com/master-of-zen/Av1an
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.md
-BUILD_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT} \
- ${BUILD_DEPENDS_${ARCH}}
+BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}}
BUILD_DEPENDS_amd64= nasm:devel/nasm
LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
libvapoursynth-script.so:multimedia/vapoursynth
-USES= cargo
+USES= cargo llvm
USE_GITHUB= yes
GH_ACCOUNT= master-of-zen
GH_PROJECT= Av1an
PLIST_FILES= bin/${PORTNAME}
-CARGO_CRATES= addr2line-0.17.0 \
- adler-1.0.2 \
- affinity-0.1.2 \
- aho-corasick-0.7.18 \
- ansi_term-0.12.1 \
- anyhow-1.0.52 \
- arbitrary-0.4.7 \
- arg_enum_proc_macro-0.3.2 \
- arrayvec-0.7.2 \
- atty-0.2.14 \
- autocfg-1.0.1 \
- av-bitstream-0.1.2 \
- av-data-0.3.0 \
- av-format-0.3.1 \
- av-ivf-0.2.3 \
- av-scenechange-0.7.2 \
- backtrace-0.3.63 \
- bindgen-0.54.0 \
- bitflags-1.3.2 \
- bitstream-io-1.2.0 \
- bumpalo-3.9.1 \
- byte-slice-cast-1.2.0 \
- bytes-1.1.0 \
- cc-1.0.72 \
- cexpr-0.4.0 \
- cfg-expr-0.7.4 \
- cfg-if-0.1.10 \
- cfg-if-1.0.0 \
- chrono-0.4.19 \
- clang-sys-0.29.3 \
- clap-3.0.7 \
- clap_derive-3.0.6 \
- console-0.15.0 \
- core-foundation-sys-0.8.3 \
- crossbeam-channel-0.5.2 \
- crossbeam-deque-0.8.1 \
- crossbeam-epoch-0.9.6 \
- crossbeam-utils-0.8.6 \
- dashmap-5.0.0 \
- either-1.6.1 \
- encode_unicode-0.3.6 \
- enum-iterator-0.7.0 \
- enum-iterator-derive-0.7.0 \
- err-derive-0.2.4 \
- errno-0.2.8 \
- errno-dragonfly-0.1.2 \
- failure-0.1.8 \
- failure_derive-0.1.8 \
- ffmpeg-next-4.4.0 \
- ffmpeg-sys-next-4.4.0 \
- flexi_logger-0.22.2 \
- form_urlencoded-1.0.1 \
- getrandom-0.2.4 \
- getset-0.1.2 \
- gimli-0.26.1 \
- git2-0.13.25 \
- glob-0.3.0 \
- hashbrown-0.11.2 \
- heck-0.3.3 \
- heck-0.4.0 \
- hermit-abi-0.1.19 \
- idna-0.2.3 \
- indexmap-1.8.0 \
- indicatif-0.17.0-rc.1 \
- instant-0.1.12 \
- interpolate_name-0.2.3 \
- itertools-0.10.3 \
- itoa-0.4.8 \
- itoa-1.0.1 \
- jobserver-0.1.24 \
- js-sys-0.3.55 \
- lazy_static-1.4.0 \
- lazycell-1.3.0 \
- libc-0.2.112 \
- libfuzzer-sys-0.3.5 \
- libgit2-sys-0.12.26+1.3.0 \
- libloading-0.5.2 \
- libz-sys-1.1.3 \
- lock_api-0.4.5 \
- log-0.4.14 \
- matches-0.1.9 \
- memchr-2.4.1 \
- memoffset-0.6.5 \
- minimal-lexical-0.2.1 \
- miniz_oxide-0.4.4 \
- mio-0.7.14 \
- miow-0.3.7 \
- nasm-rs-0.2.3 \
- nom-5.1.2 \
- nom-7.1.0 \
- noop_proc_macro-0.3.0 \
- ntapi-0.3.6 \
- num-bigint-0.3.3 \
- num-derive-0.3.3 \
- num-integer-0.1.44 \
- num-rational-0.3.2 \
- num-traits-0.2.14 \
- num_cpus-1.13.1 \
- number_prefix-0.4.0 \
- object-0.27.1 \
- once_cell-1.9.0 \
- os_str_bytes-6.0.0 \
- parking_lot-0.11.2 \
- parking_lot_core-0.8.5 \
- paste-1.0.6 \
- path_abs-0.5.1 \
- peeking_take_while-0.1.2 \
- percent-encoding-2.1.0 \
- pin-project-lite-0.2.8 \
- pkg-config-0.3.24 \
- plotters-0.3.1 \
- plotters-backend-0.3.2 \
- plotters-svg-0.3.1 \
- ppv-lite86-0.2.16 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
- proc-macro2-1.0.36 \
- quote-1.0.14 \
- rand-0.8.4 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- rand_hc-0.3.1 \
- rav1e-0.5.1 \
- rayon-1.5.1 \
- rayon-core-1.9.1 \
- redox_syscall-0.2.10 \
- regex-1.5.4 \
- regex-syntax-0.6.25 \
- rust_hawktracer-0.7.0 \
- rust_hawktracer_normal_macro-0.4.1 \
- rust_hawktracer_proc_macro-0.4.1 \
- rustc-demangle-0.1.21 \
- rustc-hash-1.1.0 \
- rustc_version-0.4.0 \
- rustversion-1.0.6 \
- ryu-1.0.9 \
- scopeguard-1.1.0 \
- semver-1.0.4 \
- serde-1.0.133 \
- serde_derive-1.0.133 \
- serde_json-1.0.75 \
- shlex-0.1.1 \
- shlex-1.1.0 \
- signal-hook-registry-1.4.0 \
- simd_helpers-0.1.0 \
- simdutf8-0.1.3 \
- smallvec-1.8.0 \
- smawk-0.3.1 \
- splines-4.0.3 \
- std_prelude-0.2.12 \
- stfu8-0.2.4 \
- strsim-0.10.0 \
- strum-0.21.0 \
- strum-0.23.0 \
- strum_macros-0.21.1 \
- strum_macros-0.23.1 \
- syn-1.0.85 \
- synstructure-0.12.6 \
- sysinfo-0.22.5 \
- system-deps-3.1.2 \
- termcolor-1.1.2 \
- terminal_size-0.1.17 \
- textwrap-0.14.2 \
- thiserror-1.0.30 \
- thiserror-impl-1.0.30 \
- time-0.1.44 \
- time-0.3.5 \
- time-macros-0.2.3 \
- tinyvec-1.5.1 \
- tinyvec_macros-0.1.0 \
- tokio-1.15.0 \
- toml-0.5.8 \
- unicode-bidi-0.3.7 \
- unicode-linebreak-0.1.2 \
- unicode-normalization-0.1.19 \
- unicode-segmentation-1.8.0 \
- unicode-width-0.1.9 \
- unicode-xid-0.2.2 \
- url-2.2.2 \
- v_frame-0.2.5 \
- vapoursynth-0.3.0 \
- vapoursynth-sys-0.3.0 \
- vcpkg-0.2.15 \
- vergen-3.2.0 \
- vergen-6.0.0 \
- version-compare-0.0.11 \
- version_check-0.9.4 \
- wasi-0.10.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.78 \
- wasm-bindgen-backend-0.2.78 \
- wasm-bindgen-macro-0.2.78 \
- wasm-bindgen-macro-support-0.2.78 \
- wasm-bindgen-shared-0.2.78 \
- web-sys-0.3.55 \
- which-4.2.2 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- y4m-0.7.0
+# XXX https://github.com/rust-lang/cargo/issues/4101
+CARGO_INSTALL_PATH= ${PORTNAME}
post-patch:
- @${REINPLACE_CMD} -e 's,"llvm-config,&${LLVM_DEFAULT},' \
- ${WRKSRC}/cargo-crates/clang-sys-*/build/common.rs \
- ${WRKSRC}/cargo-crates/clang-sys-*/src/support.rs
+ @${REINPLACE_CMD} -e 's,"llvm-config,"${LLVM_CONFIG},' \
+ ${WRKSRC_crate_clang-sys}/build/common.rs \
+ ${WRKSRC_crate_clang-sys}/src/support.rs
.include <bsd.port.mk>
diff --git a/multimedia/av1an/Makefile.crates b/multimedia/av1an/Makefile.crates
new file mode 100644
index 000000000000..36c31f1b1911
--- /dev/null
+++ b/multimedia/av1an/Makefile.crates
@@ -0,0 +1,232 @@
+CARGO_CRATES= addr2line-0.21.0 \
+ adler-1.0.2 \
+ affinity-0.1.2 \
+ aho-corasick-1.1.2 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ ansi_term-0.12.1 \
+ anstream-0.6.7 \
+ anstyle-1.0.4 \
+ anstyle-parse-0.2.3 \
+ anstyle-query-1.0.2 \
+ anstyle-wincon-3.0.2 \
+ anyhow-1.0.79 \
+ arbitrary-1.3.2 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.4 \
+ atty-0.2.14 \
+ autocfg-1.1.0 \
+ av-bitstream-0.2.0 \
+ av-data-0.4.1 \
+ av-format-0.7.0 \
+ av-ivf-0.5.0 \
+ av-scenechange-0.10.0 \
+ av1-grain-0.2.3 \
+ backtrace-0.3.69 \
+ bindgen-0.64.0 \
+ bitflags-1.3.2 \
+ bitflags-2.4.1 \
+ bitstream-io-2.2.0 \
+ built-0.7.1 \
+ bumpalo-3.14.0 \
+ byte-slice-cast-1.2.2 \
+ bytes-1.5.0 \
+ cc-1.0.83 \
+ cexpr-0.6.0 \
+ cfg-expr-0.15.6 \
+ cfg-if-1.0.0 \
+ chrono-0.4.31 \
+ clang-sys-1.7.0 \
+ clap-4.4.16 \
+ clap_builder-4.4.16 \
+ clap_derive-4.4.7 \
+ clap_lex-0.6.0 \
+ colorchoice-1.0.0 \
+ console-0.15.8 \
+ core-foundation-sys-0.8.6 \
+ crossbeam-channel-0.5.11 \
+ crossbeam-deque-0.8.5 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.19 \
+ dashmap-5.5.3 \
+ deranged-0.3.11 \
+ either-1.9.0 \
+ encode_unicode-0.3.6 \
+ equivalent-1.0.1 \
+ errno-0.3.8 \
+ ffmpeg-sys-the-third-1.1.1+ffmpeg-6.0 \
+ ffmpeg-the-third-1.2.2+ffmpeg-6.0 \
+ flexi_logger-0.27.3 \
+ form_urlencoded-1.2.1 \
+ getrandom-0.2.12 \
+ gimli-0.28.1 \
+ git2-0.18.1 \
+ glob-0.3.1 \
+ hashbrown-0.14.3 \
+ heck-0.4.1 \
+ hermit-abi-0.1.19 \
+ hermit-abi-0.3.3 \
+ home-0.5.9 \
+ iana-time-zone-0.1.59 \
+ iana-time-zone-haiku-0.1.2 \
+ idna-0.5.0 \
+ indexmap-2.1.0 \
+ indicatif-0.17.7 \
+ instant-0.1.12 \
+ interpolate_name-0.2.4 \
+ is-terminal-0.4.10 \
+ itertools-0.12.0 \
+ itoa-1.0.10 \
+ jobserver-0.1.27 \
+ js-sys-0.3.67 \
+ lazy_static-1.4.0 \
+ lazycell-1.3.0 \
+ libc-0.2.152 \
+ libfuzzer-sys-0.4.7 \
+ libgit2-sys-0.16.1+1.7.1 \
+ libloading-0.8.1 \
+ libz-sys-1.1.14 \
+ linux-raw-sys-0.4.12 \
+ lock_api-0.4.11 \
+ log-0.4.20 \
+ maybe-rayon-0.1.1 \
+ memchr-2.7.1 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.7.1 \
+ mio-0.8.10 \
+ nasm-rs-0.2.5 \
+ new_debug_unreachable-1.0.4 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ ntapi-0.4.1 \
+ nu-ansi-term-0.49.0 \
+ num-bigint-0.4.4 \
+ num-derive-0.3.3 \
+ num-derive-0.4.1 \
+ num-integer-0.1.45 \
+ num-rational-0.4.1 \
+ num-traits-0.2.17 \
+ num_cpus-1.16.0 \
+ num_threads-0.1.6 \
+ number_prefix-0.4.0 \
+ object-0.32.2 \
+ once_cell-1.19.0 \
+ parking_lot-0.12.1 \
+ parking_lot_core-0.9.9 \
+ paste-1.0.14 \
+ path_abs-0.5.1 \
+ peeking_take_while-0.1.2 \
+ percent-encoding-2.3.1 \
+ pin-project-lite-0.2.13 \
+ pkg-config-0.3.28 \
+ plotters-0.3.5 \
+ plotters-backend-0.3.5 \
+ plotters-svg-0.3.5 \
+ portable-atomic-1.6.0 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.17 \
+ proc-macro2-1.0.76 \
+ profiling-1.0.13 \
+ profiling-procmacros-1.0.13 \
+ quickcheck-1.0.3 \
+ quickcheck_macros-1.0.0 \
+ quote-1.0.35 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rav1e-0.7.1 \
+ rayon-1.8.0 \
+ rayon-core-1.12.0 \
+ redox_syscall-0.4.1 \
+ regex-1.10.2 \
+ regex-automata-0.4.3 \
+ regex-syntax-0.8.2 \
+ rustc-demangle-0.1.23 \
+ rustc-hash-1.1.0 \
+ rustc_version-0.4.0 \
+ rustix-0.38.30 \
+ rustversion-1.0.14 \
+ ryu-1.0.16 \
+ scopeguard-1.2.0 \
+ semver-1.0.21 \
+ serde-1.0.195 \
+ serde_derive-1.0.195 \
+ serde_json-1.0.111 \
+ serde_spanned-0.6.5 \
+ shlex-1.3.0 \
+ signal-hook-registry-1.4.1 \
+ simd_helpers-0.1.0 \
+ simdutf8-0.1.4 \
+ smallvec-1.12.0 \
+ smawk-0.3.2 \
+ socket2-0.5.5 \
+ splines-4.3.1 \
+ std_prelude-0.2.12 \
+ stfu8-0.2.7 \
+ strsim-0.10.0 \
+ strsim-0.11.0 \
+ strum-0.25.0 \
+ strum_macros-0.25.3 \
+ syn-1.0.109 \
+ syn-2.0.48 \
+ sysinfo-0.30.5 \
+ system-deps-6.2.0 \
+ target-lexicon-0.12.13 \
+ textwrap-0.16.0 \
+ thiserror-1.0.56 \
+ thiserror-impl-1.0.56 \
+ time-0.3.31 \
+ time-core-0.1.2 \
+ time-macros-0.2.16 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.35.1 \
+ toml-0.8.8 \
+ toml_datetime-0.6.5 \
+ toml_edit-0.21.0 \
+ unicode-bidi-0.3.14 \
+ unicode-ident-1.0.12 \
+ unicode-linebreak-0.1.5 \
+ unicode-normalization-0.1.22 \
+ unicode-width-0.1.11 \
+ url-2.5.0 \
+ utf8parse-0.2.1 \
+ v_frame-0.3.7 \
+ vapoursynth-0.4.0 \
+ vapoursynth-sys-0.4.0 \
+ vcpkg-0.2.15 \
+ vergen-8.2.8 \
+ version-compare-0.1.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.90 \
+ wasm-bindgen-backend-0.2.90 \
+ wasm-bindgen-macro-0.2.90 \
+ wasm-bindgen-macro-support-0.2.90 \
+ wasm-bindgen-shared-0.2.90 \
+ web-sys-0.3.67 \
+ which-5.0.0 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.52.0 \
+ windows-core-0.52.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.0 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.0 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.0 \
+ winnow-0.5.34 \
+ y4m-0.8.0
diff --git a/multimedia/av1an/distinfo b/multimedia/av1an/distinfo
index daec16e88aa9..202ad73539e4 100644
--- a/multimedia/av1an/distinfo
+++ b/multimedia/av1an/distinfo
@@ -1,405 +1,467 @@
-TIMESTAMP = 1642403802
-SHA256 (rust/crates/addr2line-0.17.0.crate) = b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b
-SIZE (rust/crates/addr2line-0.17.0.crate) = 32260
+TIMESTAMP = 1707828343
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
SIZE (rust/crates/adler-1.0.2.crate) = 12778
SHA256 (rust/crates/affinity-0.1.2.crate) = 763e484feceb7dd021b21c5c6f81aee06b1594a743455ec7efbf72e6355e447b
SIZE (rust/crates/affinity-0.1.2.crate) = 5372
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
+SHA256 (rust/crates/aho-corasick-1.1.2.crate) = b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0
+SIZE (rust/crates/aho-corasick-1.1.2.crate) = 183136
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
-SHA256 (rust/crates/anyhow-1.0.52.crate) = 84450d0b4a8bd1ba4144ce8ce718fbc5d071358b1e5384bace6536b3d1f2d5b3
-SIZE (rust/crates/anyhow-1.0.52.crate) = 44224
-SHA256 (rust/crates/arbitrary-0.4.7.crate) = db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569
-SIZE (rust/crates/arbitrary-0.4.7.crate) = 26282
-SHA256 (rust/crates/arg_enum_proc_macro-0.3.2.crate) = d7c29b43ee8654590587cd033b3eca2f9c4f8cdff945ec0e6ee91ceb057d87f3
-SIZE (rust/crates/arg_enum_proc_macro-0.3.2.crate) = 5367
-SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
-SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
+SHA256 (rust/crates/anstream-0.6.7.crate) = 4cd2405b3ac1faab2990b74d728624cd9fd115651fcecc7c2d8daf01376275ba
+SIZE (rust/crates/anstream-0.6.7.crate) = 30063
+SHA256 (rust/crates/anstyle-1.0.4.crate) = 7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87
+SIZE (rust/crates/anstyle-1.0.4.crate) = 13998
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.79.crate) = 080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca
+SIZE (rust/crates/anyhow-1.0.79.crate) = 44931
+SHA256 (rust/crates/arbitrary-1.3.2.crate) = 7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110
+SIZE (rust/crates/arbitrary-1.3.2.crate) = 32037
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (rust/crates/av-bitstream-0.1.2.crate) = 2bd66eb513f71b16101d911bf64a1b6b1480e20e86d70613e679dd763a51e30f
-SIZE (rust/crates/av-bitstream-0.1.2.crate) = 7179
-SHA256 (rust/crates/av-data-0.3.0.crate) = 26384d37601a2b72f98908c206dfe8633eeacd5c045e109cec53881a7c48d117
-SIZE (rust/crates/av-data-0.3.0.crate) = 13479
-SHA256 (rust/crates/av-format-0.3.1.crate) = 53b355bfc070e384ea796ad66b9f2aaf1bf3bd3307c1582bd244f2062d016676
-SIZE (rust/crates/av-format-0.3.1.crate) = 7271
-SHA256 (rust/crates/av-ivf-0.2.3.crate) = 0e0bb740b62318f61c15051f5c5ddd0da193c907fcef803c833270d895e5e761
-SIZE (rust/crates/av-ivf-0.2.3.crate) = 9993
-SHA256 (rust/crates/av-scenechange-0.7.2.crate) = c5f1ee878fc434a52b8fc258418a9b1c08273c48599da652cdd79c43d6ad9f10
-SIZE (rust/crates/av-scenechange-0.7.2.crate) = 15308
-SHA256 (rust/crates/backtrace-0.3.63.crate) = 321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6
-SIZE (rust/crates/backtrace-0.3.63.crate) = 74280
-SHA256 (rust/crates/bindgen-0.54.0.crate) = 66c0bb6167449588ff70803f4127f0684f9063097eca5016f37eb52b92c2cf36
-SIZE (rust/crates/bindgen-0.54.0.crate) = 192585
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/av-bitstream-0.2.0.crate) = edfc0f4a8db21e5688fdbcbcddc4495bef847dcebc4c5dae7907fbd963d5996c
+SIZE (rust/crates/av-bitstream-0.2.0.crate) = 9012
+SHA256 (rust/crates/av-data-0.4.1.crate) = ae0efe8b844ebd218ae548d0c12afedca2621fd41ccaa722128da928cd2af11b
+SIZE (rust/crates/av-data-0.4.1.crate) = 16687
+SHA256 (rust/crates/av-format-0.7.0.crate) = 3849494a36c059343063991bd56ba21ea6b6e144ec263e50fc0b3cf1c02dc3b7
+SIZE (rust/crates/av-format-0.7.0.crate) = 9139
+SHA256 (rust/crates/av-ivf-0.5.0.crate) = f503297c9c08d8a0d2827c817b70644d28f2111ed25ba8a6029170ccb5f90fd6
+SIZE (rust/crates/av-ivf-0.5.0.crate) = 9921
+SHA256 (rust/crates/av-scenechange-0.10.0.crate) = 449c6f8e61df7df762ec08db17e271d8343f4d432035d7723d8475c06563d738
+SIZE (rust/crates/av-scenechange-0.10.0.crate) = 18218
+SHA256 (rust/crates/av1-grain-0.2.3.crate) = 6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf
+SIZE (rust/crates/av1-grain-0.2.3.crate) = 34703
+SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
+SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
+SHA256 (rust/crates/bindgen-0.64.0.crate) = c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4
+SIZE (rust/crates/bindgen-0.64.0.crate) = 204700
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitstream-io-1.2.0.crate) = 521f9cfb75191e53bc98586398c3104a2b10812475930f09eeccb5144fc3e68b
-SIZE (rust/crates/bitstream-io-1.2.0.crate) = 27108
-SHA256 (rust/crates/bumpalo-3.9.1.crate) = a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899
-SIZE (rust/crates/bumpalo-3.9.1.crate) = 77507
-SHA256 (rust/crates/byte-slice-cast-1.2.0.crate) = 1d30c751592b77c499e7bce34d99d67c2c11bdc0574e9a488ddade14150a4698
-SIZE (rust/crates/byte-slice-cast-1.2.0.crate) = 7239
-SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
-SIZE (rust/crates/bytes-1.1.0.crate) = 49640
-SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
-SIZE (rust/crates/cc-1.0.72.crate) = 57495
-SHA256 (rust/crates/cexpr-0.4.0.crate) = f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27
-SIZE (rust/crates/cexpr-0.4.0.crate) = 18023
-SHA256 (rust/crates/cfg-expr-0.7.4.crate) = 30aa9e2ffbb838c6b451db14f3cd8e63ed622bf859f9956bc93845a10fafc26a
-SIZE (rust/crates/cfg-expr-0.7.4.crate) = 34162
-SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/bitflags-2.4.1.crate) = 327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07
+SIZE (rust/crates/bitflags-2.4.1.crate) = 37043
+SHA256 (rust/crates/bitstream-io-2.2.0.crate) = 06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da
+SIZE (rust/crates/bitstream-io-2.2.0.crate) = 34113
+SHA256 (rust/crates/built-0.7.1.crate) = 38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53
+SIZE (rust/crates/built-0.7.1.crate) = 21085
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/byte-slice-cast-1.2.2.crate) = c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c
+SIZE (rust/crates/byte-slice-cast-1.2.2.crate) = 7276
+SHA256 (rust/crates/bytes-1.5.0.crate) = a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223
+SIZE (rust/crates/bytes-1.5.0.crate) = 58909
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
+SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
+SHA256 (rust/crates/cfg-expr-0.15.6.crate) = 6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a
+SIZE (rust/crates/cfg-expr-0.15.6.crate) = 41989
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (rust/crates/chrono-0.4.19.crate) = 155663
-SHA256 (rust/crates/clang-sys-0.29.3.crate) = fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a
-SIZE (rust/crates/clang-sys-0.29.3.crate) = 36660
-SHA256 (rust/crates/clap-3.0.7.crate) = 12e8611f9ae4e068fa3e56931fded356ff745e70987ff76924a6e0ab1c8ef2e3
-SIZE (rust/crates/clap-3.0.7.crate) = 190557
-SHA256 (rust/crates/clap_derive-3.0.6.crate) = 517358c28fcef6607bf6f76108e02afad7e82297d132a6b846dcc1fc3efcd153
-SIZE (rust/crates/clap_derive-3.0.6.crate) = 24686
-SHA256 (rust/crates/console-0.15.0.crate) = a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31
-SIZE (rust/crates/console-0.15.0.crate) = 23507
-SHA256 (rust/crates/core-foundation-sys-0.8.3.crate) = 5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc
-SIZE (rust/crates/core-foundation-sys-0.8.3.crate) = 17519
-SHA256 (rust/crates/crossbeam-channel-0.5.2.crate) = e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa
-SIZE (rust/crates/crossbeam-channel-0.5.2.crate) = 87842
-SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
-SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
-SHA256 (rust/crates/crossbeam-epoch-0.9.6.crate) = 97242a70df9b89a65d0b6df3c4bf5b9ce03c5b7309019777fbde37e7537f8762
-SIZE (rust/crates/crossbeam-epoch-0.9.6.crate) = 46055
-SHA256 (rust/crates/crossbeam-utils-0.8.6.crate) = cfcae03edb34f947e64acdb1c33ec169824e20657e9ecb61cef6c8c74dcb8120
-SIZE (rust/crates/crossbeam-utils-0.8.6.crate) = 38841
-SHA256 (rust/crates/dashmap-5.0.0.crate) = b799062aaf67eb976af3bdca031ee6f846d2f0a5710ddbb0d2efee33f3cc4760
-SIZE (rust/crates/dashmap-5.0.0.crate) = 18718
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/chrono-0.4.31.crate) = 7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38
+SIZE (rust/crates/chrono-0.4.31.crate) = 214513
+SHA256 (rust/crates/clang-sys-1.7.0.crate) = 67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1
+SIZE (rust/crates/clang-sys-1.7.0.crate) = 42088
+SHA256 (rust/crates/clap-4.4.16.crate) = 58e54881c004cec7895b0068a0a954cd5d62da01aef83fa35b1e594497bf5445
+SIZE (rust/crates/clap-4.4.16.crate) = 55534
+SHA256 (rust/crates/clap_builder-4.4.16.crate) = 59cb82d7f531603d2fd1f507441cdd35184fa81beff7bd489570de7f773460bb
+SIZE (rust/crates/clap_builder-4.4.16.crate) = 163503
+SHA256 (rust/crates/clap_derive-4.4.7.crate) = cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442
+SIZE (rust/crates/clap_derive-4.4.7.crate) = 29046
+SHA256 (rust/crates/clap_lex-0.6.0.crate) = 702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1
+SIZE (rust/crates/clap_lex-0.6.0.crate) = 12272
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb
+SIZE (rust/crates/console-0.15.8.crate) = 36364
+SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f
+SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629
+SHA256 (rust/crates/crossbeam-channel-0.5.11.crate) = 176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b
+SIZE (rust/crates/crossbeam-channel-0.5.11.crate) = 90434
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/dashmap-5.5.3.crate) = 978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856
+SIZE (rust/crates/dashmap-5.5.3.crate) = 24061
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
-SHA256 (rust/crates/enum-iterator-0.7.0.crate) = 4eeac5c5edb79e4e39fe8439ef35207780a11f69c52cbe424ce3dfad4cb78de6
-SIZE (rust/crates/enum-iterator-0.7.0.crate) = 1783
-SHA256 (rust/crates/enum-iterator-derive-0.7.0.crate) = c134c37760b27a871ba422106eedbb8247da973a09e82558bf26d619c882b159
-SIZE (rust/crates/enum-iterator-derive-0.7.0.crate) = 2431
-SHA256 (rust/crates/err-derive-0.2.4.crate) = 22deed3a8124cff5fa835713fa105621e43bbdc46690c3a6b68328a012d350d4
-SIZE (rust/crates/err-derive-0.2.4.crate) = 14934
-SHA256 (rust/crates/errno-0.2.8.crate) = f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1
-SIZE (rust/crates/errno-0.2.8.crate) = 9276
-SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
-SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
-SHA256 (rust/crates/failure-0.1.8.crate) = d32e9bd16cc02eae7db7ef620b392808b89f6a5e16bb3497d159c6b92a0f4f86
-SIZE (rust/crates/failure-0.1.8.crate) = 37582
-SHA256 (rust/crates/failure_derive-0.1.8.crate) = aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4
-SIZE (rust/crates/failure_derive-0.1.8.crate) = 4950
-SHA256 (rust/crates/ffmpeg-next-4.4.0.crate) = 4676cda947a87a1e8a42e154059c567e75de64860252cce52c684acd8c074fa0
-SIZE (rust/crates/ffmpeg-next-4.4.0.crate) = 86104
-SHA256 (rust/crates/ffmpeg-sys-next-4.4.0.crate) = de57234f2c49c6e093fe67bbbaa9142c228f6e2d5533ef27980993d5b6adef2a
-SIZE (rust/crates/ffmpeg-sys-next-4.4.0.crate) = 14123
-SHA256 (rust/crates/flexi_logger-0.22.2.crate) = 0b51b4517f4422bfa0515dafcc10b4cc4cd3953d69a19608fd74afb3b19e227c
-SIZE (rust/crates/flexi_logger-0.22.2.crate) = 204735
-SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
-SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
-SHA256 (rust/crates/getrandom-0.2.4.crate) = 418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c
-SIZE (rust/crates/getrandom-0.2.4.crate) = 26800
-SHA256 (rust/crates/getset-0.1.2.crate) = e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9
-SIZE (rust/crates/getset-0.1.2.crate) = 8831
-SHA256 (rust/crates/gimli-0.26.1.crate) = 78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4
-SIZE (rust/crates/gimli-0.26.1.crate) = 716168
-SHA256 (rust/crates/git2-0.13.25.crate) = f29229cc1b24c0e6062f6e742aa3e256492a5323365e5ed3413599f8a5eff7d6
-SIZE (rust/crates/git2-0.13.25.crate) = 194192
-SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
-SIZE (rust/crates/glob-0.3.0.crate) = 18724
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
-SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (rust/crates/heck-0.3.3.crate) = 10260
-SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
-SIZE (rust/crates/heck-0.4.0.crate) = 11161
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/ffmpeg-sys-the-third-1.1.1+ffmpeg-6.0.crate) = 94a4b2e9c02074c0ee85661b23b3ac849bad6afc554b503c183975f5e2e0d3de
+SIZE (rust/crates/ffmpeg-sys-the-third-1.1.1+ffmpeg-6.0.crate) = 14894
+SHA256 (rust/crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0.crate) = 301c55f432cce71d0cc5266e8e70e69cc7a865f8aa8785c44cb56c3935a13715
+SIZE (rust/crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0.crate) = 89833
+SHA256 (rust/crates/flexi_logger-0.27.3.crate) = 2ac35b454b60e1836602173e2eb7ef531173388c0212e02ec7f9fac086159ee5
+SIZE (rust/crates/flexi_logger-0.27.3.crate) = 216178
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5
+SIZE (rust/crates/getrandom-0.2.12.crate) = 36163
+SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
+SIZE (rust/crates/gimli-0.28.1.crate) = 270497
+SHA256 (rust/crates/git2-0.18.1.crate) = fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd
+SIZE (rust/crates/git2-0.18.1.crate) = 211466
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
-SIZE (rust/crates/idna-0.2.3.crate) = 271023
-SHA256 (rust/crates/indexmap-1.8.0.crate) = 282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223
-SIZE (rust/crates/indexmap-1.8.0.crate) = 52583
-SHA256 (rust/crates/indicatif-0.17.0-rc.1.crate) = c112b1e714737c51fa137aaf6ae2cdf6960d01895e096a6feb1e0afd192c790d
-SIZE (rust/crates/indicatif-0.17.0-rc.1.crate) = 41961
+SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7
+SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253
+SHA256 (rust/crates/home-0.5.9.crate) = e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5
+SIZE (rust/crates/home-0.5.9.crate) = 8760
+SHA256 (rust/crates/iana-time-zone-0.1.59.crate) = b6a67363e2aa4443928ce15e57ebae94fd8949958fd1223c4cfc0cd473ad7539
+SIZE (rust/crates/iana-time-zone-0.1.59.crate) = 27033
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/indexmap-2.1.0.crate) = d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f
+SIZE (rust/crates/indexmap-2.1.0.crate) = 68224
+SHA256 (rust/crates/indicatif-0.17.7.crate) = fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25
+SIZE (rust/crates/indicatif-0.17.7.crate) = 63108
SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
SIZE (rust/crates/instant-0.1.12.crate) = 6128
-SHA256 (rust/crates/interpolate_name-0.2.3.crate) = b4b35f4a811037cfdcd44c5db40678464b2d5d248fc1abeeaaa125b370d47f17
-SIZE (rust/crates/interpolate_name-0.2.3.crate) = 4165
-SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
-SIZE (rust/crates/itertools-0.10.3.crate) = 118661
-SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
-SIZE (rust/crates/itoa-0.4.8.crate) = 11926
-SHA256 (rust/crates/itoa-1.0.1.crate) = 1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35
-SIZE (rust/crates/itoa-1.0.1.crate) = 11059
-SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa
-SIZE (rust/crates/jobserver-0.1.24.crate) = 21303
-SHA256 (rust/crates/js-sys-0.3.55.crate) = 7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84
-SIZE (rust/crates/js-sys-0.3.55.crate) = 70499
+SHA256 (rust/crates/interpolate_name-0.2.4.crate) = c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60
+SIZE (rust/crates/interpolate_name-0.2.4.crate) = 4027
+SHA256 (rust/crates/is-terminal-0.4.10.crate) = 0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455
+SIZE (rust/crates/is-terminal-0.4.10.crate) = 7683
+SHA256 (rust/crates/itertools-0.12.0.crate) = 25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0
+SIZE (rust/crates/itertools-0.12.0.crate) = 133620
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/jobserver-0.1.27.crate) = 8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d
+SIZE (rust/crates/jobserver-0.1.27.crate) = 24774
+SHA256 (rust/crates/js-sys-0.3.67.crate) = 9a1d36f1235bc969acba30b7f5990b864423a6068a10f7c90ae8f0112e3a59d1
+SIZE (rust/crates/js-sys-0.3.67.crate) = 80764
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
-SHA256 (rust/crates/libc-0.2.112.crate) = 1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125
-SIZE (rust/crates/libc-0.2.112.crate) = 571445
-SHA256 (rust/crates/libfuzzer-sys-0.3.5.crate) = fcf184a4b6b274f82a5df6b357da6055d3e82272327bba281c28bbba6f1664ef
-SIZE (rust/crates/libfuzzer-sys-0.3.5.crate) = 112480
-SHA256 (rust/crates/libgit2-sys-0.12.26+1.3.0.crate) = 19e1c899248e606fbfe68dcb31d8b0176ebab833b103824af31bddf4b7457494
-SIZE (rust/crates/libgit2-sys-0.12.26+1.3.0.crate) = 1476836
-SHA256 (rust/crates/libloading-0.5.2.crate) = f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753
-SIZE (rust/crates/libloading-0.5.2.crate) = 16420
-SHA256 (rust/crates/libz-sys-1.1.3.crate) = de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66
-SIZE (rust/crates/libz-sys-1.1.3.crate) = 1341394
-SHA256 (rust/crates/lock_api-0.4.5.crate) = 712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109
-SIZE (rust/crates/lock_api-0.4.5.crate) = 25199
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
-SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
-SIZE (rust/crates/matches-0.1.9.crate) = 2246
-SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
-SIZE (rust/crates/memchr-2.4.1.crate) = 64977
-SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
-SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/libc-0.2.152.crate) = 13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7
+SIZE (rust/crates/libc-0.2.152.crate) = 740278
+SHA256 (rust/crates/libfuzzer-sys-0.4.7.crate) = a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7
+SIZE (rust/crates/libfuzzer-sys-0.4.7.crate) = 128332
+SHA256 (rust/crates/libgit2-sys-0.16.1+1.7.1.crate) = f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c
+SIZE (rust/crates/libgit2-sys-0.16.1+1.7.1.crate) = 1773446
+SHA256 (rust/crates/libloading-0.8.1.crate) = c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161
+SIZE (rust/crates/libloading-0.8.1.crate) = 27893
+SHA256 (rust/crates/libz-sys-1.1.14.crate) = 295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050
+SIZE (rust/crates/libz-sys-1.1.14.crate) = 3939803
+SHA256 (rust/crates/linux-raw-sys-0.4.12.crate) = c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456
+SIZE (rust/crates/linux-raw-sys-0.4.12.crate) = 1465800
+SHA256 (rust/crates/lock_api-0.4.11.crate) = 3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45
+SIZE (rust/crates/lock_api-0.4.11.crate) = 27487
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/maybe-rayon-0.1.1.crate) = 8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519
+SIZE (rust/crates/maybe-rayon-0.1.1.crate) = 2901
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
-SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
-SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
-SHA256 (rust/crates/mio-0.7.14.crate) = 8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc
-SIZE (rust/crates/mio-0.7.14.crate) = 87429
-SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
-SIZE (rust/crates/miow-0.3.7.crate) = 24563
-SHA256 (rust/crates/nasm-rs-0.2.3.crate) = f031925084b045b8ff1d7f9d035283a969c63c5849769e0b81ef0fe639370e72
-SIZE (rust/crates/nasm-rs-0.2.3.crate) = 9813
-SHA256 (rust/crates/nom-5.1.2.crate) = ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af
-SIZE (rust/crates/nom-5.1.2.crate) = 136174
-SHA256 (rust/crates/nom-7.1.0.crate) = 1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109
-SIZE (rust/crates/nom-7.1.0.crate) = 115647
+SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7
+SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194
+SHA256 (rust/crates/mio-0.8.10.crate) = 8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09
+SIZE (rust/crates/mio-0.8.10.crate) = 102345
+SHA256 (rust/crates/nasm-rs-0.2.5.crate) = fe4d98d0065f4b1daf164b3eafb11974c94662e5e2396cf03f32d0bb5c17da51
+SIZE (rust/crates/nasm-rs-0.2.5.crate) = 9920
+SHA256 (rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
+SIZE (rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
-SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
-SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
-SHA256 (rust/crates/num-bigint-0.3.3.crate) = 5f6f7833f2cbf2360a6cfd58cd41a53aa7a90bd4c202f5b1c7dd2ed73c57b2c3
-SIZE (rust/crates/num-bigint-0.3.3.crate) = 89493
+SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4
+SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
+SHA256 (rust/crates/nu-ansi-term-0.49.0.crate) = c073d3c1930d0751774acf49e66653acecb416c3a54c6ec095a9b11caddb5a68
+SIZE (rust/crates/nu-ansi-term-0.49.0.crate) = 28211
+SHA256 (rust/crates/num-bigint-0.4.4.crate) = 608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0
+SIZE (rust/crates/num-bigint-0.4.4.crate) = 99369
SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d
SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
-SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
-SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
-SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
-SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
-SIZE (rust/crates/num_cpus-1.13.1.crate) = 14752
+SHA256 (rust/crates/num-derive-0.4.1.crate) = cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712
+SIZE (rust/crates/num-derive-0.4.1.crate) = 14840
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0
+SIZE (rust/crates/num-rational-0.4.1.crate) = 27889
+SHA256 (rust/crates/num-traits-0.2.17.crate) = 39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c
+SIZE (rust/crates/num-traits-0.2.17.crate) = 50190
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/num_threads-0.1.6.crate) = 2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44
+SIZE (rust/crates/num_threads-0.1.6.crate) = 7334
SHA256 (rust/crates/number_prefix-0.4.0.crate) = 830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3
SIZE (rust/crates/number_prefix-0.4.0.crate) = 6922
-SHA256 (rust/crates/object-0.27.1.crate) = 67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9
-SIZE (rust/crates/object-0.27.1.crate) = 228030
-SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
-SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
-SHA256 (rust/crates/os_str_bytes-6.0.0.crate) = 8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64
-SIZE (rust/crates/os_str_bytes-6.0.0.crate) = 21046
-SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
-SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
-SHA256 (rust/crates/parking_lot_core-0.8.5.crate) = d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216
-SIZE (rust/crates/parking_lot_core-0.8.5.crate) = 32466
-SHA256 (rust/crates/paste-1.0.6.crate) = 0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5
-SIZE (rust/crates/paste-1.0.6.crate) = 17808
+SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.9.crate) = 4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e
+SIZE (rust/crates/parking_lot_core-0.9.9.crate) = 32445
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
SHA256 (rust/crates/path_abs-0.5.1.crate) = 05ef02f6342ac01d8a93b65f96db53fe68a92a15f41144f97fb00a9e669633c3
SIZE (rust/crates/path_abs-0.5.1.crate) = 31072
SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
-SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
-SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
-SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c
-SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847
-SHA256 (rust/crates/pkg-config-0.3.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe
-SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489
-SHA256 (rust/crates/plotters-0.3.1.crate) = 32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a
-SIZE (rust/crates/plotters-0.3.1.crate) = 8595577
-SHA256 (rust/crates/plotters-backend-0.3.2.crate) = d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c
-SIZE (rust/crates/plotters-backend-0.3.2.crate) = 13524
-SHA256 (rust/crates/plotters-svg-0.3.1.crate) = 521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9
-SIZE (rust/crates/plotters-svg-0.3.1.crate) = 7596
-SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872
-SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
-SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
-SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
-SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
-SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
-SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
-SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
-SHA256 (rust/crates/quote-1.0.14.crate) = 47aa80447ce4daf1717500037052af176af5d38cc3e571d9ec1c7353fc10c87d
-SIZE (rust/crates/quote-1.0.14.crate) = 27252
-SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
-SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pkg-config-0.3.28.crate) = 69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a
+SIZE (rust/crates/pkg-config-0.3.28.crate) = 20330
+SHA256 (rust/crates/plotters-0.3.5.crate) = d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45
+SIZE (rust/crates/plotters-0.3.5.crate) = 143975
+SHA256 (rust/crates/plotters-backend-0.3.5.crate) = 9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609
+SIZE (rust/crates/plotters-backend-0.3.5.crate) = 13440
+SHA256 (rust/crates/plotters-svg-0.3.5.crate) = 38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab
+SIZE (rust/crates/plotters-svg-0.3.5.crate) = 6948
+SHA256 (rust/crates/portable-atomic-1.6.0.crate) = 7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0
+SIZE (rust/crates/portable-atomic-1.6.0.crate) = 140689
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/proc-macro2-1.0.76.crate) = 95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c
+SIZE (rust/crates/proc-macro2-1.0.76.crate) = 45660
+SHA256 (rust/crates/profiling-1.0.13.crate) = d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e
+SIZE (rust/crates/profiling-1.0.13.crate) = 13109
+SHA256 (rust/crates/profiling-procmacros-1.0.13.crate) = 4b322d7d65c1ab449be3c890fcbd0db6e1092d0dd05d79dba2dd28032cebeb05
+SIZE (rust/crates/profiling-procmacros-1.0.13.crate) = 5598
+SHA256 (rust/crates/quickcheck-1.0.3.crate) = 588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6
+SIZE (rust/crates/quickcheck-1.0.3.crate) = 28069
+SHA256 (rust/crates/quickcheck_macros-1.0.0.crate) = b22a693222d716a9587786f37ac3f6b4faedb5b80c23914e7303ff5a1d8016e9
+SIZE (rust/crates/quickcheck_macros-1.0.0.crate) = 5275
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
-SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
-SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
-SHA256 (rust/crates/rav1e-0.5.1.crate) = 56639427b5c9ad5734686eac009758593e2ba80eab08f6d083173c2e2b73cb00
-SIZE (rust/crates/rav1e-0.5.1.crate) = 1125938
-SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
-SIZE (rust/crates/rayon-1.5.1.crate) = 160424
-SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
-SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
-SHA256 (rust/crates/redox_syscall-0.2.10.crate) = 8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff
-SIZE (rust/crates/redox_syscall-0.2.10.crate) = 23582
-SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (rust/crates/regex-1.5.4.crate) = 236581
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
-SHA256 (rust/crates/rust_hawktracer-0.7.0.crate) = e3480a29b927f66c6e06527be7f49ef4d291a01d694ec1fe85b0de71d6b02ac1
-SIZE (rust/crates/rust_hawktracer-0.7.0.crate) = 4718
-SHA256 (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 8a570059949e1dcdc6f35228fa389f54c2c84dfe0c94c05022baacd56eacd2e9
-SIZE (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 3000
-SHA256 (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = cb626abdbed5e93f031baae60d72032f56bc964e11ac2ff65f2ba3ed98d6d3e1
-SIZE (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = 3028
-SHA256 (rust/crates/rustc-demangle-0.1.21.crate) = 7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342
-SIZE (rust/crates/rustc-demangle-0.1.21.crate) = 27920
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rav1e-0.7.1.crate) = cd87ce80a7665b1cce111f8a16c1f3929f6547ce91ade6addf4ec86a8dda5ce9
+SIZE (rust/crates/rav1e-0.7.1.crate) = 1472522
+SHA256 (rust/crates/rayon-1.8.0.crate) = 9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1
+SIZE (rust/crates/rayon-1.8.0.crate) = 170172
+SHA256 (rust/crates/rayon-core-1.12.0.crate) = 5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed
+SIZE (rust/crates/rayon-core-1.12.0.crate) = 70081
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/regex-1.10.2.crate) = 380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343
+SIZE (rust/crates/regex-1.10.2.crate) = 252839
+SHA256 (rust/crates/regex-automata-0.4.3.crate) = 5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f
+SIZE (rust/crates/regex-automata-0.4.3.crate) = 617011
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
-SHA256 (rust/crates/rustversion-1.0.6.crate) = f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f
-SIZE (rust/crates/rustversion-1.0.6.crate) = 18380
-SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
-SIZE (rust/crates/ryu-1.0.9.crate) = 48391
-SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
-SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
-SHA256 (rust/crates/semver-1.0.4.crate) = 568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012
-SIZE (rust/crates/semver-1.0.4.crate) = 29375
-SHA256 (rust/crates/serde-1.0.133.crate) = 97565067517b60e2d1ea8b268e59ce036de907ac523ad83a0475da04e818989a
-SIZE (rust/crates/serde-1.0.133.crate) = 75566
-SHA256 (rust/crates/serde_derive-1.0.133.crate) = ed201699328568d8d08208fdd080e3ff594e6c422e438b6705905da01005d537
-SIZE (rust/crates/serde_derive-1.0.133.crate) = 54726
-SHA256 (rust/crates/serde_json-1.0.75.crate) = c059c05b48c5c0067d4b4b2b4f0732dd65feb52daf7e0ea09cd87e7dadc1af79
-SIZE (rust/crates/serde_json-1.0.75.crate) = 116009
-SHA256 (rust/crates/shlex-0.1.1.crate) = 7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2
-SIZE (rust/crates/shlex-0.1.1.crate) = 5687
-SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
-SIZE (rust/crates/shlex-1.1.0.crate) = 5199
-SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
-SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+SHA256 (rust/crates/rustix-0.38.30.crate) = 322394588aaf33c24007e8bb3238ee3e4c5c09c084ab32bc73890b99ff326bca
+SIZE (rust/crates/rustix-0.38.30.crate) = 374744
+SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4
+SIZE (rust/crates/rustversion-1.0.14.crate) = 17261
+SHA256 (rust/crates/ryu-1.0.16.crate) = f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c
+SIZE (rust/crates/ryu-1.0.16.crate) = 47351
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/semver-1.0.21.crate) = b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0
+SIZE (rust/crates/semver-1.0.21.crate) = 30445
+SHA256 (rust/crates/serde-1.0.195.crate) = 63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02
+SIZE (rust/crates/serde-1.0.195.crate) = 76856
+SHA256 (rust/crates/serde_derive-1.0.195.crate) = 46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c
+SIZE (rust/crates/serde_derive-1.0.195.crate) = 55687
+SHA256 (rust/crates/serde_json-1.0.111.crate) = 176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4
+SIZE (rust/crates/serde_json-1.0.111.crate) = 146447
+SHA256 (rust/crates/serde_spanned-0.6.5.crate) = eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1
+SIZE (rust/crates/serde_spanned-0.6.5.crate) = 8349
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
-SHA256 (rust/crates/simdutf8-0.1.3.crate) = c970da16e7c682fa90a261cf0724dee241c9f7831635ecc4e988ae8f3b505559
-SIZE (rust/crates/simdutf8-0.1.3.crate) = 25813
-SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
-SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
-SHA256 (rust/crates/smawk-0.3.1.crate) = f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043
-SIZE (rust/crates/smawk-0.3.1.crate) = 12840
-SHA256 (rust/crates/splines-4.0.3.crate) = c94307351d02448532cdf65ea95bfdd529183d360a60fb8c8bdca6c90af55542
-SIZE (rust/crates/splines-4.0.3.crate) = 17124
+SHA256 (rust/crates/simdutf8-0.1.4.crate) = f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a
+SIZE (rust/crates/simdutf8-0.1.4.crate) = 28621
+SHA256 (rust/crates/smallvec-1.12.0.crate) = 2593d31f82ead8df961d8bd23a64c2ccf2eb5dd34b0a34bfb4dd54011c72009e
+SIZE (rust/crates/smallvec-1.12.0.crate) = 34947
+SHA256 (rust/crates/smawk-0.3.2.crate) = b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c
+SIZE (rust/crates/smawk-0.3.2.crate) = 13831
+SHA256 (rust/crates/socket2-0.5.5.crate) = 7b5fac59a5cb5dd637972e5fca70daf0523c9067fcdc4842f053dae04a18f8e9
+SIZE (rust/crates/socket2-0.5.5.crate) = 54863
+SHA256 (rust/crates/splines-4.3.1.crate) = 228c4551e53c672e86439509545dd7ffcb966b6876c58b108e433a30e6117101
+SIZE (rust/crates/splines-4.3.1.crate) = 17797
SHA256 (rust/crates/std_prelude-0.2.12.crate) = 8207e78455ffdf55661170876f88daf85356e4edd54e0a3dbc79586ca1e50cbe
SIZE (rust/crates/std_prelude-0.2.12.crate) = 5066
-SHA256 (rust/crates/stfu8-0.2.4.crate) = 4bf70433e3300a3c395d06606a700cdf4205f4f14dbae2c6833127c6bb22db77
-SIZE (rust/crates/stfu8-0.2.4.crate) = 44860
+SHA256 (rust/crates/stfu8-0.2.7.crate) = e51f1e89f093f99e7432c491c382b88a6860a5adbe6bf02574bf0a08efff1978
+SIZE (rust/crates/stfu8-0.2.7.crate) = 42753
SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
-SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
-SIZE (rust/crates/strum-0.21.0.crate) = 5296
-SHA256 (rust/crates/strum-0.23.0.crate) = cae14b91c7d11c9a851d3fbc80a963198998c2a64eec840477fa92d8ce9b70bb
-SIZE (rust/crates/strum-0.23.0.crate) = 5429
-SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
-SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
-SHA256 (rust/crates/strum_macros-0.23.1.crate) = 5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38
-SIZE (rust/crates/strum_macros-0.23.1.crate) = 18203
-SHA256 (rust/crates/syn-1.0.85.crate) = a684ac3dcd8913827e18cd09a68384ee66c1de24157e3c556c9ab16d85695fb7
-SIZE (rust/crates/syn-1.0.85.crate) = 235056
-SHA256 (rust/crates/synstructure-0.12.6.crate) = f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f
-SIZE (rust/crates/synstructure-0.12.6.crate) = 18429
-SHA256 (rust/crates/sysinfo-0.22.5.crate) = 7f1bfab07306a27332451a662ca9c8156e3a9986f82660ba9c8e744fe8455d43
-SIZE (rust/crates/sysinfo-0.22.5.crate) = 116712
-SHA256 (rust/crates/system-deps-3.1.2.crate) = 7ab7dbd121ce66af2176147a48c7e01aaf1f001837a18a7cf4317858606bbdf8
-SIZE (rust/crates/system-deps-3.1.2.crate) = 20920
-SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
-SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
-SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
-SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
-SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
-SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
-SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
-SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
-SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
-SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
-SIZE (rust/crates/time-0.1.44.crate) = 28885
-SHA256 (rust/crates/time-0.3.5.crate) = 41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad
-SIZE (rust/crates/time-0.3.5.crate) = 72732
-SHA256 (rust/crates/time-macros-0.2.3.crate) = 25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6
-SIZE (rust/crates/time-macros-0.2.3.crate) = 16838
-SHA256 (rust/crates/tinyvec-1.5.1.crate) = 2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2
-SIZE (rust/crates/tinyvec-1.5.1.crate) = 44942
-SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
-SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
-SHA256 (rust/crates/tokio-1.15.0.crate) = fbbf1c778ec206785635ce8ad57fe52b3009ae9e0c9f574a728f3049d3e55838
-SIZE (rust/crates/tokio-1.15.0.crate) = 540198
-SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.crate) = 54219
-SHA256 (rust/crates/unicode-bidi-0.3.7.crate) = 1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f
-SIZE (rust/crates/unicode-bidi-0.3.7.crate) = 33759
-SHA256 (rust/crates/unicode-linebreak-0.1.2.crate) = 3a52dcaab0c48d931f7cc8ef826fa51690a08e1ea55117ef26f89864f532383f
-SIZE (rust/crates/unicode-linebreak-0.1.2.crate) = 69293
-SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
-SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
-SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
-SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
-SIZE (rust/crates/url-2.2.2.crate) = 68555
-SHA256 (rust/crates/v_frame-0.2.5.crate) = c70a928a3fbba9cbb0f86ffb4aabed536e7acf692a46b3bfb70c3d9c15b8c6ab
-SIZE (rust/crates/v_frame-0.2.5.crate) = 10654
-SHA256 (rust/crates/vapoursynth-0.3.0.crate) = e378bb0210b411e41b16083e2cf274d3fcb3c92071dbcc332cbac713ab6c33a0
-SIZE (rust/crates/vapoursynth-0.3.0.crate) = 59149
-SHA256 (rust/crates/vapoursynth-sys-0.3.0.crate) = c5ad7879f2893d1574b128d26e65aedf38c3c01ac3af1c7d09cc6bc4c5148b87
-SIZE (rust/crates/vapoursynth-sys-0.3.0.crate) = 588299
+SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01
+SIZE (rust/crates/strsim-0.11.0.crate) = 13710
+SHA256 (rust/crates/strum-0.25.0.crate) = 290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125
+SIZE (rust/crates/strum-0.25.0.crate) = 5539
+SHA256 (rust/crates/strum_macros-0.25.3.crate) = 23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0
+SIZE (rust/crates/strum_macros-0.25.3.crate) = 22570
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.48.crate) = 0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f
+SIZE (rust/crates/syn-2.0.48.crate) = 250566
+SHA256 (rust/crates/sysinfo-0.30.5.crate) = 1fb4f3438c8f6389c864e61221cbc97e9bca98b4daf39a5beb7bea660f528bb2
+SIZE (rust/crates/sysinfo-0.30.5.crate) = 169073
+SHA256 (rust/crates/system-deps-6.2.0.crate) = 2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331
+SIZE (rust/crates/system-deps-6.2.0.crate) = 24961
+SHA256 (rust/crates/target-lexicon-0.12.13.crate) = 69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae
+SIZE (rust/crates/target-lexicon-0.12.13.crate) = 25424
+SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d
+SIZE (rust/crates/textwrap-0.16.0.crate) = 53722
+SHA256 (rust/crates/thiserror-1.0.56.crate) = d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad
+SIZE (rust/crates/thiserror-1.0.56.crate) = 20592
+SHA256 (rust/crates/thiserror-impl-1.0.56.crate) = fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471
+SIZE (rust/crates/thiserror-impl-1.0.56.crate) = 15367
+SHA256 (rust/crates/time-0.3.31.crate) = f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e
+SIZE (rust/crates/time-0.3.31.crate) = 121762
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.16.crate) = 26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f
+SIZE (rust/crates/time-macros-0.2.16.crate) = 24356
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.35.1.crate) = c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104
+SIZE (rust/crates/tokio-1.35.1.crate) = 744407
+SHA256 (rust/crates/toml-0.8.8.crate) = a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35
+SIZE (rust/crates/toml-0.8.8.crate) = 50451
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.21.0.crate) = d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03
+SIZE (rust/crates/toml_edit-0.21.0.crate) = 101265
+SHA256 (rust/crates/unicode-bidi-0.3.14.crate) = 6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416
+SIZE (rust/crates/unicode-bidi-0.3.14.crate) = 56429
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f
+SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-width-0.1.11.crate) = e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85
+SIZE (rust/crates/unicode-width-0.1.11.crate) = 19187
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/v_frame-0.3.7.crate) = c372e4e6fad129795fb86fda6021b258948560b39883b80ed00510a7d19846b0
+SIZE (rust/crates/v_frame-0.3.7.crate) = 14640
+SHA256 (rust/crates/vapoursynth-0.4.0.crate) = 0c7df702c65dec1cfa3b93f824a1e58d5b0fdb82ac8a722596f43d7214282f56
+SIZE (rust/crates/vapoursynth-0.4.0.crate) = 58899
+SHA256 (rust/crates/vapoursynth-sys-0.4.0.crate) = 2fc59bbb7980ce21ece45bc5b3e316bf27ac164b7b1c273ce4846c29d0642a9c
+SIZE (rust/crates/vapoursynth-sys-0.4.0.crate) = 11751
SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
-SHA256 (rust/crates/vergen-3.2.0.crate) = e7141e445af09c8919f1d5f8a20dae0b20c3b57a45dee0d5823c6ed5d237f15a
-SIZE (rust/crates/vergen-3.2.0.crate) = 16897
-SHA256 (rust/crates/vergen-6.0.0.crate) = fd0c9f8387e118573859ae0e6c6fbdfa41bd1f4fbea451b0b8c5a81a3b8bc9e0
-SIZE (rust/crates/vergen-6.0.0.crate) = 28508
-SHA256 (rust/crates/version-compare-0.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
-SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
-SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
-SIZE (rust/crates/version_check-0.9.4.crate) = 14895
-SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
-SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
-SHA256 (rust/crates/wasm-bindgen-0.2.78.crate) = 632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce
-SIZE (rust/crates/wasm-bindgen-0.2.78.crate) = 162111
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.78.crate) = a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b
-SIZE (rust/crates/wasm-bindgen-backend-0.2.78.crate) = 25576
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.78.crate) = d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9
-SIZE (rust/crates/wasm-bindgen-macro-0.2.78.crate) = 11700
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 17858
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc
-SIZE (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 7206
-SHA256 (rust/crates/web-sys-0.3.55.crate) = 38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb
-SIZE (rust/crates/web-sys-0.3.55.crate) = 664827
-SHA256 (rust/crates/which-4.2.2.crate) = ea187a8ef279bc014ec368c27a920da2024d2a711109bfbe3440585d5cf27ad9
-SIZE (rust/crates/which-4.2.2.crate) = 8589
+SHA256 (rust/crates/vergen-8.2.8.crate) = 6cf9c2670809c4840d4648fc7daa396551d7d88966f9ba93821b81a5c0c2d3f5
+SIZE (rust/crates/vergen-8.2.8.crate) = 40903
+SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29
+SIZE (rust/crates/version-compare-0.1.1.crate) = 13224
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.90.crate) = b1223296a201415c7fad14792dbefaace9bd52b62d33453ade1c5b5f07555406
+SIZE (rust/crates/wasm-bindgen-0.2.90.crate) = 182529
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.90.crate) = fcdc935b63408d58a32f8cc9738a0bffd8f05cc7c002086c6ef20b7312ad9dcd
+SIZE (rust/crates/wasm-bindgen-backend-0.2.90.crate) = 28348
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.90.crate) = 3e4c238561b2d428924c49815533a8b9121c664599558a5d9ec51f8a1740a999
+SIZE (rust/crates/wasm-bindgen-macro-0.2.90.crate) = 13904
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.90.crate) = bae1abb6806dc1ad9e560ed242107c0f6c84335f1749dd4e8ddb012ebd5e25a7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.90.crate) = 20008
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.90.crate) = 4d91413b1c31d7539ba5ef2451af3f0b833a005eb27a631cec32bc0635a8602b
+SIZE (rust/crates/wasm-bindgen-shared-0.2.90.crate) = 7264
+SHA256 (rust/crates/web-sys-0.3.67.crate) = 58cd2333b6e0be7a39605f0e255892fd7418a682d8da8fe042fe25128794d2ed
+SIZE (rust/crates/web-sys-0.3.67.crate) = 725967
+SHA256 (rust/crates/which-5.0.0.crate) = 9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14
+SIZE (rust/crates/which-5.0.0.crate) = 16635
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/y4m-0.7.0.crate) = a72a9921af8237fe25097a1ae31c92a05c1d39b2454653ad48f2f407cf7a0dae
-SIZE (rust/crates/y4m-0.7.0.crate) = 12045
-SHA256 (master-of-zen-Av1an-0.3.1_GH0.tar.gz) = 67afe7ad356e91c3a5da6ed8085f796e9bcd7cb8c4f1df48b00d4c9f4db460c7
-SIZE (master-of-zen-Av1an-0.3.1_GH0.tar.gz) = 120838
-SHA256 (2fc2ea51f2b6.patch) = 96621e1ba965655ee295628db1e7d0111e2b803795c576d0de95148077b10dcd
-SIZE (2fc2ea51f2b6.patch) = 1815
+SHA256 (rust/crates/windows-0.52.0.crate) = e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be
+SIZE (rust/crates/windows-0.52.0.crate) = 11843715
+SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
+SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (rust/crates/winnow-0.5.34.crate) = b7cf47b659b318dccbd69cc4797a39ae128f533dce7902a1096044d1967b9c16
+SIZE (rust/crates/winnow-0.5.34.crate) = 154055
+SHA256 (rust/crates/y4m-0.8.0.crate) = 7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448
+SIZE (rust/crates/y4m-0.8.0.crate) = 12455
+SHA256 (master-of-zen-Av1an-0.4.2_GH0.tar.gz) = 8762fc24ca444c7c1a527af436b66724cbb8c8618f549b3305c2d0c847f16e62
+SIZE (master-of-zen-Av1an-0.4.2_GH0.tar.gz) = 138969
diff --git a/multimedia/av1an/files/patch-ffmpeg b/multimedia/av1an/files/patch-ffmpeg
index a6972269c04d..f9a5ee9fd73b 100644
--- a/multimedia/av1an/files/patch-ffmpeg
+++ b/multimedia/av1an/files/patch-ffmpeg
@@ -1,7 +1,7 @@
https://github.com/zmwangx/rust-ffmpeg/issues/63
error[E0432]: unresolved imports `libc::ENODATA`, `libc::ENOSR`, `libc::ENOSTR`, `libc::ETIME`
- --> cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs:20:22
+ --> cargo-crates/ffmpeg-next-5.1.1/src/util/error.rs:20:22
|
20 | ENFILE, ENOBUFS, ENODATA, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
| ^^^^^^^ no `ENODATA` in the root
@@ -22,35 +22,9 @@ help: a similar name exists in the module
23 | EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, VTIME, ETIMEDOUT, ETXTBSY,
| ~~~~~
-https://github.com/zmwangx/rust-ffmpeg/commit/d5e9f34b6a3c
-
-error[E0308]: mismatched types
- --> cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs:205:7
- |
-205 | [[0_i8; AV_ERROR_MAX_STRING_SIZE]; 27];
- | ^^^^ expected `u8`, found `i8`
- |
-help: change the type of the numeric literal from `i8` to `u8`
- |
-205 | [[0_u8; AV_ERROR_MAX_STRING_SIZE]; 27];
- | ~~~~
-
-https://github.com/zmwangx/rust-ffmpeg-sys/commit/b9382c010ab2
-
-error[E0428]: the name `AV_PIX_FMT_YUV420P9` is defined multiple times
- --> cargo-crates/ffmpeg-sys-next-4.4.0/src/avutil/pixfmt.rs:155:1
- |
-38 | pub const AV_PIX_FMT_YUV420P9: AVPixelFormat = AV_PIX_FMT_YUV420P9LE;
- | --------------------------------------------------------------------- previous definition of the value `AV_PIX_FMT_YUV420P9` here
-...
-155 | pub const AV_PIX_FMT_YUV420P9: AVPixelFormat = AV_PIX_FMT_YUV420P9BE;
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `AV_PIX_FMT_YUV420P9` redefined here
- |
- = note: `AV_PIX_FMT_YUV420P9` must be defined only once in the value namespace of this module
-
---- cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs.orig 1970-01-01 00:00:00 UTC
-+++ cargo-crates/ffmpeg-next-4.4.0/src/util/error.rs
-@@ -17,10 +17,10 @@ pub use libc::{
+--- cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/error.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/ffmpeg-the-third-1.2.2+ffmpeg-6.0/src/util/error.rs
+@@ -19,10 +19,10 @@ pub use libc::{
EBUSY, ECANCELED, ECHILD, ECONNABORTED, ECONNREFUSED, ECONNRESET, EDEADLK, EDESTADDRREQ, EDOM,
EEXIST, EFAULT, EFBIG, EHOSTUNREACH, EIDRM, EILSEQ, EINPROGRESS, EINTR, EINVAL, EIO, EISCONN,
EISDIR, ELOOP, EMFILE, EMLINK, EMSGSIZE, ENAMETOOLONG, ENETDOWN, ENETRESET, ENETUNREACH,
@@ -64,23 +38,3 @@ error[E0428]: the name `AV_PIX_FMT_YUV420P9` is defined multiple times
EWOULDBLOCK, EXDEV,
};
-@@ -201,8 +201,7 @@ fn index(error: &Error) -> usize {
- }
-
- // XXX: the length has to be synced with the number of errors
--static mut STRINGS: [[c_char; AV_ERROR_MAX_STRING_SIZE]; 27] =
-- [[0_i8; AV_ERROR_MAX_STRING_SIZE]; 27];
-+static mut STRINGS: [[c_char; AV_ERROR_MAX_STRING_SIZE]; 27] = [[0; AV_ERROR_MAX_STRING_SIZE]; 27];
-
- pub fn register_all() {
- unsafe {
---- cargo-crates/ffmpeg-sys-next-4.4.0/src/avutil/pixfmt.rs.orig 1970-01-01 00:00:00 UTC
-+++ cargo-crates/ffmpeg-sys-next-4.4.0/src/avutil/pixfmt.rs
-@@ -35,6 +35,7 @@ pub const AV_PIX_FMT_BGR555: AVPixelFormat = AV_PIX_FM
- #[cfg(target_endian = "little")]
- pub const AV_PIX_FMT_BGR444: AVPixelFormat = AV_PIX_FMT_BGR444LE;
-
-+#[cfg(target_endian = "little")]
- pub const AV_PIX_FMT_YUV420P9: AVPixelFormat = AV_PIX_FMT_YUV420P9LE;
- #[cfg(target_endian = "little")]
- pub const AV_PIX_FMT_YUV422P9: AVPixelFormat = AV_PIX_FMT_YUV422P9LE;
diff --git a/multimedia/av1an/pkg-descr b/multimedia/av1an/pkg-descr
index b539e50d1aaf..9b783a8eaed3 100644
--- a/multimedia/av1an/pkg-descr
+++ b/multimedia/av1an/pkg-descr
@@ -16,5 +16,3 @@ to a very limited number of threads.
- Simple and clean console look.
- Automatic detection of the number of workers the host can handle.
- Both video and audio transcoding.
-
-WWW: https://github.com/master-of-zen/Av1an
diff --git a/multimedia/avidemux-cli/Makefile b/multimedia/avidemux-cli/Makefile
index 31e5f892341d..73b8ae7238a6 100644
--- a/multimedia/avidemux-cli/Makefile
+++ b/multimedia/avidemux-cli/Makefile
@@ -1,5 +1,6 @@
PORTNAME= avidemux
PORTVERSION= ${AVIDEMUX_VERSION}
+PORTREVISION= 2
CATEGORIES= multimedia
PKGNAMESUFFIX= -cli
diff --git a/multimedia/avidemux-cli/pkg-plist b/multimedia/avidemux-cli/pkg-plist
index 2861c093be43..ebfd74b8b81d 100644
--- a/multimedia/avidemux-cli/pkg-plist
+++ b/multimedia/avidemux-cli/pkg-plist
@@ -1,5 +1,5 @@
bin/avidemux3_cli
-include/avidemux/2.7/cli/config.h
-include/avidemux/2.7/cli/ADM_UIs/ADM_UI_Cli6_export.h
+include/avidemux/2.8/cli/config.h
+include/avidemux/2.8/cli/ADM_UIs/ADM_UI_Cli6_export.h
lib/libADM_UI_Cli6.so
lib/libADM_render6_cli.so
diff --git a/multimedia/avidemux-plugins/Makefile b/multimedia/avidemux-plugins/Makefile
index 5ae13d1604be..7c678d9c0403 100644
--- a/multimedia/avidemux-plugins/Makefile
+++ b/multimedia/avidemux-plugins/Makefile
@@ -1,7 +1,6 @@
-# Created by: Anish Mistry (with help from mean)
-
PORTNAME= avidemux
PORTVERSION= ${AVIDEMUX_VERSION}
+PORTREVISION= 5
CATEGORIES= multimedia
PKGNAMESUFFIX= -plugins
@@ -17,7 +16,6 @@ PLIST= ${.CURDIR}/pkg-plist
CMAKE_SOURCE_PATH= ${WRKSRC}/avidemux_plugins
-#CMAKE_ARGS+= -DAVIDEMUX_SOURCE_DIR=${WRKSRC} -DAVIDEMUX_INSTALL_PREFIX:PATH="${PREFIX}" -DAVIDEMUX_CORECONFIG_DIR=${CONFIGURE_WRKSRC}/config
CMAKE_ARGS+= -DAVIDEMUX_SOURCE_DIR=${WRKSRC} -DAVIDEMUX_INSTALL_PREFIX:PATH="${PREFIX}"
PLUGIN_UI= COMMON SETTINGS
diff --git a/multimedia/avidemux-plugins/pkg-plist b/multimedia/avidemux-plugins/pkg-plist
index b57f1679c7c6..266cce3227f9 100644
--- a/multimedia/avidemux-plugins/pkg-plist
+++ b/multimedia/avidemux-plugins/pkg-plist
@@ -2,6 +2,7 @@
%%VAPOURSYNTH%%%%QT5%%bin/vsProxy_gui_qt5
lib/ADM_plugins6/audioDecoder/libADM_ad_Mad.so
lib/ADM_plugins6/audioDecoder/libADM_ad_a52.so
+lib/ADM_plugins6/audioDecoder/libADM_ad_alaw.so
%%DCA%%lib/ADM_plugins6/audioDecoder/libADM_ad_dca.so
%%FAAD%%lib/ADM_plugins6/audioDecoder/libADM_ad_faad.so
lib/ADM_plugins6/audioDecoder/libADM_ad_ima_adpcm.so
@@ -14,7 +15,7 @@ lib/ADM_plugins6/audioDecoder/libADM_ad_ulaw.so
%%VORBIS%%lib/ADM_plugins6/audioDecoder/libADM_ad_vorbis.so
%%JACK%%lib/ADM_plugins6/audioDevices/libADM_av_jack.so
%%OSS%%lib/ADM_plugins6/audioDevices/libADM_av_oss.so
-%%PULSEAUDIO%%lib/ADM_plugins6/audioDevices/libADM_av_pulseAudioSimple.so
+%%PULSEAUDIO%%lib/ADM_plugins6/audioDevices/libADM_av_pulseAudio.so
%%FAAC%%lib/ADM_plugins6/audioEncoders/libADM_ae_faac.so
%%FDK%%lib/ADM_plugins6/audioEncoders/libADM_ae_fdk_aac.so
%%LAME%%lib/ADM_plugins6/audioEncoders/libADM_ae_lame.so
@@ -71,8 +72,11 @@ lib/ADM_plugins6/videoEncoders/libADM_ve_ffDv.so
lib/ADM_plugins6/videoEncoders/libADM_ve_ffFlv1.so
lib/ADM_plugins6/videoEncoders/libADM_ve_ffMpeg2.so
lib/ADM_plugins6/videoEncoders/libADM_ve_ffMpeg4.so
+%%NVENC%%lib/ADM_plugins6/videoEncoders/libADM_ve_ffNvencH264.so
+%%NVENC%%lib/ADM_plugins6/videoEncoders/libADM_ve_ffNvencHEVC.so
%%VAAPI%%lib/ADM_plugins6/videoEncoders/libADM_ve_ffVaEncH264.so
%%VAAPI%%lib/ADM_plugins6/videoEncoders/libADM_ve_ffVaEncHEVC.so
+lib/ADM_plugins6/videoEncoders/libADM_ve_ffv1.so
lib/ADM_plugins6/videoEncoders/libADM_ve_huff.so
lib/ADM_plugins6/videoEncoders/libADM_ve_jpeg.so
%%VAAPI%%lib/ADM_plugins6/videoEncoders/libADM_ve_libva.so
@@ -87,22 +91,48 @@ lib/ADM_plugins6/videoEncoders/libADM_ve_yv12.so
%%X265%%%%QT5%%lib/ADM_plugins6/videoEncoders/qt5/libADM_ve_x265_QT5.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_CropCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_HueCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_ZoomCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_analyzerCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artCartoonCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artCharcoalCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artChromaHoldCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artChromaKeyCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artColorEffectCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artDynThresholdCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artGridCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artMirrorCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artPixelizeCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artPosterizeCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artVHSCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_artVignetteCli.so
-%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_colorTempCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_blackenBordersCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_blurCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_chromaShiftCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_colorBalanceCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_colorTempCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_contrastCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_cubicLUTCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_debandCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_delogoHQCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_eq2Cli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_fadeFromImageCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_fadeInCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_fadeOutCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_fadeThroughCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_fitToSizeCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_flipCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_imageStabCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_logoCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_lumaStabCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_mpdelogoCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_msharpenCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_quadTransCli.so
%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_swscaleResize_cli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_waveletDenoiseCli.so
+%%CLI%%lib/ADM_plugins6/videoFilters/cli/libADM_vf_waveletSharpCli.so
lib/ADM_plugins6/videoFilters/libADM_vf_DgBob.so
lib/ADM_plugins6/videoFilters/libADM_vf_FluxSmooth.so
+lib/ADM_plugins6/videoFilters/libADM_vf_aarotate.so
lib/ADM_plugins6/videoFilters/libADM_vf_addBorders.so
lib/ADM_plugins6/videoFilters/libADM_vf_admIvtc.so
lib/ADM_plugins6/videoFilters/libADM_vf_ascii.so
@@ -111,13 +141,13 @@ lib/ADM_plugins6/videoFilters/libADM_vf_black.so
lib/ADM_plugins6/videoFilters/libADM_vf_blend.so
lib/ADM_plugins6/videoFilters/libADM_vf_changeFps.so
lib/ADM_plugins6/videoFilters/libADM_vf_colorYuv.so
+lib/ADM_plugins6/videoFilters/libADM_vf_decimateFrame.so
lib/ADM_plugins6/videoFilters/libADM_vf_denoise3d.so
lib/ADM_plugins6/videoFilters/libADM_vf_denoise3dhq.so
lib/ADM_plugins6/videoFilters/libADM_vf_dummy.so
lib/ADM_plugins6/videoFilters/libADM_vf_fadeTo.so
lib/ADM_plugins6/videoFilters/libADM_vf_fadeToBlack.so
lib/ADM_plugins6/videoFilters/libADM_vf_gauss.so
-lib/ADM_plugins6/videoFilters/libADM_vf_hflip.so
lib/ADM_plugins6/videoFilters/libADM_vf_hzstackField.so
lib/ADM_plugins6/videoFilters/libADM_vf_ivtcDupeRemover.so
lib/ADM_plugins6/videoFilters/libADM_vf_kernelDeint.so
@@ -144,30 +174,54 @@ lib/ADM_plugins6/videoFilters/libADM_vf_unstackField.so
%%VAAPI%%lib/ADM_plugins6/videoFilters/libADM_vf_vaapiFilterDeint.so
%%VDPAU%%lib/ADM_plugins6/videoFilters/libADM_vf_vdpauFilter.so
%%VDPAU%%lib/ADM_plugins6/videoFilters/libADM_vf_vdpauFilterDeint.so
-lib/ADM_plugins6/videoFilters/libADM_vf_vflip.so
lib/ADM_plugins6/videoFilters/libADM_vf_yadif.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_HueQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_analyzerQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artCartoonQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artCharcoalQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artChromaHoldQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artChromaKeyQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artColorEffectQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artDynThresholdQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artGridQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artMirrorQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artPixelizeQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artPosterizeQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artVHSQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_artVignetteQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_asharpQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_blackenBordersQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_blurQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_chromaShiftQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_colorBalanceQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_colorTempQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_contrastQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_cropQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_cubicLUTQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_debandQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_delogoHQQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_eq2QT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_fadeFromImageQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_fadeInQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_fadeOutQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_fadeThroughQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_fitToSizeQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_flipQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_glBenchmark.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_glResize.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_imageStabQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_logoQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_lumaStabQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_mpdelogoQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_msharpenQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_rotateGlFrag2.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_quadTransQT5.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_sampleGlFrag2.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_sampleGlVertex.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_shaderLoaderGl.so
%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_swscaleResizeQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_waveletDenoiseQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_waveletSharpQT5.so
+%%QT5%%lib/ADM_plugins6/videoFilters/qt5/libADM_vf_zoomQT5.so
share/ADM6_addons/avsfilter/avsload.exe
share/ADM6_addons/avsfilter/pipe_source.dll
diff --git a/multimedia/avidemux-qt5/Makefile b/multimedia/avidemux-qt5/Makefile
index 5a7c8f3dca82..119f9fae96d4 100644
--- a/multimedia/avidemux-qt5/Makefile
+++ b/multimedia/avidemux-qt5/Makefile
@@ -1,5 +1,6 @@
PORTNAME= avidemux
PORTVERSION= ${AVIDEMUX_VERSION}
+PORTREVISION= 2
CATEGORIES= multimedia
PKGNAMESUFFIX= -qt5
diff --git a/multimedia/avidemux-qt5/pkg-plist b/multimedia/avidemux-qt5/pkg-plist
index 2b0b2785b561..862f152d2515 100644
--- a/multimedia/avidemux-qt5/pkg-plist
+++ b/multimedia/avidemux-qt5/pkg-plist
@@ -1,14 +1,15 @@
bin/avidemux3_jobs_qt5
bin/avidemux3_qt5
-include/avidemux/2.7/qt5/ADM_openGL/ADM_openGL_export.h
-include/avidemux/2.7/qt5/ADM_openGL/ADM_openGl.h
-include/avidemux/2.7/qt5/ADM_UIs/ADM_dialogFactoryQt4.h
-include/avidemux/2.7/qt5/ADM_UIs/ADM_toolkitQt.h
-include/avidemux/2.7/qt5/ADM_UIs/ADM_UIQT46_export.h
-include/avidemux/2.7/qt5/ADM_UIs/DIA_flyDialogQt4_template.h
-include/avidemux/2.7/qt5/ADM_UIs/DIA_flyDialogQt4.h
-include/avidemux/2.7/qt5/ADM_UIs/T_openGLFilter.h
-include/avidemux/2.7/qt5/config.h
+include/avidemux/2.8/qt5/ADM_openGL/ADM_openGL_export.h
+include/avidemux/2.8/qt5/ADM_openGL/ADM_openGl.h
+include/avidemux/2.8/qt5/ADM_UIs/ADM_dialogFactoryQt4.h
+include/avidemux/2.8/qt5/ADM_UIs/ADM_toolkitQt.h
+include/avidemux/2.8/qt5/ADM_UIs/ADM_QSettings.h
+include/avidemux/2.8/qt5/ADM_UIs/ADM_UIQT46_export.h
+include/avidemux/2.8/qt5/ADM_UIs/DIA_flyDialogQt4_template.h
+include/avidemux/2.8/qt5/ADM_UIs/DIA_flyDialogQt4.h
+include/avidemux/2.8/qt5/ADM_UIs/T_openGLFilter.h
+include/avidemux/2.8/qt5/config.h
lib/libADM_openGLQT56.so
lib/libADM_render6_QT5.so
lib/libADM_UIQT56.so
diff --git a/multimedia/avidemux/Makefile b/multimedia/avidemux/Makefile
index 1b1e0e75a5b6..fc32223d20b8 100644
--- a/multimedia/avidemux/Makefile
+++ b/multimedia/avidemux/Makefile
@@ -1,14 +1,15 @@
-# Created by: Anish Mistry (with help from mean)
# assuming freebsd always has 16 byte aligned malloc as macos does. is this true?
# nls files not getting installed with nls=on. are they getting built?
# sync port options with current software options
PORTNAME= avidemux
PORTVERSION= ${AVIDEMUX_VERSION}
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Simple GUI based video editor
+WWW= https://avidemux.org/
.include "${.CURDIR}/Makefile.common"
diff --git a/multimedia/avidemux/Makefile.common b/multimedia/avidemux/Makefile.common
index 13e3c6c1328d..4702cc112831 100644
--- a/multimedia/avidemux/Makefile.common
+++ b/multimedia/avidemux/Makefile.common
@@ -1,11 +1,11 @@
-AVIDEMUX_VERSION= 2.7.8
+AVIDEMUX_VERSION= 2.8.1
MASTER_SITES= \
SF/avidemux/avidemux/${PORTVERSION}
DISTNAME= avidemux_${PORTVERSION}
-PATCH_SITES= https://github.com/mean00/avidemux2/commit/
-PATCHFILES= 76f72e226684d68953de60c6d097f22c1c2f8ef1.patch
-PATCH_DIST_STRIP= -p1
+#PATCH_SITES= https://github.com/mean00/avidemux2/commit/
+#PATCHFILES= 76f72e226684d68953de60c6d097f22c1c2f8ef1.patch
+#PATCH_DIST_STRIP= -p1
BUILD_DEPENDS+= ${BUILD_DEPENDS_${ARCH}}
BUILD_DEPENDS_amd64= yasm:devel/yasm
@@ -39,15 +39,18 @@ MAKE_ENV+= COMPILER_PATH=${LOCALBASE}/bin
OPTIONS_DEFINE= CLI FREETYPE FONTCONFIG OSS JACK PULSEAUDIO \
XVIDEO FAAC FRIBIDI OPUS TWOLAME \
FAAD X264 X265 VPX AOM XVID AMR VORBIS NLS LAME VAAPI VDPAU \
- DCA FDK QT5 TINYPY VAPOURSYNTH
+ DCA FDK QT5 TINYPY VAPOURSYNTH NVENC
OPTIONS_DEFAULT= FREETYPE FONTCONFIG OSS XVIDEO VPX XVID \
FAAD VDPAU VORBIS DCA FDK QT5 TINYPY VAPOURSYNTH \
PULSEAUDIO
+OPTIONS_DEFAULT_amd64= NVENC
+OPTIONS_DEFAULT_i386= NVENC
OPTIONS_SUB= yes
AOM_DESC= AOM AV1 decoder support
CLI_DESC= Build CLI tool
FDK_DESC= FDK AAC codec support
+NVENC_DESC= NVIDIA decoder/encoder with CUDA support
TINYPY_DESC= Python scripting support via TinyPy
VAPOURSYNTH_DESC= VapourSynth video manipulation support
@@ -70,9 +73,12 @@ OPTIONS_DEFAULT+= LAME FAAC AMR X264
# of the stack)
.if ${ARCH} == amd64
CFLAGS+= -fno-omit-frame-pointer
-#MAKE_ENV+= ARCH=x86_64
-#CONFIGURE_ENV+= ARCH=x86_64
.endif
+
+.if ${ARCH} == i386
+EXTRA_PATCHES+= ${PATCHDIR}/extra-patch-i386-nosse
+.endif
+
CMAKE_ARGS+= -DLIBEXECINFO_INCLUDE_DIR=/usr/include
CMAKE_ARGS+= -DLIBEXECINFO_LIBRARY_DIR=-lexecinfo
@@ -89,7 +95,7 @@ USE_GNOME+= libxslt
USES+= gl qt:5 xorg
USE_GL= gl glu
USE_QT= core gui network widgets \
- qmake_build buildtools_build linguist_build
+ qmake:build buildtools:build linguist:build
USE_XORG= x11
CMAKE_ARGS+= -DENABLE_QT5:BOOL=ON
PLIST_SUB+= QT5=""
@@ -278,6 +284,14 @@ CMAKE_ARGS+= -DOPENCORE_AMRWB:BOOL=OFF
PLIST_SUB+= AMRWB="@comment "
.endif
+.if ${PORT_OPTIONS:MNVENC}
+BUILD_DEPENDS+= ${LOCALBASE}/include/ffnvcodec/nvEncodeAPI.h:multimedia/ffnvcodec-headers
+PLIST_SUB+= NVENC=""
+.else
+CMAKE_ARGS+= -DNVENC:BOOL=OFF
+PLIST_SUB+= NVENC="@comment "
+.endif
+
.include <bsd.port.pre.mk>
# is this kosher? the result seems to run tho... (see ports/185997)
@@ -290,6 +304,10 @@ USE_GCC= yes
NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe sparc64
NOT_FOR_ARCHS_REASON= cmake/admDetermineSystem.cmake:78: CPU not supported
+post-extract:
+ @${CP} ${FILESDIR}/ffmpeg_fix_build_with_binutils_2.41.patch \
+ ${WRKSRC}/avidemux_core/ffmpeg_package/patches
+
post-patch:
@${MKDIR} ${CONFIGURE_WRKSRC}/config
@${LN} -s ${LOCALBASE}/include/iconv.h ${CONFIGURE_WRKSRC}/config
diff --git a/multimedia/avidemux/distinfo b/multimedia/avidemux/distinfo
index b743fa308024..e23a7a110ec2 100644
--- a/multimedia/avidemux/distinfo
+++ b/multimedia/avidemux/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1651083964
-SHA256 (avidemux_2.7.8.tar.gz) = 628a404f521ff2812760700ae3e2aa78e5816b0ff3fb6fd05ac3e75248d97401
-SIZE (avidemux_2.7.8.tar.gz) = 24692898
-SHA256 (76f72e226684d68953de60c6d097f22c1c2f8ef1.patch) = 11a2759c70c946992e7693609f67db5394b56145b078d561d18896cfa84280e8
-SIZE (76f72e226684d68953de60c6d097f22c1c2f8ef1.patch) = 1011
+TIMESTAMP = 1670229875
+SHA256 (avidemux_2.8.1.tar.gz) = 77d9bdca8683ce57c192b69d207cfab7cf92a7759ce0f63fa37b5c8e42ad3da2
+SIZE (avidemux_2.8.1.tar.gz) = 26126065
diff --git a/multimedia/avidemux/files/extra-patch-i386-nosse b/multimedia/avidemux/files/extra-patch-i386-nosse
new file mode 100644
index 000000000000..fbad75fb59ae
--- /dev/null
+++ b/multimedia/avidemux/files/extra-patch-i386-nosse
@@ -0,0 +1,14 @@
+--- avidemux/common/ADM_audioFilter/src/ADM_soundtouch/STTypes.h.orig 2022-09-17 13:59:16 UTC
++++ avidemux/common/ADM_audioFilter/src/ADM_soundtouch/STTypes.h
+@@ -153,11 +153,6 @@ namespace soundtouch
+ // efficient autovectorization
+ typedef float LONG_SAMPLETYPE;
+
+- #ifdef SOUNDTOUCH_ALLOW_X86_OPTIMIZATIONS
+- // Allow SSE optimizations
+- #define SOUNDTOUCH_ALLOW_SSE 1
+- #endif
+-
+ #endif // SOUNDTOUCH_INTEGER_SAMPLES
+
+ #if ((SOUNDTOUCH_ALLOW_SSE) || (__SSE__) || (SOUNDTOUCH_USE_NEON))
diff --git a/multimedia/avidemux/files/ffmpeg_fix_build_with_binutils_2.41.patch b/multimedia/avidemux/files/ffmpeg_fix_build_with_binutils_2.41.patch
new file mode 100644
index 000000000000..a70c93a94a2e
--- /dev/null
+++ b/multimedia/avidemux/files/ffmpeg_fix_build_with_binutils_2.41.patch
@@ -0,0 +1,76 @@
+From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
+Date: Sun, 16 Jul 2023 18:18:02 +0300
+Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
+ instructions within inline assembly
+
+Fixes assembling with binutil as >= 2.41
+
+Signed-off-by: James Almer <jamrial@gmail.com>
+---
+ libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
+ 1 file changed, 23 insertions(+), 3 deletions(-)
+
+diff --git libavcodec/x86/mathops.h libavcodec/x86/mathops.h
+index 6298f5ed19..ca7e2dffc1 100644
+--- libavcodec/x86/mathops.h
++++ libavcodec/x86/mathops.h
+@@ -35,12 +35,20 @@
+ static av_always_inline av_const int MULL(int a, int b, unsigned shift)
+ {
+ int rt, dummy;
++ if (__builtin_constant_p(shift))
+ __asm__ (
+ "imull %3 \n\t"
+ "shrdl %4, %%edx, %%eax \n\t"
+ :"=a"(rt), "=d"(dummy)
+- :"a"(a), "rm"(b), "ci"((uint8_t)shift)
++ :"a"(a), "rm"(b), "i"(shift & 0x1F)
+ );
++ else
++ __asm__ (
++ "imull %3 \n\t"
++ "shrdl %4, %%edx, %%eax \n\t"
++ :"=a"(rt), "=d"(dummy)
++ :"a"(a), "rm"(b), "c"((uint8_t)shift)
++ );
+ return rt;
+ }
+
+@@ -113,19 +121,31 @@ __asm__ volatile(\
+ // avoid +32 for shift optimization (gcc should do that ...)
+ #define NEG_SSR32 NEG_SSR32
+ static inline int32_t NEG_SSR32( int32_t a, int8_t s){
++ if (__builtin_constant_p(s))
+ __asm__ ("sarl %1, %0\n\t"
+ : "+r" (a)
+- : "ic" ((uint8_t)(-s))
++ : "i" (-s & 0x1F)
+ );
++ else
++ __asm__ ("sarl %1, %0\n\t"
++ : "+r" (a)
++ : "c" ((uint8_t)(-s))
++ );
+ return a;
+ }
+
+ #define NEG_USR32 NEG_USR32
+ static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
++ if (__builtin_constant_p(s))
+ __asm__ ("shrl %1, %0\n\t"
+ : "+r" (a)
+- : "ic" ((uint8_t)(-s))
++ : "i" (-s & 0x1F)
+ );
++ else
++ __asm__ ("shrl %1, %0\n\t"
++ : "+r" (a)
++ : "c" ((uint8_t)(-s))
++ );
+ return a;
+ }
+
+--
+2.41.0
+
diff --git a/multimedia/avidemux/files/patch-avidemux_core-ffmpeg_package-patches-configure.patch b/multimedia/avidemux/files/patch-avidemux_core-ffmpeg_package-patches-configure.patch
index 8726076bf6d8..e3335b9f84c7 100644
--- a/multimedia/avidemux/files/patch-avidemux_core-ffmpeg_package-patches-configure.patch
+++ b/multimedia/avidemux/files/patch-avidemux_core-ffmpeg_package-patches-configure.patch
@@ -1,9 +1,9 @@
--- avidemux_core/ffmpeg_package/patches/configure.patch.orig 2021-11-29 16:28:06 UTC
+++ avidemux_core/ffmpeg_package/patches/configure.patch
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,33 @@
+--- configure.orig 2020-07-09 11:17:46.000000000 +0200
++++ configure
-+@@ -3671,6 +3671,8 @@
++@@ -3788,6 +3788,8 @@
+ arch_default=$(uname -p)
+ strip_default="strip -X32_64"
+ nm_default="nm -g -X32_64"
@@ -12,7 +12,7 @@
+ else
+ arch_default=$(uname -m)
+ fi
-+@@ -4861,9 +4863,11 @@
++@@ -4984,9 +4986,11 @@
+ fi
+ }
+
@@ -25,3 +25,12 @@
+ armv*)
+ cpuflags="-march=$cpu"
+ subarch=$(echo $cpu | sed 's/[^a-z0-9]//g')
++@@ -6751,7 +6755,7 @@
++
++ if enabled x86; then
++ case $target_os in
++- mingw32*|mingw64*|win32|win64|linux|cygwin*)
+++ freebsd|mingw32*|mingw64*|win32|win64|linux|cygwin*)
++ ;;
++ *)
++ disable ffnvcodec cuvid nvdec nvenc
diff --git a/multimedia/avidemux/files/patch-cmake_admCheckAudioDeviceLibs.cmake b/multimedia/avidemux/files/patch-cmake_admCheckAudioDeviceLibs.cmake
index 1cf6ffc72c6e..82e21877b015 100644
--- a/multimedia/avidemux/files/patch-cmake_admCheckAudioDeviceLibs.cmake
+++ b/multimedia/avidemux/files/patch-cmake_admCheckAudioDeviceLibs.cmake
@@ -18,6 +18,6 @@
+ ENDIF (PULSEAUDIOSIMPLE)
+ MESSAGE("")
- APPEND_SUMMARY_LIST("Audio Device" "PulseAudio" "${USE_PULSE_SIMPLE}")
+ APPEND_SUMMARY_LIST("Audio Device" "PulseAudioS" "${USE_PULSE_SIMPLE}")
ELSE (UNIX AND NOT APPLE)
SET(PULSEAUDIOSIMPLE_CAPABLE FALSE)
diff --git a/multimedia/avidemux/pkg-descr b/multimedia/avidemux/pkg-descr
index 2c3aa4b16ba4..ec1ed362b25f 100644
--- a/multimedia/avidemux/pkg-descr
+++ b/multimedia/avidemux/pkg-descr
@@ -4,5 +4,3 @@ contains various filters for deinterlacing, cropping, resizing, etc. Allows
for cutting without re-encoding. Has the ability to re-encode and re-sample.
Utilizes ECMAScript (aka. Javascript) to provide batch scripting and
processing support.
-
-WWW: http://avidemux.org/
diff --git a/multimedia/avidemux/pkg-plist b/multimedia/avidemux/pkg-plist
index cb33fbc0fb89..f8e1d08a01bb 100644
--- a/multimedia/avidemux/pkg-plist
+++ b/multimedia/avidemux/pkg-plist
@@ -27,413 +27,428 @@ lib/libADM_coreUtils6.so
lib/libADM_coreVideoCodec6.so
lib/libADM_coreVideoEncoder6.so
lib/libADM_coreVideoFilter6.so
-include/avidemux/2.7/libavutil/buffer.h
-include/avidemux/2.7/libavutil/attributes.h
-include/avidemux/2.7/libavutil/avconfig.h
-include/avidemux/2.7/libavutil/avutil.h
-include/avidemux/2.7/libavutil/bswap.h
-include/avidemux/2.7/libavutil/channel_layout.h
-include/avidemux/2.7/libavutil/common.h
-include/avidemux/2.7/libavutil/cpu.h
-include/avidemux/2.7/libavutil/dict.h
-include/avidemux/2.7/libavutil/error.h
-include/avidemux/2.7/libavutil/frame.h
-include/avidemux/2.7/libavutil/hwcontext.h
-include/avidemux/2.7/libavutil/hwcontext_dxva2.h
-include/avidemux/2.7/libavutil/hwcontext_vaapi.h
-include/avidemux/2.7/libavutil/hwcontext_vdpau.h
-include/avidemux/2.7/libavutil/intfloat.h
-include/avidemux/2.7/libavutil/log.h
-include/avidemux/2.7/libavutil/macros.h
-include/avidemux/2.7/libavutil/mathematics.h
-include/avidemux/2.7/libavutil/mem.h
-include/avidemux/2.7/libavutil/pixdesc.h
-include/avidemux/2.7/libavutil/opt.h
-include/avidemux/2.7/libavutil/pixfmt.h
-include/avidemux/2.7/libavutil/rational.h
-include/avidemux/2.7/libavutil/samplefmt.h
-include/avidemux/2.7/libavutil/time.h
-include/avidemux/2.7/libavutil/version.h
-include/avidemux/2.7/libavcodec/avcodec.h
-%%VAAPI%%include/avidemux/2.7/libavcodec/vaapi.h
-include/avidemux/2.7/libavcodec/vdpau.h
-include/avidemux/2.7/libavcodec/version.h
-include/avidemux/2.7/libavcodec/videotoolbox.h
-include/avidemux/2.7/libavformat/avformat.h
-include/avidemux/2.7/libavformat/avio.h
-include/avidemux/2.7/libavformat/version.h
-include/avidemux/2.7/libavformat/flv.h
-include/avidemux/2.7/libpostproc/postprocess.h
-include/avidemux/2.7/libpostproc/version.h
-include/avidemux/2.7/libswscale/swscale.h
-include/avidemux/2.7/libswscale/version.h
-include/avidemux/2.7/ADM_coreConfig.h
-include/avidemux/2.7/cmake/ADM_coreConfig.cmake
-include/avidemux/2.7/cmake/ADM_coreConfig.h.cmake
-include/avidemux/2.7/cmake/DeployQt5.cmake
-include/avidemux/2.7/cmake/FindAlsa.cmake
-include/avidemux/2.7/cmake/FindArts.cmake
-include/avidemux/2.7/cmake/FindBourne.cmake
-include/avidemux/2.7/cmake/FindGitSvn.cmake
-include/avidemux/2.7/cmake/FindGnuMake.cmake
-include/avidemux/2.7/cmake/FindPatch.cmake
-include/avidemux/2.7/cmake/FindSDL.cmake
-include/avidemux/2.7/cmake/FindSDL2.cmake
-include/avidemux/2.7/cmake/FindSubversion.cmake
-include/avidemux/2.7/cmake/FindTar.cmake
-include/avidemux/2.7/cmake/FindThreads.cmake
-include/avidemux/2.7/cmake/Po.cmake
-include/avidemux/2.7/cmake/_CMakeParseArguments.cmake
-include/avidemux/2.7/cmake/ad_plugin.cmake
-include/avidemux/2.7/cmake/admAsNeeded.cmake
-include/avidemux/2.7/cmake/admCPack.cmake
-include/avidemux/2.7/cmake/admCPackRpm.cmake
-include/avidemux/2.7/cmake/admCheckAom.cmake
-include/avidemux/2.7/cmake/admCheckAudioDeviceLibs.cmake
-include/avidemux/2.7/cmake/admCheckAudioEncoderLibs.cmake
-include/avidemux/2.7/cmake/admCheckDca.cmake
-include/avidemux/2.7/cmake/admCheckDxva2.cmake
-include/avidemux/2.7/cmake/admCheckFaad.cmake
-include/avidemux/2.7/cmake/admCheckFdkAac.cmake
-include/avidemux/2.7/cmake/admCheckFontConfig.cmake
-include/avidemux/2.7/cmake/admCheckFreeType.cmake
-include/avidemux/2.7/cmake/admCheckFribidi.cmake
-include/avidemux/2.7/cmake/admCheckFtello.cmake
-include/avidemux/2.7/cmake/admCheckGettext.cmake
-include/avidemux/2.7/cmake/admCheckGtk.cmake
-include/avidemux/2.7/cmake/admCheckLibVA.cmake
-include/avidemux/2.7/cmake/admCheckLibxml2.cmake
-include/avidemux/2.7/cmake/admCheckMiscLibs.cmake
-include/avidemux/2.7/cmake/admCheckNvEnc.cmake
-include/avidemux/2.7/cmake/admCheckOpenGl.cmake
-include/avidemux/2.7/cmake/admCheckOpencore.cmake
-include/avidemux/2.7/cmake/admCheckOpus.cmake
-include/avidemux/2.7/cmake/admCheckQt.cmake
-include/avidemux/2.7/cmake/admCheckQt4.cmake
-include/avidemux/2.7/cmake/admCheckQt5.cmake
-include/avidemux/2.7/cmake/admCheckRequiredLibs.cmake
-include/avidemux/2.7/cmake/admCheckSpiderMonkey.cmake
-include/avidemux/2.7/cmake/admCheckSqlLite.cmake
-include/avidemux/2.7/cmake/admCheckVDPAU.cmake
-include/avidemux/2.7/cmake/admCheckVapourSynth.cmake
-include/avidemux/2.7/cmake/admCheckVideoToolbox.cmake
-include/avidemux/2.7/cmake/admCheckVorbisDec.cmake
-include/avidemux/2.7/cmake/admCheckVpx.cmake
-include/avidemux/2.7/cmake/admCheckX264.cmake
-include/avidemux/2.7/cmake/admCheckX265.cmake
-include/avidemux/2.7/cmake/admCheckXvba.cmake
-include/avidemux/2.7/cmake/admCheckXvid.cmake
-include/avidemux/2.7/cmake/admCmakeParseArgument.cmake
-include/avidemux/2.7/cmake/admConfigHelper.cmake
-include/avidemux/2.7/cmake/admConfigSummary.cmake
-include/avidemux/2.7/cmake/admCoreIncludes.cmake
-include/avidemux/2.7/cmake/admCoreIncludesExternalBuild.cmake
-include/avidemux/2.7/cmake/admCrossCompile.cmake
-include/avidemux/2.7/cmake/admCrossQt4.cmake
-include/avidemux/2.7/cmake/admDebianUtils.cmake
-include/avidemux/2.7/cmake/admDetermineSystem.cmake
-include/avidemux/2.7/cmake/admFFmpegBuild.cmake
-include/avidemux/2.7/cmake/admFFmpegBuild.cmake.original
-include/avidemux/2.7/cmake/admFFmpegBuild_crossMingw.cmake
-include/avidemux/2.7/cmake/admFFmpegBuild_helpers.cmake
-include/avidemux/2.7/cmake/admFFmpegBuild_native.cmake
-include/avidemux/2.7/cmake/admFFmpegBuild_vs.cmake
-include/avidemux/2.7/cmake/admFFmpegBuild_vs_import.cmake
-include/avidemux/2.7/cmake/admFFmpegPrepareGit.cmake
-include/avidemux/2.7/cmake/admFFmpegPrepareSvn.cmake
-include/avidemux/2.7/cmake/admFFmpegPrepareTar.cmake
-include/avidemux/2.7/cmake/admFFmpegUtil.cmake
-include/avidemux/2.7/cmake/admFFmpegVersion.cmake
-include/avidemux/2.7/cmake/admGetRevision.cmake
-include/avidemux/2.7/cmake/admInstallDir.cmake
-include/avidemux/2.7/cmake/admMainChecks.cmake
-include/avidemux/2.7/cmake/admOpenGl.cmake
-include/avidemux/2.7/cmake/admPackager.cmake
-include/avidemux/2.7/cmake/admPluginLocation.cmake
-include/avidemux/2.7/cmake/admPluginVideoEncoder.cmake
-include/avidemux/2.7/cmake/admQtMacro.cmake
-include/avidemux/2.7/cmake/admTimeStamp.cmake
-include/avidemux/2.7/cmake/admWindRes.cmake
-include/avidemux/2.7/cmake/admYasm.cmake
-include/avidemux/2.7/cmake/admYasm_gcc.cmake
-include/avidemux/2.7/cmake/admYasm_vs.cmake
-include/avidemux/2.7/cmake/adm_log.cmake
-include/avidemux/2.7/cmake/ae_plugin.cmake
-include/avidemux/2.7/cmake/av_plugin.cmake
-include/avidemux/2.7/cmake/avidemuxVersion.cmake
-include/avidemux/2.7/cmake/cmake_compile_check/CheckFunctionExists.c
-include/avidemux/2.7/cmake/cmake_compile_check/check_vdpau.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/cpu_arm64_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/cpu_armel_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/cpu_x86-64_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/cpu_x86_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/dxva2.c
-include/avidemux/2.7/cmake/cmake_compile_check/execinfo.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/faad_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/ftello.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/gettext.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/gtk_x11_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/iconv_check.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/libva.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/libva_dummy.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/libva_hevcdec.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/libva_vp9dec.cpp
-include/avidemux/2.7/cmake/cmake_compile_check/os_bsd_check.cpp
-include/avidemux/2.7/cmake/cmake_win32_rc/VersionInfo.in
-include/avidemux/2.7/cmake/cmake_win32_rc/VersionResource.rc
-include/avidemux/2.7/cmake/cmake_win32_rc/generate_product_version.cmake
-include/avidemux/2.7/cmake/commonCmakeApplication.cmake
-include/avidemux/2.7/cmake/config.h.cmake
-include/avidemux/2.7/cmake/debianArch.cmake
-include/avidemux/2.7/cmake/dm_plugin.cmake
-include/avidemux/2.7/cmake/ffmpeg_configure.sh.cmake
-include/avidemux/2.7/cmake/ffmpeg_make.sh.cmake
-include/avidemux/2.7/cmake/mx_plugin.cmake
-include/avidemux/2.7/cmake/plugin_cli.cmake
-include/avidemux/2.7/cmake/plugin_qt4.cmake
-include/avidemux/2.7/cmake/se_plugin.cmake
-include/avidemux/2.7/cmake/vd_plugin.cmake
-include/avidemux/2.7/cmake/ve_plugin.cmake
-include/avidemux/2.7/cmake/ve_plugin_qt4.cmake
-include/avidemux/2.7/cmake/ve_settings_plugin.cmake
-include/avidemux/2.7/cmake/vf_plugin.cmake
-include/avidemux/2.7/cmake/vf_plugin_cli.cmake
-include/avidemux/2.7/cmake/vf_plugin_gtk.cmake
-include/avidemux/2.7/cmake/vf_plugin_qt4.cmake
-include/avidemux/2.7/cmake/vf_plugin_qt4gl.cmake
-@dir include/avidemux/2.7/cmake/osx
-@dir include/avidemux/2.7/cmake/sql
-include/avidemux/2.7/ADM_core/ADM_assert.h
-include/avidemux/2.7/ADM_core/ADM_byteBuffer.h
-include/avidemux/2.7/ADM_core/ADM_clock.h
-include/avidemux/2.7/ADM_core/ADM_core6_export.h
-include/avidemux/2.7/ADM_core/ADM_coreTranslator.h
-include/avidemux/2.7/ADM_core/ADM_cpp.h
-include/avidemux/2.7/ADM_core/ADM_cpuCap.h
-include/avidemux/2.7/ADM_core/ADM_crashdump.h
-include/avidemux/2.7/ADM_core/ADM_crashdump_apple.h
-include/avidemux/2.7/ADM_core/ADM_crashdump_mingw.h
-include/avidemux/2.7/ADM_core/ADM_crashdump_other.h
-include/avidemux/2.7/ADM_core/ADM_crashdump_unix.h
-include/avidemux/2.7/ADM_core/ADM_crashdump_vs.h
-include/avidemux/2.7/ADM_core/ADM_default.h
-include/avidemux/2.7/ADM_core/ADM_dynamicLoading.h
-include/avidemux/2.7/ADM_core/ADM_files.h
-include/avidemux/2.7/ADM_core/ADM_inttype.h
-include/avidemux/2.7/ADM_core/ADM_mangle.h
-include/avidemux/2.7/ADM_core/ADM_mangle_gcc.h
-include/avidemux/2.7/ADM_core/ADM_mangle_vs.h
-include/avidemux/2.7/ADM_core/ADM_memsupport.h
-include/avidemux/2.7/ADM_core/ADM_misc.h
-include/avidemux/2.7/ADM_core/ADM_prettyPrint.h
-include/avidemux/2.7/ADM_core/ADM_ptrQueue.h
-include/avidemux/2.7/ADM_core/ADM_queue.h
-include/avidemux/2.7/ADM_core/ADM_threads.h
-include/avidemux/2.7/ADM_core/ADM_vidMisc.h
-include/avidemux/2.7/ADM_core/ADM_win32.h
-include/avidemux/2.7/ADM_core/BVector.h
-include/avidemux/2.7/ADM_core/admx86inc.asm
-include/avidemux/2.7/ADM_core/admx86util.asm
-include/avidemux/2.7/ADM_coreAudio/ADM_audioAccessFile.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioAccessFileAACADTS.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioClock.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioCodecEnum.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioIdentify.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStream.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamAC3.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamBuffered.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamConstantChunk.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamDCA.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamEac3.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamMP3.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioStreamPCM.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioWrite.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioWriteAAC.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioWriteWav.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audioXiphUtils.h
-include/avidemux/2.7/ADM_coreAudio/ADM_audiodef.h
-include/avidemux/2.7/ADM_coreAudio/ADM_baseAudioStream.h
-include/avidemux/2.7/ADM_coreAudio/ADM_coreAudio.h
-include/avidemux/2.7/ADM_coreAudio/ADM_coreAudio6_export.h
-include/avidemux/2.7/ADM_coreAudioCodec/ADM_ad_plugin.h
-include/avidemux/2.7/ADM_coreAudioCodec/ADM_audiocodec.h
-include/avidemux/2.7/ADM_coreAudioCodec/ADM_audiocodeclist.h
-include/avidemux/2.7/ADM_coreAudioCodec/adm_ogg.h
-include/avidemux/2.7/ADM_coreAudioDevice/ADM_audioDeviceInternal.h
-include/avidemux/2.7/ADM_coreAudioDevice/ADM_audiodevice.h
-include/avidemux/2.7/ADM_coreAudioDevice/ADM_coreAudioDevice6_export.h
-include/avidemux/2.7/ADM_coreAudioDevice/audio_out.h
-include/avidemux/2.7/ADM_coreAudioEncoder/ADM_coreAudioEncoder6_export.h
-include/avidemux/2.7/ADM_coreAudioEncoder/audioencoder.h
-include/avidemux/2.7/ADM_coreAudioEncoder/audioencoderInternal.h
-include/avidemux/2.7/ADM_coreAudioFilter/ADM_audioFilter.h
-include/avidemux/2.7/ADM_coreAudioFilter/ADM_audioResample.h
-include/avidemux/2.7/ADM_coreAudioFilter/ADM_coreAudioFilterAPI6_export.h
-include/avidemux/2.7/ADM_coreAudioFilter/audioEncoderApi.h
-include/avidemux/2.7/ADM_coreAudioFilter/audio_encoderPlugin.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_SRC.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_bridge.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_conf.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_dolby.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_film2pal.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_internal.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_limiter.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_limiter_param.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_mixer.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_normalize.h
-include/avidemux/2.7/ADM_coreAudioFilter/audiofilter_normalize_param.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_a52info.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_aacLatm.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_aacadts.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_aacinfo.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_audioParser6_export.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_dcainfo.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_eac3info.h
-include/avidemux/2.7/ADM_coreAudioParser/ADM_mp3info.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_Video.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_bitmap.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_coreDemuxer.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_coreDemuxer6_export.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_coreDemuxerMpeg.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_coreDemuxerMpegTemplate.cpp.h
-include/avidemux/2.7/ADM_coreDemuxer/ADM_demuxerInternal.h
-include/avidemux/2.7/ADM_coreDemuxer/avifmt2.h
-include/avidemux/2.7/ADM_coreDemuxer/unix/avifmt.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/ADM_coreDemuxerMpeg6_export.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/ADM_indexFile.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmxPSPacket.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmxPacket.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_demuxer.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_demuxerEs.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_demuxerMSDVR.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_demuxerPS.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_demuxerTS.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_identify.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_indexer.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_io.h
-include/avidemux/2.7/ADM_coreDemuxerMpeg/dmx_mpegstartcode.h
-include/avidemux/2.7/ADM_coreImage/ADM_colorspace.h
-include/avidemux/2.7/ADM_coreImage/ADM_coreImage6_export.h
-include/avidemux/2.7/ADM_coreImage/ADM_image.h
-include/avidemux/2.7/ADM_coreImage/ADM_imageFlags.h
-include/avidemux/2.7/ADM_coreImage/ADM_imageResizer.h
-include/avidemux/2.7/ADM_coreImage/ADM_interlaced.h
-include/avidemux/2.7/ADM_coreImage/ADM_pp.h
-include/avidemux/2.7/ADM_coreImage/ADM_print_priv.h
-include/avidemux/2.7/ADM_coreImage/ADM_rgb.h
-include/avidemux/2.7/ADM_coreImage/ADM_vidField.h
-include/avidemux/2.7/ADM_coreImage/ADM_vidFieldUtil.h
-include/avidemux/2.7/ADM_coreImage/ADM_videoFilterDynamic.h
-include/avidemux/2.7/ADM_coreImage/ADM_videoFilter_iface.h
-include/avidemux/2.7/ADM_coreImage/ADM_videoFilter_internal.h
-include/avidemux/2.7/ADM_coreImageLoader/ADM_coreImageLoader6_export.h
-include/avidemux/2.7/ADM_coreImageLoader/ADM_imageLoader.h
-include/avidemux/2.7/ADM_coreJobs/ADM_coreJobs.h
-include/avidemux/2.7/ADM_coreJobs/ADM_coreJobs_export.h
-include/avidemux/2.7/ADM_coreJobs/sqlJobs.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVA/ADM_coreLibVA.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVA/ADM_coreLibVA_internal.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVAEnc/ADM_coreLibVA_bitstream.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVAEnc/ADM_coreLibVA_buffer.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVAEnc/ADM_coreLibVA_encodingContext.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVAEnc/ADM_coreLibVA_h264Encoding.h
-%%VAAPI%%include/avidemux/2.7/ADM_coreLibVAEnc/ADM_coreLibVA_hevcEncoding.h
-include/avidemux/2.7/ADM_coreMuxer/ADM_coreMuxer6_export.h
-include/avidemux/2.7/ADM_coreMuxer/ADM_coreMuxerFfmpeg.h
-include/avidemux/2.7/ADM_coreMuxer/ADM_muxer.h
-include/avidemux/2.7/ADM_coreMuxer/ADM_muxerInternal.h
-include/avidemux/2.7/ADM_coreMuxer/ADM_muxerProto.h
-include/avidemux/2.7/ADM_coreMuxer/ADM_muxerUtils.h
-include/avidemux/2.7/ADM_coreScript/ADM_ScriptEngineLoader.h
-include/avidemux/2.7/ADM_coreScript/ADM_coreScript_export.h
-include/avidemux/2.7/ADM_coreScript/ADM_scriptDF.h
-include/avidemux/2.7/ADM_coreScript/ADM_scriptDFInteger.h
-include/avidemux/2.7/ADM_coreScript/ADM_scriptDFMenu.h
-include/avidemux/2.7/ADM_coreScript/ADM_scriptDFTimeStamp.h
-include/avidemux/2.7/ADM_coreScript/ADM_scriptDFToggle.h
-include/avidemux/2.7/ADM_coreScript/ADM_scriptDialogFactory.h
-include/avidemux/2.7/ADM_coreScript/IScriptEngine.h
-include/avidemux/2.7/ADM_coreScript/IScriptWriter.h
-include/avidemux/2.7/ADM_coreScript/ScriptShell.h
-include/avidemux/2.7/ADM_coreSocket/ADM_coreAvsProtocol.h
-include/avidemux/2.7/ADM_coreSocket/ADM_coreCommandSocket.h
-include/avidemux/2.7/ADM_coreSocket/ADM_coreSocket.h
-include/avidemux/2.7/ADM_coreSocket/ADM_coreSocket6_export.h
-include/avidemux/2.7/ADM_coreSqlLight3/ADM_coreSqlLight3_export.h
-include/avidemux/2.7/ADM_coreSqlLight3/Database.h
-include/avidemux/2.7/ADM_coreSqlLight3/IError.h
-include/avidemux/2.7/ADM_coreSqlLight3/Query.h
-include/avidemux/2.7/ADM_coreSqlLight3/StderrLog.h
-include/avidemux/2.7/ADM_coreSqlLight3/SysLog2.h
-include/avidemux/2.7/ADM_coreSqlLight3/libsqlitewrapped.h
-include/avidemux/2.7/ADM_coreSubtitles/ADM_coreSubtitles.h
-include/avidemux/2.7/ADM_coreSubtitles/ADM_coreSubtitles_export.h
-include/avidemux/2.7/ADM_coreUI/ADM_coreUI6_export.h
-include/avidemux/2.7/ADM_coreUI/ADM_windowInfo.h
-include/avidemux/2.7/ADM_coreUI/DIA_audioTracks.h
-include/avidemux/2.7/ADM_coreUI/DIA_coreToolkit.h
-include/avidemux/2.7/ADM_coreUI/DIA_coreUI_internal.h
-include/avidemux/2.7/ADM_coreUI/DIA_encoding.h
-include/avidemux/2.7/ADM_coreUI/DIA_enter.h
-include/avidemux/2.7/ADM_coreUI/DIA_factory.h
-include/avidemux/2.7/ADM_coreUI/DIA_factoryStubs.h
-include/avidemux/2.7/ADM_coreUI/DIA_fileSel.h
-include/avidemux/2.7/ADM_coreUI/DIA_processing.h
-include/avidemux/2.7/ADM_coreUI/DIA_uiTypes.h
-include/avidemux/2.7/ADM_coreUI/DIA_working.h
-include/avidemux/2.7/ADM_coreUtils/ADM_bitstream.h
-include/avidemux/2.7/ADM_coreUtils/ADM_codecType.h
-include/avidemux/2.7/ADM_coreUtils/ADM_compressedImage.h
-include/avidemux/2.7/ADM_coreUtils/ADM_confCouple.h
-include/avidemux/2.7/ADM_coreUtils/ADM_coreCodecMapping.h
-include/avidemux/2.7/ADM_coreUtils/ADM_coreJson.h
-include/avidemux/2.7/ADM_coreUtils/ADM_coreUtils.h
-include/avidemux/2.7/ADM_coreUtils/ADM_coreUtils6_export.h
-include/avidemux/2.7/ADM_coreUtils/ADM_fileio.h
-include/avidemux/2.7/ADM_coreUtils/ADM_frameType.h
-include/avidemux/2.7/ADM_coreUtils/ADM_getbits.h
-include/avidemux/2.7/ADM_coreUtils/ADM_h264_tag.h
-include/avidemux/2.7/ADM_coreUtils/ADM_h265_tag.h
-include/avidemux/2.7/ADM_coreUtils/ADM_iso639.h
-include/avidemux/2.7/ADM_coreUtils/ADM_last.h
-include/avidemux/2.7/ADM_coreUtils/ADM_memio.h
-include/avidemux/2.7/ADM_coreUtils/ADM_paramList.h
-include/avidemux/2.7/ADM_coreUtils/ADM_quota.h
-include/avidemux/2.7/ADM_coreUtils/ADM_string.h
-include/avidemux/2.7/ADM_coreUtils/ADM_threadQueue.h
-include/avidemux/2.7/ADM_coreUtils/ADM_videoInfoExtractor.h
-include/avidemux/2.7/ADM_coreUtils/ADM_writeRiff.h
-include/avidemux/2.7/ADM_coreUtils/FFcodecContext_param.h
-include/avidemux/2.7/ADM_coreUtils/fourcc.h
-include/avidemux/2.7/ADM_coreUtils/prefs.h
-include/avidemux/2.7/ADM_coreUtils/prefs2_list.h
-%%VDPAU%%include/avidemux/2.7/ADM_coreVdpau/ADM_coreVdpau.h
-%%VDPAU%%include/avidemux/2.7/ADM_coreVdpau/ADM_coreVdpauInternal.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_codec.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_codecEmpty.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_codecFFVP9.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_codecFFsimple.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_codecNull.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_coreVideoCodec6_export.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_coreVideoDecoderInternal.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_ffmp43.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_hwAccel.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_rgb16.h
-include/avidemux/2.7/ADM_coreVideoCodec/ADM_uyvy.h
-include/avidemux/2.7/ADM_coreVideoEncoder/ADM_coreVideoEncoder.h
-include/avidemux/2.7/ADM_coreVideoEncoder/ADM_coreVideoEncoder6_export.h
-include/avidemux/2.7/ADM_coreVideoEncoder/ADM_coreVideoEncoderFFmpeg.h
-include/avidemux/2.7/ADM_coreVideoEncoder/ADM_coreVideoEncoderFFmpeg_param.h
-include/avidemux/2.7/ADM_coreVideoEncoder/ADM_coreVideoEncoderInternal.h
-include/avidemux/2.7/ADM_coreVideoEncoder/ADM_encoderConf.h
-include/avidemux/2.7/ADM_coreVideoEncoder/FFcodecContext.h
-include/avidemux/2.7/ADM_coreVideoEncoder/FFcodecSettings.h
-include/avidemux/2.7/ADM_coreVideoEncoder/FFcodecSettings_desc.cpp.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_coreVideoFilter.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_coreVideoFilter6_export.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_coreVideoFilterFunc.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_coreVideoFilterInternal.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_filterCategory.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_videoFilterBridge.h
-include/avidemux/2.7/ADM_coreVideoFilter/ADM_videoFilterCache.h
+include/avidemux/2.8/libavutil/buffer.h
+include/avidemux/2.8/libavutil/attributes.h
+include/avidemux/2.8/libavutil/avconfig.h
+include/avidemux/2.8/libavutil/avutil.h
+include/avidemux/2.8/libavutil/bswap.h
+include/avidemux/2.8/libavutil/channel_layout.h
+include/avidemux/2.8/libavutil/common.h
+include/avidemux/2.8/libavutil/cpu.h
+include/avidemux/2.8/libavutil/dict.h
+include/avidemux/2.8/libavutil/error.h
+include/avidemux/2.8/libavutil/frame.h
+include/avidemux/2.8/libavutil/hdr_dynamic_metadata.h
+include/avidemux/2.8/libavutil/hwcontext.h
+include/avidemux/2.8/libavutil/hwcontext_dxva2.h
+include/avidemux/2.8/libavutil/hwcontext_vaapi.h
+include/avidemux/2.8/libavutil/hwcontext_vdpau.h
+include/avidemux/2.8/libavutil/intfloat.h
+include/avidemux/2.8/libavutil/log.h
+include/avidemux/2.8/libavutil/macros.h
+include/avidemux/2.8/libavutil/mastering_display_metadata.h
+include/avidemux/2.8/libavutil/mathematics.h
+include/avidemux/2.8/libavutil/mem.h
+include/avidemux/2.8/libavutil/pixdesc.h
+include/avidemux/2.8/libavutil/opt.h
+include/avidemux/2.8/libavutil/pixfmt.h
+include/avidemux/2.8/libavutil/rational.h
+include/avidemux/2.8/libavutil/samplefmt.h
+include/avidemux/2.8/libavutil/time.h
+include/avidemux/2.8/libavutil/version.h
+include/avidemux/2.8/libavcodec/avcodec.h
+include/avidemux/2.8/libavcodec/bsf.h
+include/avidemux/2.8/libavcodec/codec.h
+include/avidemux/2.8/libavcodec/codec_desc.h
+include/avidemux/2.8/libavcodec/codec_id.h
+include/avidemux/2.8/libavcodec/codec_par.h
+include/avidemux/2.8/libavcodec/packet.h
+%%VAAPI%%include/avidemux/2.8/libavcodec/vaapi.h
+include/avidemux/2.8/libavcodec/vdpau.h
+include/avidemux/2.8/libavcodec/version.h
+include/avidemux/2.8/libavcodec/videotoolbox.h
+include/avidemux/2.8/libavformat/avformat.h
+include/avidemux/2.8/libavformat/avio.h
+include/avidemux/2.8/libavformat/version.h
+include/avidemux/2.8/libavformat/flv.h
+include/avidemux/2.8/libpostproc/postprocess.h
+include/avidemux/2.8/libpostproc/version.h
+include/avidemux/2.8/libswscale/swscale.h
+include/avidemux/2.8/libswscale/version.h
+include/avidemux/2.8/ADM_coreConfig.h
+include/avidemux/2.8/cmake/ADM_coreConfig.cmake
+include/avidemux/2.8/cmake/ADM_coreConfig.h.cmake
+include/avidemux/2.8/cmake/DeployQt5.cmake
+include/avidemux/2.8/cmake/FindAlsa.cmake
+include/avidemux/2.8/cmake/FindArts.cmake
+include/avidemux/2.8/cmake/FindBourne.cmake
+include/avidemux/2.8/cmake/FindGitSvn.cmake
+include/avidemux/2.8/cmake/FindGnuMake.cmake
+include/avidemux/2.8/cmake/FindPatch.cmake
+include/avidemux/2.8/cmake/FindSDL.cmake
+include/avidemux/2.8/cmake/FindSDL2.cmake
+include/avidemux/2.8/cmake/FindSubversion.cmake
+include/avidemux/2.8/cmake/FindTar.cmake
+include/avidemux/2.8/cmake/Po.cmake
+include/avidemux/2.8/cmake/_CMakeParseArguments.cmake
+include/avidemux/2.8/cmake/ad_plugin.cmake
+include/avidemux/2.8/cmake/admAsNeeded.cmake
+include/avidemux/2.8/cmake/admCPack.cmake
+include/avidemux/2.8/cmake/admCPackRpm.cmake
+include/avidemux/2.8/cmake/admCheckAom.cmake
+include/avidemux/2.8/cmake/admCheckAudioDeviceLibs.cmake
+include/avidemux/2.8/cmake/admCheckAudioEncoderLibs.cmake
+include/avidemux/2.8/cmake/admCheckDca.cmake
+include/avidemux/2.8/cmake/admCheckDxva2.cmake
+include/avidemux/2.8/cmake/admCheckFaad.cmake
+include/avidemux/2.8/cmake/admCheckFdkAac.cmake
+include/avidemux/2.8/cmake/admCheckFontConfig.cmake
+include/avidemux/2.8/cmake/admCheckFreeType.cmake
+include/avidemux/2.8/cmake/admCheckFribidi.cmake
+include/avidemux/2.8/cmake/admCheckFtello.cmake
+include/avidemux/2.8/cmake/admCheckGettext.cmake
+include/avidemux/2.8/cmake/admCheckGtk.cmake
+include/avidemux/2.8/cmake/admCheckLibVA.cmake
+include/avidemux/2.8/cmake/admCheckLibxml2.cmake
+include/avidemux/2.8/cmake/admCheckMiscLibs.cmake
+include/avidemux/2.8/cmake/admCheckNvEnc.cmake
+include/avidemux/2.8/cmake/admCheckOpenGl.cmake
+include/avidemux/2.8/cmake/admCheckOpencore.cmake
+include/avidemux/2.8/cmake/admCheckOpus.cmake
+include/avidemux/2.8/cmake/admCheckQt.cmake
+include/avidemux/2.8/cmake/admCheckQt4.cmake
+include/avidemux/2.8/cmake/admCheckQt5.cmake
+include/avidemux/2.8/cmake/admCheckQt6.cmake
+include/avidemux/2.8/cmake/admCheckRequiredLibs.cmake
+include/avidemux/2.8/cmake/admCheckSpiderMonkey.cmake
+include/avidemux/2.8/cmake/admCheckSqlLite.cmake
+include/avidemux/2.8/cmake/admCheckThreads.cmake
+include/avidemux/2.8/cmake/admCheckVDPAU.cmake
+include/avidemux/2.8/cmake/admCheckVapourSynth.cmake
+include/avidemux/2.8/cmake/admCheckVideoToolbox.cmake
+include/avidemux/2.8/cmake/admCheckVorbisDec.cmake
+include/avidemux/2.8/cmake/admCheckVpx.cmake
+include/avidemux/2.8/cmake/admCheckX264.cmake
+include/avidemux/2.8/cmake/admCheckX265.cmake
+include/avidemux/2.8/cmake/admCheckXvba.cmake
+include/avidemux/2.8/cmake/admCheckXvid.cmake
+include/avidemux/2.8/cmake/admCmakeParseArgument.cmake
+include/avidemux/2.8/cmake/admConfigHelper.cmake
+include/avidemux/2.8/cmake/admConfigSummary.cmake
+include/avidemux/2.8/cmake/admCoreIncludes.cmake
+include/avidemux/2.8/cmake/admCoreIncludesExternalBuild.cmake
+include/avidemux/2.8/cmake/admCrossCompile.cmake
+include/avidemux/2.8/cmake/admCrossQt4.cmake
+include/avidemux/2.8/cmake/admDebianUtils.cmake
+include/avidemux/2.8/cmake/admDetermineSystem.cmake
+include/avidemux/2.8/cmake/admFFmpegBuild.cmake
+include/avidemux/2.8/cmake/admFFmpegBuild.cmake.original
+include/avidemux/2.8/cmake/admFFmpegBuild_crossMingw.cmake
+include/avidemux/2.8/cmake/admFFmpegBuild_helpers.cmake
+include/avidemux/2.8/cmake/admFFmpegBuild_native.cmake
+include/avidemux/2.8/cmake/admFFmpegBuild_vs.cmake
+include/avidemux/2.8/cmake/admFFmpegBuild_vs_import.cmake
+include/avidemux/2.8/cmake/admFFmpegPrepareGit.cmake
+include/avidemux/2.8/cmake/admFFmpegPrepareSvn.cmake
+include/avidemux/2.8/cmake/admFFmpegPrepareTar.cmake
+include/avidemux/2.8/cmake/admFFmpegUtil.cmake
+include/avidemux/2.8/cmake/admFFmpegVersion.cmake
+include/avidemux/2.8/cmake/admGetRevision.cmake
+include/avidemux/2.8/cmake/admInstallDir.cmake
+include/avidemux/2.8/cmake/admMainChecks.cmake
+include/avidemux/2.8/cmake/admOpenGl.cmake
+include/avidemux/2.8/cmake/admPackager.cmake
+include/avidemux/2.8/cmake/admPluginLocation.cmake
+include/avidemux/2.8/cmake/admPluginVideoEncoder.cmake
+include/avidemux/2.8/cmake/admQtMacro.cmake
+include/avidemux/2.8/cmake/admTimeStamp.cmake
+include/avidemux/2.8/cmake/admWindRes.cmake
+include/avidemux/2.8/cmake/admYasm.cmake
+include/avidemux/2.8/cmake/admYasm_gcc.cmake
+include/avidemux/2.8/cmake/admYasm_vs.cmake
+include/avidemux/2.8/cmake/adm_log.cmake
+include/avidemux/2.8/cmake/ae_plugin.cmake
+include/avidemux/2.8/cmake/av_plugin.cmake
+include/avidemux/2.8/cmake/avidemuxVersion.cmake
+include/avidemux/2.8/cmake/cmake_compile_check/CheckFunctionExists.c
+include/avidemux/2.8/cmake/cmake_compile_check/check_vdpau.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/cpu_arm64_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/cpu_armel_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/cpu_riscv_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/cpu_x86-64_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/cpu_x86_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/dxva2.c
+include/avidemux/2.8/cmake/cmake_compile_check/execinfo.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/faad_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/ftello.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/gettext.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/gtk_x11_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/iconv_check.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/libva.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/libva_dummy.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/libva_hevcdec.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/libva_vp9dec.cpp
+include/avidemux/2.8/cmake/cmake_compile_check/os_bsd_check.cpp
+include/avidemux/2.8/cmake/cmake_win32_rc/VersionInfo.in
+include/avidemux/2.8/cmake/cmake_win32_rc/VersionResource.rc
+include/avidemux/2.8/cmake/cmake_win32_rc/generate_product_version.cmake
+include/avidemux/2.8/cmake/commonCmakeApplication.cmake
+include/avidemux/2.8/cmake/config.h.cmake
+include/avidemux/2.8/cmake/debianArch.cmake
+include/avidemux/2.8/cmake/dm_plugin.cmake
+include/avidemux/2.8/cmake/ffmpeg_configure.sh.cmake
+include/avidemux/2.8/cmake/ffmpeg_make.sh.cmake
+include/avidemux/2.8/cmake/mx_plugin.cmake
+include/avidemux/2.8/cmake/plugin_cli.cmake
+include/avidemux/2.8/cmake/plugin_qt4.cmake
+include/avidemux/2.8/cmake/se_plugin.cmake
+include/avidemux/2.8/cmake/vd_plugin.cmake
+include/avidemux/2.8/cmake/ve_plugin.cmake
+include/avidemux/2.8/cmake/ve_plugin_qt4.cmake
+include/avidemux/2.8/cmake/ve_settings_plugin.cmake
+include/avidemux/2.8/cmake/vf_plugin.cmake
+include/avidemux/2.8/cmake/vf_plugin_cli.cmake
+include/avidemux/2.8/cmake/vf_plugin_gtk.cmake
+include/avidemux/2.8/cmake/vf_plugin_qt4.cmake
+include/avidemux/2.8/cmake/vf_plugin_qt4gl.cmake
+@dir include/avidemux/2.8/cmake/osx
+@dir include/avidemux/2.8/cmake/sql
+include/avidemux/2.8/ADM_core/ADM_assert.h
+include/avidemux/2.8/ADM_core/ADM_byteBuffer.h
+include/avidemux/2.8/ADM_core/ADM_clock.h
+include/avidemux/2.8/ADM_core/ADM_core6_export.h
+include/avidemux/2.8/ADM_core/ADM_coreTranslator.h
+include/avidemux/2.8/ADM_core/ADM_cpp.h
+include/avidemux/2.8/ADM_core/ADM_cpuCap.h
+include/avidemux/2.8/ADM_core/ADM_crashdump.h
+include/avidemux/2.8/ADM_core/ADM_crashdump_apple.h
+include/avidemux/2.8/ADM_core/ADM_crashdump_mingw.h
+include/avidemux/2.8/ADM_core/ADM_crashdump_other.h
+include/avidemux/2.8/ADM_core/ADM_crashdump_unix.h
+include/avidemux/2.8/ADM_core/ADM_crashdump_vs.h
+include/avidemux/2.8/ADM_core/ADM_default.h
+include/avidemux/2.8/ADM_core/ADM_dynamicLoading.h
+include/avidemux/2.8/ADM_core/ADM_files.h
+include/avidemux/2.8/ADM_core/ADM_inttype.h
+include/avidemux/2.8/ADM_core/ADM_mangle.h
+include/avidemux/2.8/ADM_core/ADM_mangle_gcc.h
+include/avidemux/2.8/ADM_core/ADM_mangle_vs.h
+include/avidemux/2.8/ADM_core/ADM_memsupport.h
+include/avidemux/2.8/ADM_core/ADM_misc.h
+include/avidemux/2.8/ADM_core/ADM_prettyPrint.h
+include/avidemux/2.8/ADM_core/ADM_ptrQueue.h
+include/avidemux/2.8/ADM_core/ADM_queue.h
+include/avidemux/2.8/ADM_core/ADM_threads.h
+include/avidemux/2.8/ADM_core/ADM_vidMisc.h
+include/avidemux/2.8/ADM_core/ADM_win32.h
+include/avidemux/2.8/ADM_core/BVector.h
+include/avidemux/2.8/ADM_core/admx86inc.asm
+include/avidemux/2.8/ADM_core/admx86util.asm
+include/avidemux/2.8/ADM_coreAudio/ADM_audioAccessFile.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioAccessFileAACADTS.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioClock.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioCodecEnum.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioIdentify.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStream.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamAC3.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamBuffered.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamConstantChunk.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamDCA.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamEac3.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamMP3.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioStreamPCM.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioWrite.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioWriteAAC.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioWriteWav.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audioXiphUtils.h
+include/avidemux/2.8/ADM_coreAudio/ADM_audiodef.h
+include/avidemux/2.8/ADM_coreAudio/ADM_baseAudioStream.h
+include/avidemux/2.8/ADM_coreAudio/ADM_coreAudio.h
+include/avidemux/2.8/ADM_coreAudio/ADM_coreAudio6_export.h
+include/avidemux/2.8/ADM_coreAudioCodec/ADM_ad_plugin.h
+include/avidemux/2.8/ADM_coreAudioCodec/ADM_audiocodec.h
+include/avidemux/2.8/ADM_coreAudioCodec/ADM_audiocodeclist.h
+include/avidemux/2.8/ADM_coreAudioCodec/adm_ogg.h
+include/avidemux/2.8/ADM_coreAudioDevice/ADM_audioDeviceInternal.h
+include/avidemux/2.8/ADM_coreAudioDevice/ADM_audiodevice.h
+include/avidemux/2.8/ADM_coreAudioDevice/ADM_coreAudioDevice6_export.h
+include/avidemux/2.8/ADM_coreAudioDevice/audio_out.h
+include/avidemux/2.8/ADM_coreAudioEncoder/ADM_coreAudioEncoder6_export.h
+include/avidemux/2.8/ADM_coreAudioEncoder/audioencoder.h
+include/avidemux/2.8/ADM_coreAudioEncoder/audioencoderInternal.h
+include/avidemux/2.8/ADM_coreAudioFilter/ADM_audioFilter.h
+include/avidemux/2.8/ADM_coreAudioFilter/ADM_audioStretch.h
+include/avidemux/2.8/ADM_coreAudioFilter/ADM_audioResample.h
+include/avidemux/2.8/ADM_coreAudioFilter/ADM_coreAudioFilterAPI6_export.h
+include/avidemux/2.8/ADM_coreAudioFilter/audioEncoderApi.h
+include/avidemux/2.8/ADM_coreAudioFilter/audio_encoderPlugin.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_SRC.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_bridge.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_channels.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_conf.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_dolby.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_eq.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_film2pal.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_internal.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_limiter.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_limiter_param.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_mixer.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_normalize.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_normalize_param.h
+include/avidemux/2.8/ADM_coreAudioFilter/audiofilter_stretch.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_a52info.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_aacLatm.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_aacadts.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_aacinfo.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_audioParser6_export.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_dcainfo.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_eac3info.h
+include/avidemux/2.8/ADM_coreAudioParser/ADM_mp3info.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_Video.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_bitmap.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_coreDemuxer.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_coreDemuxer6_export.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_coreDemuxerMpeg.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_coreDemuxerMpegTemplate.cpp.h
+include/avidemux/2.8/ADM_coreDemuxer/ADM_demuxerInternal.h
+include/avidemux/2.8/ADM_coreDemuxer/avifmt2.h
+include/avidemux/2.8/ADM_coreDemuxer/unix/avifmt.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/ADM_coreDemuxerMpeg6_export.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/ADM_indexFile.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmxPSPacket.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmxPacket.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_demuxer.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_demuxerEs.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_demuxerMSDVR.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_demuxerPS.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_demuxerTS.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_identify.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_indexer.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_io.h
+include/avidemux/2.8/ADM_coreDemuxerMpeg/dmx_mpegstartcode.h
+include/avidemux/2.8/ADM_coreImage/ADM_colorspace.h
+include/avidemux/2.8/ADM_coreImage/ADM_coreImage6_export.h
+include/avidemux/2.8/ADM_coreImage/ADM_image.h
+include/avidemux/2.8/ADM_coreImage/ADM_imageFlags.h
+include/avidemux/2.8/ADM_coreImage/ADM_imageResizer.h
+include/avidemux/2.8/ADM_coreImage/ADM_interlaced.h
+include/avidemux/2.8/ADM_coreImage/ADM_pp.h
+include/avidemux/2.8/ADM_coreImage/ADM_print_priv.h
+include/avidemux/2.8/ADM_coreImage/ADM_rgb.h
+include/avidemux/2.8/ADM_coreImage/ADM_toneMapper.h
+include/avidemux/2.8/ADM_coreImage/ADM_vidField.h
+include/avidemux/2.8/ADM_coreImage/ADM_vidFieldUtil.h
+include/avidemux/2.8/ADM_coreImage/ADM_videoFilterDynamic.h
+include/avidemux/2.8/ADM_coreImage/ADM_videoFilter_iface.h
+include/avidemux/2.8/ADM_coreImage/ADM_videoFilter_internal.h
+include/avidemux/2.8/ADM_coreImageLoader/ADM_coreImageLoader6_export.h
+include/avidemux/2.8/ADM_coreImageLoader/ADM_imageLoader.h
+include/avidemux/2.8/ADM_coreJobs/ADM_coreJobs.h
+include/avidemux/2.8/ADM_coreJobs/ADM_coreJobs_export.h
+include/avidemux/2.8/ADM_coreJobs/sqlJobs.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVA/ADM_coreLibVA.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVA/ADM_coreLibVA_internal.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVAEnc/ADM_coreLibVA_bitstream.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVAEnc/ADM_coreLibVA_buffer.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVAEnc/ADM_coreLibVA_encodingContext.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVAEnc/ADM_coreLibVA_h264Encoding.h
+%%VAAPI%%include/avidemux/2.8/ADM_coreLibVAEnc/ADM_coreLibVA_hevcEncoding.h
+include/avidemux/2.8/ADM_coreMuxer/ADM_coreMuxer6_export.h
+include/avidemux/2.8/ADM_coreMuxer/ADM_coreMuxerFfmpeg.h
+include/avidemux/2.8/ADM_coreMuxer/ADM_muxer.h
+include/avidemux/2.8/ADM_coreMuxer/ADM_muxerInternal.h
+include/avidemux/2.8/ADM_coreMuxer/ADM_muxerProto.h
+include/avidemux/2.8/ADM_coreMuxer/ADM_muxerUtils.h
+include/avidemux/2.8/ADM_coreScript/ADM_ScriptEngineLoader.h
+include/avidemux/2.8/ADM_coreScript/ADM_coreScript_export.h
+include/avidemux/2.8/ADM_coreScript/ADM_scriptDF.h
+include/avidemux/2.8/ADM_coreScript/ADM_scriptDFInteger.h
+include/avidemux/2.8/ADM_coreScript/ADM_scriptDFMenu.h
+include/avidemux/2.8/ADM_coreScript/ADM_scriptDFTimeStamp.h
+include/avidemux/2.8/ADM_coreScript/ADM_scriptDFToggle.h
+include/avidemux/2.8/ADM_coreScript/ADM_scriptDialogFactory.h
+include/avidemux/2.8/ADM_coreScript/IScriptEngine.h
+include/avidemux/2.8/ADM_coreScript/IScriptWriter.h
+include/avidemux/2.8/ADM_coreScript/ScriptShell.h
+include/avidemux/2.8/ADM_coreSocket/ADM_coreAvsProtocol.h
+include/avidemux/2.8/ADM_coreSocket/ADM_coreCommandSocket.h
+include/avidemux/2.8/ADM_coreSocket/ADM_coreSocket.h
+include/avidemux/2.8/ADM_coreSocket/ADM_coreSocket6_export.h
+include/avidemux/2.8/ADM_coreSqlLight3/ADM_coreSqlLight3_export.h
+include/avidemux/2.8/ADM_coreSqlLight3/Database.h
+include/avidemux/2.8/ADM_coreSqlLight3/IError.h
+include/avidemux/2.8/ADM_coreSqlLight3/Query.h
+include/avidemux/2.8/ADM_coreSqlLight3/StderrLog.h
+include/avidemux/2.8/ADM_coreSqlLight3/SysLog2.h
+include/avidemux/2.8/ADM_coreSqlLight3/libsqlitewrapped.h
+include/avidemux/2.8/ADM_coreSubtitles/ADM_coreSubtitles.h
+include/avidemux/2.8/ADM_coreSubtitles/ADM_coreSubtitles_export.h
+include/avidemux/2.8/ADM_coreUI/ADM_coreUI6_export.h
+include/avidemux/2.8/ADM_coreUI/ADM_windowInfo.h
+include/avidemux/2.8/ADM_coreUI/DIA_audioTracks.h
+include/avidemux/2.8/ADM_coreUI/DIA_coreToolkit.h
+include/avidemux/2.8/ADM_coreUI/DIA_coreUI_internal.h
+include/avidemux/2.8/ADM_coreUI/DIA_encoding.h
+include/avidemux/2.8/ADM_coreUI/DIA_enter.h
+include/avidemux/2.8/ADM_coreUI/DIA_factory.h
+include/avidemux/2.8/ADM_coreUI/DIA_factoryStubs.h
+include/avidemux/2.8/ADM_coreUI/DIA_fileSel.h
+include/avidemux/2.8/ADM_coreUI/DIA_processing.h
+include/avidemux/2.8/ADM_coreUI/DIA_uiTypes.h
+include/avidemux/2.8/ADM_coreUI/DIA_working.h
+include/avidemux/2.8/ADM_coreUtils/ADM_bitstream.h
+include/avidemux/2.8/ADM_coreUtils/ADM_codecType.h
+include/avidemux/2.8/ADM_coreUtils/ADM_compressedImage.h
+include/avidemux/2.8/ADM_coreUtils/ADM_confCouple.h
+include/avidemux/2.8/ADM_coreUtils/ADM_coreCodecMapping.h
+include/avidemux/2.8/ADM_coreUtils/ADM_coreJson.h
+include/avidemux/2.8/ADM_coreUtils/ADM_coreUtils.h
+include/avidemux/2.8/ADM_coreUtils/ADM_coreUtils6_export.h
+include/avidemux/2.8/ADM_coreUtils/ADM_fileio.h
+include/avidemux/2.8/ADM_coreUtils/ADM_frameType.h
+include/avidemux/2.8/ADM_coreUtils/ADM_getbits.h
+include/avidemux/2.8/ADM_coreUtils/ADM_h264_tag.h
+include/avidemux/2.8/ADM_coreUtils/ADM_h265_tag.h
+include/avidemux/2.8/ADM_coreUtils/ADM_iso639.h
+include/avidemux/2.8/ADM_coreUtils/ADM_last.h
+include/avidemux/2.8/ADM_coreUtils/ADM_memio.h
+include/avidemux/2.8/ADM_coreUtils/ADM_paramList.h
+include/avidemux/2.8/ADM_coreUtils/ADM_quota.h
+include/avidemux/2.8/ADM_coreUtils/ADM_string.h
+include/avidemux/2.8/ADM_coreUtils/ADM_threadQueue.h
+include/avidemux/2.8/ADM_coreUtils/ADM_videoInfoExtractor.h
+include/avidemux/2.8/ADM_coreUtils/ADM_writeRiff.h
+include/avidemux/2.8/ADM_coreUtils/FFcodecContext_param.h
+include/avidemux/2.8/ADM_coreUtils/fourcc.h
+include/avidemux/2.8/ADM_coreUtils/prefs.h
+include/avidemux/2.8/ADM_coreUtils/prefs2_list.h
+%%VDPAU%%include/avidemux/2.8/ADM_coreVdpau/ADM_coreVdpau.h
+%%VDPAU%%include/avidemux/2.8/ADM_coreVdpau/ADM_coreVdpauInternal.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_codec.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_codecEmpty.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_codecFFVP9.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_codecFFsimple.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_codecNull.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_coreVideoCodec6_export.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_coreVideoDecoderInternal.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_ffmp43.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_hwAccel.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_rgb16.h
+include/avidemux/2.8/ADM_coreVideoCodec/ADM_uyvy.h
+include/avidemux/2.8/ADM_coreVideoEncoder/ADM_coreVideoEncoder.h
+include/avidemux/2.8/ADM_coreVideoEncoder/ADM_coreVideoEncoder6_export.h
+include/avidemux/2.8/ADM_coreVideoEncoder/ADM_coreVideoEncoderFFmpeg.h
+include/avidemux/2.8/ADM_coreVideoEncoder/ADM_coreVideoEncoderFFmpeg_param.h
+include/avidemux/2.8/ADM_coreVideoEncoder/ADM_coreVideoEncoderInternal.h
+include/avidemux/2.8/ADM_coreVideoEncoder/ADM_encoderConf.h
+include/avidemux/2.8/ADM_coreVideoEncoder/FFcodecContext.h
+include/avidemux/2.8/ADM_coreVideoEncoder/FFcodecSettings.h
+include/avidemux/2.8/ADM_coreVideoEncoder/FFcodecSettings_desc.cpp.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_coreVideoFilter.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_coreVideoFilter6_export.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_coreVideoFilterFunc.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_coreVideoFilterInternal.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_filterCategory.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_videoFilterBridge.h
+include/avidemux/2.8/ADM_coreVideoFilter/ADM_videoFilterCache.h
diff --git a/multimedia/avinfo/Makefile b/multimedia/avinfo/Makefile
deleted file mode 100644
index c6082bf22122..000000000000
--- a/multimedia/avinfo/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Created by: ijliao
-
-PORTNAME= avinfo
-PORTVERSION= 1.0.a15
-CATEGORIES= multimedia
-MASTER_SITES= http://shounen.ru/soft/avinfo/ \
- http://mirror.amdmi3.ru/distfiles/
-DISTNAME= ${PORTNAME}-${PORTVERSION}unix
-
-MAINTAINER= amdmi3@FreeBSD.org
-COMMENT= Utility for displaying AVI header information
-
-DEPRECATED= Last release in 2008, please consider using multimedia/mediainfo or multimedia/ffmpeg instead
-EXPIRATION_DATE=2022-06-30
-
-USES= bison gmake
-
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-# Fix build with clang11. Seems dead upstream.
-CFLAGS+= -fcommon
-
-PLIST_FILES= bin/${PORTNAME} \
- man/man1/${PORTNAME}.1.gz
-
-PORTDOCS= *
-
-OPTIONS_DEFINE= DOCS
-
-post-patch:
- @${REINPLACE_CMD} -e '/^CC=/ d; /^CFLAGS=/ d; /^PREFIX=/ d' \
- ${WRKSRC}/config.mk
- @${REINPLACE_CMD} -e '/BISON.*-d/ s|$$| \&\& ${REINPLACE_CMD} -e "/int yyparse (void)/ d" ass.tab.h|' \
- ${WRKSRC}/src/Makefile
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/src/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
- ${INSTALL_MAN} ${WRKSRC}/src/${PORTNAME}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/CHANGELOG ${WRKSRC}/README \
- ${WRKSRC}/copying ${WRKSRC}/doc/* ${STAGEDIR}${DOCSDIR}/
-
-.include <bsd.port.mk>
diff --git a/multimedia/avinfo/distinfo b/multimedia/avinfo/distinfo
deleted file mode 100644
index f697dfd76c08..000000000000
--- a/multimedia/avinfo/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (avinfo-1.0.a15unix.tar.gz) = 3e3404a76e6057c1703e0c49b63910a8ffcb5ea15ae7b2d0a7d2ede4b4c19887
-SIZE (avinfo-1.0.a15unix.tar.gz) = 105743
diff --git a/multimedia/avinfo/files/patch-src-ass.y b/multimedia/avinfo/files/patch-src-ass.y
deleted file mode 100644
index 1397c1b79dca..000000000000
--- a/multimedia/avinfo/files/patch-src-ass.y
+++ /dev/null
@@ -1,33 +0,0 @@
---- src/ass.y.orig 2005-04-22 05:31:53 UTC
-+++ src/ass.y
-@@ -25,17 +25,17 @@
- #include "ass.h"
- #include "ass.tab.h"
-
--#define YYLEX_PARAM lexer_ctl
--#define YYPARSE_PARAM lexer_ctl
- #define line (((lexerctl_t*)lexer_ctl)->line)
- #define pos (((lexerctl_t*)lexer_ctl)->c)
-
--int yyerror( const char *s );
-+int yyerror(void *lexer_ctl, const char *s);
- int yylex (YYSTYPE *lval, void* lexer_ctl);
-
- %}
-
--%pure_parser
-+%define api.pure
-+%lex-param {void *lexer_ctl}
-+%parse-param {void *lexer_ctl}
-
- %union{
- int letter;
-@@ -258,7 +258,7 @@ var_t Op(var_t var1, var_t var2, int op_
- return res;
- }
-
--int yyerror (const char *s) /* ¢ë§ë¢ ¥âáï yyparse ¢ á«ãç ¥ ®è¨¡ª¨ */
-+int yyerror (void *lexer_ctl, const char *s) /* ¢ë§ë¢ ¥âáï yyparse ¢ á«ãç ¥ ®è¨¡ª¨ */
- {
- printf ("\n(error in template)\n");
- return 1;
diff --git a/multimedia/avinfo/pkg-descr b/multimedia/avinfo/pkg-descr
deleted file mode 100644
index d23caab9369b..000000000000
--- a/multimedia/avinfo/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-AVInfo is a utility for displaying AVI header information. It returns the
-length of a clip, FPS, resolution, codec, sound parametrs, and the number
-and type of streams, including detailed information for each.
- - resolution
- - length
- - fps
- - type of using audio and video codecs
- - sound params
- - Number of streams, its types (audio/video)
-
-WWW: http://shounen.ru/soft/avinfo/english.shtml
diff --git a/multimedia/baka-mplayer/Makefile b/multimedia/baka-mplayer/Makefile
index a9bafa0ef85b..944288577884 100644
--- a/multimedia/baka-mplayer/Makefile
+++ b/multimedia/baka-mplayer/Makefile
@@ -1,11 +1,17 @@
PORTNAME= baka-mplayer
DISTVERSIONPREFIX= v
DISTVERSION= 2.0.4
-PORTREVISION= 8
+PORTREVISION= 12
CATEGORIES= multimedia audio
-MAINTAINER= jbeich@FreeBSD.org
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= 6c83d34c3158.patch:-p1 # https://github.com/u8sand/Baka-MPlayer/pull/296
+PATCHFILES+= 7864f248c3fc.patch:-p1 # https://github.com/u8sand/Baka-MPlayer/pull/317
+PATCHFILES+= fb0cd8133d45.patch:-p1 # https://github.com/u8sand/Baka-MPlayer/pull/317
+
+MAINTAINER= ports@FreeBSD.org
COMMENT= Qt 5 multimedia player based on libmpv
+WWW= https://bakamplayer.u8sand.net/
LICENSE= GPLv2
@@ -16,7 +22,7 @@ GH_ACCOUNT= u8sand
GH_PROJECT= Baka-MPlayer
USES= compiler:c++11-lib pkgconfig qmake qt:5
-USE_QT= qmake_build buildtools_build gui network svg widgets x11extras
+USE_QT= qmake:build buildtools:build gui network svg widgets x11extras
QMAKE_SOURCE_PATH=${WRKSRC}/src
QMAKE_ARGS= lupdate="${LUPDATE}" lrelease="${LRELEASE}"
@@ -24,7 +30,7 @@ OPTIONS_DEFINE= DOCS NLS NOTO
OPTIONS_SUB= yes
NLS_USES= qt:5
-NLS_USE= QT=linguisttools_build
+NLS_USE= QT=linguisttools:build
NLS_QMAKE_ON= CONFIG+="install_translations"
NOTO_DESC= Original look with Noto Sans font
NOTO_RUN_DEPENDS= noto>0:x11-fonts/noto
diff --git a/multimedia/baka-mplayer/distinfo b/multimedia/baka-mplayer/distinfo
index fc9fad227916..980cadab0433 100644
--- a/multimedia/baka-mplayer/distinfo
+++ b/multimedia/baka-mplayer/distinfo
@@ -1,2 +1,9 @@
+TIMESTAMP = 1448985828
SHA256 (u8sand-Baka-MPlayer-v2.0.4_GH0.tar.gz) = 43647217695bdfc85771ce2fc8fcecebd49bdf6282c3a439816cfb4e08754002
SIZE (u8sand-Baka-MPlayer-v2.0.4_GH0.tar.gz) = 988060
+SHA256 (6c83d34c3158.patch) = da27f0abbb6f4cc5d829193086c35b13a0b11efe52d11b85006f84f7f8ff3f75
+SIZE (6c83d34c3158.patch) = 1265
+SHA256 (7864f248c3fc.patch) = 234b4b15c6706aa38c38392ca2cfacc6bc5722c115f49a0335eb4d4984e8a14f
+SIZE (7864f248c3fc.patch) = 3511
+SHA256 (fb0cd8133d45.patch) = 3ffd9481f9abeb9ca21ec6726b0563cb0b6fe4f4098f45813b42e63569411ec9
+SIZE (fb0cd8133d45.patch) = 758
diff --git a/multimedia/baka-mplayer/pkg-descr b/multimedia/baka-mplayer/pkg-descr
index f7d28344dd80..d0648be9f291 100644
--- a/multimedia/baka-mplayer/pkg-descr
+++ b/multimedia/baka-mplayer/pkg-descr
@@ -1,5 +1,3 @@
Baka MPlayer is a free and open source, cross-platform, libmpv based
multimedia player. Its simple design reflects the idea for an
uncluttered, simple, and enjoyable environment for watching tv shows.
-
-WWW: http://bakamplayer.u8sand.net/
diff --git a/multimedia/bcmatroska2/Makefile b/multimedia/bcmatroska2/Makefile
index 99fb59cd6fd9..6a8972aa1b7a 100644
--- a/multimedia/bcmatroska2/Makefile
+++ b/multimedia/bcmatroska2/Makefile
@@ -1,14 +1,29 @@
PORTNAME= bcmatroska2
-PORTVERSION= 0.23
+PORTVERSION= 5.2.1
+PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= https://www.linphone.org/releases/sources/bcmatroska2/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Belledonne Communications Matroska media container support
+WWW= https://www.linphone.org/
-USES= cmake
+LICENSE= BSD3CLAUSE
+
+LIB_DEPENDS= libbctoolbox.so:net/bctoolbox
+
+USES= cmake compiler:c++17-lang
+USE_GITLAB= yes
+GL_SITE= https://gitlab.linphone.org/BC
+GL_ACCOUNT= public
USE_LDCONFIG= yes
-CMAKE_ARGS= -DENABLE_STATIC=NO
+CMAKE_ARGS= -DCMAKE_PREFIX_PATH=${LOCALBASE} \
+ -DENABLE_STATIC=NO
+
+.include <bsd.port.pre.mk>
+
+.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 160
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/multimedia/bcmatroska2/distinfo b/multimedia/bcmatroska2/distinfo
index 1591e626483d..8af9c22f0e02 100644
--- a/multimedia/bcmatroska2/distinfo
+++ b/multimedia/bcmatroska2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1529855371
-SHA256 (bcmatroska2-0.23.tar.gz) = 2540e2d39785004060688218df2d33ddefc2561f6cf1fcdd4d2840e8c8a41ba8
-SIZE (bcmatroska2-0.23.tar.gz) = 959058
+TIMESTAMP = 1690572807
+SHA256 (bcmatroska2-5.2.1.tar.bz2) = cbe7c47f46e6226cf6923df5c0b9138c213a56d2c04d60f2b0622a610c563b46
+SIZE (bcmatroska2-5.2.1.tar.bz2) = 790336
diff --git a/multimedia/bcmatroska2/files/patch-corec-corec-helpers-file-file_libc.c b/multimedia/bcmatroska2/files/patch-corec-corec-helpers-file-file_libc.c
index 8b2c85260201..bb204815456a 100644
--- a/multimedia/bcmatroska2/files/patch-corec-corec-helpers-file-file_libc.c
+++ b/multimedia/bcmatroska2/files/patch-corec-corec-helpers-file-file_libc.c
@@ -1,9 +1,9 @@
---- corec/corec/helpers/file/file_libc.c.orig 2017-07-20 13:52:29 UTC
+--- corec/corec/helpers/file/file_libc.c.orig 2022-11-29 10:25:07 UTC
+++ corec/corec/helpers/file/file_libc.c
-@@ -40,7 +40,7 @@
- #include <unistd.h>
- #include <dirent.h>
- #include <errno.h>
+@@ -44,7 +44,7 @@
+ // Do not move. Define TARGET_*.
+ #include "file.h"
+
-#if defined(TARGET_OSX)
+#if defined(TARGET_OSX) || defined(__FreeBSD__)
#include <sys/mount.h>
diff --git a/multimedia/bcmatroska2/files/patch-corec_corec_helpers_file_file__bctbx.c b/multimedia/bcmatroska2/files/patch-corec_corec_helpers_file_file__bctbx.c
new file mode 100644
index 000000000000..5c35768e7f1c
--- /dev/null
+++ b/multimedia/bcmatroska2/files/patch-corec_corec_helpers_file_file__bctbx.c
@@ -0,0 +1,169 @@
+--- corec/corec/helpers/file/file_bctbx.c.orig 2022-11-29 10:25:07 UTC
++++ corec/corec/helpers/file/file_bctbx.c
+@@ -48,7 +48,7 @@
+ // Do not move. Define TARGET_*.
+ #include "file.h"
+
+-#if defined(TARGET_OSX)
++#if defined(TARGET_OSX) || defined(__FreeBSD__)
+ #include <sys/mount.h>
+ #elif defined(TARGET_QNX)
+ #include <sys/statvfs.h>
+@@ -261,157 +261,3 @@ static void Delete(filestream* p)
+ if (p->FindDir)
+ closedir(p->FindDir);
+ }
+-
+-META_START(File_Class,FILE_CLASS)
+-META_CLASS(SIZE,sizeof(filestream))
+-META_CLASS(PRIORITY,PRI_MINIMUM)
+-META_CLASS(DELETE,Delete)
+-META_VMT(TYPE_FUNC,stream_vmt,Open,Open)
+-META_VMT(TYPE_FUNC,stream_vmt,Read,Read)
+-META_VMT(TYPE_FUNC,stream_vmt,ReadBlock,ReadBlock)
+-META_VMT(TYPE_FUNC,stream_vmt,Write,Write)
+-META_VMT(TYPE_FUNC,stream_vmt,Seek,Seek)
+-META_VMT(TYPE_FUNC,stream_vmt,OpenDir,OpenDir)
+-META_VMT(TYPE_FUNC,stream_vmt,EnumDir,EnumDir)
+-META_CONST(TYPE_INT,filestream,fp,NULL)
+-META_DATA_RDONLY(TYPE_INT,STREAM_FLAGS,filestream,Flags)
+-META_DATA_RDONLY(TYPE_STRING,STREAM_URL,filestream,URL)
+-META_DATA_RDONLY(TYPE_STRING,STREAM_ENUM_BASE,filestream,DirPath)
+-META_PARAM(SET,STREAM_LENGTH,SetLength)
+-META_DATA(TYPE_FILEPOS,STREAM_LENGTH,filestream,Length)
+-META_PARAM(STRING,NODE_PROTOCOL,T("file"))
+-META_END(STREAM_CLASS)
+-
+-bool_t FileExists(nodecontext *p,const tchar_t* Path)
+-{
+- struct stat file_stats;
+- return stat(Path, &file_stats) == 0;
+-}
+-
+-bool_t FileErase(nodecontext *p,const tchar_t* Path, bool_t Force, bool_t Safe)
+-{
+- if (Force)
+- {
+- struct stat file_stats;
+- if (stat(Path, &file_stats) == 0)
+- {
+- if ((file_stats.st_mode & S_IWUSR)==0)
+- {
+- file_stats.st_mode |= S_IWUSR;
+- chmod(Path,file_stats.st_mode);
+- }
+- }
+- }
+- return unlink(Path) == 0;
+-}
+-
+-bool_t FolderErase(nodecontext *p,const tchar_t* Path, bool_t Force, bool_t Safe)
+-{
+- if (Force)
+- {
+- struct stat file_stats;
+- if (stat(Path, &file_stats) == 0)
+- {
+- if ((file_stats.st_mode & S_IWUSR)==0)
+- {
+- file_stats.st_mode |= S_IWUSR;
+- chmod(Path,file_stats.st_mode);
+- }
+- }
+- }
+- return rmdir(Path) == 0;
+-}
+-
+-bool_t PathIsFolder(nodecontext *p,const tchar_t* Path)
+-{
+- struct stat file_stats;
+- if (stat(Path, &file_stats) == 0)
+- {
+- return (file_stats.st_mode & S_IFDIR) == S_IFDIR;
+- }
+- return 0;
+-}
+-
+-datetime_t FileDateTime(nodecontext *p,const tchar_t* Path)
+-{
+- datetime_t Date = INVALID_DATETIME_T;
+- struct stat file_stats;
+- if (stat(Path, &file_stats) == 0)
+- Date = LinuxToDateTime(file_stats.st_mtime);
+- return Date;
+-}
+-
+-bool_t FileMove(nodecontext *p,const tchar_t* In,const tchar_t* Out)
+-{
+- return rename(In,Out) == 0;
+-}
+-
+-bool_t FolderCreate(nodecontext *p,const tchar_t* Path)
+-{
+- return mkdir(Path,_RW_ACCESS_DIR) == 0;
+-}
+-
+-void FindFiles(nodecontext *p,const tchar_t* Path, const tchar_t* Mask,void(*Process)(const tchar_t*,void*),void* Param)
+-{
+- DIR* Directory;
+- struct dirent* DirectoryInfo;
+- tchar_t TPathToFile[MAXPATH];
+-
+- Directory = opendir(Path);
+- if (Directory)
+- {
+- while ( (DirectoryInfo = readdir(Directory)) != NULL )
+- {
+- char* FileExtension = 0;
+- FileExtension = strrchr(DirectoryInfo->d_name, '.');
+- if(FileExtension)
+- {
+- if (strcmp(Mask, FileExtension ) == 0 )
+- {
+- tcscpy_s(TPathToFile, TSIZEOF(TPathToFile), Path);
+- tcscat_s(TPathToFile, TSIZEOF(TPathToFile), DirectoryInfo->d_name);
+- Process(TPathToFile, Param);
+- }
+- }
+- }
+-
+- closedir(Directory);
+- }
+-
+-}
+-
+-stream *FileTemp(anynode *Any)
+-{
+-#ifndef TODO
+- assert(NULL); // not supported yet
+-#endif
+- return NULL;
+-}
+-
+-bool_t FileTempName(anynode *Any,tchar_t *Out, size_t OutLen)
+-{
+-#ifndef TODO
+- assert(NULL); // not supported yet
+-#endif
+- return 0;
+-}
+-
+-int64_t GetPathFreeSpace(nodecontext* UNUSED_PARAM(p), const tchar_t* Path)
+-{
+-#ifndef TODO
+- // need to an include (see at includes)
+-#if defined(TARGET_QNX)
+- struct statvfs st;
+- if (statvfs(Path, &st) < 0)
+-#else
+- struct statfs st;
+- if (statfs(Path, &st) < 0)
+-#endif
+- return -1;
+- return (int64_t)st.f_bsize * (int64_t)st.f_bavail;
+-#else
+- return -1;
+-#endif
+-}
+-
+-
diff --git a/multimedia/bcmatroska2/pkg-descr b/multimedia/bcmatroska2/pkg-descr
index 5d52f78c70b6..925e1b43b3c0 100644
--- a/multimedia/bcmatroska2/pkg-descr
+++ b/multimedia/bcmatroska2/pkg-descr
@@ -1,3 +1 @@
This library provides support for Matroska, a media container format.
-
-WWW: https://www.linphone.org/
diff --git a/multimedia/bino/Makefile b/multimedia/bino/Makefile
index 209b93aea9e8..3015f4cc44f1 100644
--- a/multimedia/bino/Makefile
+++ b/multimedia/bino/Makefile
@@ -1,28 +1,31 @@
-# Created by: Mykola Dzham <i@levsha.me>
-
PORTNAME= bino
PORTVERSION= 1.6.5
-PORTREVISION= 6
+PORTREVISION= 9
CATEGORIES= multimedia
MASTER_SITES= https://download.savannah.nongnu.org/releases/bino/
MAINTAINER= i@levsha.me
COMMENT= 3D video player with multi-display support
+WWW= https://bino3d.org
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libass.so:multimedia/libass \
- libavformat.so:multimedia/ffmpeg \
+ libavformat.so.58:multimedia/ffmpeg4 \
libopenal.so:audio/openal-soft
USES= autoreconf compiler:c++11-lang desktop-file-utils gl gmake \
gnome iconv pkgconfig qt:5 tar:xz
USE_GL= gl glu glew
GNU_CONFIGURE= yes
-USE_QT= buildtools_build core gui opengl widgets
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+USE_QT= buildtools:build core gui opengl widgets
USE_CXXSTD= c++11
+CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
+MAKE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
+
# no port fow equalizer now, lirc detecting not working
CONFIGURE_ARGS= --without-equalizer --without-lirc --docdir=${DOCSDIR}
diff --git a/multimedia/bino/files/patch-configure.ac b/multimedia/bino/files/patch-configure.ac
new file mode 100644
index 000000000000..d2f69620b3c0
--- /dev/null
+++ b/multimedia/bino/files/patch-configure.ac
@@ -0,0 +1,10 @@
+--- configure.ac.orig 2016-12-16 08:05:02 UTC
++++ configure.ac
+@@ -35,6 +35,7 @@ AC_PROG_CXX
+ AM_INIT_AUTOMAKE([1.11.1 color-tests silent-rules tar-pax no-texinfo.tex -Wall -Wno-portability])
+ AM_SILENT_RULES([yes])
+ AC_PROG_CXX
++AC_PROG_GREP
+ AC_PROG_INSTALL
+ AC_PROG_RANLIB
+ AC_PROG_LN_S
diff --git a/multimedia/bino/pkg-descr b/multimedia/bino/pkg-descr
index b09584a707fa..1ec0666dc4c7 100644
--- a/multimedia/bino/pkg-descr
+++ b/multimedia/bino/pkg-descr
@@ -2,5 +2,3 @@ Bino is a video player with the following main features: Support for
stereoscopic 3D video, with a wide variety of input and output formats.
Support for multi-display video, e.g. for powerwalls, Virtual Reality
installations and other multi-projector setups.
-
-WWW: https://bino3d.org
diff --git a/multimedia/bino/pkg-plist b/multimedia/bino/pkg-plist
index 8c993511a559..d8c1f37169ed 100644
--- a/multimedia/bino/pkg-plist
+++ b/multimedia/bino/pkg-plist
@@ -49,4 +49,4 @@ share/icons/hicolor/32x32/apps/bino.png
share/icons/hicolor/48x48/apps/bino.png
share/icons/hicolor/64x64/apps/bino.png
share/icons/hicolor/scalable/apps/bino.svg
-man/man1/bino.1.gz
+share/man/man1/bino.1.gz
diff --git a/multimedia/bitstream/Makefile b/multimedia/bitstream/Makefile
index fb21d6bee388..eae9bce09e2e 100644
--- a/multimedia/bitstream/Makefile
+++ b/multimedia/bitstream/Makefile
@@ -6,6 +6,7 @@ MASTER_SITES= https://get.videolan.org/bitstream/${PORTVERSION}/ \
MAINTAINER= amdmi3@FreeBSD.org
COMMENT= Binary MPEG, DVB, IETF, etc. structures access library
+WWW= https://www.videolan.org/developers/bitstream.html
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/bitstream/pkg-descr b/multimedia/bitstream/pkg-descr
index a97340c09bbf..6021eb8e10ed 100644
--- a/multimedia/bitstream/pkg-descr
+++ b/multimedia/bitstream/pkg-descr
@@ -1,5 +1,3 @@
biTStream is a set of C headers allowing a simpler access to binary
structures such as specified by MPEG, DVB, IETF, SMPTE, IEEE, SCTE,
etc.
-
-WWW: http://www.videolan.org/developers/bitstream.html
diff --git a/multimedia/blind/Makefile b/multimedia/blind/Makefile
index 4ad20585d07d..2534eb9f3dfe 100644
--- a/multimedia/blind/Makefile
+++ b/multimedia/blind/Makefile
@@ -1,10 +1,12 @@
PORTNAME= blind
DISTVERSION= 1.1
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= https://dl.suckless.org/tools/
MAINTAINER= yuri@FreeBSD.org
COMMENT= Collection of command line video editing utilities
+WWW= https://tools.suckless.org/blind/
LICENSE= ISC
LICENSE_GROUPS= FSF GPL OSI
diff --git a/multimedia/blind/files/patch-config.mk b/multimedia/blind/files/patch-config.mk
index 151f56a4b067..d44243f39cb5 100644
--- a/multimedia/blind/files/patch-config.mk
+++ b/multimedia/blind/files/patch-config.mk
@@ -1,13 +1,12 @@
--- config.mk.orig 2017-05-06 11:27:39 UTC
+++ config.mk
-@@ -2,10 +2,10 @@
+@@ -2,10 +2,10 @@ VERSION = 1.1
VERSION = 1.1
# Paths
-PREFIX = /usr/local
--MANPREFIX = $(PREFIX)/share/man
+PREFIX ?= /usr/local
-+MANPREFIX = $(PREFIX)/man
+ MANPREFIX = $(PREFIX)/share/man
# You may want to remove -DHAVE_PRCTL and -DHAVE_EPOLL from CPPFLAGS if you are not using Linux.
-CFLAGS = -std=c99 -Wall -pedantic -O2
diff --git a/multimedia/blind/pkg-descr b/multimedia/blind/pkg-descr
index 5e9e2561d52b..35a5aae9d6b7 100644
--- a/multimedia/blind/pkg-descr
+++ b/multimedia/blind/pkg-descr
@@ -9,5 +9,3 @@ non-premultiplied alpha and without any transfer-function, with values stored
in native doubles or optionally in native floats. These two configurations are
the only options, but the container format is designed so this can be changed
arbitrarily in the future.
-
-WWW: https://tools.suckless.org/blind/
diff --git a/multimedia/blind/pkg-plist b/multimedia/blind/pkg-plist
index a68770c883b3..13db1ffde083 100644
--- a/multimedia/blind/pkg-plist
+++ b/multimedia/blind/pkg-plist
@@ -34,43 +34,43 @@ bin/blind-to-video
bin/blind-translate
bin/blind-transpose
bin/blind-write-head
-man/man1/blind-arithm.1.gz
-man/man1/blind-colour-ciexyz.1.gz
-man/man1/blind-colour-srgb.1.gz
-man/man1/blind-compress.1.gz
-man/man1/blind-concat.1.gz
-man/man1/blind-crop.1.gz
-man/man1/blind-cut.1.gz
-man/man1/blind-decompress.1.gz
-man/man1/blind-dissolve.1.gz
-man/man1/blind-extend.1.gz
-man/man1/blind-flip.1.gz
-man/man1/blind-flop.1.gz
-man/man1/blind-from-image.1.gz
-man/man1/blind-from-text.1.gz
-man/man1/blind-from-video.1.gz
-man/man1/blind-gauss-blur.1.gz
-man/man1/blind-invert-luma.1.gz
-man/man1/blind-next-frame.1.gz
-man/man1/blind-read-head.1.gz
-man/man1/blind-repeat.1.gz
-man/man1/blind-reverse.1.gz
-man/man1/blind-rewrite-head.1.gz
-man/man1/blind-rotate-180.1.gz
-man/man1/blind-rotate-270.1.gz
-man/man1/blind-rotate-90.1.gz
-man/man1/blind-set-alpha.1.gz
-man/man1/blind-set-luma.1.gz
-man/man1/blind-set-saturation.1.gz
-man/man1/blind-single-colour.1.gz
-man/man1/blind-skip-pattern.1.gz
-man/man1/blind-split.1.gz
-man/man1/blind-stack.1.gz
-man/man1/blind-time-blur.1.gz
-man/man1/blind-to-image.1.gz
-man/man1/blind-to-text.1.gz
-man/man1/blind-to-video.1.gz
-man/man1/blind-translate.1.gz
-man/man1/blind-transpose.1.gz
-man/man1/blind-write-head.1.gz
-man/man7/blind.7.gz
+share/man/man1/blind-arithm.1.gz
+share/man/man1/blind-colour-ciexyz.1.gz
+share/man/man1/blind-colour-srgb.1.gz
+share/man/man1/blind-compress.1.gz
+share/man/man1/blind-concat.1.gz
+share/man/man1/blind-crop.1.gz
+share/man/man1/blind-cut.1.gz
+share/man/man1/blind-decompress.1.gz
+share/man/man1/blind-dissolve.1.gz
+share/man/man1/blind-extend.1.gz
+share/man/man1/blind-flip.1.gz
+share/man/man1/blind-flop.1.gz
+share/man/man1/blind-from-image.1.gz
+share/man/man1/blind-from-text.1.gz
+share/man/man1/blind-from-video.1.gz
+share/man/man1/blind-gauss-blur.1.gz
+share/man/man1/blind-invert-luma.1.gz
+share/man/man1/blind-next-frame.1.gz
+share/man/man1/blind-read-head.1.gz
+share/man/man1/blind-repeat.1.gz
+share/man/man1/blind-reverse.1.gz
+share/man/man1/blind-rewrite-head.1.gz
+share/man/man1/blind-rotate-180.1.gz
+share/man/man1/blind-rotate-270.1.gz
+share/man/man1/blind-rotate-90.1.gz
+share/man/man1/blind-set-alpha.1.gz
+share/man/man1/blind-set-luma.1.gz
+share/man/man1/blind-set-saturation.1.gz
+share/man/man1/blind-single-colour.1.gz
+share/man/man1/blind-skip-pattern.1.gz
+share/man/man1/blind-split.1.gz
+share/man/man1/blind-stack.1.gz
+share/man/man1/blind-time-blur.1.gz
+share/man/man1/blind-to-image.1.gz
+share/man/man1/blind-to-text.1.gz
+share/man/man1/blind-to-video.1.gz
+share/man/man1/blind-translate.1.gz
+share/man/man1/blind-transpose.1.gz
+share/man/man1/blind-write-head.1.gz
+share/man/man7/blind.7.gz
diff --git a/multimedia/bsdbktr_tvtune/Makefile b/multimedia/bsdbktr_tvtune/Makefile
deleted file mode 100644
index 66e9289aeade..000000000000
--- a/multimedia/bsdbktr_tvtune/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Created by: Mina Naguib <webmaster@topfx.com>
-
-PORTNAME= bsdbktr_tvtune
-PORTVERSION= 0.02
-CATEGORIES= multimedia
-MASTER_SITES= http://mina.naguib.ca/dist/
-
-MAINTAINER= mina.website@naguib.ca
-COMMENT= Console Brooktree (bktr) TV tuner
-
-LICENSE= NONE
-
-.if !exists(/usr/include/dev/bktr/ioctl_bt848.h)
-IGNORE= needs bktr(4) which is no longer available on your FreeBSD version
-.endif
-ONLY_FOR_ARCHS= i386
-
-PLIST_FILES= bin/bsdbktr_tvtune
-WRKSRC= ${WRKDIR}/${PORTNAME}
-ALL_TARGET= bsdbktr_tvtune
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bsdbktr_tvtune ${STAGEDIR}${PREFIX}/bin
-
-.include <bsd.port.mk>
diff --git a/multimedia/bsdbktr_tvtune/distinfo b/multimedia/bsdbktr_tvtune/distinfo
deleted file mode 100644
index e8f4ffa97bd3..000000000000
--- a/multimedia/bsdbktr_tvtune/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (bsdbktr_tvtune-0.02.tar.gz) = 85227a8e8edc393e757134e424ad6c3d63d22f496e3560f61b2cdabbac8a28ec
-SIZE (bsdbktr_tvtune-0.02.tar.gz) = 2005
diff --git a/multimedia/bsdbktr_tvtune/files/patch-Makefile b/multimedia/bsdbktr_tvtune/files/patch-Makefile
deleted file mode 100644
index a6b62a68ad4c..000000000000
--- a/multimedia/bsdbktr_tvtune/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.orig 2004-01-04 21:59:26 UTC
-+++ Makefile
-@@ -3,7 +3,7 @@
- #
-
- bsdbktr_tvtune: bsdbktr_tvtune.c
-- gcc -Wall -O -o bsdbktr_tvtune bsdbktr_tvtune.c
-+ ${CC} ${CFLAGS} -o bsdbktr_tvtune bsdbktr_tvtune.c
- strip bsdbktr_tvtune
-
- clean:
diff --git a/multimedia/bsdbktr_tvtune/pkg-descr b/multimedia/bsdbktr_tvtune/pkg-descr
deleted file mode 100644
index eba73625b88d..000000000000
--- a/multimedia/bsdbktr_tvtune/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-This is a command line / console TV channel tuner for Brooktree-based TV capture
-cards running under FreeBSD using the bktr driver.
-
-It does not require any other utilities (fxtv/xawtv) and does NOT require
-XFree86.
-
-WWW: https://web.archive.org/web/20050207003754/http://topfx.com/dist/bsdbktr_tvtune/
diff --git a/multimedia/butt/Makefile b/multimedia/butt/Makefile
index c8bb2e71caae..602a15014eee 100644
--- a/multimedia/butt/Makefile
+++ b/multimedia/butt/Makefile
@@ -1,14 +1,16 @@
PORTNAME= butt
-PORTVERSION= 0.1.27
+PORTVERSION= 0.1.41
CATEGORIES= multimedia graphics
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
+MASTER_SITES= https://danielnoethen.de/butt/release/${PORTVERSION}/
MAINTAINER= pi@FreeBSD.org
COMMENT= Broadcast SHOUTcast and Icecast streams
+WWW= https://danielnoethen.de/butt/
LICENSE= GPLv2
-LIB_DEPENDS= libdbus-1.so:devel/dbus \
+LIB_DEPENDS= libcurl.so:ftp/curl \
+ libdbus-1.so:devel/dbus \
libFLAC.so:audio/flac \
libfdk-aac.so:audio/fdk-aac \
libfltk_images.so:x11-toolkits/fltk \
@@ -18,6 +20,7 @@ LIB_DEPENDS= libdbus-1.so:devel/dbus \
libopus.so:audio/opus \
libpng.so:graphics/png \
libportaudio.so:audio/portaudio \
+ libportmidi.so:audio/portmidi \
libsamplerate.so:audio/libsamplerate \
libvorbis.so:audio/libvorbis
@@ -25,6 +28,14 @@ USES= autoreconf compiler:c++11-lang gettext \
gmake jpeg pkgconfig xorg ssl uidfix
USE_XORG= x11 xrender xcursor xfixes xext xft xinerama
GNU_CONFIGURE= yes
-PLIST_FILES= bin/butt share/locale/de/LC_MESSAGES/butt.mo
+CFLAGS+= -I/usr/local/include
+LDFLAGS+= -L/usr/local/lib -lintl
+PLIST_FILES= bin/butt \
+ share/locale/ar/LC_MESSAGES/butt.mo \
+ share/locale/de/LC_MESSAGES/butt.mo \
+ share/locale/es/LC_MESSAGES/butt.mo \
+ share/locale/fr/LC_MESSAGES/butt.mo \
+ share/locale/nl/LC_MESSAGES/butt.mo \
+ share/locale/pt_BR/LC_MESSAGES/butt.mo
.include <bsd.port.mk>
diff --git a/multimedia/butt/distinfo b/multimedia/butt/distinfo
index e55670289b95..e16386d39dae 100644
--- a/multimedia/butt/distinfo
+++ b/multimedia/butt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1609088325
-SHA256 (butt-0.1.27.tar.gz) = e19a9b457414d2ca68947b49f4c3180ca8b3210b1c4f3925d71eacf1d47bab87
-SIZE (butt-0.1.27.tar.gz) = 1081649
+TIMESTAMP = 1711995085
+SHA256 (butt-0.1.41.tar.gz) = c13ca98ea7763e9983480f2f49c30b9002f8e3113f58071c9bbe3b3d2f429550
+SIZE (butt-0.1.41.tar.gz) = 1629934
diff --git a/multimedia/butt/files/patch-src_FLTK_fl__funcs.cpp b/multimedia/butt/files/patch-src_FLTK_fl__funcs.cpp
new file mode 100644
index 000000000000..26f2972b0557
--- /dev/null
+++ b/multimedia/butt/files/patch-src_FLTK_fl__funcs.cpp
@@ -0,0 +1,11 @@
+--- src/FLTK/fl_funcs.cpp.orig 2024-03-16 22:11:54.230417000 +0100
++++ src/FLTK/fl_funcs.cpp 2024-03-16 22:12:06.912058000 +0100
+@@ -19,6 +19,7 @@
+ #include <signal.h>
+ #include <time.h>
+ #include <sys/stat.h>
++#include <sys/syslimits.h>
+ #include <pthread.h>
+
+ #ifndef WIN32
+ #include <sys/wait.h>
diff --git a/multimedia/butt/files/patch-src_Makefile.am b/multimedia/butt/files/patch-src_Makefile.am
index f3f34c1766fc..98518a3cbf24 100644
--- a/multimedia/butt/files/patch-src_Makefile.am
+++ b/multimedia/butt/files/patch-src_Makefile.am
@@ -1,13 +1,5 @@
--- src/Makefile.am.orig 2020-12-27 21:27:17.416688000 +0100
+++ src/Makefile.am 2020-12-27 21:27:34.578674000 +0100
-@@ -25,7 +25,6 @@
- if WINDOWS
- butt_SOURCES += resource.rc currentTrack.h currentTrack.cpp
- AM_CPPFLAGS += -DHAVE_LIBFDK_AAC
--LDADD = -lintl
- endif
-
- if OSX
@@ -38,6 +37,7 @@
if FREEBSD
diff --git a/multimedia/butt/pkg-descr b/multimedia/butt/pkg-descr
index 10a0886dded7..e1e2f35fcd4f 100644
--- a/multimedia/butt/pkg-descr
+++ b/multimedia/butt/pkg-descr
@@ -6,5 +6,3 @@ Recording is also possible.
It is NOT intended to be a server by itself or automatically stream
a set of audio files.
-
-WWW: https://danielnoethen.de/butt/
diff --git a/multimedia/camserv/Makefile b/multimedia/camserv/Makefile
deleted file mode 100644
index 7e9cae26e76e..000000000000
--- a/multimedia/camserv/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# Created by: Chuck Hein <chein@FreeBSD.org> & Jim Overholt <overholt@isdw.net>
-
-PORTNAME= camserv
-PORTVERSION= 0.5.1
-PORTREVISION= 20
-PORTEPOCH= 1
-CATEGORIES= multimedia
-MASTER_SITES= SF/cserv/${PORTNAME}/${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Free program to do streaming video via the web
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libltdl.so:devel/libltdl
-
-USES= autoreconf jpeg libtool
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-
-OPTIONS_DEFINE= BKTR IMLIB2 PIXBUF V4L DOCS
-OPTIONS_DEFAULT= BKTR IMLIB2
-.if !exists(/usr/include/dev/bktr/ioctl_bt848.h)
-OPTIONS_EXCLUDE= BKTR
-.endif
-OPTIONS_SUB= yes
-
-BKTR_DESC= bktr(4) support
-
-IMLIB2_LIB_DEPENDS= libImlib2.so:graphics/imlib2
-IMLIB2_CONFIGURE_OFF= ac_cv_path_IMLIB2_CONFIG=no
-
-PIXBUF_USES= gnome
-PIXBUF_USE= GNOME=gdkpixbuf
-PIXBUF_CONFIGURE_OFF= ac_cv_path_GDKPIXBUF_CONFIG=no
-
-V4L_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
-V4L_CONFIGURE_OFF= ac_cv_header_linux_videodev_h=no
-
-post-patch:
-.for i in common/Makefile.am relay/Makefile.am
- @${REINPLACE_CMD} -e \
- '/^CFLAGS/s|-g||' ${WRKSRC}/${i}
-.endfor
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} README javascript.txt \
- ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/camserv/distinfo b/multimedia/camserv/distinfo
deleted file mode 100644
index efd2350be10d..000000000000
--- a/multimedia/camserv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (camserv-0.5.1.tar.gz) = 034c08aac228587a1c46d35e345e1be653f5149bb4648b3e5ef937ccd5e5b24f
-SIZE (camserv-0.5.1.tar.gz) = 487645
diff --git a/multimedia/camserv/files/patch-Makefile.am b/multimedia/camserv/files/patch-Makefile.am
deleted file mode 100644
index 5eb08d011cab..000000000000
--- a/multimedia/camserv/files/patch-Makefile.am
+++ /dev/null
@@ -1,26 +0,0 @@
---- Makefile.am.orig 2002-03-11 00:52:29 UTC
-+++ Makefile.am
-@@ -1,18 +1,19 @@
-+ACLOCAL_AMFLAGS = -I macros
-+
- if VALID_VIDEO
- camserv_subdir = camserv
- endif
-
- datadir = @datadir@/camserv
-
--SUBDIRS = libltdl \
-- common \
-+SUBDIRS = common \
- ${camserv_subdir} \
- include \
- macros \
- relay
-
--data_DATA = camserv.cfg defpage.html
-+data_DATA = camserv.cfg.dist defpage.html
- EXTRA_DIST = camserv.cfg.in javascript.txt BUGS camserv.spec defpage.html
-
--camserv.cfg: camserv.cfg.in
-+camserv.cfg.dist: camserv.cfg.in
- @sed -e s%CAMSERV_MODDIR%$(CAMSERV_MODDIR)%g < camserv.cfg.in > $@
diff --git a/multimedia/camserv/files/patch-camserv.cfg b/multimedia/camserv/files/patch-camserv.cfg
deleted file mode 100644
index 11a6c62e9a06..000000000000
--- a/multimedia/camserv/files/patch-camserv.cfg
+++ /dev/null
@@ -1,69 +0,0 @@
---- camserv.cfg.in.orig Fri Mar 8 02:33:16 2002
-+++ camserv.cfg.in Sat Feb 7 00:40:42 2004
-@@ -2,42 +2,10 @@
- [video_basic]
- path CAMSERV_MODDIR/libvideo_basic.so.0
-
--# video_v4l_bttv: Example of a common BTTV module for video4linux.
--# port 0 == TV, port 1 = Composite 1, port 2 = Composite 2
--# frequency == is the channel frequency for the TV
--# autobright == 0 turns off autobrightness adjusting, otherwise it adjusts
--# the brightness of the picture every 'autobright' frames.
--# brightmean == The mean pixel value that is the 'goal' of the autobright.
--# (0->255)
--# brightx1->y2 == (x1,y1) top left coords, and (x2,y2) bottom right coords
--# of a rectangle of which to take the average pixel value.
--# this is then used in calculating the mean to adjust the
--# brightness of the image.
--# mode == the video norm to use: 0 == PAL, 1 == NTSC, 2 == SECAM, 3 == AUTO
--# color,hue,contrast,brightness,whiteness = 0->60000, representing
--# the value of each component.
--
--[video_v4l_bttv]
--path CAMSERV_MODDIR/libvideo_v4l.so.0
--device_path /dev/video0
--port 0
--mode 3
--#frequency 74.43
--color 30000
--hue 30000
--contrast 30000
--brightness 30000
--whiteness 30000
--autobright 1
--brightmean 128
--brightx1 0
--brighty1 320
--brightx2 0
--brighty2 240
--
- # FreeBSD BTTV driver:
- # port 0 = Video
- # 1 = Tuner
-+# 2 = S-Video
- # Channel Sets:
- # nabscst 1
- # cableirc 2
-@@ -57,20 +25,8 @@
- #brightness 0
- #chroma 180
- #contrast 1000
--channelset 2
--channel 60
--
--[video_v4l_qcam]
--path CAMSERV_MODDIR/libvideo_v4l.so.0
--device_path /dev/video1
--port 0
--color 30000
--hue 30000
--contrast 30000
--brightness 30000
--whiteness 30000
--autobright 0
--
-+channelset 1
-+channel 3
-
- [jpg_filter]
- path CAMSERV_MODDIR/libjpg_filter.so.0
diff --git a/multimedia/camserv/files/patch-camserv_Makefile.am b/multimedia/camserv/files/patch-camserv_Makefile.am
deleted file mode 100644
index 6ca47dc903dc..000000000000
--- a/multimedia/camserv/files/patch-camserv_Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
---- camserv/Makefile.am.orig 2002-09-15 22:17:54 UTC
-+++ camserv/Makefile.am
-@@ -5,8 +5,7 @@ CPPFLAGS = @CPPFLAGS@ -DDATDIR=\"${datad
- LDFLAGS = @LDFLAGS@ -export-dynamic
-
- bin_PROGRAMS = camserv
--camserv_LDADD = $(LIBLTDL) $(top_srcdir)/common/libcommon.a
--camserv_DEPENDENCIES = $(LIBLTDL)
-+camserv_LDADD = -lltdl $(top_srcdir)/common/libcommon.a
- camserv_SOURCES= \
- camconfig.c \
- camserv.c \
diff --git a/multimedia/camserv/files/patch-camserv_video_fbsd_bttv.c b/multimedia/camserv/files/patch-camserv_video_fbsd_bttv.c
deleted file mode 100644
index e2b8cf1d2ebb..000000000000
--- a/multimedia/camserv/files/patch-camserv_video_fbsd_bttv.c
+++ /dev/null
@@ -1,23 +0,0 @@
---- camserv/video_fbsd_bttv.c.orig 2002-09-16 07:01:56.000000000 +0900
-+++ camserv/video_fbsd_bttv.c 2014-01-04 04:56:21.000000000 +0900
-@@ -27,8 +27,9 @@
- #include <fcntl.h>
- #include <errno.h>
- #include <sys/mman.h>
--#include <machine/ioctl_bt848.h>
--#include <machine/ioctl_meteor.h>
-+#include <sys/types.h>
-+#include <dev/bktr/ioctl_bt848.h>
-+#include <dev/bktr/ioctl_meteor.h>
- #include <signal.h>
- #include <sys/ioctl.h>
- #include <unistd.h>
-@@ -642,7 +643,7 @@
- return 0;
-
- totmean = camserv_get_pic_mean( width, height, picbuf, 1, 0, 0,
-- width, height );
-+ width-1, height-1 );
- if( totmean < (256 / 2) - 10 || totmean > (256 / 2) + 10 ) {
- newbright = fbttv_dev->brightness;
- if( totmean > (256 / 2) + 10 ){
diff --git a/multimedia/camserv/files/patch-configure.in b/multimedia/camserv/files/patch-configure.in
deleted file mode 100644
index 476c7b0583ee..000000000000
--- a/multimedia/camserv/files/patch-configure.in
+++ /dev/null
@@ -1,39 +0,0 @@
---- configure.in.orig 2002-05-12 18:06:12 UTC
-+++ configure.in
-@@ -9,15 +9,13 @@ AM_INIT_AUTOMAKE(camserv,$CAMSERV_VER_MA
- AM_CONFIG_HEADER(include/camserv_config.h:config.in)
- AM_MAINTAINER_MODE
-
--AM_ACLOCAL_INCLUDE(macros)
--
- AC_PROG_CC
--AC_LIBLTDL_CONVENIENCE
-+AC_LIBLTDL_INSTALLABLE
- AC_LIBTOOL_DLOPEN
--AM_PROG_LIBTOOL
-+AC_PROG_LIBTOOL
- AC_SUBST(LIBLTDL)
-+AC_SUBST(INCLTDL)
-
--AC_CONFIG_SUBDIRS(libltdl)
-
- AC_CHECK_LIB(m,sqrt)
- AC_CHECK_LIB(jpeg,jpeg_start_compress)
-@@ -55,7 +53,7 @@ AC_PATH_PROG(GDKPIXBUF_CONFIG,gdk-pixbuf
- if test "$GDKPIXBUF_CONFIG"x != "x"; then
- GDKPIXBUF_VERSION=`$GDKPIXBUF_CONFIG --version`
- case "$GDKPIXBUF_VERSION" in
-- 0.14.*) have_gdkpixbuf=yes
-+ 0.22.*) have_gdkpixbuf=yes
- GDKPIXBUF_CFLAGS=`$GDKPIXBUF_CONFIG --cflags`
- GDKPIXBUF_LIBS=`$GDKPIXBUF_CONFIG --libs`
- CFLAGS="$CFLAGS $GDKPIXBUF_CFLAGS"
-@@ -93,7 +91,7 @@ AC_CHECK_HEADERS(linux/videodev.h,
- [video_v4l=yes],[video_v4l=no])
- AM_CONDITIONAL(VIDEO_V4L, test $video_v4l = yes)
-
--AC_CHECK_HEADERS(machine/ioctl_bt848.h,
-+AC_CHECK_HEADERS(dev/bktr/ioctl_bt848.h,
- [video_fbsd_bttv=yes],[video_fbsd_bttv=no])
- AM_CONDITIONAL(VIDEO_FBSD_BTTV, test $video_fbsd_bttv = yes)
-
diff --git a/multimedia/camserv/files/patch-video_v4l.c b/multimedia/camserv/files/patch-video_v4l.c
deleted file mode 100644
index e2f7ae583893..000000000000
--- a/multimedia/camserv/files/patch-video_v4l.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- camserv/video_v4l.c.orig 2002-09-15 15:01:56.000000000 -0700
-+++ camserv/video_v4l.c 2011-05-19 22:05:38.000000000 -0700
-@@ -304,7 +304,7 @@
-
- static
- int setup_video_channel( Video_V4L *v4l_dev, CamConfig *ccfg ){
-- ulong frequency;
-+ unsigned long frequency;
- int use_channel;
- int cfg_channel, cfg_frequency, cfg_color, cfg_hue, cfg_contrast,
- cfg_brightness, cfg_whiteness, cfg_norm;
diff --git a/multimedia/camserv/pkg-descr b/multimedia/camserv/pkg-descr
deleted file mode 100644
index 5714a06c2ef9..000000000000
--- a/multimedia/camserv/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-Camserv is a free program to do streaming video through the web
-Streaming video can be sent to both Netscape and Internet Explorer clients.
-However, Internet Explorer under Windows cannot apparently handle
-the multi-part JPEGs, and therefore a special javascript page must be setup.
-One is included in the distribution as an example.
-
-Currently, the only supported BSD device is the bktr driver.
-Both tunable modes and camera inputs are supported.
-
-WWW: http://cserv.sourceforge.net/
diff --git a/multimedia/camserv/pkg-plist b/multimedia/camserv/pkg-plist
deleted file mode 100644
index 8f6f7a75a22b..000000000000
--- a/multimedia/camserv/pkg-plist
+++ /dev/null
@@ -1,38 +0,0 @@
-bin/camserv
-bin/relay
-%%PIXBUF%%lib/camserv/libgdk_pixbuf_filter.a
-%%PIXBUF%%lib/camserv/libgdk_pixbuf_filter.so
-%%PIXBUF%%lib/camserv/libgdk_pixbuf_filter.so.0
-%%PIXBUF%%lib/camserv/libgdk_pixbuf_filter.so.0.0.0
-%%IMLIB2%%lib/camserv/libimlib2_filter.a
-%%IMLIB2%%lib/camserv/libimlib2_filter.so
-%%IMLIB2%%lib/camserv/libimlib2_filter.so.0
-%%IMLIB2%%lib/camserv/libimlib2_filter.so.0.0.0
-lib/camserv/libjpg_filter.a
-lib/camserv/libjpg_filter.so
-lib/camserv/libjpg_filter.so.0
-lib/camserv/libjpg_filter.so.0.0.0
-lib/camserv/librand_filter.a
-lib/camserv/librand_filter.so
-lib/camserv/librand_filter.so.0
-lib/camserv/librand_filter.so.0.0.0
-lib/camserv/libtext_filter.a
-lib/camserv/libtext_filter.so
-lib/camserv/libtext_filter.so.0
-lib/camserv/libtext_filter.so.0.0.0
-lib/camserv/libvideo_basic.a
-lib/camserv/libvideo_basic.so
-lib/camserv/libvideo_basic.so.0
-lib/camserv/libvideo_basic.so.0.0.0
-%%BKTR%%lib/camserv/libvideo_fbsd_bttv.a
-%%BKTR%%lib/camserv/libvideo_fbsd_bttv.so
-%%BKTR%%lib/camserv/libvideo_fbsd_bttv.so.0
-%%BKTR%%lib/camserv/libvideo_fbsd_bttv.so.0.0.0
-%%V4L%%lib/camserv/libvideo_v4l.a
-%%V4L%%lib/camserv/libvideo_v4l.so
-%%V4L%%lib/camserv/libvideo_v4l.so.0
-%%V4L%%lib/camserv/libvideo_v4l.so.0.0.0
-%%DATADIR%%/camserv.cfg.dist
-%%DATADIR%%/defpage.html
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%%%DOCSDIR%%/javascript.txt
diff --git a/multimedia/ccextractor/Makefile b/multimedia/ccextractor/Makefile
deleted file mode 100644
index 69a8482e6d58..000000000000
--- a/multimedia/ccextractor/Makefile
+++ /dev/null
@@ -1,50 +0,0 @@
-PORTNAME= ccextractor
-DISTVERSIONPREFIX= v
-DISTVERSION= 0.85
-PORTREVISION= 22
-CATEGORIES= multimedia
-
-MAINTAINER= oz@nixil.net
-COMMENT= Closed caption extractor for MPEG and H264 files
-
-LICENSE= GPLv2
-
-DEPRECATED= Depends on expired multimedia/schroedinger
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2 \
- libgmp.so:math/gmp \
- libgnutls.so:security/gnutls \
- libogg.so:audio/libogg \
- libopencv_core.so:graphics/opencv \
- libpng.so:graphics/png \
- libschroedinger-1.0.so:multimedia/schroedinger \
- libtheoraenc.so:multimedia/libtheora \
- libv4l2.so:multimedia/libv4l \
- libva-x11.so:multimedia/libva \
- libvdpau.so:multimedia/libvdpau \
- libvorbisenc.so:audio/libvorbis \
- libvpx.so:multimedia/libvpx \
- libx264.so:multimedia/libx264 \
- libx265.so:multimedia/x265 \
- libxvidcore.so:multimedia/xvid
-
-USES= cmake iconv localbase:ldflags pkgconfig xorg
-USE_GITHUB= yes
-GH_ACCOUNT= CCExtractor
-USE_XORG= x11
-USE_LDCONFIG= yes
-
-CMAKE_SOURCE_PATH= ${WRKSRC}/src
-CMAKE_ARGS+= -DBUILD_SHARED_LIBS:BOOL=ON
-CMAKE_ARGS+= -DWITH_OCR:BOOL=OFF # fails: CFLAGS get semicolon-separated for some reason
-CMAKE_ARGS+= -DWITH_SHARING:BOOL=OFF # enable when net/nanomsg is available
-
-OPTIONS_DEFINE= FFMPEG
-OPTIONS_DEFAULT= FFMPEG
-
-FFMPEG_CMAKE_BOOL= WITH_FFMPEG
-FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-
-.include <bsd.port.mk>
diff --git a/multimedia/ccextractor/distinfo b/multimedia/ccextractor/distinfo
deleted file mode 100644
index 70dfd0bba909..000000000000
--- a/multimedia/ccextractor/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1510096237
-SHA256 (CCExtractor-ccextractor-v0.85_GH0.tar.gz) = bef7ceeb38a97a098b61f324999241cb4bbd83ce6e873ddfdd74e2562c845ccd
-SIZE (CCExtractor-ccextractor-v0.85_GH0.tar.gz) = 36800425
diff --git a/multimedia/ccextractor/files/patch-src_CMakeLists.txt b/multimedia/ccextractor/files/patch-src_CMakeLists.txt
deleted file mode 100644
index 23f13fe850f2..000000000000
--- a/multimedia/ccextractor/files/patch-src_CMakeLists.txt
+++ /dev/null
@@ -1,28 +0,0 @@
---- src/CMakeLists.txt.orig 2017-01-23 20:33:53 UTC
-+++ src/CMakeLists.txt
-@@ -29,19 +29,19 @@ aux_source_directory ("${PROJECT_SOURCE_
- aux_source_directory ("${PROJECT_SOURCE_DIR}/lib_hash" SOURCEFILE)
-
- # Adding some platform specific library path
--link_directories (/opt/local/lib)
--link_directories (/usr/local/lib)
-+#link_directories (/opt/local/lib)
-+#link_directories (/usr/local/lib)
-
--set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -Wall -g -std=gnu99 -Wno-write-strings -D_FILE_OFFSET_BITS=64")
-+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99 -Wno-write-strings -D_FILE_OFFSET_BITS=64")
- add_subdirectory (lib_ccx)
-
- aux_source_directory (${PROJECT_SOURCE_DIR} SOURCEFILE)
- set (EXTRA_LIBS ${EXTRA_LIBS} ccx)
- set (EXTRA_LIBS ${EXTRA_LIBS} m)
-
--if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
--set (EXTRA_LIBS ${EXTRA_LIBS} iconv)
--endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-+if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin|FreeBSD")
-+#set (EXTRA_LIBS ${EXTRA_LIBS} iconv)
-+endif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin|FreeBSD")
-
-
- find_package (PkgConfig)
diff --git a/multimedia/ccextractor/files/patch-src_lib__ccx_CMakeLists.txt b/multimedia/ccextractor/files/patch-src_lib__ccx_CMakeLists.txt
deleted file mode 100644
index 4d4330158374..000000000000
--- a/multimedia/ccextractor/files/patch-src_lib__ccx_CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/lib_ccx/CMakeLists.txt.orig 2017-11-23 22:34:32 UTC
-+++ src/lib_ccx/CMakeLists.txt
-@@ -1,6 +1,6 @@
- cmake_policy (SET CMP0037 NEW)
-
--set (CMAKE_C_FLAGS "-O0 -Wall -g -std=gnu99")
-+set (CMAKE_C_FLAGS "-Wall -std=gnu99")
-
- if (WITH_FFMPEG)
- set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_FFMPEG")
diff --git a/multimedia/ccextractor/files/patch-src_lib__ccx_ccx__decoders__708.h b/multimedia/ccextractor/files/patch-src_lib__ccx_ccx__decoders__708.h
deleted file mode 100644
index 7dc7d307f5fb..000000000000
--- a/multimedia/ccextractor/files/patch-src_lib__ccx_ccx__decoders__708.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/lib_ccx/ccx_decoders_708.h.orig 2020-08-28 16:03:38 UTC
-+++ src/lib_ccx/ccx_decoders_708.h
-@@ -368,7 +368,7 @@ void ccx_dtvcc_process_service_block(ccx_dtvcc_ctx *dt
- unsigned char *data,
- int data_length);
-
--ccx_dtvcc_pen_color ccx_dtvcc_default_pen_color;
--ccx_dtvcc_pen_attribs ccx_dtvcc_default_pen_attribs;
-+extern ccx_dtvcc_pen_color ccx_dtvcc_default_pen_color;
-+extern ccx_dtvcc_pen_attribs ccx_dtvcc_default_pen_attribs;
-
- #endif
diff --git a/multimedia/ccextractor/files/patch-src_lib__ccx_ffmpeg__intgr.c b/multimedia/ccextractor/files/patch-src_lib__ccx_ffmpeg__intgr.c
deleted file mode 100644
index 9f088b015777..000000000000
--- a/multimedia/ccextractor/files/patch-src_lib__ccx_ffmpeg__intgr.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/lib_ccx/ffmpeg_intgr.c.orig 2017-01-23 20:33:53 UTC
-+++ src/lib_ccx/ffmpeg_intgr.c
-@@ -2,8 +2,7 @@
-
- #ifdef ENABLE_FFMPEG
- #include <libavformat/avformat.h>
--#include <libavfilter/avfiltergraph.h>
--#include <libavfilter/avcodec.h>
-+#include <libavcodec/avcodec.h>
- #include <libavfilter/buffersink.h>
- #include <libavfilter/buffersrc.h>
- #include <libavutil/avstring.h>
diff --git a/multimedia/ccextractor/pkg-descr b/multimedia/ccextractor/pkg-descr
deleted file mode 100644
index 7ad9e65a2c05..000000000000
--- a/multimedia/ccextractor/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-CExtractor is a tool that produces subtitles from TV use.
-Global accessibility (all users, all content, all countries) is the goal.
-
-WWW: https://www.ccextractor.org
diff --git a/multimedia/ccextractor/pkg-plist b/multimedia/ccextractor/pkg-plist
deleted file mode 100644
index 724af962ca09..000000000000
--- a/multimedia/ccextractor/pkg-plist
+++ /dev/null
@@ -1,53 +0,0 @@
-bin/ccextractor
-include/activity.h
-include/asf_constants.h
-include/avc_functions.h
-include/bitstream.h
-include/ccx_common_char_encoding.h
-include/ccx_common_common.h
-include/ccx_common_constants.h
-include/ccx_common_option.h
-include/ccx_common_platform.h
-include/ccx_common_structs.h
-include/ccx_common_timing.h
-include/ccx_decoders_608.h
-include/ccx_decoders_708.h
-include/ccx_decoders_708_encoding.h
-include/ccx_decoders_708_output.h
-include/ccx_decoders_common.h
-include/ccx_decoders_isdb.h
-include/ccx_decoders_structs.h
-include/ccx_decoders_vbi.h
-include/ccx_decoders_xds.h
-include/ccx_demuxer.h
-include/ccx_dtvcc.h
-include/ccx_encoders_common.h
-include/ccx_encoders_helpers.h
-include/ccx_encoders_spupng.h
-include/ccx_encoders_structs.h
-include/ccx_encoders_xds.h
-include/ccx_gxf.h
-include/ccx_mp4.h
-include/ccx_share.h
-include/ccx_sub_entry_message.pb-c.h
-include/compile_info.h
-include/configuration.h
-include/disable_warnings.h
-include/dvb_subtitle_decoder.h
-include/dvd_subtitle_decoder.h
-include/ffmpeg_intgr.h
-include/file_buffer.h
-include/hamming.h
-include/hardsubx.h
-include/lib_ccx.h
-include/list.h
-include/networking.h
-include/ocr.h
-include/spupng_encoder.h
-include/stdintmsc.h
-include/teletext.h
-include/ts_functions.h
-include/utility.h
-include/wtv_constants.h
-lib/libccx.so
-libdata/pkgconfig/ccx.pc
diff --git a/multimedia/cclive/Makefile b/multimedia/cclive/Makefile
deleted file mode 100644
index 58275856343d..000000000000
--- a/multimedia/cclive/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Created by: Toni Gundogdu <legatvs@gmail.com>
-
-PORTNAME= cclive
-PORTVERSION= 0.7.16
-PORTREVISION= 13
-CATEGORIES= multimedia net
-MASTER_SITES= SF/${PORTNAME}/${PORTVERSION:R}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Lightweight command line video extraction tool
-
-LICENSE= GPLv3
-
-BROKEN= Multiple bug reports upstream
-DEPRECATED= Last release in 2013, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= libboost_system.so:devel/boost-libs \
- libcurl.so:ftp/curl \
- libpcre.so:devel/pcre \
- libquvi.so:multimedia/libquvi
-
-USES= pkgconfig tar:xz
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --with-boost=${LOCALBASE}
-
-CONFLICTS_INSTALL= ccl # bin/clive
-
-PLIST_FILES= bin/ccl \
- bin/cclive \
- man/man1/cclive.1.gz
-
-.include <bsd.port.mk>
diff --git a/multimedia/cclive/distinfo b/multimedia/cclive/distinfo
deleted file mode 100644
index 51c65b24cf84..000000000000
--- a/multimedia/cclive/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (cclive-0.7.16.tar.xz) = 586a120faddcfa16f5bb058b5c901f1659336c6fc85a0d3f1538882a44ee10e1
-SIZE (cclive-0.7.16.tar.xz) = 287472
diff --git a/multimedia/cclive/pkg-descr b/multimedia/cclive/pkg-descr
deleted file mode 100644
index c44ccaf4389f..000000000000
--- a/multimedia/cclive/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-cclive is a lightweight command line video extraction tool for YouTube and
-other similar video websites. It is a rewrite of the clive software in C++
-with lower system footprint and fewer dependencies. It works closely with
-the quvi project to workaround the Flash technology that is being utilized
-by different media hosts to deliver the content.
-
-While being primarily a video download tool, it can also be used alongside
-with some video players, e.g. mplayer, for viewing streamed videos instead
-of the Adobe flash player.
-
-WWW: http://cclive.sourceforge.net/
diff --git a/multimedia/celluloid/Makefile b/multimedia/celluloid/Makefile
index 1a058e5cc5e6..32afff93fa2b 100644
--- a/multimedia/celluloid/Makefile
+++ b/multimedia/celluloid/Makefile
@@ -1,10 +1,12 @@
PORTNAME= celluloid
DISTVERSIONPREFIX= v
-DISTVERSION= 0.23
+DISTVERSION= 0.26
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
-COMMENT= Simple GTK+ frontend for mpv
+COMMENT= Simple GTK frontend for mpv
+WWW= https://celluloid-player.github.io/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -13,12 +15,11 @@ LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
libmpv.so:multimedia/mpv
USES= compiler:c11 desktop-file-utils gettext-tools gnome \
- meson pkgconfig python:3.5+,build shebangfix tar:xz
+ meson pkgconfig python:build shebangfix tar:xz
USE_GITHUB= yes
-USE_GNOME= gtk40
+USE_GNOME= gdkpixbuf2 gtk40 libadwaita
GH_ACCOUNT= ${PORTNAME}-player
SHEBANG_FILES= src/generate-authors.py meson-post-install.py
-GLIB_SCHEMAS= io.github.GnomeMpv.gschema.xml \
- io.github.celluloid_player.Celluloid.gschema.xml
+GLIB_SCHEMAS= io.github.celluloid_player.Celluloid.gschema.xml
.include <bsd.port.mk>
diff --git a/multimedia/celluloid/distinfo b/multimedia/celluloid/distinfo
index 4ca707c1aca6..18e57e6e21fa 100644
--- a/multimedia/celluloid/distinfo
+++ b/multimedia/celluloid/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1646592158
-SHA256 (celluloid-player-celluloid-v0.23_GH0.tar.gz) = 4f7028c456877395c99b24e4a7e097ae035b9eefcff0de3e94b8fb338df90d95
-SIZE (celluloid-player-celluloid-v0.23_GH0.tar.gz) = 500388
+TIMESTAMP = 1694874831
+SHA256 (celluloid-player-celluloid-v0.26_GH0.tar.gz) = 6a66297544dd7754557d03e22e67ef4c1028ba667a7ad7db0d6fe76a137a937c
+SIZE (celluloid-player-celluloid-v0.26_GH0.tar.gz) = 632918
diff --git a/multimedia/celluloid/pkg-descr b/multimedia/celluloid/pkg-descr
index 1f190691f8f4..e245c2a17384 100644
--- a/multimedia/celluloid/pkg-descr
+++ b/multimedia/celluloid/pkg-descr
@@ -1,5 +1,3 @@
Celluloid (formerly GNOME MPV) is a simple GTK+ frontend for
mpv. Celluloid interacts with mpv via the client API exported by
libmpv, allowing access to mpv's powerful playback capabilities.
-
-WWW: https://celluloid-player.github.io/
diff --git a/multimedia/celluloid/pkg-plist b/multimedia/celluloid/pkg-plist
index e400fb3dac36..d8fddd8a5fb4 100644
--- a/multimedia/celluloid/pkg-plist
+++ b/multimedia/celluloid/pkg-plist
@@ -1,5 +1,5 @@
bin/celluloid
-man/man1/celluloid.1.gz
+share/man/man1/celluloid.1.gz
share/applications/io.github.celluloid_player.Celluloid.desktop
share/dbus-1/services/io.github.celluloid_player.Celluloid.service
share/icons/hicolor/scalable/apps/io.github.celluloid_player.Celluloid.svg
@@ -13,6 +13,7 @@ share/locale/de/LC_MESSAGES/celluloid.mo
share/locale/el/LC_MESSAGES/celluloid.mo
share/locale/eo/LC_MESSAGES/celluloid.mo
share/locale/es/LC_MESSAGES/celluloid.mo
+share/locale/et/LC_MESSAGES/celluloid.mo
share/locale/eu/LC_MESSAGES/celluloid.mo
share/locale/fa/LC_MESSAGES/celluloid.mo
share/locale/fi/LC_MESSAGES/celluloid.mo
@@ -24,9 +25,14 @@ share/locale/ie/LC_MESSAGES/celluloid.mo
share/locale/is/LC_MESSAGES/celluloid.mo
share/locale/it/LC_MESSAGES/celluloid.mo
share/locale/ja/LC_MESSAGES/celluloid.mo
+share/locale/ka/LC_MESSAGES/celluloid.mo
share/locale/ko/LC_MESSAGES/celluloid.mo
+share/locale/lt/LC_MESSAGES/celluloid.mo
+share/locale/lv/LC_MESSAGES/celluloid.mo
+share/locale/ms/LC_MESSAGES/celluloid.mo
share/locale/nb_NO/LC_MESSAGES/celluloid.mo
share/locale/nl/LC_MESSAGES/celluloid.mo
+share/locale/oc/LC_MESSAGES/celluloid.mo
share/locale/pl/LC_MESSAGES/celluloid.mo
share/locale/pt_BR/LC_MESSAGES/celluloid.mo
share/locale/pt_PT/LC_MESSAGES/celluloid.mo
@@ -37,6 +43,7 @@ share/locale/sl/LC_MESSAGES/celluloid.mo
share/locale/sr/LC_MESSAGES/celluloid.mo
share/locale/sr@latin/LC_MESSAGES/celluloid.mo
share/locale/sv/LC_MESSAGES/celluloid.mo
+share/locale/ta/LC_MESSAGES/celluloid.mo
share/locale/te/LC_MESSAGES/celluloid.mo
share/locale/tr/LC_MESSAGES/celluloid.mo
share/locale/uk/LC_MESSAGES/celluloid.mo
diff --git a/multimedia/cheese/Makefile b/multimedia/cheese/Makefile
index 1563f5630f09..c8d41c262d5b 100644
--- a/multimedia/cheese/Makefile
+++ b/multimedia/cheese/Makefile
@@ -1,24 +1,21 @@
-# Created by: FreeBSD GNOME Team <gnome@freebsd.org>
-
PORTNAME= cheese
PORTVERSION= 41.1
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= multimedia gnome
MASTER_SITES= GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+)\..*/\1/}
DIST_SUBDIR= gnome
MAINTAINER= gnome@FreeBSD.org
COMMENT= Photobooth-inspired app for taking pictures and videos from webcam
+WWW= https://www.gnome.org/projects/cheese/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat \
gnome-video-effects>=0:graphics/gnome-video-effects \
- vala>=0.14.0:lang/vala \
itstool:textproc/itstool
LIB_DEPENDS= libcanberra-gtk3.so:audio/libcanberra-gtk3 \
- libcanberra-gtk.so:audio/libcanberra-gtk2 \
libcanberra.so:audio/libcanberra \
libclutter-1.0.so:graphics/clutter \
libcogl.so:graphics/cogl \
@@ -29,7 +26,7 @@ RUN_DEPENDS= gnome-video-effects>=0:graphics/gnome-video-effects
PORTSCOUT= limitw:1,even
-USES= gettext gl gnome gstreamer localbase:ldflags pkgconfig meson tar:xz xorg
+USES= gettext gl gnome gstreamer localbase:ldflags pkgconfig meson tar:xz xorg vala:build
USE_GNOME= cairo librsvg2 gnomedesktop3 libxml2:build introspection:build
USE_GL= egl
USE_XORG= xi xext xdamage xfixes xcomposite xrandr xxf86vm x11
@@ -43,6 +40,6 @@ MESON_ARGS= -Dgtk_doc=false \
GLIB_SCHEMAS= org.gnome.Cheese.gschema.xml
post-patch:
- @${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e 's|canberra-gtk\.h|canberra-gtk2/canberra-gtk.h|'
+ @${FIND} ${WRKSRC} -type f | ${XARGS} ${REINPLACE_CMD} -e 's|canberra-gtk\.h|canberra-gtk3/canberra-gtk.h|'
.include <bsd.port.mk>
diff --git a/multimedia/cheese/pkg-descr b/multimedia/cheese/pkg-descr
index 51402b10aa2e..9b5c65202282 100644
--- a/multimedia/cheese/pkg-descr
+++ b/multimedia/cheese/pkg-descr
@@ -1,5 +1,3 @@
Cheese is a Photobooth-inspired GNOME application for taking pictures and
videos from a webcam. It also includes fancy graphical effects based on the
gstreamer-backend.
-
-WWW: http://www.gnome.org/projects/cheese/
diff --git a/multimedia/chilitags/Makefile b/multimedia/chilitags/Makefile
index c84b17b6976a..93a0059f5e6a 100644
--- a/multimedia/chilitags/Makefile
+++ b/multimedia/chilitags/Makefile
@@ -1,11 +1,12 @@
PORTNAME= chilitags
DISTVERSION= 2.0.0-169
DISTVERSIONSUFFIX= -g0d9854f
-PORTREVISION= 4
+PORTREVISION= 7
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= Robust fiducial markers for augmented reality and robotics
+WWW= https://chili.epfl.ch/software
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/gpl.txt
diff --git a/multimedia/chilitags/pkg-descr b/multimedia/chilitags/pkg-descr
index 934fe0374553..159fec7b5b77 100644
--- a/multimedia/chilitags/pkg-descr
+++ b/multimedia/chilitags/pkg-descr
@@ -9,5 +9,3 @@ Chilitags were developed by Pixar internally for projects of the CHILI lab
such as Metroscope or TapaCarp. There are already many alternatives
(e.g. ARToolKit, or reacTIVision, among many others), but we decided to
release Chilitags anyway, as there seemed to be a demand for it.
-
-WWW: http://chili.epfl.ch/software
diff --git a/multimedia/cineencoder/Makefile b/multimedia/cineencoder/Makefile
index 3e83e4de3699..6d64d9bd8be8 100644
--- a/multimedia/cineencoder/Makefile
+++ b/multimedia/cineencoder/Makefile
@@ -1,11 +1,11 @@
-# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
-
PORTNAME= ${GH_ACCOUNT:tl}
-PORTVERSION= 3.5.3
+PORTVERSION= 3.5.5
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= danfe@FreeBSD.org
COMMENT= HDR-aware multimedia file converter
+WWW= https://github.com/CineEncoder/cine-encoder
LICENSE= GPLv3
@@ -13,14 +13,15 @@ LIB_DEPENDS= libmediainfo.so:multimedia/libmediainfo
RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
mkvpropedit:multimedia/mkvtoolnix
-USES= qt:5
+USES= pkgconfig qt:5 xorg
USE_GITHUB= yes
GH_ACCOUNT= CineEncoder
GH_PROJECT= cine-encoder
-USE_QT= buildtools_build qmake_build core gui multimedia \
- network widgets
+USE_QT= buildtools:build qmake:build core gui multimedia \
+ network svg widgets x11extras
+USE_XORG= x11 xext
-PLIST_FILES= bin/cine_encoder man/man1/cine-encoder.1.gz \
+PLIST_FILES= bin/cine_encoder share/man/man1/cine-encoder.1.gz \
share/applications/cine-encoder.desktop \
share/icons/hicolor/64x64/apps/cine-encoder.png \
share/sounds/cine-encoder.wav
@@ -28,14 +29,19 @@ PORTDOCS= ABOUT AUTHORS
OPTIONS_DEFINE= DOCS
+post-patch:
+ @${REINPLACE_CMD} -e '/#if defined/s,linux,${OPSYS},' \
+ ${WRKSRC}/app/encoderstream.h
+
do-configure:
cd ${CONFIGURE_WRKSRC} && ${QMAKE_ENV} ${QMAKE} ${QMAKE_ARGS} \
app/cine_encoder.pro CONFIG+=qtquickcompiler
do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/cine_encoder ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/builddir/cine_encoder \
+ ${STAGEDIR}${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/distros/debian/cine-encoder.1 \
- ${STAGEDIR}${MANPREFIX}/man/man1
+ ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_DATA} ${WRKSRC}/share/cine-encoder.desktop \
${STAGEDIR}${PREFIX}/share/applications
@${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/64x64/apps
diff --git a/multimedia/cineencoder/distinfo b/multimedia/cineencoder/distinfo
index 0bb5f04b6ffe..a46ed8c28fec 100644
--- a/multimedia/cineencoder/distinfo
+++ b/multimedia/cineencoder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1648280195
-SHA256 (CineEncoder-cine-encoder-3.5.3_GH0.tar.gz) = 271ae1d1644581139e74982883f94c137730a5d54889f2de60c2e570892ae4ca
-SIZE (CineEncoder-cine-encoder-3.5.3_GH0.tar.gz) = 1426263
+TIMESTAMP = 1681562132
+SHA256 (CineEncoder-cine-encoder-3.5.5_GH0.tar.gz) = 64647c857ae9dfd8617dabc65cc6ed55f26e2ecc9829dc6427d7324973d688e0
+SIZE (CineEncoder-cine-encoder-3.5.5_GH0.tar.gz) = 1728173
diff --git a/multimedia/cineencoder/pkg-descr b/multimedia/cineencoder/pkg-descr
index 5a22cb9988dc..54619de230d1 100644
--- a/multimedia/cineencoder/pkg-descr
+++ b/multimedia/cineencoder/pkg-descr
@@ -4,5 +4,3 @@ that allows to convert media files while preserving HDR metadata.
Supported hardware encoding NVENC for codecs H265, H264 and Intel QSV
(experimental) for codecs H264, MPEG-2. The following encoding modes
are implemented: H265, H264, VP9, MPEG-2, XDCAM, DNxHR, ProRes.
-
-WWW: https://github.com/CineEncoder/cine-encoder
diff --git a/multimedia/clapper/Makefile b/multimedia/clapper/Makefile
new file mode 100644
index 000000000000..daa11b30909b
--- /dev/null
+++ b/multimedia/clapper/Makefile
@@ -0,0 +1,31 @@
+PORTNAME= clapper
+DISTVERSION= 0.5.2
+PORTREVISION= 3
+CATEGORIES= multimedia wayland
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Simple and modern GNOME media player
+WWW= https://rafostar.github.io/clapper
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= gjs:lang/gjs
+RUN_DEPENDS= gjs:lang/gjs
+
+USES= desktop-file-utils gettext-tools gl gnome gstreamer meson \
+ pkgconfig python:build shared-mime-info shebangfix
+USE_GITHUB= yes
+USE_GL= glesv2
+USE_GNOME= gtk40 libadwaita
+USE_GSTREAMER= gl good libav
+USE_LDCONFIG= yes
+GH_ACCOUNT= Rafostar
+SHEBANG_FILES= build-aux/meson/postinstall.py
+GLIB_SCHEMAS= com.github.rafostar.Clapper.gschema.xml
+
+post-patch:
+# Derive Python version from Meson
+ @${REINPLACE_CMD} -e "s,'python3',," ${WRKSRC}/meson.build
+
+.include <bsd.port.mk>
diff --git a/multimedia/clapper/distinfo b/multimedia/clapper/distinfo
new file mode 100644
index 000000000000..00a9b64ad863
--- /dev/null
+++ b/multimedia/clapper/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1664678039
+SHA256 (Rafostar-clapper-0.5.2_GH0.tar.gz) = 30b78e0fc45346aee6513dc9fcd974d2cf9752cb9de5c9e352f5521aa640f284
+SIZE (Rafostar-clapper-0.5.2_GH0.tar.gz) = 207254
diff --git a/multimedia/clapper/pkg-descr b/multimedia/clapper/pkg-descr
new file mode 100644
index 000000000000..4f6c2faa97e4
--- /dev/null
+++ b/multimedia/clapper/pkg-descr
@@ -0,0 +1,12 @@
+Clapper is a GNOME media player built using GJS with GTK4 toolkit.
+The media player is using GStreamer as a media backend and renders
+everything via OpenGL. Player works natively on both Xorg and Wayland.
+It also supports hardware acceleration through VA-API on AMD/Intel GPUs,
+NVDEC on Nvidia and V4L2 on mobile devices.
+
+The media player has an adaptive GUI. When viewing videos in "Windowed Mode",
+Clapper will use mostly unmodified GTK widgets to match your OS look nicely.
+When player enters "Fullscreen Mode" all GUI elements will become darker,
+bigger and semi-transparent for your viewing comfort. It also has a
+"Floating Mode" which displays only video on top of all other windows for a
+PiP-like viewing experience. Mobile friendly transitions are also supported.
diff --git a/multimedia/clapper/pkg-plist b/multimedia/clapper/pkg-plist
new file mode 100644
index 000000000000..aca953500b14
--- /dev/null
+++ b/multimedia/clapper/pkg-plist
@@ -0,0 +1,69 @@
+bin/clapper
+bin/com.github.rafostar.Clapper
+lib/clapper-1.0/gst/plugin/importers/libgstclapperglimporter.so
+lib/clapper-1.0/gst/plugin/importers/libgstclappergluploader.so
+lib/clapper-1.0/gst/plugin/importers/libgstclapperrawimporter.so
+lib/com.github.rafostar.Clapper/girepository-1.0/GstClapper-1.0.typelib
+lib/com.github.rafostar.Clapper/libgstclapper-1.0.so
+lib/com.github.rafostar.Clapper/libgstclapper-1.0.so.0
+lib/com.github.rafostar.Clapper/libgstclapper-1.0.so.0.5.2
+lib/gstreamer-1.0/libgstclapper.so
+lib/libgstclapperglbaseimporter.so
+lib/libgstclapperglbaseimporter.so.0
+lib/libgstclapperglbaseimporter.so.0.5.2
+share/applications/com.github.rafostar.Clapper.desktop
+share/com.github.rafostar.Clapper/com.github.rafostar.Clapper.data.gresource
+share/com.github.rafostar.Clapper/css/styles.css
+share/com.github.rafostar.Clapper/extras/debug/Debug.js
+share/com.github.rafostar.Clapper/extras/ink/Ink.js
+share/com.github.rafostar.Clapper/src/actions.js
+share/com.github.rafostar.Clapper/src/app.js
+share/com.github.rafostar.Clapper/src/buttons.js
+share/com.github.rafostar.Clapper/src/controls.js
+share/com.github.rafostar.Clapper/src/dbus.js
+share/com.github.rafostar.Clapper/src/debug.js
+share/com.github.rafostar.Clapper/src/dialogs.js
+share/com.github.rafostar.Clapper/src/fileOps.js
+share/com.github.rafostar.Clapper/src/headerbar.js
+share/com.github.rafostar.Clapper/src/main.js
+share/com.github.rafostar.Clapper/src/misc.js
+share/com.github.rafostar.Clapper/src/player.js
+share/com.github.rafostar.Clapper/src/playlist.js
+share/com.github.rafostar.Clapper/src/prefs.js
+share/com.github.rafostar.Clapper/src/revealers.js
+share/com.github.rafostar.Clapper/src/webHelpers.js
+share/com.github.rafostar.Clapper/src/webServer.js
+share/com.github.rafostar.Clapper/src/widget.js
+share/com.github.rafostar.Clapper/ui/clapper.ui
+share/com.github.rafostar.Clapper/ui/elapsed-time-button.ui
+share/com.github.rafostar.Clapper/ui/help-overlay.ui
+share/com.github.rafostar.Clapper/ui/popover-separator.ui
+share/com.github.rafostar.Clapper/ui/preferences-plugin-ranking-subpage.ui
+share/com.github.rafostar.Clapper/ui/preferences-window.ui
+share/com.github.rafostar.Clapper/ui/track-select-button.ui
+share/com.github.rafostar.Clapper/ui/volume-button.ui
+share/dbus-1/services/com.github.rafostar.Clapper.service
+share/gir-1.0/GstClapper-1.0.gir
+share/icons/hicolor/scalable/apps/com.github.rafostar.Clapper.svg
+share/icons/hicolor/symbolic/apps/com.github.rafostar.Clapper-symbolic.svg
+share/locale/ar/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/ca/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/cs/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/de/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/es/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/eu/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/fr/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/he/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/hu/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/it/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/ja/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/nl/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/pl/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/pt/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/pt_BR/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/ru/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/sv/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/tr/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/locale/zh_CN/LC_MESSAGES/com.github.rafostar.Clapper.mo
+share/metainfo/com.github.rafostar.Clapper.metainfo.xml
+share/mime/packages/com.github.rafostar.Clapper.xml
diff --git a/multimedia/clive/Makefile b/multimedia/clive/Makefile
deleted file mode 100644
index 5f179562ecbe..000000000000
--- a/multimedia/clive/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# Created by: Nicola Vitale <nivit@FreeBSD.org>
-
-PORTNAME= clive
-PORTVERSION= 2.3.3
-PORTREVISION= 1
-CATEGORIES= multimedia
-MASTER_SITES= SF/${PORTNAME}/${PORTVERSION:R}
-
-MAINTAINER= pierre@guinoiseau.eu
-COMMENT= Command line video extraction tool for YouTube and others
-
-LICENSE= GPLv3
-
-BROKEN= doesn't work with multiple websites
-DEPRECATED= Last release in 2012, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-TEST_DEPENDS= p5-Test-Pod>=1:devel/p5-Test-Pod
-BUILD_DEPENDS= p5-Getopt-ArgvFile>=1.11:devel/p5-Getopt-ArgvFile \
- p5-JSON-XS>=2.30:converters/p5-JSON-XS
-RUN_DEPENDS= p5-Getopt-ArgvFile>=1.11:devel/p5-Getopt-ArgvFile \
- p5-JSON-XS>=2.30:converters/p5-JSON-XS \
- quvi>=0.2.16.1:multimedia/quvi
-
-# deskutils/ljclive (same executable/manpage/distfile name)
-CONFLICTS= ljclive # bin/clive
-
-USES= perl5
-USE_PERL5= configure
-
-PLIST_FILES= bin/clive \
- ${SITE_MAN1}/clive.1.gz
-
-.include <bsd.port.mk>
diff --git a/multimedia/clive/distinfo b/multimedia/clive/distinfo
deleted file mode 100644
index b9109cfb48d1..000000000000
--- a/multimedia/clive/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (clive-2.3.3.tar.gz) = 268a9d1d40f0a2a550971633df284ec203b2af88a6eea7db6382ac7b5aae7b38
-SIZE (clive-2.3.3.tar.gz) = 28309
diff --git a/multimedia/clive/pkg-descr b/multimedia/clive/pkg-descr
deleted file mode 100644
index c773c072a373..000000000000
--- a/multimedia/clive/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-clive is a command line utility for extracting videos from Youtube and other
-video-sharing websites. It was written to bypass the Adobe Flash requirement
-to view the hosted videos.
-
-WWW: http://clive.sourceforge.net
diff --git a/multimedia/clutter-gst/Makefile b/multimedia/clutter-gst/Makefile
index 92439e36a1bd..2ed2ae93576e 100644
--- a/multimedia/clutter-gst/Makefile
+++ b/multimedia/clutter-gst/Makefile
@@ -1,5 +1,3 @@
-# Created by: Martin Wilke <miwi@FreeBSD.org>
-
PORTNAME= clutter-gst
PORTVERSION= 2.0.18
PORTREVISION= 2
@@ -8,6 +6,7 @@ MASTER_SITES= GNOME
MAINTAINER= gnome@FreeBSD.org
COMMENT= Clutter GStreamer integration
+WWW= https://clutter-project.org/
LIB_DEPENDS= libclutter-1.0.so:graphics/clutter
diff --git a/multimedia/clutter-gst/pkg-descr b/multimedia/clutter-gst/pkg-descr
index 369054818768..e6034ab845b6 100644
--- a/multimedia/clutter-gst/pkg-descr
+++ b/multimedia/clutter-gst/pkg-descr
@@ -12,5 +12,3 @@ anything from real-time sound processing to playing videos, and just
about anything else media-related. Its plugin-based architecture means
that new data types or processing capabilities can be added simply by
installing new plug-ins.
-
-WWW: http://clutter-project.org/
diff --git a/multimedia/clutter-gst3/Makefile b/multimedia/clutter-gst3/Makefile
index c2355d52e7fd..656c99667bc9 100644
--- a/multimedia/clutter-gst3/Makefile
+++ b/multimedia/clutter-gst3/Makefile
@@ -1,8 +1,6 @@
-# Created by: Martin Wilke <miwi@FreeBSD.org>
-
PORTNAME= clutter-gst
PORTVERSION= 3.0.27
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= GNOME
PKGNAMESUFFIX= 3
@@ -10,6 +8,7 @@ DIST_SUBDIR= gnome
MAINTAINER= gnome@FreeBSD.org
COMMENT= Clutter GStreamer integration
+WWW= https://clutter-project.org/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/clutter-gst3/pkg-descr b/multimedia/clutter-gst3/pkg-descr
index 369054818768..e6034ab845b6 100644
--- a/multimedia/clutter-gst3/pkg-descr
+++ b/multimedia/clutter-gst3/pkg-descr
@@ -12,5 +12,3 @@ anything from real-time sound processing to playing videos, and just
about anything else media-related. Its plugin-based architecture means
that new data types or processing capabilities can be added simply by
installing new plug-ins.
-
-WWW: http://clutter-project.org/
diff --git a/multimedia/cmrt/Makefile b/multimedia/cmrt/Makefile
index 9f1d22f897eb..2b36caeca146 100644
--- a/multimedia/cmrt/Makefile
+++ b/multimedia/cmrt/Makefile
@@ -5,6 +5,7 @@ CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Legacy C for Metal Runtime
+WWW= https://01.org/linuxmedia
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/cmrt/pkg-descr b/multimedia/cmrt/pkg-descr
index dc1b08777d38..47208abce9fe 100644
--- a/multimedia/cmrt/pkg-descr
+++ b/multimedia/cmrt/pkg-descr
@@ -1,5 +1,3 @@
Media GPU kernel manager for Intel G45 & HD Graphics family. Allows to
interface between Intel GPU's driver and a host program through a
high-level language.
-
-WWW: https://01.org/linuxmedia
diff --git a/multimedia/cmrtlib/Makefile b/multimedia/cmrtlib/Makefile
index b9771b21aa58..b0f3e23cbbe6 100644
--- a/multimedia/cmrtlib/Makefile
+++ b/multimedia/cmrtlib/Makefile
@@ -3,8 +3,9 @@ DISTVERSIONPREFIX= intel-media-
DISTVERSION= 20.1.1
CATEGORIES= multimedia
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= C for Metal Runtime
+WWW= https://01.org/intel-media-for-linux
LICENSE= MIT
LICENSE_FILE= ${WRKSRC:H}/LICENSE.md
diff --git a/multimedia/cmrtlib/pkg-descr b/multimedia/cmrtlib/pkg-descr
index 99493e369bff..45eb2362f8b4 100644
--- a/multimedia/cmrtlib/pkg-descr
+++ b/multimedia/cmrtlib/pkg-descr
@@ -2,5 +2,3 @@ cmrtlib is a runtime library needed when user wants to execute their
own GPU kernels on render engine. It calls iHD media driver to load
the kernels and allocate the resources. It provides a set of APIs for
user to call directly from application.
-
-WWW: https://01.org/intel-media-for-linux
diff --git a/multimedia/cx88/Makefile b/multimedia/cx88/Makefile
index 6a6c434762bd..c6a83a082826 100644
--- a/multimedia/cx88/Makefile
+++ b/multimedia/cx88/Makefile
@@ -1,46 +1,44 @@
-# Created by: Jason Harmening <jason.harmening@gmail.com>
-
PORTNAME= cx88
-PORTVERSION= 1.5.3
-PORTREVISION= 2
+DISTVERSION= 1.5.4
CATEGORIES= multimedia
-MASTER_SITES= ftp://corona.homeunix.net/ports/cx88/
+MASTER_SITES= https://corona.homeunix.net/distfiles/ports/cx88/
MAINTAINER= jah@FreeBSD.org
-COMMENT= Drivers for Conexant CX23880/1/2/3/5/7/8-based TV/radio capture cards
+COMMENT= Drivers for Conexant CX23880x-based PCI(e) TV/radio capture cards
+WWW= https://corona.homeunix.net/cx88wiki
LICENSE= BSD2CLAUSE
LIB_DEPENDS= libjson-c.so:devel/json-c
BUILD_DEPENDS= ${LOCALBASE}/lib/libezxml.a:textproc/ezxml \
- libtuner>=1.1.4:multimedia/libtuner
+ libtuner>=1.1.5:multimedia/libtuner
# XXX static libraries with PIE are currently unsupported
MAKE_ARGS+= WITHOUT_PIE=true
-MAKE_ARGS+= LIBTUNER_LIB=${LOCALBASE}/lib/libtuner LIBTUNER_HEADER=${LOCALBASE}/include/libtuner KMODDIR=${KMODDIR} PREFIX=${STAGEDIR}${PREFIX}
+
+MAKE_ARGS+= LIBTUNER_LIB=${LOCALBASE}/lib/libtuner \
+ LIBTUNER_HEADER=${LOCALBASE}/include/libtuner \
+ KMODDIR=${KMODDIR} \
+ PREFIX=${STAGEDIR}${PREFIX} \
+ -D CX88_USE_IIC \
+ DEFAULT_XML_CONFIG="${EXAMPLESDIR}/cx88.xml.sample"
+
MAKE_JOBS_UNSAFE= yes
USES= kmod libedit pkgconfig uidfix
USE_RC_SUBR= cx88d
-OPTIONS_DEFINE= DEBUG LINUX_COMPAT
-
-DEBUG_DESC= Enable debugging and verbose driver output
-LINUX_COMPAT_DESC= Support for Linux DVB and radio API
-
-OPTIONS_DEFAULT= LINUX_COMPAT
+OPTIONS_DEFINE= DEBUG LINUXCOMPAT VERBOSE
+OPTIONS_DEFAULT= LINUXCOMPAT
-.include <bsd.port.options.mk>
+VERBOSE_DESC= Enable verbose output
+LINUXCOMPAT_DESC= Support for Linux DVB and radio API
-.if ${PORT_OPTIONS:MDEBUG}
-MAKE_ARGS+= DIAGNOSTIC=0x7f -DDEBUG
-.endif
+DEBUG_IMPLIES= VERBOSE
+DEBUG_MAKE_ARGS+= -DDEBUG
-.if ${PORT_OPTIONS:MLINUX_COMPAT}
-BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat
-MAKE_ARGS+= -D WITH_LINUX_COMPAT
-.endif
+VERBOSE_MAKE_ARGS+= DIAGNOSTIC=0x7f
-MAKE_ARGS+= -D CX88_USE_IIC
-MAKE_ARGS+= DEFAULT_XML_CONFIG="${EXAMPLESDIR}/cx88.xml.sample"
+LINUXCOMPAT_BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat
+LINUXCOMPAT_MAKE_ARGS+= -D WITH_LINUX_COMPAT
.include <bsd.port.mk>
diff --git a/multimedia/cx88/distinfo b/multimedia/cx88/distinfo
index c964f61e0d49..289277183557 100644
--- a/multimedia/cx88/distinfo
+++ b/multimedia/cx88/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1555662085
-SHA256 (cx88-1.5.3.tar.gz) = 5c33fac5b035844298a09d5e3092c926e54ce52a96340cfc755fbef589d1c5dd
-SIZE (cx88-1.5.3.tar.gz) = 196468
+TIMESTAMP = 1654378634
+SHA256 (cx88-1.5.4.tar.gz) = 36f1e33fbc9a74af9d074aea090a66c0c586bb8302e284921877e98044bb2dbc
+SIZE (cx88-1.5.4.tar.gz) = 197655
diff --git a/multimedia/cx88/files/cx88d.in b/multimedia/cx88/files/cx88d.in
index 1a9b1cf664cf..1a9b1cf664cf 100644..100755
--- a/multimedia/cx88/files/cx88d.in
+++ b/multimedia/cx88/files/cx88d.in
diff --git a/multimedia/cx88/files/patch-audio_cx88__audio.h b/multimedia/cx88/files/patch-audio_cx88__audio.h
new file mode 100644
index 000000000000..238e17ecd2ad
--- /dev/null
+++ b/multimedia/cx88/files/patch-audio_cx88__audio.h
@@ -0,0 +1,18 @@
+--- audio/cx88_audio.h.orig 2022-07-26 16:13:09 UTC
++++ audio/cx88_audio.h
+@@ -127,9 +127,15 @@ extern driver_t cx88_pcm_driver;
+
+ extern driver_t cx88_pcm_driver;
+
++#if __FreeBSD_version >= 1400058
+ #define CX88_PCM_DRIVER_MODULE(host) \
++ DRIVER_MODULE(cx88pcm, host, cx88_pcm_driver, NULL, NULL); \
++ MODULE_DEPEND(host, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER);
++#else
++#define CX88_PCM_DRIVER_MODULE(host) \
+ DRIVER_MODULE(cx88pcm, host, cx88_pcm_driver, pcm_devclass, NULL, NULL); \
+ MODULE_DEPEND(host, sound, SOUND_MINVER, SOUND_PREFVER, SOUND_MAXVER);
++#endif
+
+ int cx88_audio_setup(
+ cx88_audio_softc *sc,
diff --git a/multimedia/cx88/files/patch-client_Makefile b/multimedia/cx88/files/patch-client_Makefile
deleted file mode 100644
index 7be56a6857a0..000000000000
--- a/multimedia/cx88/files/patch-client_Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
---- client/Makefile.orig 2016-10-30 22:50:26 UTC
-+++ client/Makefile
-@@ -21,7 +21,7 @@ STRIPFLAGS :=
- CXXFLAGS+= -DCX88_USE_IIC
- .endif
-
--NO_MAN=
-+MAN=
-
- LDADD = -L$(LIBTUNER_LIB) -ltuner_static -lezxml -lpthread -ledit
-
-@@ -32,7 +32,7 @@ LDADD += $(JSON_LDFLAGS)
-
- .if defined(WITH_LINUX_COMPAT)
- CXXFLAGS += -D_WITH_LINUX_COMPAT
--LDADD += -L$(LOCALBASE)/lib -lcuse4bsd
-+LDADD += -L$(LOCALBASE)/lib -lcuse
-
- .if defined(WITH_HAL)
- CXXFLAGS += -D_WITH_HAL
diff --git a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__buffer.cpp b/multimedia/cx88/files/patch-client_dvb_cx88__dvb__buffer.cpp
deleted file mode 100644
index 60d373f171a7..000000000000
--- a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__buffer.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/dvb/cx88_dvb_buffer.cpp.orig 2012-10-04 22:36:01 UTC
-+++ client/dvb/cx88_dvb_buffer.cpp
-@@ -30,7 +30,7 @@
- #include <new>
- extern "C"
- {
-- #include <cuse4bsd.h>
-+ #include <cuse.h>
- }
- #include "cx88_dvb_buffer.h"
-
diff --git a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__capture.h b/multimedia/cx88/files/patch-client_dvb_cx88__dvb__capture.h
deleted file mode 100644
index 825d9d1d3924..000000000000
--- a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__capture.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/dvb/cx88_dvb_capture.h.orig 2014-11-15 03:08:05 UTC
-+++ client/dvb/cx88_dvb_capture.h
-@@ -32,7 +32,7 @@
- #include <list>
- extern "C"
- {
-- #include <cuse4bsd.h>
-+ #include <cuse.h>
- }
- #include "tuner_config.h"
- #include "cx88_capture.h"
diff --git a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux.cpp b/multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux.cpp
deleted file mode 100644
index 0455b239c3fc..000000000000
--- a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/dvb/cx88_dvb_demux.cpp.orig 2012-12-05 17:23:14 UTC
-+++ client/dvb/cx88_dvb_demux.cpp
-@@ -28,7 +28,7 @@
- #include <sys/types.h>
- extern "C"
- {
-- #include <cuse4bsd.h>
-+ #include <cuse.h>
- }
- #include "../cx88_debug.h"
- #include "cx88_dvb_demux.h"
diff --git a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux__feed.cpp b/multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux__feed.cpp
deleted file mode 100644
index 7c4fadadf563..000000000000
--- a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__demux__feed.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/dvb/cx88_dvb_demux_feed.cpp.orig 2011-09-20 17:20:20 UTC
-+++ client/dvb/cx88_dvb_demux_feed.cpp
-@@ -1,7 +1,7 @@
- #include <sys/types.h>
- extern "C"
- {
-- #include <cuse4bsd.h>
-+ #include <cuse.h>
- }
- #include "cx88_dvb_demux_feed.h"
-
diff --git a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__frontend.cpp b/multimedia/cx88/files/patch-client_dvb_cx88__dvb__frontend.cpp
deleted file mode 100644
index 1462e815fdc0..000000000000
--- a/multimedia/cx88/files/patch-client_dvb_cx88__dvb__frontend.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/dvb/cx88_dvb_frontend.cpp.orig 2014-11-15 03:08:05 UTC
-+++ client/dvb/cx88_dvb_frontend.cpp
-@@ -31,7 +31,7 @@
- #include <new>
- extern "C"
- {
-- #include <cuse4bsd.h>
-+ #include <cuse.h>
- }
- #include "../cx88_debug.h"
- #include "cx88_dvb_frontend.h"
diff --git a/multimedia/cx88/files/patch-client_v4l_cx88__radio__capture.h b/multimedia/cx88/files/patch-client_v4l_cx88__radio__capture.h
deleted file mode 100644
index 1723024b906c..000000000000
--- a/multimedia/cx88/files/patch-client_v4l_cx88__radio__capture.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- client/v4l/cx88_radio_capture.h.orig 2019-11-30 20:23:39 UTC
-+++ client/v4l/cx88_radio_capture.h
-@@ -32,7 +32,7 @@
- #include <linux/videodev2.h>
- extern "C"
- {
-- #include <cuse4bsd.h>
-+ #include <cuse.h>
- }
- #include "cx88_capture.h"
- #include "tuner_config.h"
diff --git a/multimedia/cx88/files/patch-cx23880_audio_cx23880__audio.c b/multimedia/cx88/files/patch-cx23880_audio_cx23880__audio.c
new file mode 100644
index 000000000000..1cf621328235
--- /dev/null
+++ b/multimedia/cx88/files/patch-cx23880_audio_cx23880__audio.c
@@ -0,0 +1,26 @@
+--- cx23880/audio/cx23880_audio.c.orig 2022-07-26 16:22:44 UTC
++++ cx23880/audio/cx23880_audio.c
+@@ -1018,8 +1018,6 @@ static int cx23880_audio_shutdown(device_t dev)
+ return 0;
+ }
+
+-static devclass_t cx23880_audio_devclass;
+-
+ static device_method_t cx23880_audio_methods[] =
+ {
+ /* Device interface */
+@@ -1058,8 +1056,13 @@ static driver_t cx23880_audio_driver =
+ 0
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE_ORDERED(cx23880audio, pci, cx23880_audio_driver, NULL, NULL, SI_ORDER_ANY);
++#else
++static devclass_t cx23880_audio_devclass;
++
+ DRIVER_MODULE_ORDERED(cx23880audio, pci, cx23880_audio_driver, cx23880_audio_devclass, NULL, NULL, SI_ORDER_ANY);
+-DRIVER_MODULE_ORDERED(cx23880audio, cardbus, cx23880_audio_driver, cx23880_audio_devclass, NULL, NULL, SI_ORDER_ANY);
++#endif
+
+ CX88_DRIVER_MODULE(cx23880audio);
+ CX88_I2C_DRIVER_MODULE(cx23880audio);
diff --git a/multimedia/cx88/files/patch-cx23880_mpeg_cx23880__mpeg.c b/multimedia/cx88/files/patch-cx23880_mpeg_cx23880__mpeg.c
new file mode 100644
index 000000000000..e1a2f5d5ecde
--- /dev/null
+++ b/multimedia/cx88/files/patch-cx23880_mpeg_cx23880__mpeg.c
@@ -0,0 +1,26 @@
+--- cx23880/mpeg/cx23880_mpeg.c.orig 2022-07-26 16:16:15 UTC
++++ cx23880/mpeg/cx23880_mpeg.c
+@@ -173,8 +173,6 @@ static int cx23880_mpeg_request_reconfig(device_t dev)
+ return cx88_mpeg_request_reconfig(&(sc->mpeg));
+ }
+
+-static devclass_t cx23880_mpeg_devclass;
+-
+ /* DEVMETHODs */
+ static device_method_t cx23880_mpeg_methods[] =
+ {
+@@ -203,8 +201,13 @@ static driver_t cx23880_mpeg_driver =
+ 0
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE_ORDERED(cx23880mpeg, pci, cx23880_mpeg_driver, NULL, NULL, SI_ORDER_ANY);
++#else
++static devclass_t cx23880_mpeg_devclass;
++
+ DRIVER_MODULE_ORDERED(cx23880mpeg, pci, cx23880_mpeg_driver, cx23880_mpeg_devclass, NULL, NULL, SI_ORDER_ANY);
+-DRIVER_MODULE_ORDERED(cx23880mpeg, cardbus, cx23880_mpeg_driver, cx23880_mpeg_devclass, NULL, NULL, SI_ORDER_ANY);
++#endif
+
+ CX88_DRIVER_MODULE(cx23880mpeg);
+ CX88_I2C_DRIVER_MODULE(cx23880mpeg);
diff --git a/multimedia/cx88/files/patch-cx23880_video_cx23880__video.c b/multimedia/cx88/files/patch-cx23880_video_cx23880__video.c
new file mode 100644
index 000000000000..2a19b778079b
--- /dev/null
+++ b/multimedia/cx88/files/patch-cx23880_video_cx23880__video.c
@@ -0,0 +1,26 @@
+--- cx23880/video/cx23880_video.c.orig 2022-07-26 16:17:40 UTC
++++ cx23880/video/cx23880_video.c
+@@ -519,8 +519,6 @@ static int cx23880_video_request_reconfig(device_t dev
+ return cx88_video_request_reconfig(&(sc->video));
+ }
+
+-static devclass_t cx23880_video_devclass;
+-
+ /* DEVMETHODs */
+ static device_method_t cx23880_video_methods[] =
+ {
+@@ -561,8 +559,13 @@ static driver_t cx23880_video_driver =
+ 0
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE_ORDERED(cx23880video, pci, cx23880_video_driver, NULL, NULL, SI_ORDER_ANY);
++#else
++static devclass_t cx23880_video_devclass;
++
+ DRIVER_MODULE_ORDERED(cx23880video, pci, cx23880_video_driver, cx23880_video_devclass, NULL, NULL, SI_ORDER_ANY);
+-DRIVER_MODULE_ORDERED(cx23880video, cardbus, cx23880_video_driver, cx23880_video_devclass, NULL, NULL, SI_ORDER_ANY);
++#endif
+
+ CX88_DRIVER_MODULE(cx23880video);
+ CX88_I2C_DRIVER_MODULE(cx23880video);
diff --git a/multimedia/cx88/files/patch-cx23885_avcore_cx23885__avcore.c b/multimedia/cx88/files/patch-cx23885_avcore_cx23885__avcore.c
new file mode 100644
index 000000000000..f0667fc3a47a
--- /dev/null
+++ b/multimedia/cx88/files/patch-cx23885_avcore_cx23885__avcore.c
@@ -0,0 +1,39 @@
+--- cx23885/avcore/cx23885_avcore.c.orig 2022-07-26 16:27:33 UTC
++++ cx23885/avcore/cx23885_avcore.c
+@@ -45,9 +45,6 @@
+
+ #define CX23885AV_I2C_TIMEOUT (hz / 8)
+
+-static devclass_t cx23885av_devclass;
+-static devclass_t cx23885adc_devclass;
+-
+ typedef struct
+ {
+ uint32_t hactive;
+@@ -1260,7 +1257,13 @@ static driver_t cx23885av_driver =
+ sizeof(cx23885av_softc)
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(cx23885av, iicbus, cx23885av_driver, NULL, NULL);
++#else
++static devclass_t cx23885av_devclass;
++
+ DRIVER_MODULE(cx23885av, iicbus, cx23885av_driver, cx23885av_devclass, NULL, NULL);
++#endif
+ MODULE_DEPEND(cx23885av, iicbus, IICBUS_MINVER, IICBUS_MODVER, IICBUS_MAXVER);
+ MODULE_DEPEND(cx23885av, firmware, 1, 1, 1);
+ MODULE_DEPEND(cx23885av, cx88audiocore, CX88_AUDIO_MINVER, CX88_AUDIO_MODVER, CX88_AUDIO_MAXVER);
+@@ -1318,6 +1321,12 @@ static driver_t cx23885adc_driver =
+ 0
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(cx23885adc, iicbus, cx23885adc_driver, NULL, NULL);
++#else
++static devclass_t cx23885adc_devclass;
++
+ DRIVER_MODULE(cx23885adc, iicbus, cx23885adc_driver, cx23885adc_devclass, NULL, NULL);
++#endif
+ MODULE_DEPEND(cx23885adc, iicbus, IICBUS_MINVER, IICBUS_MODVER, IICBUS_MAXVER);
+ MODULE_VERSION(cx23885adc, CX23885ADC_MODVER);
diff --git a/multimedia/cx88/files/patch-cx23885_cx23885.c b/multimedia/cx88/files/patch-cx23885_cx23885.c
new file mode 100644
index 000000000000..a19941930822
--- /dev/null
+++ b/multimedia/cx88/files/patch-cx23885_cx23885.c
@@ -0,0 +1,49 @@
+--- cx23885/cx23885.c.orig 2022-07-26 16:24:23 UTC
++++ cx23885/cx23885.c
+@@ -508,8 +508,6 @@ static int cx23885_suspend(device_t dev)
+ return error;
+ }
+
+-static devclass_t cx23885_devclass;
+-
+ /* DEVMETHODs */
+ static device_method_t cx23885_methods[] =
+ {
+@@ -532,8 +530,13 @@ static driver_t cx23885_driver =
+ 0
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE_ORDERED(cx23885b, pci, cx23885_driver, NULL, NULL, SI_ORDER_ANY);
++#else
++static devclass_t cx23885_devclass;
++
+ DRIVER_MODULE_ORDERED(cx23885b, pci, cx23885_driver, cx23885_devclass, NULL, NULL, SI_ORDER_ANY);
+-DRIVER_MODULE_ORDERED(cx23885b, cardbus, cx23885_driver, cx23885_devclass, NULL, NULL, SI_ORDER_ANY);
++#endif
+
+ CX88_DRIVER_MODULE(cx23885b);
+ CX88_PCM_DRIVER_MODULE(cx23885b);
+@@ -544,8 +547,6 @@ MODULE_VERSION(cx23885b, CX23885_MODVER);
+ MODULE_DEPEND(cx23885b, cx23885adc, CX23885ADC_MINVER, CX23885ADC_MODVER, CX23885ADC_MAXVER);
+ MODULE_VERSION(cx23885b, CX23885_MODVER);
+
+-static devclass_t cx23885_i2c_devclass;
+-
+ static int cx23885_i2c_probe(device_t dev)
+ {
+ device_set_desc(dev, "CX23885/7/8 I2C master");
+@@ -596,7 +597,13 @@ static driver_t cx23885_i2c_driver =
+ sizeof(cx88_i2c_softc)
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(cx23885i2c, cx23885b, cx23885_i2c_driver, NULL, NULL);
++#else
++static devclass_t cx23885_i2c_devclass;
++
+ DRIVER_MODULE(cx23885i2c, cx23885b, cx23885_i2c_driver, cx23885_i2c_devclass, NULL, NULL);
++#endif
+ MODULE_DEPEND(cx23885i2c, cx23885b, CX23885_MINVER, CX23885_MODVER, CX23885_MAXVER);
+ CX88_I2C_DRIVER_MODULE(cx23885i2c);
+ MODULE_VERSION(cx23885i2c, 1);
diff --git a/multimedia/cx88/files/patch-iicdev_iicdev.c b/multimedia/cx88/files/patch-iicdev_iicdev.c
new file mode 100644
index 000000000000..a6efeed0cf00
--- /dev/null
+++ b/multimedia/cx88/files/patch-iicdev_iicdev.c
@@ -0,0 +1,25 @@
+--- iicdev/iicdev.c.orig 2022-07-26 16:18:50 UTC
++++ iicdev/iicdev.c
+@@ -59,8 +59,6 @@ typedef struct
+ struct sx lock;
+ } iicdev_softc;
+
+-static devclass_t iicdev_devclass;
+-
+ static int iicdev_probe(device_t dev);
+ static int iicdev_attach(device_t dev);
+ static int iicdev_detach(device_t dev);
+@@ -233,7 +231,13 @@ static driver_t iicdev_driver =
+ sizeof(iicdev_softc)
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(iicdev, iicbus, iicdev_driver, NULL, NULL);
++#else
++static devclass_t iicdev_devclass;
++
+ DRIVER_MODULE(iicdev, iicbus, iicdev_driver, iicdev_devclass, NULL, NULL);
++#endif
+ MODULE_DEPEND(iicdev, iicbus, IICBUS_MINVER, IICBUS_MODVER, IICBUS_MAXVER);
+ MODULE_VERSION(iicdev, IICDEV_MODVER);
+
diff --git a/multimedia/cx88/files/patch-ir_cx88__ir.c b/multimedia/cx88/files/patch-ir_cx88__ir.c
new file mode 100644
index 000000000000..df2170707764
--- /dev/null
+++ b/multimedia/cx88/files/patch-ir_cx88__ir.c
@@ -0,0 +1,25 @@
+--- ir/cx88_ir.c.orig 2022-07-26 16:20:13 UTC
++++ ir/cx88_ir.c
+@@ -70,8 +70,6 @@ static unsigned int cx88_ir_biphase_decode(uint32_t *s
+ static int cx88_ir_request_reconfig(device_t dev);
+ static unsigned int cx88_ir_biphase_decode(uint32_t *samples, unsigned int num_samples);
+
+-static devclass_t cx88_ir_devclass;
+-
+ static d_open_t cx88_ir_open;
+ static d_close_t cx88_ir_close;
+ static d_read_t cx88_ir_read;
+@@ -401,7 +399,12 @@ static driver_t cx88_ir_driver =
+ 0
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(cx88ir, pci, cx88_ir_driver, NULL, NULL);
++#else
++static devclass_t cx88_ir_devclass;
++
+ DRIVER_MODULE(cx88ir, pci, cx88_ir_driver, cx88_ir_devclass, NULL, NULL);
+-DRIVER_MODULE(cx88ir, cardbus, cx88_ir_driver, cx88_ir_devclass, NULL, NULL);
++#endif
+ CX88_DRIVER_MODULE(cx88ir);
+ MODULE_VERSION(cx88ir, 1);
diff --git a/multimedia/cx88/pkg-descr b/multimedia/cx88/pkg-descr
index 8ff09ac36d85..a5d6c37411da 100644
--- a/multimedia/cx88/pkg-descr
+++ b/multimedia/cx88/pkg-descr
@@ -2,5 +2,3 @@ cx88 provides drivers for PCI and PCI-e TV/radio capture cards based on the
Conexant CX23880/1/2/3 and CX23885/7/8 chip families. This port includes the
cx88 kernel drivers as well as a simple app for TV capture. It requires
multimedia/libtuner for channel selection and peripheral configuration.
-
-WWW: http://corona.homeunix.net/cx88wiki
diff --git a/multimedia/dav1d/Makefile b/multimedia/dav1d/Makefile
index cca26101ab5f..0e88003f64c2 100644
--- a/multimedia/dav1d/Makefile
+++ b/multimedia/dav1d/Makefile
@@ -1,9 +1,10 @@
PORTNAME= dav1d
-DISTVERSION= 1.0.0
+DISTVERSION= 1.4.1
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Small and fast AV1 decoder
+WWW= https://code.videolan.org/videolan/dav1d
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -17,10 +18,9 @@ USE_GITLAB= yes
USE_LDCONFIG= yes
GL_SITE= https://code.videolan.org
GL_ACCOUNT= videolan
-GL_COMMIT= 99172b11470776177939c3d2bc366fe8d904eab7
LDFLAGS_i386= -Wl,-z,notext
-OPTIONS_DEFINE= SDL TEST
+OPTIONS_DEFINE= SDL TEST XXHASH
OPTIONS_SUB= yes
SDL_USES= pkgconfig sdl
@@ -30,9 +30,14 @@ SDL_LIB_DEPENDS= libplacebo.so:graphics/libplacebo \
libvulkan.so:graphics/vulkan-loader
SDL_MESON_TRUE= enable_examples
-TEST_GL_TUPLE= videolan:dav1d-test-data:0214ee7342c646b238f98267adf8503c56d9df53:testdata/tests/dav1d-test-data
+TEST_GL_TUPLE= videolan:dav1d-test-data:${DISTVERSION}:testdata/tests/dav1d-test-data
TEST_MESON_TRUE=enable_tests testdata_tests
+XXHASH_DESC= xxHash 3 muxer
+XXHASH_BUILD_DEPENDS= xxhash>0:devel/xxhash
+XXHASH_USES= localbase
+XXHASH_MESON_ENABLED= xxhash_muxer
+
.if make(makesum) # for optional distfiles
.MAKEFLAGS: WITH="${OPTIONS_DEFINE}"
.endif
diff --git a/multimedia/dav1d/distinfo b/multimedia/dav1d/distinfo
index ee9d1c38a8c4..d175c189c5af 100644
--- a/multimedia/dav1d/distinfo
+++ b/multimedia/dav1d/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1647610281
-SHA256 (videolan-dav1d-99172b11470776177939c3d2bc366fe8d904eab7_GL0.tar.gz) = 411211625f44301c03858c395061ac87af6b3a0f02bdd3d599b4c87b123ccb27
-SIZE (videolan-dav1d-99172b11470776177939c3d2bc366fe8d904eab7_GL0.tar.gz) = 1375242
-SHA256 (videolan-dav1d-test-data-0214ee7342c646b238f98267adf8503c56d9df53_GL0.tar.gz) = 1399a5a8ddfc8b22c320e30d731c82fce6d962fa28cd16236a742903c969ebe7
-SIZE (videolan-dav1d-test-data-0214ee7342c646b238f98267adf8503c56d9df53_GL0.tar.gz) = 50909709
+TIMESTAMP = 1709978433
+SHA256 (dav1d-1.4.1.tar.bz2) = ab02c6c72c69b2b24726251f028b7cb57d5b3659eeec9f67f6cecb2322b127d8
+SIZE (dav1d-1.4.1.tar.bz2) = 1122360
+SHA256 (dav1d-test-data-1.4.1.tar.bz2) = e8ff2198be32dafff7cc1c901b05315be6110046a3aa1ef44dd92a6f2e8b11ab
+SIZE (dav1d-test-data-1.4.1.tar.bz2) = 53087183
diff --git a/multimedia/dav1d/pkg-descr b/multimedia/dav1d/pkg-descr
index cdad01020882..b2606198423a 100644
--- a/multimedia/dav1d/pkg-descr
+++ b/multimedia/dav1d/pkg-descr
@@ -1,4 +1,2 @@
dav1d is a new AV1 cross-platform decoder, open-source, and focused on
speed and correctness.
-
-WWW: https://code.videolan.org/videolan/dav1d
diff --git a/multimedia/dav1d/pkg-plist b/multimedia/dav1d/pkg-plist
index 18128a512c72..7e3d34e720ac 100644
--- a/multimedia/dav1d/pkg-plist
+++ b/multimedia/dav1d/pkg-plist
@@ -7,6 +7,6 @@ include/dav1d/headers.h
include/dav1d/picture.h
include/dav1d/version.h
lib/libdav1d.so
-lib/libdav1d.so.6
-lib/libdav1d.so.6.6.0
+lib/libdav1d.so.7
+lib/libdav1d.so.7.0.0
libdata/pkgconfig/dav1d.pc
diff --git a/multimedia/deforaos-player/Makefile b/multimedia/deforaos-player/Makefile
index 1ae728887ac2..152fb994eeeb 100644
--- a/multimedia/deforaos-player/Makefile
+++ b/multimedia/deforaos-player/Makefile
@@ -1,15 +1,14 @@
-# Created by: Olivier Cochard-Labbe <olivier@FreeBSD.org>
-
PORTNAME= player
PORTVERSION= 0.1.6
-PORTREVISION= 3
+PORTREVISION= 6
CATEGORIES= multimedia
MASTER_SITES= http://www.defora.org/os/download/download/4297/
PKGNAMEPREFIX= deforaos-
DISTNAME= Player-${PORTVERSION}
-MAINTAINER= olivier@FreeBSD.org
+MAINTAINER= khorben@defora.org
COMMENT= DeforaOS desktop media player
+WWW= https://www.defora.org/
LICENSE= GPLv3
@@ -23,7 +22,7 @@ MAKE_ARGS+= PREFIX=${PREFIX}
USE_GNOME= gtk20
USES= desktop-file-utils gettext gnome pkgconfig
-MAKE_ENV+= MANDIR=${STAGEDIR}${MANPREFIX}/man
+MAKE_ENV+= MANDIR=${STAGEDIR}${PREFIX}/share/man
post-install: compress-man
diff --git a/multimedia/deforaos-player/pkg-descr b/multimedia/deforaos-player/pkg-descr
index 4e5cad8e7a9f..858cb5baf4b6 100644
--- a/multimedia/deforaos-player/pkg-descr
+++ b/multimedia/deforaos-player/pkg-descr
@@ -1,3 +1 @@
DeforaOS Desktop multimedia player
-
-WWW: http://www.defora.org/
diff --git a/multimedia/deforaos-player/pkg-plist b/multimedia/deforaos-player/pkg-plist
index e5de2627251f..47358fe46f1a 100644
--- a/multimedia/deforaos-player/pkg-plist
+++ b/multimedia/deforaos-player/pkg-plist
@@ -1,8 +1,8 @@
bin/player
bin/playerctl
include/Desktop/Player.h
-man/man1/player.1.gz
-man/man1/playerctl.1.gz
+share/man/man1/player.1.gz
+share/man/man1/playerctl.1.gz
share/Player/splash.png
share/applications/player.desktop
share/locale/fr/LC_MESSAGES/Player.mo
diff --git a/multimedia/dirac/Makefile b/multimedia/dirac/Makefile
index 6c10e26fd4a0..89d0d5503679 100644
--- a/multimedia/dirac/Makefile
+++ b/multimedia/dirac/Makefile
@@ -1,5 +1,3 @@
-# Created by: Bruce M Simpson <bms@FreeBSD.org>
-
PORTNAME= dirac
PORTVERSION= 1.0.2
PORTREVISION= 5
@@ -8,6 +6,7 @@ MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-codec/Dirac-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Open source video codec from the BBC
+WWW= https://dirac.sourceforge.net/
GNU_CONFIGURE= yes
USES= gmake libtool pathfix shebangfix
diff --git a/multimedia/dirac/pkg-descr b/multimedia/dirac/pkg-descr
index 7c57a491b83a..5973d1a9cb19 100644
--- a/multimedia/dirac/pkg-descr
+++ b/multimedia/dirac/pkg-descr
@@ -2,5 +2,3 @@ Dirac is a general-purpose video codec aimed at resolutions from QCIF
(180x144) to HDTV (1920x1080) progressive or interlaced. It uses wavelets,
motion compensation and arithmetic coding and aims to be competitive with
other state of the art codecs.
-
-WWW: http://dirac.sourceforge.net/
diff --git a/multimedia/dragon/Makefile b/multimedia/dragon/Makefile
index 6f51b5df4b83..4f8d3e7def42 100644
--- a/multimedia/dragon/Makefile
+++ b/multimedia/dragon/Makefile
@@ -1,21 +1,25 @@
PORTNAME= dragon
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= multimedia kde kde-applications
PKGNAMESUFFIX= -player
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE multimedia player with a focus on simplicity
+WWW= https://www.kde.org/applications/multimedia/dragonplayer/
LICENSE= GPLv2
-USES= cmake compiler:c++11-lang desktop-file-utils gettext kde:5 qt:5 tar:xz
+USES= cmake compiler:c++11-lang desktop-file-utils gettext kde:5 qt:5 \
+ tar:xz xorg
USE_KDE= auth codecs completion config configwidgets coreaddons crash \
dbusaddons doctools kio service sonnet textwidgets i18n \
- iconthemes jobwidgets notifications parts solid widgetsaddons \
+ iconthemes jobwidgets notifications parts phonon solid widgetsaddons \
windowsystem xmlgui \
- ecm_build
-USE_QT= concurrent core dbus gui network phonon4 widgets xml \
- buildtools_build qmake_build
+ ecm:build
+USE_QT= concurrent core dbus gui network widgets xml \
+ buildtools:build qmake:build
+USE_XORG= x11
CONFLICTS_INSTALL= dragon # bin/dragon
diff --git a/multimedia/dragon/distinfo b/multimedia/dragon/distinfo
index 947e8d511604..c7402c60957c 100644
--- a/multimedia/dragon/distinfo
+++ b/multimedia/dragon/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652179551
-SHA256 (KDE/release-service/22.04.1/dragon-22.04.1.tar.xz) = 37bd492b88480569a59f74e9788bf7a24cbda5c2153f33c02f8b2b6f7ca9035b
-SIZE (KDE/release-service/22.04.1/dragon-22.04.1.tar.xz) = 1666092
+TIMESTAMP = 1707889323
+SHA256 (KDE/release-service/23.08.5/dragon-23.08.5.tar.xz) = 410621fbda859cabf6ef156506a6fce4f65f4565065691ee8c9bfc83c0a11571
+SIZE (KDE/release-service/23.08.5/dragon-23.08.5.tar.xz) = 1671520
diff --git a/multimedia/dragon/pkg-descr b/multimedia/dragon/pkg-descr
index bf7ff3e00be6..c91900865521 100644
--- a/multimedia/dragon/pkg-descr
+++ b/multimedia/dragon/pkg-descr
@@ -3,5 +3,3 @@ instead of features. Dragon Player does one thing, and only one thing,
which is playing multimedia files. It's simple interface is designed
not to get in your way and instead empower you to simply play
multimedia files.
-
-WWW: http://www.kde.org/applications/multimedia/dragonplayer/
diff --git a/multimedia/dragon/pkg-plist b/multimedia/dragon/pkg-plist
index 6147639cf2a3..6a44d65f1e5f 100644
--- a/multimedia/dragon/pkg-plist
+++ b/multimedia/dragon/pkg-plist
@@ -1,27 +1,13 @@
bin/dragon
etc/xdg/dragonplayerrc
%%QT_PLUGINDIR%%/kf5/parts/dragonpart.so
-man/ca/man1/dragon.1.gz
-man/de/man1/dragon.1.gz
-man/es/man1/dragon.1.gz
-man/et/man1/dragon.1.gz
-man/fr/man1/dragon.1.gz
-man/it/man1/dragon.1.gz
-man/man1/dragon.1.gz
-man/nl/man1/dragon.1.gz
-man/pt/man1/dragon.1.gz
-man/pt_BR/man1/dragon.1.gz
-man/sr/man1/dragon.1.gz
-man/sv/man1/dragon.1.gz
-man/tr/man1/dragon.1.gz
-man/uk/man1/dragon.1.gz
share/applications/org.kde.dragonplayer.desktop
+share/icons/hicolor/128x128/apps/dragonplayer.png
share/icons/hicolor/16x16/apps/dragonplayer.png
share/icons/hicolor/22x22/apps/dragonplayer.png
share/icons/hicolor/32x32/apps/dragonplayer.png
share/icons/hicolor/48x48/apps/dragonplayer.png
share/icons/hicolor/64x64/apps/dragonplayer.png
-share/icons/hicolor/128x128/apps/dragonplayer.png
share/icons/hicolor/scalable/apps/dragonplayer.svgz
share/icons/oxygen/16x16/actions/player-volume-muted.png
share/icons/oxygen/22x22/actions/player-volume-muted.png
@@ -29,7 +15,6 @@ share/icons/oxygen/32x32/actions/player-volume-muted.png
share/icons/oxygen/48x48/actions/player-volume-muted.png
share/icons/oxygen/scalable/actions/player-volume-muted.svgz
share/kservices5/ServiceMenus/dragonplayer_play_dvd.desktop
-share/kservices5/dragonplayer_part.desktop
share/locale/ar/LC_MESSAGES/dragonplayer.mo
share/locale/be/LC_MESSAGES/dragonplayer.mo
share/locale/bg/LC_MESSAGES/dragonplayer.mo
@@ -57,9 +42,11 @@ share/locale/id/LC_MESSAGES/dragonplayer.mo
share/locale/is/LC_MESSAGES/dragonplayer.mo
share/locale/it/LC_MESSAGES/dragonplayer.mo
share/locale/ja/LC_MESSAGES/dragonplayer.mo
+share/locale/ka/LC_MESSAGES/dragonplayer.mo
share/locale/kk/LC_MESSAGES/dragonplayer.mo
share/locale/km/LC_MESSAGES/dragonplayer.mo
share/locale/ko/LC_MESSAGES/dragonplayer.mo
+share/locale/ku/LC_MESSAGES/dragonplayer.mo
share/locale/lt/LC_MESSAGES/dragonplayer.mo
share/locale/lv/LC_MESSAGES/dragonplayer.mo
share/locale/mr/LC_MESSAGES/dragonplayer.mo
@@ -67,6 +54,7 @@ share/locale/nb/LC_MESSAGES/dragonplayer.mo
share/locale/nds/LC_MESSAGES/dragonplayer.mo
share/locale/nl/LC_MESSAGES/dragonplayer.mo
share/locale/nn/LC_MESSAGES/dragonplayer.mo
+share/locale/oc/LC_MESSAGES/dragonplayer.mo
share/locale/pa/LC_MESSAGES/dragonplayer.mo
share/locale/pl/LC_MESSAGES/dragonplayer.mo
share/locale/pt/LC_MESSAGES/dragonplayer.mo
@@ -77,13 +65,32 @@ share/locale/sk/LC_MESSAGES/dragonplayer.mo
share/locale/sl/LC_MESSAGES/dragonplayer.mo
share/locale/sq/LC_MESSAGES/dragonplayer.mo
share/locale/sr/LC_MESSAGES/dragonplayer.mo
+share/locale/sr@ijekavian/LC_MESSAGES/dragonplayer.mo
+share/locale/sr@ijekavianlatin/LC_MESSAGES/dragonplayer.mo
+share/locale/sr@latin/LC_MESSAGES/dragonplayer.mo
share/locale/sv/LC_MESSAGES/dragonplayer.mo
+share/locale/th/LC_MESSAGES/dragonplayer.mo
share/locale/tr/LC_MESSAGES/dragonplayer.mo
share/locale/ug/LC_MESSAGES/dragonplayer.mo
share/locale/uk/LC_MESSAGES/dragonplayer.mo
share/locale/wa/LC_MESSAGES/dragonplayer.mo
share/locale/zh_CN/LC_MESSAGES/dragonplayer.mo
share/locale/zh_TW/LC_MESSAGES/dragonplayer.mo
+share/man/ca/man1/dragon.1.gz
+share/man/de/man1/dragon.1.gz
+share/man/es/man1/dragon.1.gz
+share/man/et/man1/dragon.1.gz
+share/man/fr/man1/dragon.1.gz
+share/man/it/man1/dragon.1.gz
+share/man/man1/dragon.1.gz
+share/man/nl/man1/dragon.1.gz
+share/man/pt/man1/dragon.1.gz
+share/man/pt_BR/man1/dragon.1.gz
+share/man/sr/man1/dragon.1.gz
+share/man/sr@latin/man1/dragon.1.gz
+share/man/sv/man1/dragon.1.gz
+share/man/tr/man1/dragon.1.gz
+share/man/uk/man1/dragon.1.gz
share/metainfo/org.kde.dragonplayer.appdata.xml
share/solid/actions/dragonplayer-openaudiocd.desktop
share/solid/actions/dragonplayer-opendvd.desktop
diff --git a/multimedia/dtv-scan-tables/Makefile b/multimedia/dtv-scan-tables/Makefile
index cdfa57b7fe09..304b3fb49f2c 100644
--- a/multimedia/dtv-scan-tables/Makefile
+++ b/multimedia/dtv-scan-tables/Makefile
@@ -1,12 +1,11 @@
-# Created by: Dreamcat4 <dreamcat4@gmail.com>
-
PORTNAME= dtv-scan-tables
-PORTVERSION= 20220307
+PORTVERSION= 20240204
CATEGORIES= multimedia
MASTER_SITES= LOCAL/decke
MAINTAINER= decke@FreeBSD.org
COMMENT= Digital TV scan tables from linuxtv.org
+WWW= https://linuxtv.org/
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
diff --git a/multimedia/dtv-scan-tables/distinfo b/multimedia/dtv-scan-tables/distinfo
index f96b6553a397..dce8c6e722f2 100644
--- a/multimedia/dtv-scan-tables/distinfo
+++ b/multimedia/dtv-scan-tables/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1647091718
-SHA256 (dtv-scan-tables-20220307.tar.xz) = 74695f257f7da4a0e8189df43c10183050433048bb085b1f6e39dea2dfdbdada
-SIZE (dtv-scan-tables-20220307.tar.xz) = 314256
+TIMESTAMP = 1707051248
+SHA256 (dtv-scan-tables-20240204.tar.xz) = d77abef6198ce4560a7346db395543960987bf333e791c096d312a392a612132
+SIZE (dtv-scan-tables-20240204.tar.xz) = 314744
diff --git a/multimedia/dtv-scan-tables/pkg-descr b/multimedia/dtv-scan-tables/pkg-descr
index 090b452a6a9b..23fd820fea2f 100644
--- a/multimedia/dtv-scan-tables/pkg-descr
+++ b/multimedia/dtv-scan-tables/pkg-descr
@@ -4,5 +4,3 @@ frequencies. Most dvb applications rely on them.
This supplies initial data for certain regions so that the dvb applications
in question only scan those known frequencies, saving a lot of time scanning.
These tables however need to be kept up to date by users.
-
-WWW: https://linuxtv.org/
diff --git a/multimedia/dtv-scan-tables/pkg-plist b/multimedia/dtv-scan-tables/pkg-plist
index 07a8e6e00314..49612b670416 100644
--- a/multimedia/dtv-scan-tables/pkg-plist
+++ b/multimedia/dtv-scan-tables/pkg-plist
@@ -118,13 +118,9 @@
%%DATADIR%%/dvb-s/ABS-2A-75.0E
%%DATADIR%%/dvb-s/ABS-3A-3.0W
%%DATADIR%%/dvb-s/ABS-6-159.0E
-%%DATADIR%%/dvb-s/AMC-11-131.0W
%%DATADIR%%/dvb-s/AMC-15-&-EchoStar-105SES-11-105.0W
%%DATADIR%%/dvb-s/AMC-15-105.0W
-%%DATADIR%%/dvb-s/AMC-21-&-Galaxy-30-125.0W
-%%DATADIR%%/dvb-s/AMC-21-124.9W
%%DATADIR%%/dvb-s/AMC-6-139.0W
-%%DATADIR%%/dvb-s/Africasat-1a-46.0E
%%DATADIR%%/dvb-s/Al-Yah-1-52.5E
%%DATADIR%%/dvb-s/Alcomsat-1-24.8W
%%DATADIR%%/dvb-s/Amazonas-2-61.0W
@@ -164,11 +160,8 @@
%%DATADIR%%/dvb-s/Astra-3B-23.5E
%%DATADIR%%/dvb-s/Astra-4A-&-SES-5-4.9E
%%DATADIR%%/dvb-s/Astra-4A-4.8E
-%%DATADIR%%/dvb-s/Astra-5B-31.5E
%%DATADIR%%/dvb-s/BRIsat-150.5E
-%%DATADIR%%/dvb-s/Badr-4-26.0E
%%DATADIR%%/dvb-s/Badr-5-26.0E
-%%DATADIR%%/dvb-s/Badr-6-26.0E
%%DATADIR%%/dvb-s/Badr-7-26.0E
%%DATADIR%%/dvb-s/Bangabandhu-1-119.1E
%%DATADIR%%/dvb-s/Belintersat-1-51.5E
@@ -176,20 +169,13 @@
%%DATADIR%%/dvb-s/ChinaSat-10-110.5E
%%DATADIR%%/dvb-s/ChinaSat-11-98.0E
%%DATADIR%%/dvb-s/ChinaSat-12-87.5E
-%%DATADIR%%/dvb-s/ChinaSat-6A-125.0E
-%%DATADIR%%/dvb-s/ChinaSat-6B-115.5E
-%%DATADIR%%/dvb-s/ChinaSat-6C-130.0E
-%%DATADIR%%/dvb-s/Ciel-2-&-SES-15-129.0W
-%%DATADIR%%/dvb-s/Ciel-2-129.0W
%%DATADIR%%/dvb-s/EchoStar-10-110.0W
%%DATADIR%%/dvb-s/EchoStar-105SES-11-105.0W
%%DATADIR%%/dvb-s/EchoStar-11-110.0W
%%DATADIR%%/dvb-s/EchoStar-14-119.0W
%%DATADIR%%/dvb-s/EchoStar-16-61.5W
-%%DATADIR%%/dvb-s/EchoStar-9Galaxy-23-121.0W
%%DATADIR%%/dvb-s/Es'hail-1-25.5E
%%DATADIR%%/dvb-s/Es'hail-2-25.8E
-%%DATADIR%%/dvb-s/Eutelsat-10A-10.0E
%%DATADIR%%/dvb-s/Eutelsat-113-West-A-113.0W
%%DATADIR%%/dvb-s/Eutelsat-115-West-B-114.9W
%%DATADIR%%/dvb-s/Eutelsat-117-West-A-116.8W
@@ -198,15 +184,11 @@
%%DATADIR%%/dvb-s/Eutelsat-16A-16.0E
%%DATADIR%%/dvb-s/Eutelsat-172B-172.0E
%%DATADIR%%/dvb-s/Eutelsat-21B-21.5E
-%%DATADIR%%/dvb-s/Eutelsat-33E-&-Intelsat-28-33.0E
-%%DATADIR%%/dvb-s/Eutelsat-33E-33.0E
%%DATADIR%%/dvb-s/Eutelsat-36B-&-Express-AMU1-36.0E
%%DATADIR%%/dvb-s/Eutelsat-36B-35.9E
%%DATADIR%%/dvb-s/Eutelsat-3B-&-Rascom-QAF-1R-3.0E
%%DATADIR%%/dvb-s/Eutelsat-3B-3.1E
-%%DATADIR%%/dvb-s/Eutelsat-5-West-A-5.0W
%%DATADIR%%/dvb-s/Eutelsat-5-West-B-5.0W
-%%DATADIR%%/dvb-s/Eutelsat-65-West-A-65.0W
%%DATADIR%%/dvb-s/Eutelsat-7-West-A-7.3W
%%DATADIR%%/dvb-s/Eutelsat-70B-70.5E
%%DATADIR%%/dvb-s/Eutelsat-7B-7.0E
@@ -228,28 +210,19 @@
%%DATADIR%%/dvb-s/Express-AT1-56.0E
%%DATADIR%%/dvb-s/Express-AT2-140.0E
%%DATADIR%%/dvb-s/G-Sat-10-83.0E
-%%DATADIR%%/dvb-s/G-Sat-1030-83.0E
%%DATADIR%%/dvb-s/G-Sat-15-93.5E
%%DATADIR%%/dvb-s/G-Sat-1517-93.5E
-%%DATADIR%%/dvb-s/G-Sat-16-55.0E
%%DATADIR%%/dvb-s/G-Sat-17-93.5E
%%DATADIR%%/dvb-s/G-Sat-18-74.0E
%%DATADIR%%/dvb-s/G-Sat-30-83.0E
%%DATADIR%%/dvb-s/G-Sat-8-55.0E
-%%DATADIR%%/dvb-s/G-Sat-816-&-Yamal-402-55.0E
%%DATADIR%%/dvb-s/G-Sat-9-97.3E
-%%DATADIR%%/dvb-s/Galaxy-13Horizons-1-127.0W
-%%DATADIR%%/dvb-s/Galaxy-15-133.0W
%%DATADIR%%/dvb-s/Galaxy-16-&-T11T14-99.2W
%%DATADIR%%/dvb-s/Galaxy-16-99.0W
-%%DATADIR%%/dvb-s/Galaxy-17-&-Nimiq-6-91.0W
-%%DATADIR%%/dvb-s/Galaxy-17-91.0W
%%DATADIR%%/dvb-s/Galaxy-18-123.0W
%%DATADIR%%/dvb-s/Galaxy-19-97.0W
%%DATADIR%%/dvb-s/Galaxy-28-89.0W
%%DATADIR%%/dvb-s/Galaxy-30-125.0W
-%%DATADIR%%/dvb-s/Galaxy-3C-&-Spaceway-3-&-Intelsat-3031-95.0W
-%%DATADIR%%/dvb-s/Galaxy-3C-95.0W
%%DATADIR%%/dvb-s/Hellas-Sat-3-39.0E
%%DATADIR%%/dvb-s/Hellas-Sat-34-39.0E
%%DATADIR%%/dvb-s/Hellas-Sat-4-39.0E
@@ -257,17 +230,10 @@
%%DATADIR%%/dvb-s/Hispasat-30W-530W-6-30.0W
%%DATADIR%%/dvb-s/Hispasat-30W-6-30.0W
%%DATADIR%%/dvb-s/Hispasat-74W-1-73.9W
-%%DATADIR%%/dvb-s/Horizons-2-&-Intelsat-15-85.0E
-%%DATADIR%%/dvb-s/Horizons-2-84.8E
%%DATADIR%%/dvb-s/Horizons-3e-169.0E
-%%DATADIR%%/dvb-s/Hotbird-13B-13.0E
-%%DATADIR%%/dvb-s/Hotbird-13C-13.0E
-%%DATADIR%%/dvb-s/Hotbird-13E-13.0E
%%DATADIR%%/dvb-s/Intelsat-10-02-1.0W
%%DATADIR%%/dvb-s/Intelsat-11-&-Sky-Brasil-1-43.1W
-%%DATADIR%%/dvb-s/Intelsat-11-43.1W
%%DATADIR%%/dvb-s/Intelsat-14-45.0W
-%%DATADIR%%/dvb-s/Intelsat-15-85.2E
%%DATADIR%%/dvb-s/Intelsat-17-66.0E
%%DATADIR%%/dvb-s/Intelsat-18-180.0E
%%DATADIR%%/dvb-s/Intelsat-19-166.0E
@@ -276,19 +242,14 @@
%%DATADIR%%/dvb-s/Intelsat-21-58.0W
%%DATADIR%%/dvb-s/Intelsat-22-72.1E
%%DATADIR%%/dvb-s/Intelsat-23-53.0W
-%%DATADIR%%/dvb-s/Intelsat-25-31.5W
%%DATADIR%%/dvb-s/Intelsat-28-32.9E
%%DATADIR%%/dvb-s/Intelsat-33e-60.0E
%%DATADIR%%/dvb-s/Intelsat-34-55.5W
%%DATADIR%%/dvb-s/Intelsat-35e-34.5W
%%DATADIR%%/dvb-s/Intelsat-36-68.5E
%%DATADIR%%/dvb-s/Intelsat-37e-18.0W
-%%DATADIR%%/dvb-s/Intelsat-38-45.1E
%%DATADIR%%/dvb-s/Intelsat-39-62.0E
%%DATADIR%%/dvb-s/Intelsat-901-27.5W
-%%DATADIR%%/dvb-s/Intelsat-905-&-Alcomsat-1-24.5W
-%%DATADIR%%/dvb-s/Intelsat-905-24.5W
-%%DATADIR%%/dvb-s/Intelsat-906-64.2E
%%DATADIR%%/dvb-s/JCSAT-2B-154.0E
%%DATADIR%%/dvb-s/JCSAT-3A-128.0E
%%DATADIR%%/dvb-s/JCSAT-4B-124.0E
@@ -303,25 +264,20 @@
%%DATADIR%%/dvb-s/Koreasat-67-116.0E
%%DATADIR%%/dvb-s/Koreasat-7-116.0E
%%DATADIR%%/dvb-s/LaoSat-1-128.5E
-%%DATADIR%%/dvb-s/Measat-3-91.5E
%%DATADIR%%/dvb-s/Measat-3a-91.4E
%%DATADIR%%/dvb-s/Measat-3b-91.5E
%%DATADIR%%/dvb-s/NSS-10-&-Telstar-11N-37.5W
%%DATADIR%%/dvb-s/NSS-10-37.4W
%%DATADIR%%/dvb-s/NSS-12-57.0E
-%%DATADIR%%/dvb-s/NSS-5-50.5E
%%DATADIR%%/dvb-s/NSS-7-20.0W
%%DATADIR%%/dvb-s/NSS-9-177.0W
%%DATADIR%%/dvb-s/NigComSat-1R-42.5E
-%%DATADIR%%/dvb-s/Nilesat-201-&-Eutelsat-7-West-A-7.0W
%%DATADIR%%/dvb-s/Nilesat-201-7.0W
%%DATADIR%%/dvb-s/Nimiq-4-82.0W
%%DATADIR%%/dvb-s/Nimiq-5-72.7W
%%DATADIR%%/dvb-s/Nimiq-6-91.1W
%%DATADIR%%/dvb-s/Nusantara-Satu-146.0E
%%DATADIR%%/dvb-s/Optus-10-156.0E
-%%DATADIR%%/dvb-s/Optus-D1-160.0E
-%%DATADIR%%/dvb-s/Optus-D2-152.0E
%%DATADIR%%/dvb-s/Optus-D3-156.0E
%%DATADIR%%/dvb-s/Optus-D310-156.0E
%%DATADIR%%/dvb-s/Paksat-1R-38.0E
@@ -346,16 +302,11 @@
%%DATADIR%%/dvb-s/ST-2-88.0E
%%DATADIR%%/dvb-s/Sky-Brasil-1-43.1W
%%DATADIR%%/dvb-s/Sky-Mexico-1-78.8W
-%%DATADIR%%/dvb-s/Star-One-C1-&-Eutelsat-65-West-A-65.0W
-%%DATADIR%%/dvb-s/Star-One-C1-65.0W
-%%DATADIR%%/dvb-s/Star-One-C2-70.0W
-%%DATADIR%%/dvb-s/Star-One-C2C4-70.0W
%%DATADIR%%/dvb-s/Star-One-C3-75.0W
%%DATADIR%%/dvb-s/Star-One-C4-70.0W
%%DATADIR%%/dvb-s/Star-One-D1-84.0W
%%DATADIR%%/dvb-s/Superbird-B3-162.0E
%%DATADIR%%/dvb-s/Superbird-C2-144.0E
-%%DATADIR%%/dvb-s/T10T12-&-SES-3-103.0W
%%DATADIR%%/dvb-s/T10T12-102.8W
%%DATADIR%%/dvb-s/T5-&-EchoStar-1011-110.0W
%%DATADIR%%/dvb-s/T8-119.0W
@@ -376,7 +327,6 @@
%%DATADIR%%/dvb-s/Thor-6-0.8W
%%DATADIR%%/dvb-s/Thor-7-0.6W
%%DATADIR%%/dvb-s/Trksat-3A-42.0E
-%%DATADIR%%/dvb-s/Trksat-3A4A-42.0E
%%DATADIR%%/dvb-s/Trksat-4A-42.0E
%%DATADIR%%/dvb-s/Trksat-4B-50.0E
%%DATADIR%%/dvb-s/TurkmenlemMonacoSat-52.0E
@@ -1808,7 +1758,6 @@
%%DATADIR%%/isdb-t/br-ce-Sobral
%%DATADIR%%/isdb-t/br-ce-Taua
%%DATADIR%%/isdb-t/br-ce-Tiangua
-%%DATADIR%%/isdb-t/br-ce-Trairi
%%DATADIR%%/isdb-t/br-ce-Ubajara
%%DATADIR%%/isdb-t/br-ce-Varjota
%%DATADIR%%/isdb-t/br-ce-VicosaDoCeara
@@ -2242,7 +2191,6 @@
%%DATADIR%%/isdb-t/br-mg-SantanaDePirapama
%%DATADIR%%/isdb-t/br-mg-SantanaDoRiacho
%%DATADIR%%/isdb-t/br-mg-SantosDumont
-%%DATADIR%%/isdb-t/br-mg-SaoBrasDeSuacui
%%DATADIR%%/isdb-t/br-mg-SaoFrancisco
%%DATADIR%%/isdb-t/br-mg-SaoFranciscoDeSales
%%DATADIR%%/isdb-t/br-mg-SaoGoncaloDoPara
@@ -2946,7 +2894,6 @@
%%DATADIR%%/isdb-t/br-rn-DoutorSeveriano
%%DATADIR%%/isdb-t/br-rn-EspiritoSanto
%%DATADIR%%/isdb-t/br-rn-Extremoz
-%%DATADIR%%/isdb-t/br-rn-Florania
%%DATADIR%%/isdb-t/br-rn-Goianinha
%%DATADIR%%/isdb-t/br-rn-Grossos
%%DATADIR%%/isdb-t/br-rn-IelmoMarinho
@@ -3364,7 +3311,6 @@
%%DATADIR%%/isdb-t/br-se-Ribeiropolis
%%DATADIR%%/isdb-t/br-se-RosarioDoCatete
%%DATADIR%%/isdb-t/br-se-Salgado
-%%DATADIR%%/isdb-t/br-se-SantaLuziaDoIntanhy
%%DATADIR%%/isdb-t/br-se-SantoAmaroDasBrotas
%%DATADIR%%/isdb-t/br-se-SaoCristovao
%%DATADIR%%/isdb-t/br-se-SaoDomingos
diff --git a/multimedia/dumpmpeg/Makefile b/multimedia/dumpmpeg/Makefile
index 6b9b88be731f..fbc10e12f369 100644
--- a/multimedia/dumpmpeg/Makefile
+++ b/multimedia/dumpmpeg/Makefile
@@ -1,8 +1,6 @@
-# Created by: ijliao
-
PORTNAME= dumpmpeg
PORTVERSION= 0.6
-PORTREVISION= 9
+PORTREVISION= 11
CATEGORIES= multimedia graphics
MASTER_SITES= SF
@@ -13,9 +11,10 @@ LIB_DEPENDS= libsmpeg.so:multimedia/smpeg
USES= sdl
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_SDL= sdl
PLIST_FILES= bin/dumpmpeg \
- man/man1/dumpmpeg.1.gz
+ share/man/man1/dumpmpeg.1.gz
.include <bsd.port.mk>
diff --git a/multimedia/dv2sub/Makefile b/multimedia/dv2sub/Makefile
index df120934e303..9c5bcc786c54 100644
--- a/multimedia/dv2sub/Makefile
+++ b/multimedia/dv2sub/Makefile
@@ -1,20 +1,20 @@
-# Created by: Phil Oleson
-
PORTNAME= dv2sub
PORTVERSION= 0.3
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= multimedia
MASTER_SITES= SF
MAINTAINER= oz@nixil.net
COMMENT= Extracts info or subtitles from DV stream
+WWW= https://dv2sub.sourceforge.net/
LIB_DEPENDS= libdv.so:multimedia/libdv
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USES= pkgconfig
-PLIST_FILES= bin/dv2sub man/man1/dv2sub.1.gz
+PLIST_FILES= bin/dv2sub share/man/man1/dv2sub.1.gz
post-patch:
@${REINPLACE_CMD} -e 's/void foo(void)//' ${WRKSRC}/configure
diff --git a/multimedia/dv2sub/pkg-descr b/multimedia/dv2sub/pkg-descr
index 8edddd11004d..c14cd93f1ad6 100644
--- a/multimedia/dv2sub/pkg-descr
+++ b/multimedia/dv2sub/pkg-descr
@@ -5,5 +5,3 @@ It can also display useful information about the dv stream, like video norm
(PAL/NTSC), aspect ratio normal (4:3) or wide (16:9), interlaced or
progressive material, number of audio channels, audio sampling frequency,
number of audio samples, timestamp and recording date & time.
-
-WWW: http://dv2sub.sourceforge.net/
diff --git a/multimedia/dvb-apps/Makefile b/multimedia/dvb-apps/Makefile
index 4f51cd7aee34..6984f0a8e015 100644
--- a/multimedia/dvb-apps/Makefile
+++ b/multimedia/dvb-apps/Makefile
@@ -7,6 +7,7 @@ DISTNAME= ${PORTNAME}-3d43b280298c
MAINTAINER= decke@FreeBSD.org
COMMENT= Linux DVB API applications and utilities
+WWW= https://linuxtv.org/hg/dvb-apps/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING.LGPL
diff --git a/multimedia/dvb-apps/pkg-descr b/multimedia/dvb-apps/pkg-descr
index e24450176858..a23f60234cff 100644
--- a/multimedia/dvb-apps/pkg-descr
+++ b/multimedia/dvb-apps/pkg-descr
@@ -30,5 +30,3 @@ lib/libdvben50221- Complete implementation of a Cenelec EN 50221 CAM stack.
lib/libdvbmisc - Miscellaneous utilities used by the other libraries.
Various testing applications also live in test.
-
-WWW: https://linuxtv.org/hg/dvb-apps/
diff --git a/multimedia/dvbcut/Makefile b/multimedia/dvbcut/Makefile
index cfb9b4277ecd..4a6b1def9874 100644
--- a/multimedia/dvbcut/Makefile
+++ b/multimedia/dvbcut/Makefile
@@ -1,13 +1,12 @@
-# Created by: se@FreeBSD.org
-
PORTNAME= dvbcut
-PORTVERSION= 0.7.3
+PORTVERSION= 0.7.4
DISTVERSIONPREFIX= v
-PORTREVISION= 7
+PORTREVISION= 6
CATEGORIES= multimedia
MAINTAINER= se@FreeBSD.org
COMMENT= Qt application for cutting of MPEG PS and MPEG TS streams (DVB)
+WWW= https://github.com/bernhardu/dvbcut-deb/
LICENSE= GPLv2
@@ -22,11 +21,12 @@ RUN_DEPENDS:= ${BUILD_DEPENDS}
USES= compiler:c++11-lang desktop-file-utils gl pkgconfig \
qmake:outsource qt:5 shared-mime-info
-USE_QT= core gui widgets xml buildtools_build linguisttools_build
+USE_QT= core gui widgets xml buildtools:build linguisttools:build
USE_GL= gl
USE_GITHUB= yes
GH_ACCOUNT= bernhardu
GH_PROJECT= dvbcut-deb
+GH_TAGNAME= d7c8fad
CXXFLAGS+= -I${LOCALBASE}/include \
-I${LOCALBASE}/include/libavcodec \
@@ -46,7 +46,7 @@ post-build:
do-install:
${INSTALL_PROGRAM} ${WRKDIR}/.build/dvbcut ${STAGEDIR}${PREFIX}/bin/
- ${INSTALL_MAN} ${WRKSRC}/dvbcut.1 ${STAGEDIR}${MANPREFIX}/man/man1/
+ ${INSTALL_MAN} ${WRKSRC}/dvbcut.1 ${STAGEDIR}${PREFIX}/share/man/man1/
${MKDIR} ${STAGEDIR}${PREFIX}/share/applications
${INSTALL_DATA} ${WRKSRC}/dvbcut.desktop ${STAGEDIR}${PREFIX}/share/applications/
${MKDIR} ${STAGEDIR}${PREFIX}/share/dvbcut/icons/
diff --git a/multimedia/dvbcut/distinfo b/multimedia/dvbcut/distinfo
index 7913c4c3c5d5..a8d3508376c3 100644
--- a/multimedia/dvbcut/distinfo
+++ b/multimedia/dvbcut/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1535900281
-SHA256 (bernhardu-dvbcut-deb-v0.7.3_GH0.tar.gz) = c0397919e89bd3a77f488b8c25d3bad9a11f14cd30d16097c3bf666bc3f56d7b
-SIZE (bernhardu-dvbcut-deb-v0.7.3_GH0.tar.gz) = 186547
+TIMESTAMP = 1676714313
+SHA256 (bernhardu-dvbcut-deb-v0.7.4-d7c8fad_GH0.tar.gz) = 5c5c17ab235dd1568c7e1ab1e43e6c1d9f94db5dbfb0beeaf609ec81d92cd1e4
+SIZE (bernhardu-dvbcut-deb-v0.7.4-d7c8fad_GH0.tar.gz) = 198570
diff --git a/multimedia/dvbcut/files/patch-src_dvbcut.cpp b/multimedia/dvbcut/files/patch-src_dvbcut.cpp
deleted file mode 100644
index e6ec53e07830..000000000000
--- a/multimedia/dvbcut/files/patch-src_dvbcut.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
---- src/dvbcut.cpp.orig 2016-11-18 13:31:01 UTC
-+++ src/dvbcut.cpp
-@@ -580,7 +580,7 @@ void dvbcut::fileExport()
- }
- }
-
-- std::unique_ptr<exportdialog> expd(new exportdialog(QString::fromStdString(expfilen),this));
-+ std::auto_ptr<exportdialog> expd(new exportdialog(QString::fromStdString(expfilen),this));
- expd->ui->muxercombo->addItem(tr("MPEG program stream/DVD (DVBCUT multiplexer)"));
- expd->ui->muxercombo->addItem(tr("MPEG program stream (DVBCUT multiplexer)"));
- expd->ui->muxercombo->addItem(tr("MPEG program stream/DVD (libavformat)"));
-@@ -725,7 +725,7 @@ void dvbcut::fileExport()
-
- // lavfmuxer mux(fmt,*mpg,outfilename);
-
-- std::unique_ptr<muxer> mux;
-+ std::auto_ptr<muxer> mux;
- uint32_t audiostreammask(0);
-
- for(int a=0;a<mpg->getaudiostreams();++a)
-@@ -737,17 +737,17 @@ void dvbcut::fileExport()
-
- switch(expfmt) {
- case 1:
-- mux = std::unique_ptr<muxer>(new mpegmuxer(audiostreammask,*mpg,out_file.c_str(),false,0));
-+ mux = std::auto_ptr<muxer>(new mpegmuxer(audiostreammask,*mpg,out_file.c_str(),false,0));
- break;
- case 2:
-- mux = std::unique_ptr<muxer>(new lavfmuxer("dvd",audiostreammask,*mpg,out_file.c_str()));
-+ mux = std::auto_ptr<muxer>(new lavfmuxer("dvd",audiostreammask,*mpg,out_file.c_str()));
- break;
- case 3:
-- mux = std::unique_ptr<muxer>(new lavfmuxer("mpegts",audiostreammask,*mpg,out_file.c_str()));
-+ mux = std::auto_ptr<muxer>(new lavfmuxer("mpegts",audiostreammask,*mpg,out_file.c_str()));
- break;
- case 0:
- default:
-- mux = std::unique_ptr<muxer>(new mpegmuxer(audiostreammask,*mpg,out_file.c_str()));
-+ mux = std::auto_ptr<muxer>(new mpegmuxer(audiostreammask,*mpg,out_file.c_str()));
- break;
- }
-
diff --git a/multimedia/dvbcut/files/patch-src_dvbcut.pro b/multimedia/dvbcut/files/patch-src_dvbcut.pro
deleted file mode 100644
index e5f2540f027a..000000000000
--- a/multimedia/dvbcut/files/patch-src_dvbcut.pro
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/dvbcut.pro.orig 2018-08-19 23:08:52 UTC
-+++ src/dvbcut.pro
-@@ -112,9 +112,9 @@ system(pkg-config --exists ao) {
- PKGCONFIG += ao
- } else { error(Please install development package libao-dev) }
-
--system(pkg-config --exists mad) {
-+system(pkg-config --exists libmad) {
- QMAKE_CXXFLAGS += -DHAVE_LIB_MAD
-- PKGCONFIG += mad
-+ PKGCONFIG += libmad
- } else { error(Please install development package libmad0-dev) }
-
- QMAKE_CXXFLAGS += -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D_FILE_OFFSET_BITS=64
diff --git a/multimedia/dvbcut/files/patch-src_index.h b/multimedia/dvbcut/files/patch-src_index.h
deleted file mode 100644
index 6507b53b94ea..000000000000
--- a/multimedia/dvbcut/files/patch-src_index.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- src/index.h.orig 2016-11-18 13:31:01 UTC
-+++ src/index.h
-@@ -22,7 +22,9 @@
- #define _DVBCUT_INDEX_H
-
- #include <stdint.h>
-+#ifndef __FreeBSD__
- #include <byteswap.h>
-+#endif
- #include <set>
- #include <vector>
- #include "types.h"
diff --git a/multimedia/dvbcut/pkg-descr b/multimedia/dvbcut/pkg-descr
index 02b9a9310053..ada425c28ce9 100644
--- a/multimedia/dvbcut/pkg-descr
+++ b/multimedia/dvbcut/pkg-descr
@@ -4,5 +4,3 @@ save these parts into a single MPEG output file. It follows a "keyhole
surgery" approach. Thus, the input video and audio data is mostly kept
unchanged, only very few frames at the beginning and/or end of the selected
range are recoded in order to obtain a valid MPEG file.
-
-WWW: https://github.com/bernhardu/dvbcut-deb/
diff --git a/multimedia/dvbcut/pkg-plist b/multimedia/dvbcut/pkg-plist
index dd74e77da77e..a60243d83580 100644
--- a/multimedia/dvbcut/pkg-plist
+++ b/multimedia/dvbcut/pkg-plist
@@ -11,4 +11,4 @@ share/dvbcut/icons/play.png
share/dvbcut/icons/bookmark.svgz
share/dvbcut/icons/chapter.png
share/dvbcut/icons/stop.svgz
-man/man1/dvbcut.1.gz
+share/man/man1/dvbcut.1.gz
diff --git a/multimedia/dvbsnoop/Makefile b/multimedia/dvbsnoop/Makefile
index fbc0e74774c1..b0131321a737 100644
--- a/multimedia/dvbsnoop/Makefile
+++ b/multimedia/dvbsnoop/Makefile
@@ -1,21 +1,22 @@
-# Created by: J.R. Oldroyd <fbsd@opal.com>
-
PORTNAME= dvbsnoop
PORTVERSION= 1.4.50
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}
MAINTAINER= fbsd@opal.com
COMMENT= DVB stream analyzer / MPEG analyzer
+WWW= https://dvbsnoop.sourceforge.net/
DVB_HEADERS= dmx.h frontend.h
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CFLAGS+= -I${WRKSRC}
USES= gmake
PLIST_FILES= bin/${PORTNAME} \
- man/man1/dvbsnoop.1.gz
+ share/man/man1/dvbsnoop.1.gz
.include <bsd.port.pre.mk>
diff --git a/multimedia/dvbsnoop/pkg-descr b/multimedia/dvbsnoop/pkg-descr
index b5d81ba34431..e30df91c7fe0 100644
--- a/multimedia/dvbsnoop/pkg-descr
+++ b/multimedia/dvbsnoop/pkg-descr
@@ -4,5 +4,3 @@ streams.
DVBsnoop is a program to monitor, analyze, debug, dump or view
dvb/mpeg/dsm-cc/mhp stream information (TS, PES, SECTION) (e.g.
digital television) send via satellite, cable or terrestrial.
-
-WWW: http://dvbsnoop.sourceforge.net/
diff --git a/multimedia/dvd-slideshow/Makefile b/multimedia/dvd-slideshow/Makefile
index beb0506738bc..748f10520749 100644
--- a/multimedia/dvd-slideshow/Makefile
+++ b/multimedia/dvd-slideshow/Makefile
@@ -1,17 +1,17 @@
-# Created by: Phil Oleson <oz@nixil.net>
-
PORTNAME= dvd-slideshow
-PORTVERSION= 0.8.4
-DISTVERSIONSUFFIX= -2
-PORTREVISION= 9
+DISTVERSION= 0.8.6-1
CATEGORIES= multimedia
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION}${DISTVERSIONSUFFIX} \
- SF/${PORTNAME}/${PORTNAME}-themes/${THEMEVERSION}-1:themes
+MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTVERSION} \
+ SF/${PORTNAME}/${PORTNAME}-themes/${THEMEVERSION}:themes
DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
-THEMEVERSION= 0.8.4
+THEMEVERSION= 0.8.4-1
MAINTAINER= oz@nixil.net
COMMENT= Script to create slideshow-style DVD with some simple menus
+WWW= https://dvd-slideshow.sourceforge.net/
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING.txt
RUN_DEPENDS= bash:shells/bash \
mpeg2enc:multimedia/mjpegtools \
@@ -29,31 +29,24 @@ NO_BUILD= yes
DATADIR= ${PREFIX}/share/apps/${PORTNAME}
OPTIONS_DEFINE= DOCS LAME THEMES TOOLAME VORBIS
+OPTIONS_SUB= yes
+
THEMES_DESC= Install optional themes
LAME_RUN_DEPENDS= lame:audio/lame
-VORBIS_RUN_DEPENDS= oggdec:audio/vorbis-tools
+THEMES_DISTFILES= ${PORTNAME}-themes-${THEMEVERSION}${EXTRACT_SUFX}:themes
TOOLAME_RUN_DEPENDS= toolame:audio/toolame
+VORBIS_RUN_DEPENDS= oggdec:audio/vorbis-tools
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MTHEMES}
-DISTFILES+= ${PORTNAME}-themes-${THEMEVERSION}-1${EXTRACT_SUFX}:themes
-WRKSRC2= ${WRKDIR}/${PORTNAME}-themes-${THEMEVERSION}-1
-PLIST_SUB+= NOTHEMES=""
-.else
-PLIST_SUB+= NOTHEMES="@comment "
-.endif
+WRKSRC2= ${WRKDIR}/${PORTNAME}-themes-${THEMEVERSION}
post-patch:
.for f in dvd-slideshow dvd-menu dir2slideshow gallery1-to-slideshow jigl2slideshow
@${REINPLACE_CMD} -e 's|!/bin/bash|!${PREFIX}/bin/bash|g ; \
s|/usr/share/fonts/|${LOCALBASE}/share/fonts/|g ; \
s|seq |seq2 |g' ${WRKSRC}/${f}
-. if ${PORT_OPTIONS:MTHEMES}
@${REINPLACE_CMD} -e 's|/opt/dvd-slideshow/themes|${DATADIR}/themes|g' \
${WRKSRC}/${f}
-. endif
.endfor
do-install:
@@ -61,17 +54,17 @@ do-install:
${INSTALL_SCRIPT} ${WRKSRC}/${s} ${STAGEDIR}${PREFIX}/bin
.endfor
.for m in dvd-slideshow dvd-menu dir2slideshow gallery1-to-slideshow jigl2slideshow
- ${INSTALL_MAN} ${WRKSRC}/man/${m}.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/man/${m}.1 ${STAGEDIR}${PREFIX}/share/man/man1
.endfor
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/dvd-slideshowrc ${STAGEDIR}${DOCSDIR}
.for d in changelog gallery1-to-slideshow dir2slideshow jigl2slideshow dvd-menu dvd-slideshow
${INSTALL_DATA} ${WRKSRC}/doc/${d}.html ${STAGEDIR}${DOCSDIR}
.endfor
-.if ${PORT_OPTIONS:MTHEMES}
+
+do-install-THEMES-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/themes
cd ${WRKSRC2} && ${FIND} . | ${CPIO} -dpmu -R ${BINOWN}:${BINGRP} \
--quiet ${STAGEDIR}${DATADIR}/themes
-.endif
.include <bsd.port.mk>
diff --git a/multimedia/dvd-slideshow/distinfo b/multimedia/dvd-slideshow/distinfo
index 9ae838cdf7a8..7563e65af572 100644
--- a/multimedia/dvd-slideshow/distinfo
+++ b/multimedia/dvd-slideshow/distinfo
@@ -1,4 +1,5 @@
-SHA256 (dvd-slideshow-0.8.4-2.tar.gz) = 0587cbe4b39b415aec232ada3213b4352c3b9eecec82a64594f1deb8b14a809d
-SIZE (dvd-slideshow-0.8.4-2.tar.gz) = 162905
+TIMESTAMP = 1705047640
+SHA256 (dvd-slideshow-0.8.6-1.tar.gz) = 3424f53ac76a6bc2209f58d8f6995af589a804be9585ac4cde66592c7124acfc
+SIZE (dvd-slideshow-0.8.6-1.tar.gz) = 166490
SHA256 (dvd-slideshow-themes-0.8.4-1.tar.gz) = 3a929836c9a4afbb3b134718ea548d0f562f48c52d0026ff7bc1b99bebc4d5a1
SIZE (dvd-slideshow-themes-0.8.4-1.tar.gz) = 1225865
diff --git a/multimedia/dvd-slideshow/pkg-descr b/multimedia/dvd-slideshow/pkg-descr
index 288a98ce3c1c..3d7f91dfd6c1 100644
--- a/multimedia/dvd-slideshow/pkg-descr
+++ b/multimedia/dvd-slideshow/pkg-descr
@@ -1,3 +1 @@
Script that creates a slideshow-style DVD with some simple menus.
-
-WWW: http://dvd-slideshow.sourceforge.net/
diff --git a/multimedia/dvd-slideshow/pkg-plist b/multimedia/dvd-slideshow/pkg-plist
index 4390d4a1f80e..e309086a6d7b 100644
--- a/multimedia/dvd-slideshow/pkg-plist
+++ b/multimedia/dvd-slideshow/pkg-plist
@@ -3,11 +3,11 @@ bin/dvd-menu
bin/dir2slideshow
bin/gallery1-to-slideshow
bin/jigl2slideshow
-man/man1/dir2slideshow.1.gz
-man/man1/dvd-menu.1.gz
-man/man1/dvd-slideshow.1.gz
-man/man1/gallery1-to-slideshow.1.gz
-man/man1/jigl2slideshow.1.gz
+share/man/man1/dir2slideshow.1.gz
+share/man/man1/dvd-menu.1.gz
+share/man/man1/dvd-slideshow.1.gz
+share/man/man1/gallery1-to-slideshow.1.gz
+share/man/man1/jigl2slideshow.1.gz
%%PORTDOCS%%%%DOCSDIR%%/changelog.html
%%PORTDOCS%%%%DOCSDIR%%/gallery1-to-slideshow.html
%%PORTDOCS%%%%DOCSDIR%%/dir2slideshow.html
@@ -15,50 +15,50 @@ man/man1/jigl2slideshow.1.gz
%%PORTDOCS%%%%DOCSDIR%%/dvd-menu.html
%%PORTDOCS%%%%DOCSDIR%%/dvd-slideshow.html
%%PORTDOCS%%%%DOCSDIR%%/dvd-slideshowrc
-%%NOTHEMES%%%%DATADIR%%/themes/themes.readme.txt
-%%NOTHEMES%%%%DATADIR%%/themes/babyblue/thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/babyblue/bip.ttf
-%%NOTHEMES%%%%DATADIR%%/themes/babyblue/slide_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/babyblue/bip.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/babyblue/babyblue.dvd-slideshow.theme
-%%NOTHEMES%%%%DATADIR%%/themes/babyblue/title_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/babypink/thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/babypink/bip.ttf
-%%NOTHEMES%%%%DATADIR%%/themes/babypink/slide_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/babypink/bip.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/babypink/title_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/babypink/babypink.dvd-slideshow.theme
-%%NOTHEMES%%%%DATADIR%%/themes/default/thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/default/slide_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/default/title_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/default/default.dvd-slideshow.theme
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/journal.ttf
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/slide_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/journal.ttf.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/title_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/dinner.readme.txt
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/dinner_plate_menu.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/dinner_plate_menu.jpg.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/tablecloth.jpg.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/dinner.dvd-slideshow.theme
-%%NOTHEMES%%%%DATADIR%%/themes/dinner/tablecloth.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/travel/thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/travel/journal.ttf
-%%NOTHEMES%%%%DATADIR%%/themes/travel/america_map.jpg.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/travel/travel.readme.txt
-%%NOTHEMES%%%%DATADIR%%/themes/travel/parchment.jpg.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/travel/america_map.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/travel/slide_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/travel/journal.ttf.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/travel/title_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/travel/travel.dvd-slideshow.theme
-%%NOTHEMES%%%%DATADIR%%/themes/travel/parchment.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/journal.ttf
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/wedding_table_sepia.jpg.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/wedding_table_sepia.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/wedding.dvd-slideshow.theme
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/slide_thumbnail.jpg
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/journal.ttf.license.txt
-%%NOTHEMES%%%%DATADIR%%/themes/wedding/title_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/themes.readme.txt
+%%THEMES%%%%DATADIR%%/themes/babyblue/thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/babyblue/bip.ttf
+%%THEMES%%%%DATADIR%%/themes/babyblue/slide_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/babyblue/bip.license.txt
+%%THEMES%%%%DATADIR%%/themes/babyblue/babyblue.dvd-slideshow.theme
+%%THEMES%%%%DATADIR%%/themes/babyblue/title_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/babypink/thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/babypink/bip.ttf
+%%THEMES%%%%DATADIR%%/themes/babypink/slide_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/babypink/bip.license.txt
+%%THEMES%%%%DATADIR%%/themes/babypink/title_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/babypink/babypink.dvd-slideshow.theme
+%%THEMES%%%%DATADIR%%/themes/default/thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/default/slide_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/default/title_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/default/default.dvd-slideshow.theme
+%%THEMES%%%%DATADIR%%/themes/dinner/thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/dinner/journal.ttf
+%%THEMES%%%%DATADIR%%/themes/dinner/slide_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/dinner/journal.ttf.license.txt
+%%THEMES%%%%DATADIR%%/themes/dinner/title_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/dinner/dinner.readme.txt
+%%THEMES%%%%DATADIR%%/themes/dinner/dinner_plate_menu.jpg
+%%THEMES%%%%DATADIR%%/themes/dinner/dinner_plate_menu.jpg.license.txt
+%%THEMES%%%%DATADIR%%/themes/dinner/tablecloth.jpg.license.txt
+%%THEMES%%%%DATADIR%%/themes/dinner/dinner.dvd-slideshow.theme
+%%THEMES%%%%DATADIR%%/themes/dinner/tablecloth.jpg
+%%THEMES%%%%DATADIR%%/themes/travel/thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/travel/journal.ttf
+%%THEMES%%%%DATADIR%%/themes/travel/america_map.jpg.license.txt
+%%THEMES%%%%DATADIR%%/themes/travel/travel.readme.txt
+%%THEMES%%%%DATADIR%%/themes/travel/parchment.jpg.license.txt
+%%THEMES%%%%DATADIR%%/themes/travel/america_map.jpg
+%%THEMES%%%%DATADIR%%/themes/travel/slide_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/travel/journal.ttf.license.txt
+%%THEMES%%%%DATADIR%%/themes/travel/title_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/travel/travel.dvd-slideshow.theme
+%%THEMES%%%%DATADIR%%/themes/travel/parchment.jpg
+%%THEMES%%%%DATADIR%%/themes/wedding/thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/wedding/journal.ttf
+%%THEMES%%%%DATADIR%%/themes/wedding/wedding_table_sepia.jpg.license.txt
+%%THEMES%%%%DATADIR%%/themes/wedding/wedding_table_sepia.jpg
+%%THEMES%%%%DATADIR%%/themes/wedding/wedding.dvd-slideshow.theme
+%%THEMES%%%%DATADIR%%/themes/wedding/slide_thumbnail.jpg
+%%THEMES%%%%DATADIR%%/themes/wedding/journal.ttf.license.txt
+%%THEMES%%%%DATADIR%%/themes/wedding/title_thumbnail.jpg
diff --git a/multimedia/dvdauthor/Makefile b/multimedia/dvdauthor/Makefile
index 69ad9056c3bf..5b83b15d9183 100644
--- a/multimedia/dvdauthor/Makefile
+++ b/multimedia/dvdauthor/Makefile
@@ -1,12 +1,11 @@
-# Created by: pb@FreeBSD.org
-
PORTNAME= dvdauthor
PORTVERSION= 0.7.2.20211105
-PORTREVISION= 2
+PORTREVISION= 4
CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
COMMENT= Makes a DVD file structure from one or more MPEG2 streams
+WWW= https://dvdauthor.sourceforge.net/ https://github.com/ldo/dvdauthor
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -26,6 +25,7 @@ USES= autoreconf:build bison:alias gettext-tools \
gmake gnome iconv localbase pkgconfig
USE_GNOME= libxml2
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
SUB_FILES= README.FreeBSD
diff --git a/multimedia/dvdauthor/pkg-descr b/multimedia/dvdauthor/pkg-descr
index e0aaa384e925..f7da36e4f04f 100644
--- a/multimedia/dvdauthor/pkg-descr
+++ b/multimedia/dvdauthor/pkg-descr
@@ -1,4 +1,2 @@
dvdauthor is a program that will generate a DVD movie from a valid
mpeg2 stream that should play when you put it in a DVD player.
-
-WWW: https://dvdauthor.sourceforge.net/ https://github.com/ldo/dvdauthor
diff --git a/multimedia/dvdauthor/pkg-plist b/multimedia/dvdauthor/pkg-plist
index 64c7cf84405a..dcf953949049 100644
--- a/multimedia/dvdauthor/pkg-plist
+++ b/multimedia/dvdauthor/pkg-plist
@@ -4,13 +4,13 @@ bin/dvdunauthor
bin/mpeg2desc
bin/spumux
bin/spuunmux
-%%MANPAGES%%man/man1/dvdauthor.1.gz
-%%MANPAGES%%man/man1/dvddirdel.1.gz
-%%MANPAGES%%man/man1/dvdunauthor.1.gz
-%%MANPAGES%%man/man1/mpeg2desc.1.gz
-%%MANPAGES%%man/man1/spumux.1.gz
-%%MANPAGES%%man/man1/spuunmux.1.gz
-%%MANPAGES%%man/man7/video_format.7.gz
+%%MANPAGES%%share/man/man1/dvdauthor.1.gz
+%%MANPAGES%%share/man/man1/dvddirdel.1.gz
+%%MANPAGES%%share/man/man1/dvdunauthor.1.gz
+%%MANPAGES%%share/man/man1/mpeg2desc.1.gz
+%%MANPAGES%%share/man/man1/spumux.1.gz
+%%MANPAGES%%share/man/man1/spuunmux.1.gz
+%%MANPAGES%%share/man/man7/video_format.7.gz
%%DATADIR%%/common.xsd
%%DATADIR%%/dvdauthor.xsd
%%DATADIR%%/spumux.xsd
diff --git a/multimedia/dvdid/Makefile b/multimedia/dvdid/Makefile
index 490d63d6ca88..e320e79ea2fd 100644
--- a/multimedia/dvdid/Makefile
+++ b/multimedia/dvdid/Makefile
@@ -1,5 +1,3 @@
-# Created by: Christopher Key <cjk32@cam.ac.uk>
-
PORTNAME= dvdid
PORTVERSION= 0.2.0a
PORTREVISION= 2
@@ -8,6 +6,7 @@ MASTER_SITES= http://dvdid.cjkey.org.uk/
MAINTAINER= ports@FreeBSD.org
COMMENT= Tool for calculating dvdids
+WWW= http://dvdid.cjkey.org.uk/
USES= libtool
GNU_CONFIGURE= yes
diff --git a/multimedia/dvdid/pkg-descr b/multimedia/dvdid/pkg-descr
index 6e4a96f44db8..ae4d8a8aa4f0 100644
--- a/multimedia/dvdid/pkg-descr
+++ b/multimedia/dvdid/pkg-descr
@@ -1,5 +1,3 @@
The dvdid project provides a library and executable for calculating dvdids,
as returned by Windows' IDvdInfo2::GetDiscID() method. It is available as
source code, which should compile on Windows and any POSIX compliant platform.
-
-WWW: http://dvdid.cjkey.org.uk/
diff --git a/multimedia/dvdread/Makefile b/multimedia/dvdread/Makefile
index 77b02cffb461..b1d64870d068 100644
--- a/multimedia/dvdread/Makefile
+++ b/multimedia/dvdread/Makefile
@@ -7,8 +7,9 @@ PATCH_SITES= https://github.com/silum/dvdread/commit/
PATCHFILES= 3bd3e448668b95da784159bf5733b5169831b026.patch:-p1 \
584758674f6e9230a3c30046097db269fb0905e1.patch:-p1
-MAINTAINER= daniel.engberg.lists@pyret.net
+MAINTAINER= diizzy@FreeBSD.org
COMMENT= Utility to create ISO images of encrypted DVDs
+WWW= https://github.com/xrgtn/dvdread
LICENSE= GPLv3
diff --git a/multimedia/dvdread/pkg-descr b/multimedia/dvdread/pkg-descr
index 6ae12360b93b..9564f6189577 100644
--- a/multimedia/dvdread/pkg-descr
+++ b/multimedia/dvdread/pkg-descr
@@ -1,4 +1,2 @@
Command line utility with minimal dependencies that allows you to rip
encrypted DVDs to ISO image.
-
-WWW: https://github.com/xrgtn/dvdread
diff --git a/multimedia/dvdrip/Makefile b/multimedia/dvdrip/Makefile
deleted file mode 100644
index 4f56023429e4..000000000000
--- a/multimedia/dvdrip/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# Created by: Michael Nottebrock <michaelnottebrock@gmx.net>
-
-PORTNAME= dvdrip
-PORTVERSION= 0.98.11
-PORTREVISION= 12
-CATEGORIES= multimedia
-MASTER_SITES= CPAN http://www.exit1.org/dvdrip/dist/
-MASTER_SITE_SUBDIR= CPAN:JRED
-
-MAINTAINER= se@FreeBSD.org
-COMMENT= Perl Gtk+ based dvd-ripper
-
-LICENSE= ART10 GPLv1 # (ART10 or GPLv1) and CC-BY-SA-2.5
-LICENSE_COMB= dual
-
-BUILD_DEPENDS= p5-Gtk2>=0:x11-toolkits/p5-Gtk2 \
- p5-AnyEvent>=0:devel/p5-AnyEvent \
- p5-Event-ExecFlow>=0:devel/p5-Event-ExecFlow \
- p5-Gtk2-Ex-FormFactory>=0:x11-toolkits/p5-Gtk2-Ex-FormFactory \
- p5-Event-RPC>=0:devel/p5-Event-RPC \
- p5-Locale-libintl>=0:devel/p5-Locale-libintl
-RUN_DEPENDS= p5-Gtk2>=0:x11-toolkits/p5-Gtk2 \
- p5-AnyEvent>=0:devel/p5-AnyEvent \
- p5-Event-ExecFlow>=0:devel/p5-Event-ExecFlow \
- p5-Gtk2-Ex-FormFactory>=0:x11-toolkits/p5-Gtk2-Ex-FormFactory \
- p5-Event-RPC>=0:devel/p5-Event-RPC \
- p5-Locale-libintl>=0:devel/p5-Locale-libintl \
- cdrdao:sysutils/cdrdao \
- mplayer:multimedia/mplayer \
- pstree:sysutils/pstree \
- transcode:multimedia/transcode \
- vcdimager:multimedia/vcdimager \
- ${LOCALBASE}/sbin/fping:net/fping \
- cdrecord:sysutils/cdrtools
-
-USES= gettext magick:6,run perl5 shebangfix
-USE_PERL5= configure patch
-
-SHEBANG_FILES= bin/dvdrip*
-CONFIGURE_ENV= SKIP_UNPACK_REQUIRED_MODULES=1
-
-MAKE_JOBS_UNSAFE= yes
-
-OPTIONS_DEFINE= VORBIS SUBTITLE RAR
-OPTIONS_DEFAULT= VORBIS SUBTITLE
-RAR_DESC= Support RAR-compressed vobsub subtitles
-SUBTITLE_DESC= Enable support for getting subtitles
-
-RAR_RUN_DEPENDS= rar:archivers/rar
-SUBTITLE_RUN_DEPENDS= subtitle2pgm:multimedia/subtitleripper
-VORBIS_RUN_DEPENDS= oggenc:audio/vorbis-tools \
- ogmmerge:multimedia/ogmtools
-
-post-patch:
- @${PERL} -pi -e 's#/usr/sbin/fping#${LOCALBASE}/sbin/fping#' \
- ${WRKSRC}/lib/Video/DVDRip/Cluster/Master.pm \
- ${WRKSRC}/lib/Video/DVDRip/Depend.pm
- @${FIND} ${WRKSRC} -name \*.orig -delete
-
-post-install:
-.for f in dvdrip-progress dvdrip-splitpipe
- @${CHMOD} u+w ${STAGEDIR}${PREFIX}/bin/${f}
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${f}
- @${CHMOD} u-w ${STAGEDIR}${PREFIX}/bin/${f}
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/dvdrip/distinfo b/multimedia/dvdrip/distinfo
deleted file mode 100644
index 3c7e3360a90d..000000000000
--- a/multimedia/dvdrip/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1619892059
-SHA256 (dvdrip-0.98.11.tar.gz) = 586c20968b2daa55c0afaaf334d5b9b8b6896d6ea45078a577e165806858c3a5
-SIZE (dvdrip-0.98.11.tar.gz) = 2075302
diff --git a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Cluster__Master.pm b/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Cluster__Master.pm
deleted file mode 100644
index 23bb4b40ec57..000000000000
--- a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Cluster__Master.pm
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/Video/DVDRip/Cluster/Master.pm.orig 2010-04-24 17:21:50.000000000 -0300
-+++ lib/Video/DVDRip/Cluster/Master.pm 2010-04-24 17:25:30.000000000 -0300
-@@ -122,7 +122,7 @@
- sub check_prerequisites {
- my $class = shift;
-
-- foreach my $path ( "/usr/bin", "/usr/sbin" ) {
-+ foreach my $path ( "/usr/bin", "/usr/sbin", "/usr/local/sbin" ) {
- if ( -f "$path/fping" and -x "$path/fping" ) {
- $FPING = "$path/fping";
- last;
diff --git a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Config.pm b/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Config.pm
deleted file mode 100644
index f21f1560098d..000000000000
--- a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Config.pm
+++ /dev/null
@@ -1,40 +0,0 @@
---- lib/Video/DVDRip/Config.pm.orig Sun Aug 20 07:56:01 2006
-+++ lib/Video/DVDRip/Config.pm Sat Sep 23 13:58:03 2006
-@@ -193,16 +193,16 @@
- dvd_device => {
- label => __ "Default DVD device",
- type => 'file',
-- value => "",
-+ value => "/cdrom",
- dvd_button => 1,
- },
- selected_dvd_device => {
-- value => "/dev/dvd",
-+ value => "/cdrom",
- },
- eject_command => {
- label => __ "Eject Command",
- type => 'string',
-- value => "eject",
-+ value => "cdcontrol",
- rules => "executable-command",
- },
- play_dvd_command => {
-@@ -226,7 +226,7 @@
- play_stdin_command => {
- label => __ "STDIN player command",
- type => 'string',
-- value => 'xine stdin://mpeg2 -g -pq -a %a',
-+ value => 'mplayer -aid %(%a+128) -',
- presets => [
- 'mplayer -aid %(%a+128) -', 'xine stdin://mpeg2 -g -pq -a %a',
- ],
-@@ -274,7 +274,7 @@
- default_video_codec => {
- label => __ "Default video codec",
- type => 'string',
-- value => 'xvid',
-+ value => 'xvid4',
- presets => [
- "SVCD", "VCD", "XSVCD", "XVCD", "CVD", "divx4",
- "divx5", "xvid", "xvidcvs", "xvid2", "xvid3", "xvid4",
diff --git a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__FilterList.pm b/multimedia/dvdrip/files/patch-lib__Video__DVDRip__FilterList.pm
deleted file mode 100644
index 300de0fe00f7..000000000000
--- a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__FilterList.pm
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/Video/DVDRip/FilterList.pm.orig Fri Sep 22 16:05:34 2006
-+++ lib/Video/DVDRip/FilterList.pm Fri Sep 22 16:06:07 2006
-@@ -220,7 +220,7 @@
- "[filterlist] (re)scanning transcode's module path $modpath...\n";
-
- my @filter_names = grep !/^(pv|preview)$/,
-- map {m!/filter_([^/]+)\.so$!} glob("$modpath/filter_*");
-+ map {m!/filter_([^/]+)\.so$/!} glob("$modpath/filter_*");
-
- my %filters;
- foreach my $filter_name (@filter_names) {
diff --git a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Storage.pm b/multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Storage.pm
deleted file mode 100644
index acc6e4b11e5e..000000000000
--- a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Storage.pm
+++ /dev/null
@@ -1,15 +0,0 @@
---- lib/Video/DVDRip/GUI/Project/Storage.pm.orig Sat Sep 23 16:06:43 2006
-+++ lib/Video/DVDRip/GUI/Project/Storage.pm Sat Sep 23 16:15:30 2006
-@@ -144,6 +144,12 @@
- ."Either it's the filename of a physical DVD "
- ."device or the path of a full DVD image copy."
- ),
-+ Gtk2::Ex::FormFactory::Label->new(
-+ label =>
-+ __"Important: On FreeBSD, please mount your DVD disc first\n"
-+ ."(eg 'mount /cdrom'), and then specify the mountpoint above\n"
-+ ."(click \"Choose DVD image directory\" and select '/cdrom').\n"
-+ ),
- ],
- ),
- ],
diff --git a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Title.pm b/multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Title.pm
deleted file mode 100644
index 881d7de0c6d8..000000000000
--- a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__GUI__Project__Title.pm
+++ /dev/null
@@ -1,27 +0,0 @@
---- lib/Video/DVDRip/GUI/Project/Title.pm.orig Fri Sep 22 15:53:09 2006
-+++ lib/Video/DVDRip/GUI/Project/Title.pm Fri Sep 22 15:56:35 2006
-@@ -433,8 +433,10 @@
- my $title = $self->selected_title;
-
- my $command
-- = $self->config('eject_command') . " " .
-- $title->project->dvd_device;
-+ = $self->config('eject_command') . " -f " .
-+ $title->project->dvd_device .
-+ " eject";
-+
-
- system("$command &");
-
-@@ -446,8 +448,9 @@
-
- my $title = $self->selected_title;
-
-- my $command = $self->config('eject_command') . " -t "
-- . $title->project->dvd_device;
-+ my $command = $self->config('eject_command') . " -f " .
-+ $title->project->dvd_device .
-+ " close";
-
- system("$command &");
-
diff --git a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Project.pm b/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Project.pm
deleted file mode 100644
index 4607d0a71b0f..000000000000
--- a/multimedia/dvdrip/files/patch-lib__Video__DVDRip__Project.pm
+++ /dev/null
@@ -1,51 +0,0 @@
---- lib/Video/DVDRip/Project.pm.orig Wed Aug 16 16:34:38 2006
-+++ lib/Video/DVDRip/Project.pm Sat Sep 23 15:32:16 2006
-@@ -345,24 +345,27 @@
- return \%symlinks;
- }
-
--sub get_mount_dir_from_mtab {
-+sub get_mount_dir_from_fstab {
- my $self = shift;
-- my ( $dvd_device, $mtab_file ) = @_;
-+ my ( $dvd_device, $fstab_file ) = @_;
-
- my $symlinks_href = $self->resolve_symlinks($dvd_device);
-
-- open( my $fh, $mtab_file )
-- or die "can't read $mtab_file";
-+ open(FSTABINPUT, $fstab_file )
-+ or die "can't read $fstab_file";
-
- my $mount_dir;
-- while ( my $line = <$fh> ) {
-- my ( $device, $dir ) = split( /\s+/, $line );
-- if ( $symlinks_href->{$device} ) {
-- $mount_dir = $dir;
-- last;
-- }
-+ while (<FSTABINPUT>) {
-+ my ($dev, $mnt, $fstyp, $opt, $dump, $pass) = split;
-+ next if $dev =~ /^#/;
-+ if (( $dev eq $symlinks_href->{$dev} ) ||
-+ ( $mnt eq $symlinks_href->{$dev} ) ||
-+ ( $fstyp eq 'cd9660' )) {
-+ $mount_dir = $mnt;
-+ last;
-+ }
- }
-- close $fh;
-+ close (FSTABINPUT);
-
- return $mount_dir;
- }
-@@ -373,8 +376,7 @@
- my $dvd_device = $self->dvd_device;
-
- my $dvd_mount_point
-- = $self->get_mount_dir_from_mtab( $dvd_device, "/etc/mtab" )
-- || $self->get_mount_dir_from_mtab( $dvd_device, "/etc/fstab" );
-+ = $self->get_mount_dir_from_fstab( $dvd_device, "/etc/fstab" );
-
- return $dvd_mount_point;
- }
diff --git a/multimedia/dvdrip/pkg-descr b/multimedia/dvdrip/pkg-descr
deleted file mode 100644
index 7ee0a7d01d75..000000000000
--- a/multimedia/dvdrip/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-This is dvd::rip, a Perl Gtk+ based dvd-ripper. It serves as a
-convenient frontend to transcode and makes ripping and encoding
-DVDs a breeze. It also features a cluster daemon, which can distribute
-encoding jobs over multiple machines.
-
-WWW: https://www.exit1.org/dvdrip/
diff --git a/multimedia/dvdrip/pkg-plist b/multimedia/dvdrip/pkg-plist
deleted file mode 100644
index 01b557c192f3..000000000000
--- a/multimedia/dvdrip/pkg-plist
+++ /dev/null
@@ -1,100 +0,0 @@
-bin/dvdrip
-bin/dvdrip-exec
-bin/dvdrip-master
-bin/dvdrip-multitee
-bin/dvdrip-progress
-bin/dvdrip-replex
-bin/dvdrip-splash
-bin/dvdrip-splitpipe
-bin/dvdrip-subpng
-bin/dvdrip-thumb
-%%PERL5_MAN1%%/dvdrip.1.gz
-%%PERL5_MAN1%%/dvdrip-progress.1.gz
-%%PERL5_MAN1%%/dvdrip-splitpipe.1.gz
-%%PERL5_MAN3%%/Video::DVDRip.3.gz
-%%PERL5_MAN3%%/Video::DVDRip::CPAN::Scanf.3.gz
-%%SITE_PERL%%/LocaleData/cs/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/da/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/de/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/es/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/fr/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/it/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/sr/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/LocaleData/sr@Latn/LC_MESSAGES/video.dvdrip.mo
-%%SITE_PERL%%/Video/DVDRip.pm
-%%SITE_PERL%%/Video/DVDRip/Audio.pm
-%%SITE_PERL%%/Video/DVDRip/Base.pm
-%%SITE_PERL%%/Video/DVDRip/BitrateCalc.pm
-%%SITE_PERL%%/Video/DVDRip/CPAN/Scanf.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/ExecFlowFrontend.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/JobPlanner.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Master.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Node.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/PSU.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Pipe.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Project.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Scheduler.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Title.pm
-%%SITE_PERL%%/Video/DVDRip/Cluster/Webserver.pm
-%%SITE_PERL%%/Video/DVDRip/Config.pm
-%%SITE_PERL%%/Video/DVDRip/Content.pm
-%%SITE_PERL%%/Video/DVDRip/Convert.pm
-%%SITE_PERL%%/Video/DVDRip/Depend.pm
-%%SITE_PERL%%/Video/DVDRip/FilterList.pm
-%%SITE_PERL%%/Video/DVDRip/FilterSettings.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Base.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/BitrateCalc.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Cluster/Control.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Cluster/Node.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Cluster/Title.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Context.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Depend.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/ExecFlow.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Filters.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/FormFactory/ClipImage.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/FormFactory/SubtitlePreviews.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Icons/dvdrip-audio-matrix.png
-%%SITE_PERL%%/Video/DVDRip/GUI/Icons/dvdrip-calc-height.png
-%%SITE_PERL%%/Video/DVDRip/GUI/Icons/dvdrip-calc-width.png
-%%SITE_PERL%%/Video/DVDRip/GUI/Icons/dvdrip-clip-move.png
-%%SITE_PERL%%/Video/DVDRip/GUI/Icons/dvdrip-play-movie.png
-%%SITE_PERL%%/Video/DVDRip/GUI/Icons/dvdrip-scan-volume.png
-%%SITE_PERL%%/Video/DVDRip/GUI/Main.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/MultiAudio.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Pipe.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Preferences.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Preview.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Progress.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Project/ClipZoom.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Project/Logging.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Project/Storage.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Project/Subtitle.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Project/Title.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Project/Transcode.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/Rules.pm
-%%SITE_PERL%%/Video/DVDRip/GUI/ZoomCalculator.pm
-%%SITE_PERL%%/Video/DVDRip/InfoFile.pm
-%%SITE_PERL%%/Video/DVDRip/JobPlanner.pm
-%%SITE_PERL%%/Video/DVDRip/Logger.pm
-%%SITE_PERL%%/Video/DVDRip/PSU.pm
-%%SITE_PERL%%/Video/DVDRip/Preset.pm
-%%SITE_PERL%%/Video/DVDRip/Probe.pm
-%%SITE_PERL%%/Video/DVDRip/Project.pm
-%%SITE_PERL%%/Video/DVDRip/SrtxFile.pm
-%%SITE_PERL%%/Video/DVDRip/Subtitle.pm
-%%SITE_PERL%%/Video/DVDRip/Term/ExitTask.pm
-%%SITE_PERL%%/Video/DVDRip/Term/Main.pm
-%%SITE_PERL%%/Video/DVDRip/Term/Progress.pm
-%%SITE_PERL%%/Video/DVDRip/Title.pm
-%%SITE_PERL%%/Video/DVDRip/TranscodeRC.pm
-%%SITE_PERL%%/Video/DVDRip/icon.xpm
-%%SITE_PERL%%/Video/DVDRip/license.txt
-%%SITE_PERL%%/Video/DVDRip/splash.ca.png
-%%SITE_PERL%%/Video/DVDRip/splash.da.png
-%%SITE_PERL%%/Video/DVDRip/splash.de.png
-%%SITE_PERL%%/Video/DVDRip/splash.en.png
-%%SITE_PERL%%/Video/DVDRip/splash.es.png
-%%SITE_PERL%%/Video/DVDRip/splash.it.png
-%%SITE_PERL%%/Video/DVDRip/splash.sr@Latn.png
-%%SITE_PERL%%/Video/DVDRip/splash.sr.png
-%%SITE_PERL%%/Video/DVDRip/translators.txt
diff --git a/multimedia/dvdstyler/Makefile b/multimedia/dvdstyler/Makefile
index adfcb1d3c034..3bc29682ac4e 100644
--- a/multimedia/dvdstyler/Makefile
+++ b/multimedia/dvdstyler/Makefile
@@ -1,14 +1,15 @@
-# Created by: Michael Johnson <ahze@ahze.net>
-
PORTNAME= dvdstyler
-PORTVERSION= 3.2.1
+DISTVERSION= 3.3b3
+PORTREVISION= 6
PORTEPOCH= 2
CATEGORIES= multimedia
-MASTER_SITES= SF
-DISTNAME= DVDStyler-${PORTVERSION}
+#MASTER_SITES= SF
+MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-devel/${DISTVERSION}
+DISTNAME= DVDStyler-${DISTVERSION}
MAINTAINER= ahicks@p-o.co.uk
COMMENT= WxWidgets frontend to dvd recoding and authoring programs
+WWW= https://www.dvdstyler.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -33,16 +34,18 @@ RUN_DEPENDS= zip:archivers/zip \
mkisofs:sysutils/cdrtools \
growisofs:sysutils/dvd+rw-tools
-USES= autoreconf compiler:c++11-lib gettext gmake jpeg pkgconfig tar:bzip2
-
-USE_WX= 3.1
+USES= autoreconf compiler:c++11-lib gettext gmake jpeg \
+ localbase:ldflags pkgconfig tar:bzip2
+USE_CXXSTD= c++14
+USE_WX= 3.2+
WX_CONF_ARGS= absolute
+
GNU_CONFIGURE= yes
-CONFIGURE_ENV= ac_cv_path_AVCONV_PATH="" OBJCXX="${CXX}"
-CONFIGURE_ARGS= --without-gnome
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
+CONFIGURE_ENV= ac_cv_path_AVCONV_PATH="" OBJCXX="${CXX}"
+CFLAGS+= -std=c17
+CPPFLAGS+= -std=c++17
OPTIONS_DEFINE= DOCS
diff --git a/multimedia/dvdstyler/distinfo b/multimedia/dvdstyler/distinfo
index ff967f3cf876..c3c191dac576 100644
--- a/multimedia/dvdstyler/distinfo
+++ b/multimedia/dvdstyler/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1636284298
-SHA256 (DVDStyler-3.2.1.tar.bz2) = 0bb3348739f4c93097454b814ecb3a58f6bace8f030f41619a9feeafb4747558
-SIZE (DVDStyler-3.2.1.tar.bz2) = 9040634
+TIMESTAMP = 1678827360
+SHA256 (DVDStyler-3.3b3.tar.bz2) = 7e37417f464640dfeecffb5fd4ed212999845b1c43955b203f3d691e782fe52b
+SIZE (DVDStyler-3.3b3.tar.bz2) = 9899576
diff --git a/multimedia/dvdstyler/files/patch-configure.ac b/multimedia/dvdstyler/files/patch-configure.ac
deleted file mode 100644
index 336b89e07e77..000000000000
--- a/multimedia/dvdstyler/files/patch-configure.ac
+++ /dev/null
@@ -1,20 +0,0 @@
---- configure.ac.orig 2019-10-03 16:00:00 UTC
-+++ configure.ac
-@@ -9,6 +9,7 @@ AM_MAINTAINER_MODE
- dnl options
- AM_OPTIONS_WXCONFIG
- AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging information], USE_DEBUG="$enableval", USE_DEBUG="no")
-+AC_ARG_WITH(gnome, [ --with-gnome Use libgnomeui for rendering of thumbnails], with_gnome="$withval", with_gnome="no")
-
- AC_MSG_CHECKING(for install location)
- case "$prefix" in
-@@ -113,7 +114,9 @@ if test "x$WXSVGLIBAV" = x"no"; then
- fi
-
- dnl check gnomeui-2.0
-+if test x"$with_gnome" != x"no"; then
- CHECK_WX_BUILT_WITH_GTK2()
-+fi
- if test x"$GTK_USEDVERSION" = x"2" ; then
- PKG_CHECK_MODULES(GNOMEUI2, libgnomeui-2.0, GNOME2="-DGNOME2",
- AC_MSG_WARN([libgnomeui will not be used for rendering of thumbnails]))
diff --git a/multimedia/dvdstyler/files/patch-src_mediaenc__ffmpeg.cpp b/multimedia/dvdstyler/files/patch-src_mediaenc__ffmpeg.cpp
new file mode 100644
index 000000000000..c43c9d1ea648
--- /dev/null
+++ b/multimedia/dvdstyler/files/patch-src_mediaenc__ffmpeg.cpp
@@ -0,0 +1,12 @@
+--- src/mediaenc_ffmpeg.cpp.orig 2022-10-03 20:02:59 UTC
++++ src/mediaenc_ffmpeg.cpp
+@@ -330,7 +330,9 @@ bool wxFfmpegMediaEncoder::addAudioStream(int codecId)
+ return false;
+ for (int i = 0; i < c->channels; i++) {
+ uint16_t *samples = (uint16_t*)m_audioFrame->data[i];
++ if (samples) {
+ memset(samples, 0, c->frame_size * av_get_bytes_per_sample(c->sample_fmt));
++ }
+ }
+
+ return true;
diff --git a/multimedia/dvdstyler/files/patch-wxVillaLib-PropDlg.cpp b/multimedia/dvdstyler/files/patch-wxVillaLib-PropDlg.cpp
deleted file mode 100644
index fdfad8aca8ba..000000000000
--- a/multimedia/dvdstyler/files/patch-wxVillaLib-PropDlg.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- wxVillaLib/PropDlg2.cpp 2021-07-28 16:49:08.802073000 +0100
-+++ wxVillaLib/PropDlg.cpp 2021-07-28 16:49:33.888103000 +0100
-@@ -12,7 +12,6 @@
- #include "utils.h"
- #include <wx/fontdlg.h>
- #include <wx/colordlg.h>
--#include <wx/generic/colrdlgg.h>
- #include <wx/filedlg.h>
- #include <wx/dirdlg.h>
- #include <wx/grid.h>
diff --git a/multimedia/dvdstyler/files/patch-wxVillaLib_ThumbnailFactory.cpp b/multimedia/dvdstyler/files/patch-wxVillaLib_ThumbnailFactory.cpp
new file mode 100644
index 000000000000..d1b28b3d4159
--- /dev/null
+++ b/multimedia/dvdstyler/files/patch-wxVillaLib_ThumbnailFactory.cpp
@@ -0,0 +1,11 @@
+--- wxVillaLib/ThumbnailFactory.cpp 2023-07-24 10:21:13.152544000 +0100
++++ wxVillaLib/ThumbnailFactory.cpp 2023-07-24 10:18:45.440168000 +0100
+@@ -363,7 +363,7 @@
+ img = decoder.GetNextFrame();
+ }
+ if (img.Ok() && decoder.GetFrameAspectRatio() > 0
+- && labs(decoder.GetFrameAspectRatio()*100 - img.GetWidth()*100/img.GetHeight()) >= 5) {
++ && std::abs(decoder.GetFrameAspectRatio()*100 - img.GetWidth()*100/img.GetHeight()) >= 5) {
+ if (lround(img.GetWidth() / decoder.GetFrameAspectRatio()) > img.GetHeight())
+ img.Rescale(img.GetWidth(), lround(img.GetWidth() / decoder.GetFrameAspectRatio()));
+ else
diff --git a/multimedia/dvdstyler/files/patch-wxVillaLib_imagjpg.cpp b/multimedia/dvdstyler/files/patch-wxVillaLib_imagjpg.cpp
new file mode 100644
index 000000000000..feb4c16aa200
--- /dev/null
+++ b/multimedia/dvdstyler/files/patch-wxVillaLib_imagjpg.cpp
@@ -0,0 +1,10 @@
+--- wxVillaLib/imagjpg.cpp 2023-07-24 10:38:58.609790000 +0100
++++ wxVillaLib/imagjpg.cpp 2023-07-24 10:41:28.358164000 +0100
+@@ -1,7 +1,3 @@
+-#ifdef __GNUG__
+-#pragma implementation "imagjpg.h"
+-#endif
+-
+ // For compilers that support precompilation, includes "wx.h".
+ #include "wx/wxprec.h"
+
diff --git a/multimedia/dvdstyler/files/patch-wxVillaLib_thumb_md5.cpp b/multimedia/dvdstyler/files/patch-wxVillaLib_thumb_md5.cpp
new file mode 100644
index 000000000000..6b18f2f1c11a
--- /dev/null
+++ b/multimedia/dvdstyler/files/patch-wxVillaLib_thumb_md5.cpp
@@ -0,0 +1,11 @@
+--- wxVillaLib/thumb_md5.cpp 2023-07-24 10:20:48.138290000 +0100
++++ wxVillaLib/thumb_md5.cpp 2023-07-24 10:02:20.011636000 +0100
+@@ -199,7 +199,7 @@
+ static void
+ thumb_md5_transform (wxUint32 buf[4], wxUint32 const in[16])
+ {
+- register wxUint32 a, b, c, d;
++ wxUint32 a, b, c, d;
+
+ a = buf[0];
+ b = buf[1];
diff --git a/multimedia/dvdstyler/pkg-descr b/multimedia/dvdstyler/pkg-descr
index 44b7bcf8159a..baaa8fde072e 100644
--- a/multimedia/dvdstyler/pkg-descr
+++ b/multimedia/dvdstyler/pkg-descr
@@ -10,5 +10,3 @@ The main DVDStyler features are:
o put basic text buttons, change font/color and background color
o set chapters for each movie
o change post command for each movie
-
-WWW: https://www.dvdstyler.org/
diff --git a/multimedia/dvdstyler/pkg-plist b/multimedia/dvdstyler/pkg-plist
index ccc8c8d82343..49fe29314a11 100644
--- a/multimedia/dvdstyler/pkg-plist
+++ b/multimedia/dvdstyler/pkg-plist
@@ -1,5 +1,5 @@
bin/dvdstyler
-man/man1/dvdstyler.1.gz
+share/man/man1/dvdstyler.1.gz
share/applications/dvdstyler.desktop
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
@@ -45,6 +45,7 @@ share/applications/dvdstyler.desktop
%%DATADIR%%/backgrounds/green_trees.jpg
%%DATADIR%%/backgrounds/penguin.png
%%DATADIR%%/backgrounds/red_sky.jpg
+%%DATADIR%%/backgrounds/wall.jpg
%%DATADIR%%/buttons/arrow-blue.xml
%%DATADIR%%/buttons/arrow-cool.xml
%%DATADIR%%/buttons/arrow-double.xml
@@ -83,6 +84,7 @@ share/applications/dvdstyler.desktop
%%DATADIR%%/buttons/deprecated/frame-shadow.xml
%%DATADIR%%/buttons/deprecated/frame.xml
%%DATADIR%%/buttons/deprecated/frame45.xml
+%%DATADIR%%/buttons/deprecated/gold-frame.xml
%%DATADIR%%/buttons/deprecated/home.xml
%%DATADIR%%/buttons/deprecated/text-circle.xml
%%DATADIR%%/buttons/deprecated/text-shadow.xml
@@ -96,8 +98,8 @@ share/applications/dvdstyler.desktop
%%DATADIR%%/buttons/frame-text.xml
%%DATADIR%%/buttons/frame-v2.xml
%%DATADIR%%/buttons/gear.xml
+%%DATADIR%%/buttons/gold-frame-v2.xml
%%DATADIR%%/buttons/glow_arrow.xml
-%%DATADIR%%/buttons/gold-frame.xml
%%DATADIR%%/buttons/hand-left.xml
%%DATADIR%%/buttons/hand-right.xml
%%DATADIR%%/buttons/home-moon.xml
@@ -147,6 +149,7 @@ share/applications/dvdstyler.desktop
%%DATADIR%%/docs/help_uk.zip
%%DATADIR%%/docs/help_zh_CN.zip
%%DATADIR%%/docs/help_zh_TW.zip
+%%DATADIR%%/objects/caption-rectangle.xml
%%DATADIR%%/objects/caption-line.xml
%%DATADIR%%/objects/deprecated/ellipse-v2.xml
%%DATADIR%%/objects/deprecated/ellipse.xml
@@ -195,6 +198,8 @@ share/applications/dvdstyler.desktop
%%DATADIR%%/rc/run.png
%%DATADIR%%/rc/save.png
%%DATADIR%%/rc/settings.png
+%%DATADIR%%/templates/Basic/Wall.dvdt
+%%DATADIR%%/templates/Basic/Wall.png
%%DATADIR%%/templates/Basic/blue.dvdt
%%DATADIR%%/templates/Basic/blue.png
%%DATADIR%%/templates/Basic/blueWS.dvdt
@@ -215,6 +220,10 @@ share/applications/dvdstyler.desktop
%%DATADIR%%/templates/Basic/ocean.png
%%DATADIR%%/templates/Basic/oceanWS.dvdt
%%DATADIR%%/templates/Basic/oceanWS.png
+%%DATADIR%%/templates/Basic/textAuto1.dvdt
+%%DATADIR%%/templates/Basic/textAuto1.png
+%%DATADIR%%/templates/Basic/textAuto1WS.dvdt
+%%DATADIR%%/templates/Basic/textAuto1WS.png
%%DATADIR%%/templates/Basic/turbulence.dvdt
%%DATADIR%%/templates/Basic/turbulence.png
%%DATADIR%%/templates/Basic/turbulenceWS.dvdt
diff --git a/multimedia/elementary-videos/Makefile b/multimedia/elementary-videos/Makefile
index f11508e7977f..7d3e5101b1ca 100644
--- a/multimedia/elementary-videos/Makefile
+++ b/multimedia/elementary-videos/Makefile
@@ -1,31 +1,29 @@
PORTNAME= elementary-videos
-DISTVERSION= 2.7.3
+DISTVERSION= 3.0.0
PORTREVISION= 1
CATEGORIES= multimedia
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= f6b94db27035.patch:-p1 # https://github.com/elementary/videos/pull/288
-
MAINTAINER= miguel@gocobachi.dev
COMMENT= Elementary OS video player
+WWW= https://github.com/elementary/videos/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= valac:lang/vala
LIB_DEPENDS= libclutter-1.0.so:graphics/clutter \
libclutter-gst-3.0.so:multimedia/clutter-gst3 \
libclutter-gtk-1.0.so:graphics/clutter-gtk3 \
libgee-0.8.so:devel/libgee \
- libgranite.so:x11-toolkits/granite
+ libgranite.so:x11-toolkits/granite \
+ libhandy-1.so:x11-toolkits/libhandy
-USES= desktop-file-utils gettext gnome gstreamer meson pkgconfig xorg
+USES= desktop-file-utils gettext gnome gstreamer meson pkgconfig vala:build xorg
USE_GITHUB= yes
GH_ACCOUNT= elementary
GH_PROJECT= videos
-USE_GNOME= cairo gdkpixbuf2 gtk30
+USE_GNOME= cairo gdkpixbuf2 glib20 gtk30
GLIB_SCHEMAS= io.elementary.videos.gschema.xml
-USE_GSTREAMER= core
+USE_GSTREAMER= core faad libav ogg opus plugins theora vorbis x x264 ximagesrc
USE_XORG= x11
.include <bsd.port.mk>
diff --git a/multimedia/elementary-videos/distinfo b/multimedia/elementary-videos/distinfo
index 81364f07f136..f4f4e0bc9434 100644
--- a/multimedia/elementary-videos/distinfo
+++ b/multimedia/elementary-videos/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1628899382
-SHA256 (elementary-videos-2.7.3_GH0.tar.gz) = dc1877489c43a3aa9ba927d409afbc0ae62246c01019a6cfe07572b7c44c8f80
-SIZE (elementary-videos-2.7.3_GH0.tar.gz) = 2842420
-SHA256 (f6b94db27035.patch) = 7f647ec405c83e3cc69ae7caa1af162d73c024f25636b74b82f3685d13c2b4c4
-SIZE (f6b94db27035.patch) = 772
+TIMESTAMP = 1691769168
+SHA256 (elementary-videos-3.0.0_GH0.tar.gz) = 6a343e53635feb56964483577177e5ebfd96b1545c58048c499bdfc1454f4396
+SIZE (elementary-videos-3.0.0_GH0.tar.gz) = 2665957
diff --git a/multimedia/elementary-videos/files/patch-data_io.elementary.videos.desktop.in b/multimedia/elementary-videos/files/patch-data_io.elementary.videos.desktop.in
deleted file mode 100644
index 700f7c3f917e..000000000000
--- a/multimedia/elementary-videos/files/patch-data_io.elementary.videos.desktop.in
+++ /dev/null
@@ -1,10 +0,0 @@
---- data/io.elementary.videos.desktop.in.orig 2020-06-25 10:18:27 UTC
-+++ data/io.elementary.videos.desktop.in
-@@ -1,6 +1,6 @@
- [Desktop Entry]
- Version=1.0
--Name=Videos
-+Name=Elementary Videos
- GenericName=Video Player
- Comment=Watch videos and movies
- Exec=io.elementary.videos %U
diff --git a/multimedia/elementary-videos/files/patch-meson.build b/multimedia/elementary-videos/files/patch-meson.build
deleted file mode 100644
index f4d80f68a4c5..000000000000
--- a/multimedia/elementary-videos/files/patch-meson.build
+++ /dev/null
@@ -1,9 +0,0 @@
---- meson.build.orig 2020-06-27 11:47:08 UTC
-+++ meson.build
-@@ -10,6 +10,5 @@ add_global_arguments('-DGETTEXT_PACKAGE="@0@"'.format(
-
-
- subdir('src')
--meson.add_install_script('meson/post_install.py')
- subdir('data')
- subdir('po')
diff --git a/multimedia/elementary-videos/files/patch-src_Window.vala b/multimedia/elementary-videos/files/patch-src_Window.vala
new file mode 100644
index 000000000000..a555dd5e50e4
--- /dev/null
+++ b/multimedia/elementary-videos/files/patch-src_Window.vala
@@ -0,0 +1,16 @@
+--- src/Window.vala.orig 2022-01-10 17:54:11 UTC
++++ src/Window.vala
+@@ -67,9 +67,11 @@ public class Audience.Window : Gtk.ApplicationWindow {
+ add_action_entries (ACTION_ENTRIES, this);
+
+ var application_instance = (Gtk.Application) GLib.Application.get_default ();
+- foreach (var action in action_accelerators.get_keys ()) {
++ var iter = action_accelerators.map_iterator ();
++ while (iter.next ()) {
+ application_instance.set_accels_for_action (
+- ACTION_PREFIX + action, action_accelerators[action].to_array ()
++ ACTION_PREFIX + iter.get_key (),
++ { iter.get_value () }
+ );
+ }
+
diff --git a/multimedia/elementary-videos/pkg-descr b/multimedia/elementary-videos/pkg-descr
index be5599039730..f935a8b7f96f 100644
--- a/multimedia/elementary-videos/pkg-descr
+++ b/multimedia/elementary-videos/pkg-descr
@@ -5,5 +5,3 @@ and the ability to resume what was last playing.
This Video player and library app
has been designed by elementary OS.
-
-WWW: https://github.com/elementary/videos/
diff --git a/multimedia/elementary-videos/pkg-plist b/multimedia/elementary-videos/pkg-plist
index e0d47fafe5fa..42c351cd78b4 100644
--- a/multimedia/elementary-videos/pkg-plist
+++ b/multimedia/elementary-videos/pkg-plist
@@ -209,4 +209,4 @@ share/locale/zh_CN/LC_MESSAGES/io.elementary.videos.mo
share/locale/zh_HK/LC_MESSAGES/io.elementary.videos.mo
share/locale/zh_TW/LC_MESSAGES/io.elementary.videos.mo
share/locale/zu/LC_MESSAGES/io.elementary.videos.mo
-share/metainfo/io.elementary.videos.appdata.xml
+share/metainfo/io.elementary.videos.metainfo.xml
diff --git a/multimedia/emby-server-devel/Makefile b/multimedia/emby-server-devel/Makefile
index 8e0dae78f588..1800f1557fcf 100644
--- a/multimedia/emby-server-devel/Makefile
+++ b/multimedia/emby-server-devel/Makefile
@@ -1,134 +1,14 @@
-PORTNAME= emby-server
-DISTVERSION= 4.7.0.40
-CATEGORIES= multimedia
-MASTER_SITES= https://github.com/MediaBrowser/Emby.Releases/releases/download/${PORTVERSION}/ \
- https://mediabrowser.github.io/embytools/
+DISTVERSION= 4.9.0.14
+PORTREVISION= 1
PKGNAMESUFFIX= -devel
-DISTNAME= embyserver-netframework_${PORTVERSION}
-DISTFILES= ${DISTNAME}.zip \
- ffdetect-${FFVERSION}-x64_freebsd13.tar.xz \
- ffmpeg-${FFVERSION}.tar.gz \
- license.docx
+
DIST_SUBDIR= ${PORTNAME}${PKGNAMESUFFIX}
-EXTRACT_ONLY= ${DISTNAME}.zip \
- ffdetect-${FFVERSION}-x64_freebsd13.tar.xz \
- ffmpeg-${FFVERSION}.tar.gz
MAINTAINER= driesm@FreeBSD.org
-COMMENT= Media server to organize, play & stream audio/video to various devices
-
-LICENSE= UNKNOWN
-LICENSE_NAME= custom
-LICENSE_FILE= ${DISTDIR}/${DIST_SUBDIR}/license.docx
-LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
-
-ONLY_FOR_ARCHS= amd64
-
-BUILD_DEPENDS= nasm:devel/nasm
-LIB_DEPENDS= libaribb24.so:multimedia/aribb24 \
- libass.so:multimedia/libass \
- libchromaprint.so:audio/chromaprint \
- libdav1d.so:multimedia/dav1d \
- libdrm.so:graphics/libdrm \
- libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2 \
- libfribidi.so:converters/fribidi \
- libgnutls.so:security/gnutls \
- libmfx.so:multimedia/intel-media-sdk \
- libogg.so:audio/libogg \
- libopus.so:audio/opus \
- libpng.so:graphics/png \
- libraw.so:graphics/libraw \
- libtesseract.so:graphics/tesseract \
- libtheora.so:multimedia/libtheora \
- libva.so:multimedia/libva \
- libvorbis.so:audio/libvorbis \
- libvpx.so:multimedia/libvpx \
- libwebp.so:graphics/webp \
- libx264.so:multimedia/libx264 \
- libx265.so:multimedia/x265 \
- libzvbi.so:devel/libzvbi
-RUN_DEPENDS= mono6.8>0:lang/mono6.8
-
-USES= compiler:c11 gmake iconv localbase:ldflags pkgconfig sqlite
-USE_RC_SUBR= ${PORTNAME}
-
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --cc="${CC}" \
- --disable-alsa \
- --disable-doc \
- --disable-ffplay \
- --disable-libxcb \
- --disable-outdev=xv \
- --disable-sdl2 \
- --disable-shared \
- --disable-sndio \
- --disable-v4l2-m2m \
- --disable-vdpau \
- --disable-xlib \
- --enable-chromaprint \
- --enable-fontconfig \
- --enable-gnutls \
- --enable-gpl \
- --enable-iconv \
- --enable-libaribb24 \
- --enable-libass \
- --enable-libdav1d \
- --enable-libdrm \
- --enable-libfreetype \
- --enable-libfribidi \
- --enable-libmfx \
- --enable-libopus \
- --enable-libtesseract \
- --enable-libtheora \
- --enable-libvorbis \
- --enable-libvpx \
- --enable-libwebp \
- --enable-libx264 \
- --enable-libx265 \
- --enable-libzvbi \
- --enable-optimizations \
- --enable-static \
- --enable-vaapi \
- --enable-version3
-
-MAKE_ENV= V=1
CONFLICTS_INSTALL= emby-server
-NOPRECIOUSMAKEVARS= yes
-SUB_FILES= ImageMagickSharp.dll.config \
- SQLitePCLRaw.provider.sqlite3.dll.config
-SUB_LIST= GROUP=${GROUPS} \
- PORTNAME=${PORTNAME} \
- RC_NAME=emby_server \
- USER=${USERS}
-
-WRKSRC= ${WRKDIR}/ffmpeg-${FFVERSION}_public
-
-USERS= emby
-GROUPS= emby
-
-OPTIONS_DEFINE= LAME X11
-OPTIONS_DEFAULT= LAME X11
-
-LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
-LAME_CONFIGURE_ENABLE= libmp3lame
-
-X11_USES= xorg magick:6
-X11_USES_OFF= magick:6,nox11
-X11_USE= xorg=x11
-
-FFVERSION= 2021_02_27
-
-do-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/emby-server/system
- (${INSTALL_DATA} ${WRKDIR}/ImageMagickSharp.dll.config ${STAGEDIR}${PREFIX}/lib/emby-server/system)
- (${INSTALL_DATA} ${WRKDIR}/SQLitePCLRaw.provider.sqlite3.dll.config ${STAGEDIR}${PREFIX}/lib/emby-server/system)
- (cd ${WRKDIR}/system && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/emby-server/system)
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/emby-server/bin
- (${INSTALL_PROGRAM} ${WRKDIR}/bin/ffdetect ${STAGEDIR}${PREFIX}/lib/emby-server/bin)
- (${INSTALL_PROGRAM} ${WRKSRC}/ffmpeg ${STAGEDIR}${PREFIX}/lib/emby-server/bin)
- (${INSTALL_PROGRAM} ${WRKSRC}/ffprobe ${STAGEDIR}${PREFIX}/lib/emby-server/bin)
+MASTERDIR= ${.CURDIR}/../emby-server
+DISTINFO_FILE= ${.CURDIR}/distinfo
-.include <bsd.port.mk>
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/emby-server-devel/distinfo b/multimedia/emby-server-devel/distinfo
index bac036302aba..de64f82f9706 100644
--- a/multimedia/emby-server-devel/distinfo
+++ b/multimedia/emby-server-devel/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1652737622
-SHA256 (emby-server-devel/embyserver-netframework_4.7.0.40.zip) = 5eeaeb1259da2438e25f59badf26cfca47feabc08b23ae08504cd2bcf1dfde97
-SIZE (emby-server-devel/embyserver-netframework_4.7.0.40.zip) = 48595457
-SHA256 (emby-server-devel/ffdetect-2021_02_27-x64_freebsd13.tar.xz) = 883e02378da5f111931e36226fe85bcf19deeaaf4ede446e267081838e936ac7
-SIZE (emby-server-devel/ffdetect-2021_02_27-x64_freebsd13.tar.xz) = 75244
-SHA256 (emby-server-devel/ffmpeg-2021_02_27.tar.gz) = dd587ddbde4c967695919d7f85b0f28e6d7262f55171f3e8052eef2f4a7f585c
-SIZE (emby-server-devel/ffmpeg-2021_02_27.tar.gz) = 13236851
+TIMESTAMP = 1713374945
+SHA256 (emby-server-devel/emby-server-freebsd14_4.9.0.14_amd64.tar.xz) = 1882ca5ace391fb6b9da0d256dd8dae696dd304b877bb4cec122f77593df08e0
+SIZE (emby-server-devel/emby-server-freebsd14_4.9.0.14_amd64.tar.xz) = 74997344
+SHA256 (emby-server-devel/ffdetect-2023_06_25-x64_freebsd14.tar.xz) = a231e248fc60a284d9b12285471386992539f47cb9cccadc12a6213a7e9f3b92
+SIZE (emby-server-devel/ffdetect-2023_06_25-x64_freebsd14.tar.xz) = 86852
+SHA256 (emby-server-devel/ffmpeg-2023_06_25-u1.tar.gz) = 6cf41278eb5e4b19042c844cfacde3ccba3c0f5bd39d914d141ffcaff249de0d
+SIZE (emby-server-devel/ffmpeg-2023_06_25-u1.tar.gz) = 14604646
SHA256 (emby-server-devel/license.docx) = a6d7ea65dcb06392479a85e1a10a7aeb872d803da6f784f6935fcd4ee63008c6
SIZE (emby-server-devel/license.docx) = 18373
diff --git a/multimedia/emby-server-devel/files/ImageMagickSharp.dll.config.in b/multimedia/emby-server-devel/files/ImageMagickSharp.dll.config.in
deleted file mode 100644
index 1c89d61bd056..000000000000
--- a/multimedia/emby-server-devel/files/ImageMagickSharp.dll.config.in
+++ /dev/null
@@ -1,3 +0,0 @@
-<configuration>
- <dllmap dll="CORE_RL_Wand_" target="%%LOCALBASE%%/lib/libMagickWand-6.so" os="freebsd"/>
-</configuration>
diff --git a/multimedia/emby-server-devel/files/SQLitePCLRaw.provider.sqlite3.dll.config.in b/multimedia/emby-server-devel/files/SQLitePCLRaw.provider.sqlite3.dll.config.in
deleted file mode 100644
index 25552988c298..000000000000
--- a/multimedia/emby-server-devel/files/SQLitePCLRaw.provider.sqlite3.dll.config.in
+++ /dev/null
@@ -1,3 +0,0 @@
-<configuration>
- <dllmap dll="sqlite3" target="%%LOCALBASE%%/lib/libsqlite3.so" os="freebsd"/>
-</configuration>
diff --git a/multimedia/emby-server-devel/files/emby-server.in b/multimedia/emby-server-devel/files/emby-server.in
deleted file mode 100644
index 1c35ab072390..000000000000
--- a/multimedia/emby-server-devel/files/emby-server.in
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-# PROVIDE: %%PORTNAME%%
-# REQUIRE: LOGIN
-# KEYWORD: shutdown
-#
-# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
-# to enable this service:
-#
-# %%RC_NAME%%_enable: Set to yes to enable the %%PORTNAME%% service.
-# Default: no
-# %%RC_NAME%%_user: The user account used to run the %%PORTNAME%% daemon.
-# This is optional, however do not specifically set this to an
-# empty string as this will cause the daemon to run as root.
-# Default: %%USER%%
-# %%RC_NAME%%_group: The group account used to run the %%PORTNAME%% daemon.
-# This is optional, however do not specifically set this to an
-# empty string as this will cause the daemon to run with group wheel.
-# Default: %%GROUP%%
-# %%RC_NAME%%_data_dir: Directory where %%PORTNAME%% configuration
-# data is stored.
-# Default: /var/db/%%PORTNAME%%
-# %%RC_NAME%%_ffdetect: Path of the ffdetect binary.
-# Default: %%PREFIX%%/lib/emby-server/bin/ffdetect
-# %%RC_NAME%%_ffmpeg: Path of the ffmpeg binary.
-# Default: %%PREFIX%%/lib/emby-server/bin/ffmpeg
-# %%RC_NAME%%_ffprobe: Path of the ffprobe binary.
-# Default: %%PREFIX%%/lib/emby-server/bin/ffprobe
-# %%RC_NAME%%_pid: Path of the pid file.
-# Default: /var/run/%%PORTNAME%%.pid
-
-. /etc/rc.subr
-name=%%RC_NAME%%
-rcvar=${name}_enable
-load_rc_config ${name}
-
-: ${%%RC_NAME%%_enable:="no"}
-: ${%%RC_NAME%%_user:="%%USER%%"}
-: ${%%RC_NAME%%_group:="%%GROUP%%"}
-: ${%%RC_NAME%%_data_dir:="/var/db/%%PORTNAME%%"}
-: ${%%RC_NAME%%_ffdetect:="%%PREFIX%%/lib/emby-server/bin/ffdetect"}
-: ${%%RC_NAME%%_ffmpeg:="%%PREFIX%%/lib/emby-server/bin/ffmpeg"}
-: ${%%RC_NAME%%_ffprobe:="%%PREFIX%%/lib/emby-server/bin/ffprobe"}
-: ${%%RC_NAME%%_pid:="/var/run/%%PORTNAME%%.pid"}
-
-pidfile="${%%RC_NAME%%_pid}"
-procname="%%LOCALBASE%%/bin/mono"
-command="/usr/sbin/daemon"
-command_args="-f -p ${%%RC_NAME%%_pid} ${procname} %%PREFIX%%/lib/emby-server/system/EmbyServer.exe \
- -os freebsd \
- -ffdetect ${%%RC_NAME%%_ffdetect} \
- -ffmpeg ${%%RC_NAME%%_ffmpeg} \
- -ffprobe ${%%RC_NAME%%_ffprobe} \
- -programdata ${%%RC_NAME%%_data_dir}"
-
-start_precmd=%%RC_NAME%%_precmd
-%%RC_NAME%%_precmd()
-{
- [ -f ${%%RC_NAME%%_pid} ] || install -g ${%%RC_NAME%%_group} -o ${%%RC_NAME%%_user} -- /dev/null ${%%RC_NAME%%_pid}
- [ -d ${%%RC_NAME%%_data_dir} ] || install -d -g ${%%RC_NAME%%_group} -o ${%%RC_NAME%%_user} -- ${%%RC_NAME%%_data_dir}
-}
-
-stop_postcmd=%%RC_NAME%%_postcmd
-%%RC_NAME%%_postcmd()
-{
- rm -f ${%%RC_NAME%%_pid}
-}
-
-run_rc_command "$1"
diff --git a/multimedia/emby-server-devel/files/patch-dav1d-1.0 b/multimedia/emby-server-devel/files/patch-dav1d-1.0
deleted file mode 100644
index 1c4ca68a21f9..000000000000
--- a/multimedia/emby-server-devel/files/patch-dav1d-1.0
+++ /dev/null
@@ -1,111 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5e61fce832f7
-
-libavcodec/libdav1d.c:137:7: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- s.n_tile_threads = dav1d->tile_threads
- ~ ^
-libavcodec/libdav1d.c:139:52: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
- ^
-libavcodec/libdav1d.c:139:52: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
-libavcodec/libdav1d.c:140:7: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- s.n_frame_threads = dav1d->frame_threads
- ~ ^
-libavcodec/libdav1d.c:142:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ~ ^
-./libavutil/common.h:96:22: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-libavcodec/libdav1d.c:142:65: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-./libavutil/common.h:96:28: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-libavcodec/libdav1d.c:142:65: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-./libavutil/common.h:96:34: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-libavcodec/libdav1d.c:142:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ~ ^
-./libavutil/common.h:96:40: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-libavcodec/libdav1d.c:144:14: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- s.n_frame_threads, s.n_tile_threads);
- ~ ^
-libavcodec/libdav1d.c:144:33: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- s.n_frame_threads, s.n_tile_threads);
- ~ ^
-libavcodec/libdav1d.c:378:94: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD },
- ^
-libavcodec/libdav1d.c:379:97: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD },
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-
---- libavcodec/libdav1d.c.orig 2021-05-11 03:40:43 UTC
-+++ libavcodec/libdav1d.c
-@@ -30,6 +30,9 @@
- #include "decode.h"
- #include "internal.h"
-
-+#define FF_DAV1D_VERSION_AT_LEAST(x,y) \
-+ (DAV1D_API_VERSION_MAJOR > (x) || DAV1D_API_VERSION_MAJOR == (x) && DAV1D_API_VERSION_MINOR >= (y))
-+
- typedef struct Libdav1dContext {
- AVClass *class;
- Dav1dContext *c;
-@@ -134,6 +137,15 @@ static av_cold int libdav1d_init(AVCodecContext *c)
- if (dav1d->apply_grain >= 0)
- s.apply_grain = dav1d->apply_grain;
-
-+#if FF_DAV1D_VERSION_AT_LEAST(6,0)
-+ if (dav1d->frame_threads || dav1d->tile_threads)
-+ s.n_threads = FFMAX(dav1d->frame_threads, dav1d->tile_threads);
-+ else
-+ s.n_threads = FFMIN(threads, DAV1D_MAX_THREADS);
-+ s.max_frame_delay = (c->flags & AV_CODEC_FLAG_LOW_DELAY) ? 1 : s.n_threads;
-+ av_log(c, AV_LOG_DEBUG, "Using %d threads, %d max_frame_delay\n",
-+ s.n_threads, s.max_frame_delay);
-+#else
- s.n_tile_threads = dav1d->tile_threads
- ? dav1d->tile_threads
- : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
-@@ -142,6 +154,7 @@ static av_cold int libdav1d_init(AVCodecContext *c)
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- av_log(c, AV_LOG_DEBUG, "Using %d frame threads, %d tile threads\n",
- s.n_frame_threads, s.n_tile_threads);
-+#endif
-
- res = dav1d_open(&dav1d->c, &s);
- if (res < 0)
-@@ -371,6 +384,13 @@ static av_cold int libdav1d_close(AVCodecContext *c)
-
- return 0;
- }
-+
-+#ifndef DAV1D_MAX_FRAME_THREADS
-+#define DAV1D_MAX_FRAME_THREADS DAV1D_MAX_THREADS
-+#endif
-+#ifndef DAV1D_MAX_TILE_THREADS
-+#define DAV1D_MAX_TILE_THREADS DAV1D_MAX_THREADS
-+#endif
-
- #define OFFSET(x) offsetof(Libdav1dContext, x)
- #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
diff --git a/multimedia/emby-server-devel/pkg-deinstall b/multimedia/emby-server-devel/pkg-deinstall
deleted file mode 100644
index 89c613d6caac..000000000000
--- a/multimedia/emby-server-devel/pkg-deinstall
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-case $2 in
- DEINSTALL)
- echo "==> If you are uninstalling Emby Server permanently,"
- echo " and you do *NOT* want to retain the database, logs"
- echo " configuration and media metadata, you should"
- echo " manually delete directory /var/db/emby-server"
- ;;
-esac
diff --git a/multimedia/emby-server-devel/pkg-descr b/multimedia/emby-server-devel/pkg-descr
deleted file mode 100644
index 5fd3172f2217..000000000000
--- a/multimedia/emby-server-devel/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-Emby Server is a home media server built on top of other popular open source
-technologies such as Service Stack, jQuery, jQuery mobile, and .NET Core.
-
-It features a REST-based API with built-in documention to facilitate client
-development. It also offers client libraries for its API to enable rapid
-development.
-
-WWW: https://emby.media/
diff --git a/multimedia/emby-server-devel/pkg-message b/multimedia/emby-server-devel/pkg-message
deleted file mode 100644
index bc5db49c7090..000000000000
--- a/multimedia/emby-server-devel/pkg-message
+++ /dev/null
@@ -1,14 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To automatically start Emby Server at boot time:
-# sysrc emby_server_enable="YES"
-
-To then manually start Emby Server without rebooting:
-# service emby-server start
-
-Once started, visit the following webpage to configure:
-http://localhost:8096/
-EOM
-}
-]
diff --git a/multimedia/emby-server-devel/pkg-plist b/multimedia/emby-server-devel/pkg-plist
deleted file mode 100644
index 6800de2a81c0..000000000000
--- a/multimedia/emby-server-devel/pkg-plist
+++ /dev/null
@@ -1,997 +0,0 @@
-lib/emby-server/bin/ffdetect
-lib/emby-server/bin/ffmpeg
-lib/emby-server/bin/ffprobe
-lib/emby-server/system/Emby.ActivityLog.dll
-lib/emby-server/system/Emby.ActivityLog.pdb
-lib/emby-server/system/Emby.Api.dll
-lib/emby-server/system/Emby.Api.pdb
-lib/emby-server/system/Emby.Codecs.dll
-lib/emby-server/system/Emby.Codecs.pdb
-lib/emby-server/system/Emby.Drawing.ImageMagick.dll
-lib/emby-server/system/Emby.Drawing.ImageMagick.pdb
-lib/emby-server/system/Emby.Drawing.Skia.dll
-lib/emby-server/system/Emby.Drawing.Skia.pdb
-lib/emby-server/system/Emby.Drawing.dll
-lib/emby-server/system/Emby.Drawing.pdb
-lib/emby-server/system/Emby.Ffmpeg.Base.dll
-lib/emby-server/system/Emby.Ffmpeg.Base.pdb
-lib/emby-server/system/Emby.Ffmpeg.Lib.dll
-lib/emby-server/system/Emby.Ffmpeg.Lib.pdb
-lib/emby-server/system/Emby.Ffmpeg.dll
-lib/emby-server/system/Emby.Ffmpeg.pdb
-lib/emby-server/system/Emby.LiveTV.dll
-lib/emby-server/system/Emby.LiveTV.pdb
-lib/emby-server/system/Emby.LocalMetadata.dll
-lib/emby-server/system/Emby.LocalMetadata.pdb
-lib/emby-server/system/Emby.Media.Model.dll
-lib/emby-server/system/Emby.Media.Model.pdb
-lib/emby-server/system/Emby.Naming.dll
-lib/emby-server/system/Emby.Naming.pdb
-lib/emby-server/system/Emby.Notifications.dll
-lib/emby-server/system/Emby.Notifications.pdb
-lib/emby-server/system/Emby.Photos.dll
-lib/emby-server/system/Emby.Photos.pdb
-lib/emby-server/system/Emby.ProcessRun.dll
-lib/emby-server/system/Emby.ProcessRun.pdb
-lib/emby-server/system/Emby.Providers.dll
-lib/emby-server/system/Emby.Providers.pdb
-lib/emby-server/system/Emby.Server.Connect.dll
-lib/emby-server/system/Emby.Server.Connect.pdb
-lib/emby-server/system/Emby.Server.Implementations.dll
-lib/emby-server/system/Emby.Server.Implementations.pdb
-lib/emby-server/system/Emby.Server.MediaEncoding.dll
-lib/emby-server/system/Emby.Server.MediaEncoding.pdb
-lib/emby-server/system/Emby.Server.Sync.dll
-lib/emby-server/system/Emby.Server.Sync.pdb
-lib/emby-server/system/Emby.Sqlite.dll
-lib/emby-server/system/Emby.Sqlite.pdb
-lib/emby-server/system/Emby.Web.GenericEdit.dll
-lib/emby-server/system/Emby.Web.GenericEdit.pdb
-lib/emby-server/system/Emby.Web.dll
-lib/emby-server/system/Emby.Web.pdb
-lib/emby-server/system/EmbyServer.exe
-lib/emby-server/system/EmbyServer.exe.config
-lib/emby-server/system/EmbyServer.pdb
-lib/emby-server/system/ImageMagickSharp.dll
-lib/emby-server/system/ImageMagickSharp.dll.config
-lib/emby-server/system/MediaBrowser.Common.dll
-lib/emby-server/system/MediaBrowser.Common.pdb
-lib/emby-server/system/MediaBrowser.Controller.dll
-lib/emby-server/system/MediaBrowser.Controller.pdb
-lib/emby-server/system/MediaBrowser.Model.dll
-lib/emby-server/system/MediaBrowser.Model.pdb
-lib/emby-server/system/Microsoft.Bcl.AsyncInterfaces.dll
-lib/emby-server/system/Microsoft.Bcl.HashCode.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.Binder.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.CommandLine.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.EnvironmentVariables.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.FileExtensions.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.Json.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.UserSecrets.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.dll
-lib/emby-server/system/Microsoft.Extensions.DependencyInjection.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.DependencyInjection.dll
-lib/emby-server/system/Microsoft.Extensions.FileProviders.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.FileProviders.Physical.dll
-lib/emby-server/system/Microsoft.Extensions.FileSystemGlobbing.dll
-lib/emby-server/system/Microsoft.Extensions.Hosting.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.Hosting.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Configuration.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Console.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Debug.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.EventLog.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.EventSource.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.dll
-lib/emby-server/system/Microsoft.Extensions.Options.ConfigurationExtensions.dll
-lib/emby-server/system/Microsoft.Extensions.Options.dll
-lib/emby-server/system/Microsoft.Extensions.Primitives.dll
-lib/emby-server/system/Microsoft.OpenApi.dll
-lib/emby-server/system/Microsoft.OpenApi.pdb
-lib/emby-server/system/Microsoft.Win32.Primitives.dll
-lib/emby-server/system/PlaylistsNET.dll
-lib/emby-server/system/RSSDP.dll
-lib/emby-server/system/RSSDP.pdb
-lib/emby-server/system/SQLitePCL.pretty.dll
-lib/emby-server/system/SQLitePCL.pretty.pdb
-lib/emby-server/system/SQLitePCLRaw.provider.sqlite3.dll.config
-lib/emby-server/system/SQLitePCLRawEx.core.dll
-lib/emby-server/system/SQLitePCLRawEx.core.pdb
-lib/emby-server/system/ServiceStack.Text.dll
-lib/emby-server/system/SharpCompress.dll
-lib/emby-server/system/SimpleInjector.dll
-lib/emby-server/system/SkiaSharp.dll
-lib/emby-server/system/SocketHttpListener.dll
-lib/emby-server/system/SocketHttpListener.pdb
-lib/emby-server/system/System.AppContext.dll
-lib/emby-server/system/System.Buffers.dll
-lib/emby-server/system/System.Collections.Concurrent.dll
-lib/emby-server/system/System.Collections.NonGeneric.dll
-lib/emby-server/system/System.Collections.Specialized.dll
-lib/emby-server/system/System.Collections.dll
-lib/emby-server/system/System.ComponentModel.Annotations.dll
-lib/emby-server/system/System.ComponentModel.EventBasedAsync.dll
-lib/emby-server/system/System.ComponentModel.Primitives.dll
-lib/emby-server/system/System.ComponentModel.TypeConverter.dll
-lib/emby-server/system/System.ComponentModel.dll
-lib/emby-server/system/System.Console.dll
-lib/emby-server/system/System.Data.Common.dll
-lib/emby-server/system/System.Diagnostics.Contracts.dll
-lib/emby-server/system/System.Diagnostics.Debug.dll
-lib/emby-server/system/System.Diagnostics.DiagnosticSource.dll
-lib/emby-server/system/System.Diagnostics.FileVersionInfo.dll
-lib/emby-server/system/System.Diagnostics.Process.dll
-lib/emby-server/system/System.Diagnostics.StackTrace.dll
-lib/emby-server/system/System.Diagnostics.TextWriterTraceListener.dll
-lib/emby-server/system/System.Diagnostics.Tools.dll
-lib/emby-server/system/System.Diagnostics.TraceSource.dll
-lib/emby-server/system/System.Diagnostics.Tracing.dll
-lib/emby-server/system/System.Drawing.Primitives.dll
-lib/emby-server/system/System.Dynamic.Runtime.dll
-lib/emby-server/system/System.Globalization.Calendars.dll
-lib/emby-server/system/System.Globalization.Extensions.dll
-lib/emby-server/system/System.Globalization.dll
-lib/emby-server/system/System.IO.Compression.ZipFile.dll
-lib/emby-server/system/System.IO.Compression.dll
-lib/emby-server/system/System.IO.FileSystem.DriveInfo.dll
-lib/emby-server/system/System.IO.FileSystem.Primitives.dll
-lib/emby-server/system/System.IO.FileSystem.Watcher.dll
-lib/emby-server/system/System.IO.FileSystem.dll
-lib/emby-server/system/System.IO.IsolatedStorage.dll
-lib/emby-server/system/System.IO.MemoryMappedFiles.dll
-lib/emby-server/system/System.IO.Pipelines.dll
-lib/emby-server/system/System.IO.Pipes.dll
-lib/emby-server/system/System.IO.UnmanagedMemoryStream.dll
-lib/emby-server/system/System.IO.dll
-lib/emby-server/system/System.Linq.Expressions.dll
-lib/emby-server/system/System.Linq.Parallel.dll
-lib/emby-server/system/System.Linq.Queryable.dll
-lib/emby-server/system/System.Linq.dll
-lib/emby-server/system/System.Memory.dll
-lib/emby-server/system/System.Net.Http.dll
-lib/emby-server/system/System.Net.NameResolution.dll
-lib/emby-server/system/System.Net.NetworkInformation.dll
-lib/emby-server/system/System.Net.Ping.dll
-lib/emby-server/system/System.Net.Primitives.dll
-lib/emby-server/system/System.Net.Requests.dll
-lib/emby-server/system/System.Net.Security.dll
-lib/emby-server/system/System.Net.Sockets.dll
-lib/emby-server/system/System.Net.WebHeaderCollection.dll
-lib/emby-server/system/System.Net.WebSockets.Client.dll
-lib/emby-server/system/System.Net.WebSockets.dll
-lib/emby-server/system/System.Numerics.Vectors.dll
-lib/emby-server/system/System.ObjectModel.dll
-lib/emby-server/system/System.Reflection.Extensions.dll
-lib/emby-server/system/System.Reflection.Primitives.dll
-lib/emby-server/system/System.Reflection.dll
-lib/emby-server/system/System.Resources.Reader.dll
-lib/emby-server/system/System.Resources.ResourceManager.dll
-lib/emby-server/system/System.Resources.Writer.dll
-lib/emby-server/system/System.Runtime.CompilerServices.Unsafe.dll
-lib/emby-server/system/System.Runtime.CompilerServices.VisualC.dll
-lib/emby-server/system/System.Runtime.Extensions.dll
-lib/emby-server/system/System.Runtime.Handles.dll
-lib/emby-server/system/System.Runtime.InteropServices.RuntimeInformation.dll
-lib/emby-server/system/System.Runtime.InteropServices.dll
-lib/emby-server/system/System.Runtime.Numerics.dll
-lib/emby-server/system/System.Runtime.Serialization.Formatters.dll
-lib/emby-server/system/System.Runtime.Serialization.Json.dll
-lib/emby-server/system/System.Runtime.Serialization.Primitives.dll
-lib/emby-server/system/System.Runtime.Serialization.Xml.dll
-lib/emby-server/system/System.Runtime.dll
-lib/emby-server/system/System.Security.Claims.dll
-lib/emby-server/system/System.Security.Cryptography.Algorithms.dll
-lib/emby-server/system/System.Security.Cryptography.Csp.dll
-lib/emby-server/system/System.Security.Cryptography.Encoding.dll
-lib/emby-server/system/System.Security.Cryptography.Primitives.dll
-lib/emby-server/system/System.Security.Cryptography.X509Certificates.dll
-lib/emby-server/system/System.Security.Principal.dll
-lib/emby-server/system/System.Security.SecureString.dll
-lib/emby-server/system/System.Text.Encoding.CodePages.dll
-lib/emby-server/system/System.Text.Encoding.Extensions.dll
-lib/emby-server/system/System.Text.Encoding.dll
-lib/emby-server/system/System.Text.Encodings.Web.dll
-lib/emby-server/system/System.Text.Json.dll
-lib/emby-server/system/System.Text.RegularExpressions.dll
-lib/emby-server/system/System.Threading.Overlapped.dll
-lib/emby-server/system/System.Threading.Tasks.Dataflow.dll
-lib/emby-server/system/System.Threading.Tasks.Extensions.dll
-lib/emby-server/system/System.Threading.Tasks.Parallel.dll
-lib/emby-server/system/System.Threading.Tasks.dll
-lib/emby-server/system/System.Threading.Thread.dll
-lib/emby-server/system/System.Threading.ThreadPool.dll
-lib/emby-server/system/System.Threading.Timer.dll
-lib/emby-server/system/System.Threading.dll
-lib/emby-server/system/System.ValueTuple.dll
-lib/emby-server/system/System.Xml.ReaderWriter.dll
-lib/emby-server/system/System.Xml.XDocument.dll
-lib/emby-server/system/System.Xml.XPath.XDocument.dll
-lib/emby-server/system/System.Xml.XPath.dll
-lib/emby-server/system/System.Xml.XmlDocument.dll
-lib/emby-server/system/System.Xml.XmlSerializer.dll
-lib/emby-server/system/arm64/libSkiaSharp.dll
-lib/emby-server/system/dashboard-ui/apikeys/apikeys.js
-lib/emby-server/system/dashboard-ui/app.js
-lib/emby-server/system/dashboard-ui/apploader.js
-lib/emby-server/system/dashboard-ui/bower_components/abortcontroller-polyfill/umd-polyfill.js
-lib/emby-server/system/dashboard-ui/bower_components/css-vars-ponyfill/css-vars-ponyfill.js
-lib/emby-server/system/dashboard-ui/bower_components/fetch/fetch.js
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker-legacy.js
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker-legacy.js.mem
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker.js
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker.wasm
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus.js
-lib/emby-server/system/dashboard-ui/bower_components/jquery/jquery-slim.js
-lib/emby-server/system/dashboard-ui/bower_components/jstree/jstree.js
-lib/emby-server/system/dashboard-ui/bower_components/jstree/themes/default/32px.png
-lib/emby-server/system/dashboard-ui/bower_components/jstree/themes/default/style.css
-lib/emby-server/system/dashboard-ui/bower_components/jstree/themes/default/throbber.gif
-lib/emby-server/system/dashboard-ui/bower_components/libjass/libjass.css
-lib/emby-server/system/dashboard-ui/bower_components/libjass/libjass.js
-lib/emby-server/system/dashboard-ui/components/accessschedule/accessschedule.js
-lib/emby-server/system/dashboard-ui/components/accessschedule/accessschedule.template.html
-lib/emby-server/system/dashboard-ui/components/activitylog.js
-lib/emby-server/system/dashboard-ui/components/directorybrowser/directorybrowser.css
-lib/emby-server/system/dashboard-ui/components/directorybrowser/directorybrowser.js
-lib/emby-server/system/dashboard-ui/components/imageoptionseditor/imageoptionseditor.js
-lib/emby-server/system/dashboard-ui/components/imageoptionseditor/imageoptionseditor.template.html
-lib/emby-server/system/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.js
-lib/emby-server/system/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.template.html
-lib/emby-server/system/dashboard-ui/components/medialibrarycreator/medialibrarycreator.js
-lib/emby-server/system/dashboard-ui/components/medialibrarycreator/medialibrarycreator.template.html
-lib/emby-server/system/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js
-lib/emby-server/system/dashboard-ui/components/medialibraryeditor/medialibraryeditor.template.html
-lib/emby-server/system/dashboard-ui/components/tunerpicker.js
-lib/emby-server/system/dashboard-ui/css/detailtable.css
-lib/emby-server/system/dashboard-ui/css/images/supporter/supporterbadge.png
-lib/emby-server/system/dashboard-ui/dashboard/aboutpage.js
-lib/emby-server/system/dashboard-ui/dashboard/dashboard.css
-lib/emby-server/system/dashboard-ui/dashboard/dashboard.html
-lib/emby-server/system/dashboard-ui/dashboard/dashboard.js
-lib/emby-server/system/dashboard-ui/dashboard/releasenotes.html
-lib/emby-server/system/dashboard-ui/dashboard/releasenotes.js
-lib/emby-server/system/dashboard-ui/dashboard/serveractivity.js
-lib/emby-server/system/dashboard-ui/dashboard/settings.html
-lib/emby-server/system/dashboard-ui/dashboard/settings.js
-lib/emby-server/system/dashboard-ui/devices/cameraupload.html
-lib/emby-server/system/dashboard-ui/devices/cameraupload.js
-lib/emby-server/system/dashboard-ui/devices/device.html
-lib/emby-server/system/dashboard-ui/devices/device.js
-lib/emby-server/system/dashboard-ui/devices/devices.js
-lib/emby-server/system/dashboard-ui/embypremiere/embypremiere.html
-lib/emby-server/system/dashboard-ui/embypremiere/embypremiere.js
-lib/emby-server/system/dashboard-ui/favicon.ico
-lib/emby-server/system/dashboard-ui/games/games.html
-lib/emby-server/system/dashboard-ui/games/games.js
-lib/emby-server/system/dashboard-ui/games/gamestab.js
-lib/emby-server/system/dashboard-ui/games/gamesystems.js
-lib/emby-server/system/dashboard-ui/home/favorites.js
-lib/emby-server/system/dashboard-ui/home/home.html
-lib/emby-server/system/dashboard-ui/home/home.js
-lib/emby-server/system/dashboard-ui/home/hometab.js
-lib/emby-server/system/dashboard-ui/home_horiz/focushandler.js
-lib/emby-server/system/dashboard-ui/home_horiz/home.css
-lib/emby-server/system/dashboard-ui/home_horiz/home.html
-lib/emby-server/system/dashboard-ui/home_horiz/home.js
-lib/emby-server/system/dashboard-ui/home_horiz/spotlight.js
-lib/emby-server/system/dashboard-ui/home_horiz/tabbedpage.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.generic.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.generic.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.livetv.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.livetv.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.movies.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.movies.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.music.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.music.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.tv.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.tv.js
-lib/emby-server/system/dashboard-ui/images/icon-128x128.png
-lib/emby-server/system/dashboard-ui/images/icon-144x144.png
-lib/emby-server/system/dashboard-ui/images/icon-152x152.png
-lib/emby-server/system/dashboard-ui/images/icon-192x192.png
-lib/emby-server/system/dashboard-ui/images/icon-384x384.png
-lib/emby-server/system/dashboard-ui/images/icon-512x512.png
-lib/emby-server/system/dashboard-ui/images/icon-72x72.png
-lib/emby-server/system/dashboard-ui/images/icon-96x96.png
-lib/emby-server/system/dashboard-ui/images/splash.png
-lib/emby-server/system/dashboard-ui/index.html
-lib/emby-server/system/dashboard-ui/item/item.css
-lib/emby-server/system/dashboard-ui/item/item.html
-lib/emby-server/system/dashboard-ui/item/item.js
-lib/emby-server/system/dashboard-ui/legacy/dashboard.css
-lib/emby-server/system/dashboard-ui/legacy/dashboard.js
-lib/emby-server/system/dashboard-ui/librarysetup/advanced.html
-lib/emby-server/system/dashboard-ui/librarysetup/advanced.js
-lib/emby-server/system/dashboard-ui/librarysetup/library.js
-lib/emby-server/system/dashboard-ui/list/list.html
-lib/emby-server/system/dashboard-ui/list/list.js
-lib/emby-server/system/dashboard-ui/livetv/channels.js
-lib/emby-server/system/dashboard-ui/livetv/guide.css
-lib/emby-server/system/dashboard-ui/livetv/guide.js
-lib/emby-server/system/dashboard-ui/livetv/livetv.html
-lib/emby-server/system/dashboard-ui/livetv/livetv.js
-lib/emby-server/system/dashboard-ui/livetv/recordings.js
-lib/emby-server/system/dashboard-ui/livetv/schedule.js
-lib/emby-server/system/dashboard-ui/livetv/series.js
-lib/emby-server/system/dashboard-ui/livetv/suggestions.js
-lib/emby-server/system/dashboard-ui/livetvsetup/channels.js
-lib/emby-server/system/dashboard-ui/livetvsetup/embydata.html
-lib/emby-server/system/dashboard-ui/livetvsetup/embydata.js
-lib/emby-server/system/dashboard-ui/livetvsetup/guideprovider.html
-lib/emby-server/system/dashboard-ui/livetvsetup/guideprovider.js
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvsettings.html
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvsettings.js
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvstatus.html
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvstatus.js
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvtuner.html
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvtuner.js
-lib/emby-server/system/dashboard-ui/livetvsetup/schedulesdirect.html
-lib/emby-server/system/dashboard-ui/livetvsetup/schedulesdirect.js
-lib/emby-server/system/dashboard-ui/livetvsetup/xmltv.html
-lib/emby-server/system/dashboard-ui/livetvsetup/xmltv.js
-lib/emby-server/system/dashboard-ui/logs/log.css
-lib/emby-server/system/dashboard-ui/logs/log.js
-lib/emby-server/system/dashboard-ui/logs/logs.js
-lib/emby-server/system/dashboard-ui/manifest.json
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanager.css
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanager.html
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanager.js
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanagersidebar.js
-lib/emby-server/system/dashboard-ui/modules/actionsheet/actionsheet.css
-lib/emby-server/system/dashboard-ui/modules/actionsheet/actionsheet.js
-lib/emby-server/system/dashboard-ui/modules/addtolist/addtolist.js
-lib/emby-server/system/dashboard-ui/modules/alameda/alameda.js
-lib/emby-server/system/dashboard-ui/modules/alphanumericshortcuts/alphanumericshortcuts.css
-lib/emby-server/system/dashboard-ui/modules/alphanumericshortcuts/alphanumericshortcuts.js
-lib/emby-server/system/dashboard-ui/modules/alphapicker/alphapicker.js
-lib/emby-server/system/dashboard-ui/modules/alphapicker/style.css
-lib/emby-server/system/dashboard-ui/modules/appfooter/appfooter.css
-lib/emby-server/system/dashboard-ui/modules/appfooter/appfooter.js
-lib/emby-server/system/dashboard-ui/modules/appheader/appheader.css
-lib/emby-server/system/dashboard-ui/modules/appheader/appheader.js
-lib/emby-server/system/dashboard-ui/modules/approuter.js
-lib/emby-server/system/dashboard-ui/modules/autobackdrops.js
-lib/emby-server/system/dashboard-ui/modules/babelhelpers.js
-lib/emby-server/system/dashboard-ui/modules/backdrop/backdrop.js
-lib/emby-server/system/dashboard-ui/modules/backdrop/style.css
-lib/emby-server/system/dashboard-ui/modules/backdropscreensaver/plugin.js
-lib/emby-server/system/dashboard-ui/modules/backmenu/backmenu.js
-lib/emby-server/system/dashboard-ui/modules/browser.js
-lib/emby-server/system/dashboard-ui/modules/browserdeviceprofile.js
-lib/emby-server/system/dashboard-ui/modules/cardbuilder/card.css
-lib/emby-server/system/dashboard-ui/modules/cardbuilder/cardbuilder.js
-lib/emby-server/system/dashboard-ui/modules/chromecast/chromecasthelpers.js
-lib/emby-server/system/dashboard-ui/modules/chromecast/chromecastplayer.js
-lib/emby-server/system/dashboard-ui/modules/commandprocessor.js
-lib/emby-server/system/dashboard-ui/modules/common/appsettings.js
-lib/emby-server/system/dashboard-ui/modules/common/datetime.js
-lib/emby-server/system/dashboard-ui/modules/common/deletehelper.js
-lib/emby-server/system/dashboard-ui/modules/common/dialogs/alert.js
-lib/emby-server/system/dashboard-ui/modules/common/dialogs/confirm.js
-lib/emby-server/system/dashboard-ui/modules/common/filesystem.js
-lib/emby-server/system/dashboard-ui/modules/common/globalize.js
-lib/emby-server/system/dashboard-ui/modules/common/input/api.js
-lib/emby-server/system/dashboard-ui/modules/common/inputmanager.js
-lib/emby-server/system/dashboard-ui/modules/common/itemhelper.js
-lib/emby-server/system/dashboard-ui/modules/common/itemsrefresher.js
-lib/emby-server/system/dashboard-ui/modules/common/methodtimer.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/experimentalwarnings.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playaccessvalidation.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playbackmanager.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playbackvalidation.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playqueueconfirmation.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playqueuemanager.js
-lib/emby-server/system/dashboard-ui/modules/common/pluginmanager.js
-lib/emby-server/system/dashboard-ui/modules/common/qualityoptions.js
-lib/emby-server/system/dashboard-ui/modules/common/recordinghelper.js
-lib/emby-server/system/dashboard-ui/modules/common/servicelocator.js
-lib/emby-server/system/dashboard-ui/modules/common/strings/ar.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/bg-BG.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ca.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/cs.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/da.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/de.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/el.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/en-GB.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/en-US.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/es-AR.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/es-MX.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/es.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/et-EE.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/fi.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/fr-CA.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/fr.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/gsw.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/he.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/hr.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/hu.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/id.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/it.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ja.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/kk.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ko.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/lt-LT.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ms.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/nb.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/nl.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/pl.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/pt-BR.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/pt-PT.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ro.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ru.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/sk.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/sl-SI.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/sv.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/tr.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/uk.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/vi.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/zh-CN.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/zh-HK.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/zh-TW.json
-lib/emby-server/system/dashboard-ui/modules/common/subtitleappearancehelper.js
-lib/emby-server/system/dashboard-ui/modules/common/textencoding.js
-lib/emby-server/system/dashboard-ui/modules/common/usersettings/usersettings.js
-lib/emby-server/system/dashboard-ui/modules/common/usersettings/usersettingsbuilder.js
-lib/emby-server/system/dashboard-ui/modules/confirmstillplaying/plugin.js
-lib/emby-server/system/dashboard-ui/modules/controlbox.js
-lib/emby-server/system/dashboard-ui/modules/dialog/dialog.js
-lib/emby-server/system/dashboard-ui/modules/dialog/dialog.template.html
-lib/emby-server/system/dashboard-ui/modules/dialoghelper/dialoghelper.css
-lib/emby-server/system/dashboard-ui/modules/dialoghelper/dialoghelper.js
-lib/emby-server/system/dashboard-ui/modules/dockedtabs/dockedtabs.css
-lib/emby-server/system/dashboard-ui/modules/dockedtabs/dockedtabs.js
-lib/emby-server/system/dashboard-ui/modules/dom.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/apiclient.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/apiclientex.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/appstorage-cache.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/appstorage-localstorage.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/appstorage-memory.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/connectionmanager.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/credentials.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/events.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/serverdiscovery.js
-lib/emby-server/system/dashboard-ui/modules/emby-apiclient/wakeonlan.js
-lib/emby-server/system/dashboard-ui/modules/emby-connect/connecthelper.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-button/emby-button.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-button/emby-button.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-button/paper-icon-button-light.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-checkbox/emby-checkbox.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-checkbox/emby-checkbox.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-collapse/emby-collapse.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-collapse/emby-collapse.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-input/emby-input.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-input/emby-input.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressbar/emby-progressbar.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressbar/emby-progressbar.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressring/emby-progressring.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressring/emby-progressring.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-radio/emby-radio.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-radio/emby-radio.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-scrollbuttons/emby-scrollbuttons.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-scrollbuttons/emby-scrollbuttons.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-scroller/emby-scroller.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-select/emby-select.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-select/emby-select.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-slider/emby-slider.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-slider/emby-slider.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-tabs/emby-tabs.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-tabs/emby-tabs.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-textarea/emby-textarea.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-textarea/emby-textarea.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-toggle/emby-toggle.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-toggle/emby-toggle.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/gridrowrenderer.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide-settings.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide-settings.template.html
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/programs.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/tvguide.template.html
-lib/emby-server/system/dashboard-ui/modules/emby-elements/sync/emby-downloadbutton.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/userdatabuttons/emby-playstatebutton.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/userdatabuttons/emby-ratingbutton.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayer.html
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayer.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayers.html
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayers.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/bg-BG.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/cs.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/de.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/el.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/en-GB.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/en-US.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/es-MX.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/es.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/et-EE.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fa.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fi.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fr-CA.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fr.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/gsw.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/he.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/hr.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/hu.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/it.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/ja.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/kk.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/ko.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/lt-LT.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/nl.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/no.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/pl.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/pt-BR.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/pt-PT.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/ru.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/sk.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/sl-SI.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/sv.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/tr.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/uk.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/zh-CN.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/zh-HK.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/zh-TW.json
-lib/emby-server/system/dashboard-ui/modules/filtermenu/filtermenu.js
-lib/emby-server/system/dashboard-ui/modules/filtermenu/filtermenu.template.html
-lib/emby-server/system/dashboard-ui/modules/flexstyles.css
-lib/emby-server/system/dashboard-ui/modules/flvjs/config.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/features.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/media-info.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/media-segment-info.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/mse-controller.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/mse-events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxer.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxing-controller.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxing-events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxing-worker.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/amf-parser.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/demux-errors.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/exp-golomb.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/flv-demuxer.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/flv.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/fetch-stream-loader.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/io-controller.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/loader.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/param-seek-handler.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/range-seek-handler.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/speed-sampler.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/player/flv-player.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/player/player-errors.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/player/player-events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/remux/aac-silent.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/remux/mp4-generator.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/remux/mp4-remuxer.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/exception.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/logger.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/logging-control.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/utf8-conv.js
-lib/emby-server/system/dashboard-ui/modules/focusmanager.js
-lib/emby-server/system/dashboard-ui/modules/fonts/fonts.css
-lib/emby-server/system/dashboard-ui/modules/fonts/material-icons/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmJ_3.woff
-lib/emby-server/system/dashboard-ui/modules/fonts/material-icons/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmP_3.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/material-icons/style.css
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/subfont.woff2
-lib/emby-server/system/dashboard-ui/modules/formdialog.css
-lib/emby-server/system/dashboard-ui/modules/formhelper.js
-lib/emby-server/system/dashboard-ui/modules/fullscreen/fullscreen-dc.js
-lib/emby-server/system/dashboard-ui/modules/fullscreen/fullscreenmanager.js
-lib/emby-server/system/dashboard-ui/modules/headroom/headroom.css
-lib/emby-server/system/dashboard-ui/modules/headroom/headroom.js
-lib/emby-server/system/dashboard-ui/modules/hlsjs/hls.min.js
-lib/emby-server/system/dashboard-ui/modules/homesections/homesections.js
-lib/emby-server/system/dashboard-ui/modules/howlerjs/howler.core.js
-lib/emby-server/system/dashboard-ui/modules/htmlaudioplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/basehtmlplayer.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/htmlmediahelper.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/style.css
-lib/emby-server/system/dashboard-ui/modules/humanedate/humanedate.js
-lib/emby-server/system/dashboard-ui/modules/iap.js
-lib/emby-server/system/dashboard-ui/modules/imagedownloader/imagedownloader.js
-lib/emby-server/system/dashboard-ui/modules/imageeditor/imageeditor.css
-lib/emby-server/system/dashboard-ui/modules/imageeditor/imageeditor.js
-lib/emby-server/system/dashboard-ui/modules/imageeditor/imageeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/imageloader/imageloader.css
-lib/emby-server/system/dashboard-ui/modules/imageloader/imageloader.js
-lib/emby-server/system/dashboard-ui/modules/imageuploader/imageuploader.js
-lib/emby-server/system/dashboard-ui/modules/imageuploader/imageuploader.template.html
-lib/emby-server/system/dashboard-ui/modules/imageuploader/style.css
-lib/emby-server/system/dashboard-ui/modules/indicators/indicators.css
-lib/emby-server/system/dashboard-ui/modules/indicators/indicators.js
-lib/emby-server/system/dashboard-ui/modules/input/gamepadtokey.js
-lib/emby-server/system/dashboard-ui/modules/input/mouse.js
-lib/emby-server/system/dashboard-ui/modules/itemcontextmenu.js
-lib/emby-server/system/dashboard-ui/modules/itemidentifier/itemidentifier.js
-lib/emby-server/system/dashboard-ui/modules/itemidentifier/itemidentifier.template.html
-lib/emby-server/system/dashboard-ui/modules/layout.css
-lib/emby-server/system/dashboard-ui/modules/layoutmanager.js
-lib/emby-server/system/dashboard-ui/modules/lazyloader/lazyloader-intersectionobserver.js
-lib/emby-server/system/dashboard-ui/modules/listview/listview.css
-lib/emby-server/system/dashboard-ui/modules/listview/listview.js
-lib/emby-server/system/dashboard-ui/modules/loading/loading.css
-lib/emby-server/system/dashboard-ui/modules/loading/loading.js
-lib/emby-server/system/dashboard-ui/modules/loadingdialog/loadingdialog.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/idbcore.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/itemrepository.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/localassetmanager.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/useractionrepository.js
-lib/emby-server/system/dashboard-ui/modules/logoscreensaver/logowhite.png
-lib/emby-server/system/dashboard-ui/modules/logoscreensaver/plugin.js
-lib/emby-server/system/dashboard-ui/modules/logoscreensaver/style.css
-lib/emby-server/system/dashboard-ui/modules/maintabsmanager.js
-lib/emby-server/system/dashboard-ui/modules/mediainfo/fresh.png
-lib/emby-server/system/dashboard-ui/modules/mediainfo/mediainfo.css
-lib/emby-server/system/dashboard-ui/modules/mediainfo/mediainfo.js
-lib/emby-server/system/dashboard-ui/modules/mediainfo/rotten.png
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/metadataeditor.css
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/metadataeditor.js
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/metadataeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/personeditor.js
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/personeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/morphdom/morphdom.js
-lib/emby-server/system/dashboard-ui/modules/multidownload.js
-lib/emby-server/system/dashboard-ui/modules/multiselect/multiselect.css
-lib/emby-server/system/dashboard-ui/modules/multiselect/multiselect.js
-lib/emby-server/system/dashboard-ui/modules/navdrawer/navdrawer.css
-lib/emby-server/system/dashboard-ui/modules/navdrawer/navdrawer.js
-lib/emby-server/system/dashboard-ui/modules/navdrawer/navdrawercontent.js
-lib/emby-server/system/dashboard-ui/modules/notifications.js
-lib/emby-server/system/dashboard-ui/modules/nowplayingbar/nowplayingbar.css
-lib/emby-server/system/dashboard-ui/modules/nowplayingbar/nowplayingbar.js
-lib/emby-server/system/dashboard-ui/modules/pagejs/page.js
-lib/emby-server/system/dashboard-ui/modules/photoplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/photoscreensaver/plugin.js
-lib/emby-server/system/dashboard-ui/modules/playback/iconosd.css
-lib/emby-server/system/dashboard-ui/modules/playback/mediasession.js
-lib/emby-server/system/dashboard-ui/modules/playback/playbackorientation.js
-lib/emby-server/system/dashboard-ui/modules/playback/playerselection.js
-lib/emby-server/system/dashboard-ui/modules/playback/playersettingsmenu.js
-lib/emby-server/system/dashboard-ui/modules/playback/remotecontrolautoplay.js
-lib/emby-server/system/dashboard-ui/modules/playback/volumeosd.js
-lib/emby-server/system/dashboard-ui/modules/playerstats/playerstats.css
-lib/emby-server/system/dashboard-ui/modules/playerstats/playerstats.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/array.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/bind.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/crypto.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/css.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/custom-elements-builtin.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/custom-elements.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/document-register-element.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/dragdroptouch.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/element.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/form.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/intersection-observer.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/map.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/native-promise-only.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/numberformat.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/objectassign.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/promise.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/resizeobserver.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/set.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/string.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/weakmap.js
-lib/emby-server/system/dashboard-ui/modules/prompt/prompt.js
-lib/emby-server/system/dashboard-ui/modules/prompt/prompt.template.html
-lib/emby-server/system/dashboard-ui/modules/querystring/querystring.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/channelrecording.template.html
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/channelrecordingcreator.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingbutton.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingcreator.css
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingcreator.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingcreator.template.html
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingeditor.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingfields.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/seriesrecordingeditor.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/seriesrecordingeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/refreshdialog/refreshdialog.js
-lib/emby-server/system/dashboard-ui/modules/registrationservices/registrationservices.js
-lib/emby-server/system/dashboard-ui/modules/screensavermanager.js
-lib/emby-server/system/dashboard-ui/modules/scroller/smoothscroller.js
-lib/emby-server/system/dashboard-ui/modules/scrollstyles.css
-lib/emby-server/system/dashboard-ui/modules/sections.css
-lib/emby-server/system/dashboard-ui/modules/serverrestartdialog/serverrestartdialog.js
-lib/emby-server/system/dashboard-ui/modules/serviceworker/notifications.js
-lib/emby-server/system/dashboard-ui/modules/serviceworker/sync.js
-lib/emby-server/system/dashboard-ui/modules/sessionplayer.js
-lib/emby-server/system/dashboard-ui/modules/shell.js
-lib/emby-server/system/dashboard-ui/modules/shortcuts.js
-lib/emby-server/system/dashboard-ui/modules/skinmanager.js
-lib/emby-server/system/dashboard-ui/modules/slideshow/slideshow.js
-lib/emby-server/system/dashboard-ui/modules/slideshow/style.css
-lib/emby-server/system/dashboard-ui/modules/soundeffects/defaultsoundeffects/navigation.mp3
-lib/emby-server/system/dashboard-ui/modules/soundeffects/defaultsoundeffects/plugin.js
-lib/emby-server/system/dashboard-ui/modules/soundeffects/defaultsoundeffects/select.mp3
-lib/emby-server/system/dashboard-ui/modules/soundeffects/soundeffectsmanager.js
-lib/emby-server/system/dashboard-ui/modules/soundeffects/soundeffectsplayer.js
-lib/emby-server/system/dashboard-ui/modules/subtitleeditor/subtitleeditor.js
-lib/emby-server/system/dashboard-ui/modules/subtitleeditor/subtitleeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/subtitleoffsetoverlay/subtitleoffsetoverlay.js
-lib/emby-server/system/dashboard-ui/modules/sync/categorysyncbutton.js
-lib/emby-server/system/dashboard-ui/modules/sync/filerepository.js
-lib/emby-server/system/dashboard-ui/modules/sync/localsync.js
-lib/emby-server/system/dashboard-ui/modules/sync/mediasync.js
-lib/emby-server/system/dashboard-ui/modules/sync/multiserversync.js
-lib/emby-server/system/dashboard-ui/modules/sync/serversync.js
-lib/emby-server/system/dashboard-ui/modules/sync/sync.js
-lib/emby-server/system/dashboard-ui/modules/sync/syncjobeditor.js
-lib/emby-server/system/dashboard-ui/modules/sync/syncjoblist.js
-lib/emby-server/system/dashboard-ui/modules/sync/transfermanager.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/artiststab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/artiststab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/basetab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/collectionstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/collectionstab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/folderstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/folderstab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/genrestab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/itemstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/listcontroller.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/playliststab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/playliststab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/seriestab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/tabbedview.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/tagstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/videostab.js
-lib/emby-server/system/dashboard-ui/modules/thememediaplayer.js
-lib/emby-server/system/dashboard-ui/modules/themes/appletv/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/appletv/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/black/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/black/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/blueradiance/bg.jpg
-lib/emby-server/system/dashboard-ui/modules/themes/blueradiance/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/blueradiance/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/dark/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/dark/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/light/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/light/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/logodark.png
-lib/emby-server/system/dashboard-ui/modules/themes/logowhite.png
-lib/emby-server/system/dashboard-ui/modules/themes/wmc/bg.png
-lib/emby-server/system/dashboard-ui/modules/themes/wmc/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/wmc/theme.json
-lib/emby-server/system/dashboard-ui/modules/toast/toast.css
-lib/emby-server/system/dashboard-ui/modules/toast/toast.js
-lib/emby-server/system/dashboard-ui/modules/upnextdialog/upnextdialog.css
-lib/emby-server/system/dashboard-ui/modules/upnextdialog/upnextdialog.js
-lib/emby-server/system/dashboard-ui/modules/viewmanager/baseview.js
-lib/emby-server/system/dashboard-ui/modules/viewmanager/viewmanager.js
-lib/emby-server/system/dashboard-ui/modules/viewsettings/viewsettings.js
-lib/emby-server/system/dashboard-ui/modules/viewsettings/viewsettings.template.html
-lib/emby-server/system/dashboard-ui/modules/webvtt/vtt.js
-lib/emby-server/system/dashboard-ui/modules/windowdrag.css
-lib/emby-server/system/dashboard-ui/modules/youtubeplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/youtubeplayer/style.css
-lib/emby-server/system/dashboard-ui/music/albums.js
-lib/emby-server/system/dashboard-ui/music/music.html
-lib/emby-server/system/dashboard-ui/music/music.js
-lib/emby-server/system/dashboard-ui/music/songs.js
-lib/emby-server/system/dashboard-ui/music/suggestions.js
-lib/emby-server/system/dashboard-ui/network/network.html
-lib/emby-server/system/dashboard-ui/network/network.js
-lib/emby-server/system/dashboard-ui/plugins/addplugin.html
-lib/emby-server/system/dashboard-ui/plugins/addpluginpage.css
-lib/emby-server/system/dashboard-ui/plugins/addpluginpage.js
-lib/emby-server/system/dashboard-ui/plugins/plugincatalog.css
-lib/emby-server/system/dashboard-ui/plugins/plugincatalog.html
-lib/emby-server/system/dashboard-ui/plugins/plugincatalog.js
-lib/emby-server/system/dashboard-ui/plugins/plugins.js
-lib/emby-server/system/dashboard-ui/robots.txt
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtask.html
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtask.js
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtasks.html
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtasks.js
-lib/emby-server/system/dashboard-ui/scripts/taskbutton.js
-lib/emby-server/system/dashboard-ui/search/search.html
-lib/emby-server/system/dashboard-ui/search/search.js
-lib/emby-server/system/dashboard-ui/search/searchfields.css
-lib/emby-server/system/dashboard-ui/search/searchfields.js
-lib/emby-server/system/dashboard-ui/search/searchfields.template.html
-lib/emby-server/system/dashboard-ui/search/searchresults.js
-lib/emby-server/system/dashboard-ui/server/database/database.html
-lib/emby-server/system/dashboard-ui/server/database/database.js
-lib/emby-server/system/dashboard-ui/server/downloads/activity.html
-lib/emby-server/system/dashboard-ui/server/downloads/activity.js
-lib/emby-server/system/dashboard-ui/server/downloads/settings.html
-lib/emby-server/system/dashboard-ui/server/downloads/settings.js
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsetting.html
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsetting.js
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsettings.html
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsettings.js
-lib/emby-server/system/dashboard-ui/serviceworker-app.js
-lib/emby-server/system/dashboard-ui/serviceworker.js
-lib/emby-server/system/dashboard-ui/settings/cameraupload.html
-lib/emby-server/system/dashboard-ui/settings/cameraupload.js
-lib/emby-server/system/dashboard-ui/settings/display.html
-lib/emby-server/system/dashboard-ui/settings/display.js
-lib/emby-server/system/dashboard-ui/settings/download.html
-lib/emby-server/system/dashboard-ui/settings/download.js
-lib/emby-server/system/dashboard-ui/settings/homescreen.html
-lib/emby-server/system/dashboard-ui/settings/homescreen.js
-lib/emby-server/system/dashboard-ui/settings/homescreensettings.js
-lib/emby-server/system/dashboard-ui/settings/keyboard.html
-lib/emby-server/system/dashboard-ui/settings/keyboard.js
-lib/emby-server/system/dashboard-ui/settings/managedownloads.html
-lib/emby-server/system/dashboard-ui/settings/managedownloads.js
-lib/emby-server/system/dashboard-ui/settings/password.html
-lib/emby-server/system/dashboard-ui/settings/password.js
-lib/emby-server/system/dashboard-ui/settings/playback.html
-lib/emby-server/system/dashboard-ui/settings/playback.js
-lib/emby-server/system/dashboard-ui/settings/profile.css
-lib/emby-server/system/dashboard-ui/settings/profile.html
-lib/emby-server/system/dashboard-ui/settings/profile.js
-lib/emby-server/system/dashboard-ui/settings/settings.css
-lib/emby-server/system/dashboard-ui/settings/settings.html
-lib/emby-server/system/dashboard-ui/settings/settings.js
-lib/emby-server/system/dashboard-ui/settings/subtitles.html
-lib/emby-server/system/dashboard-ui/settings/subtitles.js
-lib/emby-server/system/dashboard-ui/settings/userpasswordcontroller.js
-lib/emby-server/system/dashboard-ui/startup/connectlogin.html
-lib/emby-server/system/dashboard-ui/startup/connectlogin.js
-lib/emby-server/system/dashboard-ui/startup/connectsignup.html
-lib/emby-server/system/dashboard-ui/startup/connectsignup.js
-lib/emby-server/system/dashboard-ui/startup/forgotpassword.html
-lib/emby-server/system/dashboard-ui/startup/forgotpassword.js
-lib/emby-server/system/dashboard-ui/startup/forgotpasswordpin.html
-lib/emby-server/system/dashboard-ui/startup/forgotpasswordpin.js
-lib/emby-server/system/dashboard-ui/startup/login.html
-lib/emby-server/system/dashboard-ui/startup/login.js
-lib/emby-server/system/dashboard-ui/startup/manuallogin.html
-lib/emby-server/system/dashboard-ui/startup/manuallogin.js
-lib/emby-server/system/dashboard-ui/startup/manualserver.html
-lib/emby-server/system/dashboard-ui/startup/manualserver.js
-lib/emby-server/system/dashboard-ui/startup/selectserver.html
-lib/emby-server/system/dashboard-ui/startup/selectserver.js
-lib/emby-server/system/dashboard-ui/startup/startuphelper.js
-lib/emby-server/system/dashboard-ui/startup/welcome.html
-lib/emby-server/system/dashboard-ui/startup/welcome.js
-lib/emby-server/system/dashboard-ui/strings/ar.json
-lib/emby-server/system/dashboard-ui/strings/be-BY.json
-lib/emby-server/system/dashboard-ui/strings/bg-BG.json
-lib/emby-server/system/dashboard-ui/strings/ca.json
-lib/emby-server/system/dashboard-ui/strings/cs.json
-lib/emby-server/system/dashboard-ui/strings/da.json
-lib/emby-server/system/dashboard-ui/strings/de.json
-lib/emby-server/system/dashboard-ui/strings/el.json
-lib/emby-server/system/dashboard-ui/strings/en-GB.json
-lib/emby-server/system/dashboard-ui/strings/en-US.json
-lib/emby-server/system/dashboard-ui/strings/es-AR.json
-lib/emby-server/system/dashboard-ui/strings/es-MX.json
-lib/emby-server/system/dashboard-ui/strings/es-US.json
-lib/emby-server/system/dashboard-ui/strings/es.json
-lib/emby-server/system/dashboard-ui/strings/et-EE.json
-lib/emby-server/system/dashboard-ui/strings/fa.json
-lib/emby-server/system/dashboard-ui/strings/fi.json
-lib/emby-server/system/dashboard-ui/strings/fr-CA.json
-lib/emby-server/system/dashboard-ui/strings/fr.json
-lib/emby-server/system/dashboard-ui/strings/gsw.json
-lib/emby-server/system/dashboard-ui/strings/he.json
-lib/emby-server/system/dashboard-ui/strings/hi-IN.json
-lib/emby-server/system/dashboard-ui/strings/hr.json
-lib/emby-server/system/dashboard-ui/strings/hu.json
-lib/emby-server/system/dashboard-ui/strings/id.json
-lib/emby-server/system/dashboard-ui/strings/is-IS.json
-lib/emby-server/system/dashboard-ui/strings/it.json
-lib/emby-server/system/dashboard-ui/strings/ja.json
-lib/emby-server/system/dashboard-ui/strings/kk.json
-lib/emby-server/system/dashboard-ui/strings/ko.json
-lib/emby-server/system/dashboard-ui/strings/lt-LT.json
-lib/emby-server/system/dashboard-ui/strings/ms.json
-lib/emby-server/system/dashboard-ui/strings/nb.json
-lib/emby-server/system/dashboard-ui/strings/nl.json
-lib/emby-server/system/dashboard-ui/strings/no.json
-lib/emby-server/system/dashboard-ui/strings/pl.json
-lib/emby-server/system/dashboard-ui/strings/pt-BR.json
-lib/emby-server/system/dashboard-ui/strings/pt-PT.json
-lib/emby-server/system/dashboard-ui/strings/ro.json
-lib/emby-server/system/dashboard-ui/strings/ru.json
-lib/emby-server/system/dashboard-ui/strings/sk.json
-lib/emby-server/system/dashboard-ui/strings/sl-SI.json
-lib/emby-server/system/dashboard-ui/strings/sv.json
-lib/emby-server/system/dashboard-ui/strings/th.json
-lib/emby-server/system/dashboard-ui/strings/tr.json
-lib/emby-server/system/dashboard-ui/strings/uk.json
-lib/emby-server/system/dashboard-ui/strings/vi.json
-lib/emby-server/system/dashboard-ui/strings/zh-CN.json
-lib/emby-server/system/dashboard-ui/strings/zh-HK.json
-lib/emby-server/system/dashboard-ui/strings/zh-TW.json
-lib/emby-server/system/dashboard-ui/transcoding/transcoding.html
-lib/emby-server/system/dashboard-ui/transcoding/transcoding.js
-lib/emby-server/system/dashboard-ui/tv/favorites.js
-lib/emby-server/system/dashboard-ui/tv/studios.js
-lib/emby-server/system/dashboard-ui/tv/suggestions.js
-lib/emby-server/system/dashboard-ui/tv/tv.html
-lib/emby-server/system/dashboard-ui/tv/tv.js
-lib/emby-server/system/dashboard-ui/tv/upcoming.js
-lib/emby-server/system/dashboard-ui/users/accesstab.js
-lib/emby-server/system/dashboard-ui/users/parentalcontroltab.js
-lib/emby-server/system/dashboard-ui/users/passwordtab.js
-lib/emby-server/system/dashboard-ui/users/profiletab.js
-lib/emby-server/system/dashboard-ui/users/user.html
-lib/emby-server/system/dashboard-ui/users/user.js
-lib/emby-server/system/dashboard-ui/users/usernew.html
-lib/emby-server/system/dashboard-ui/users/usernew.js
-lib/emby-server/system/dashboard-ui/users/users.js
-lib/emby-server/system/dashboard-ui/videoosd/ani_equalizer_white.gif
-lib/emby-server/system/dashboard-ui/videoosd/basetab.js
-lib/emby-server/system/dashboard-ui/videoosd/chapterstab.js
-lib/emby-server/system/dashboard-ui/videoosd/guidetab.js
-lib/emby-server/system/dashboard-ui/videoosd/infotab.js
-lib/emby-server/system/dashboard-ui/videoosd/lyrics.css
-lib/emby-server/system/dashboard-ui/videoosd/lyrics.js
-lib/emby-server/system/dashboard-ui/videoosd/onnowtab.js
-lib/emby-server/system/dashboard-ui/videoosd/peopletab.js
-lib/emby-server/system/dashboard-ui/videoosd/playqueue.css
-lib/emby-server/system/dashboard-ui/videoosd/playqueue.js
-lib/emby-server/system/dashboard-ui/videoosd/tvplayqueue.css
-lib/emby-server/system/dashboard-ui/videoosd/tvplayqueue.js
-lib/emby-server/system/dashboard-ui/videoosd/videoosd.css
-lib/emby-server/system/dashboard-ui/videoosd/videoosd.html
-lib/emby-server/system/dashboard-ui/videoosd/videoosd.js
-lib/emby-server/system/dashboard-ui/videos/moviesuggestions.js
-lib/emby-server/system/dashboard-ui/videos/photos.js
-lib/emby-server/system/dashboard-ui/videos/trailers.js
-lib/emby-server/system/dashboard-ui/videos/videos.html
-lib/emby-server/system/dashboard-ui/videos/videos.js
-lib/emby-server/system/dashboard-ui/wizard/wizard.css
-lib/emby-server/system/dashboard-ui/wizard/wizardagreement.html
-lib/emby-server/system/dashboard-ui/wizard/wizardagreement.js
-lib/emby-server/system/dashboard-ui/wizard/wizardfinish.html
-lib/emby-server/system/dashboard-ui/wizard/wizardfinishpage.js
-lib/emby-server/system/dashboard-ui/wizard/wizardlibrary.html
-lib/emby-server/system/dashboard-ui/wizard/wizardremoteaccess.html
-lib/emby-server/system/dashboard-ui/wizard/wizardremoteaccess.js
-lib/emby-server/system/dashboard-ui/wizard/wizardsettings.html
-lib/emby-server/system/dashboard-ui/wizard/wizardsettings.js
-lib/emby-server/system/dashboard-ui/wizard/wizardstart.html
-lib/emby-server/system/dashboard-ui/wizard/wizardstart.js
-lib/emby-server/system/dashboard-ui/wizard/wizarduser.html
-lib/emby-server/system/dashboard-ui/wizard/wizarduserpage.js
-lib/emby-server/system/libSkiaSharp.dylib
-lib/emby-server/system/netstandard.dll
-lib/emby-server/system/plugins/AudioDb.dll
-lib/emby-server/system/plugins/BlurayMounter.dll
-lib/emby-server/system/plugins/DvdMounter.dll
-lib/emby-server/system/plugins/Emby.Dlna.dll
-lib/emby-server/system/plugins/Emby.M3UTuner.dll
-lib/emby-server/system/plugins/Emby.PortMapper.dll
-lib/emby-server/system/plugins/Emby.Server.CinemaMode.dll
-lib/emby-server/system/plugins/Emby.Webhooks.dll
-lib/emby-server/system/plugins/Emby.XmlTV.dll
-lib/emby-server/system/plugins/EmbyGuideData.dll
-lib/emby-server/system/plugins/Fanart.dll
-lib/emby-server/system/plugins/MovieDb.dll
-lib/emby-server/system/plugins/MusicBrainz.dll
-lib/emby-server/system/plugins/NfoMetadata.dll
-lib/emby-server/system/plugins/OMDb.dll
-lib/emby-server/system/plugins/OpenSubtitles.dll
-lib/emby-server/system/plugins/SchedulesDirect.dll
-lib/emby-server/system/plugins/StudioImages.dll
-lib/emby-server/system/plugins/Tvdb.dll
-lib/emby-server/system/x64/libSkiaSharp.dll
-lib/emby-server/system/x86/libSkiaSharp.dll
diff --git a/multimedia/emby-server/Makefile b/multimedia/emby-server/Makefile
index 07cfdb722487..c565870489cc 100644
--- a/multimedia/emby-server/Makefile
+++ b/multimedia/emby-server/Makefile
@@ -1,21 +1,22 @@
PORTNAME= emby-server
-DISTVERSION= 4.6.7.0
-PORTREVISION= 2
+DISTVERSION?= 4.8.3.0
+PORTREVISION?= 4
CATEGORIES= multimedia
-MASTER_SITES= https://github.com/MediaBrowser/Emby.Releases/releases/download/${PORTVERSION}/ \
+MASTER_SITES= https://github.com/MediaBrowser/Emby.Releases/releases/download/${DISTVERSION}/ \
https://mediabrowser.github.io/embytools/
-DISTNAME= embyserver-netframework_${PORTVERSION}
-DISTFILES= ${DISTNAME}.zip \
- ffdetect-${FFVERSION}-x64_freebsd13.tar.xz \
- ffmpeg-${FFVERSION}.tar.gz \
+DISTNAME= emby-server-freebsd14_${DISTVERSION}_amd64
+DISTFILES= ${DISTNAME}.tar.xz \
+ ffdetect-${FFDETECT_VERSION}.tar.xz \
+ ffmpeg-${FFMPEG_VERSION}.tar.gz \
license.docx
-DIST_SUBDIR= ${PORTNAME}
-EXTRACT_ONLY= ${DISTNAME}.zip \
- ffdetect-${FFVERSION}-x64_freebsd13.tar.xz \
- ffmpeg-${FFVERSION}.tar.gz
+DIST_SUBDIR?= ${PORTNAME}
+EXTRACT_ONLY= ${DISTNAME}.tar.xz \
+ ffdetect-${FFDETECT_VERSION}.tar.xz \
+ ffmpeg-${FFMPEG_VERSION}.tar.gz
MAINTAINER= driesm@FreeBSD.org
COMMENT= Media server to organize, play & stream audio/video to various devices
+WWW= https://emby.media/
LICENSE= UNKNOWN
LICENSE_NAME= custom
@@ -24,20 +25,23 @@ LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
ONLY_FOR_ARCHS= amd64
-BUILD_DEPENDS= nasm:devel/nasm
+BUILD_DEPENDS= nasm:devel/nasm \
+ ${LOCALBASE}/include/CL/opencl.h:devel/opencl
LIB_DEPENDS= libaribb24.so:multimedia/aribb24 \
libass.so:multimedia/libass \
+ libchromaprint.so:audio/chromaprint \
libdav1d.so:multimedia/dav1d \
libdrm.so:graphics/libdrm \
libfontconfig.so:x11-fonts/fontconfig \
libfreetype.so:print/freetype2 \
libfribidi.so:converters/fribidi \
- libgnutls.so:security/gnutls \
libmfx.so:multimedia/intel-media-sdk \
+ libOpenCL.so:devel/ocl-icd \
libogg.so:audio/libogg \
libopus.so:audio/opus \
libpng.so:graphics/png \
libraw.so:graphics/libraw \
+ libtesseract.so:graphics/tesseract \
libtheora.so:multimedia/libtheora \
libva.so:multimedia/libva \
libvorbis.so:audio/libvorbis \
@@ -46,9 +50,23 @@ LIB_DEPENDS= libaribb24.so:multimedia/aribb24 \
libx264.so:multimedia/libx264 \
libx265.so:multimedia/x265 \
libzvbi.so:devel/libzvbi
-RUN_DEPENDS= mono6.8>0:lang/mono6.8
-USES= compiler:c11 gmake iconv localbase:ldflags pkgconfig sqlite
+RUN_DEPENDS= dotnet>0:lang/dotnet \
+ icu>0:devel/icu \
+ krb5>0:security/krb5 \
+ libexif>0:graphics/libexif \
+ libheif>0:graphics/libheif \
+ libimagequant>0:graphics/libimagequant \
+ libinotify>0:devel/libinotify \
+ libjxl>0:graphics/libjxl \
+ libunwind>0:devel/libunwind \
+ openexr>0:graphics/openexr \
+ openjpeg>0:graphics/openjpeg \
+ orc>0:devel/orc \
+ pango>0:x11-toolkits/pango \
+ tiff>0:graphics/tiff
+
+USES= compiler:c11 gmake iconv localbase:ldflags magick:6 pkgconfig sqlite ssl
USE_RC_SUBR= ${PORTNAME}
HAS_CONFIGURE= yes
@@ -63,9 +81,10 @@ CONFIGURE_ARGS= --cc="${CC}" \
--disable-sndio \
--disable-v4l2-m2m \
--disable-vdpau \
+ --disable-vulkan \
--disable-xlib \
+ --enable-chromaprint \
--enable-fontconfig \
- --enable-gnutls \
--enable-gpl \
--enable-iconv \
--enable-libaribb24 \
@@ -76,6 +95,7 @@ CONFIGURE_ARGS= --cc="${CC}" \
--enable-libfribidi \
--enable-libmfx \
--enable-libopus \
+ --enable-libtesseract \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
@@ -83,6 +103,8 @@ CONFIGURE_ARGS= --cc="${CC}" \
--enable-libx264 \
--enable-libx265 \
--enable-libzvbi \
+ --enable-opencl \
+ --enable-openssl \
--enable-optimizations \
--enable-static \
--enable-vaapi \
@@ -90,41 +112,44 @@ CONFIGURE_ARGS= --cc="${CC}" \
MAKE_ENV= V=1
-CONFLICTS_INSTALL= emby-server-devel
+CONFLICTS_INSTALL?= emby-server-devel
NOPRECIOUSMAKEVARS= yes
-SUB_FILES= ImageMagickSharp.dll.config \
- SQLitePCLRaw.provider.sqlite3.dll.config
+SUB_FILES= SQLitePCLRaw.provider.sqlite3.dll.config
SUB_LIST= GROUP=${GROUPS} \
PORTNAME=${PORTNAME} \
RC_NAME=emby_server \
USER=${USERS}
-WRKSRC= ${WRKDIR}/ffmpeg-${FFVERSION}_public
+WRKSRC= ${WRKDIR}/${FFMPEG_WRKSRC}
USERS= emby
GROUPS= emby
-OPTIONS_DEFINE= LAME X11
-OPTIONS_DEFAULT= LAME X11
+OPTIONS_DEFINE= LAME
+OPTIONS_DEFAULT= LAME
LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
LAME_CONFIGURE_ENABLE= libmp3lame
-X11_USES= xorg magick:6
-X11_USES_OFF= magick:6,nox11
-X11_USE= xorg=x11
-
-FFVERSION= 2021_02_27
+FFDETECT_VERSION= 2023_06_25-x64_freebsd14
+FFMPEG_VERSION= 2023_06_25-u1
+FFMPEG_WRKSRC= ffmpeg-2023_06_25_public
do-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/emby-server/system
- (${INSTALL_DATA} ${WRKDIR}/ImageMagickSharp.dll.config ${STAGEDIR}${PREFIX}/lib/emby-server/system)
- (${INSTALL_DATA} ${WRKDIR}/SQLitePCLRaw.provider.sqlite3.dll.config ${STAGEDIR}${PREFIX}/lib/emby-server/system)
- (cd ${WRKDIR}/system && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/emby-server/system)
@${MKDIR} ${STAGEDIR}${PREFIX}/lib/emby-server/bin
(${INSTALL_PROGRAM} ${WRKDIR}/bin/ffdetect ${STAGEDIR}${PREFIX}/lib/emby-server/bin)
(${INSTALL_PROGRAM} ${WRKSRC}/ffmpeg ${STAGEDIR}${PREFIX}/lib/emby-server/bin)
(${INSTALL_PROGRAM} ${WRKSRC}/ffprobe ${STAGEDIR}${PREFIX}/lib/emby-server/bin)
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/emby-server/lib
+ (cd ${WRKDIR}/lib && ${COPYTREE_BIN} . ${STAGEDIR}${PREFIX}/lib/emby-server/lib)
+ ${RLN} ${LOCALBASE}/lib/libimagequant.so.0.4 ${STAGEDIR}${PREFIX}/lib/emby-server/lib/libimagequant.so.0
+ @${MKDIR} ${STAGEDIR}${PREFIX}/lib/emby-server/system
+ (${INSTALL_DATA} ${WRKDIR}/SQLitePCLRaw.provider.sqlite3.dll.config ${STAGEDIR}${PREFIX}/lib/emby-server/system)
+ (cd ${WRKDIR}/system && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/lib/emby-server/system "! -name EmbyServer")
+ (${INSTALL_PROGRAM} ${WRKDIR}/system/EmbyServer ${STAGEDIR}${PREFIX}/lib/emby-server/system)
+
+post-install:
+ @${FIND} -s ${STAGEDIR}${PREFIX}/lib -not -type d | ${SORT} | ${SED} -e 's#^${STAGEDIR}${PREFIX}/##' >> ${TMPPLIST}
.include <bsd.port.mk>
diff --git a/multimedia/emby-server/distinfo b/multimedia/emby-server/distinfo
index 379d96851b41..d0ec1f6d0f1e 100644
--- a/multimedia/emby-server/distinfo
+++ b/multimedia/emby-server/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1637602214
-SHA256 (emby-server/embyserver-netframework_4.6.7.0.zip) = 94c0c90998d676cbc8251d37b882f180cb0839f24f23cd7cf2967b84b5871e2e
-SIZE (emby-server/embyserver-netframework_4.6.7.0.zip) = 48266548
-SHA256 (emby-server/ffdetect-2021_02_27-x64_freebsd13.tar.xz) = 883e02378da5f111931e36226fe85bcf19deeaaf4ede446e267081838e936ac7
-SIZE (emby-server/ffdetect-2021_02_27-x64_freebsd13.tar.xz) = 75244
-SHA256 (emby-server/ffmpeg-2021_02_27.tar.gz) = dd587ddbde4c967695919d7f85b0f28e6d7262f55171f3e8052eef2f4a7f585c
-SIZE (emby-server/ffmpeg-2021_02_27.tar.gz) = 13236851
+TIMESTAMP = 1713001345
+SHA256 (emby-server/emby-server-freebsd14_4.8.3.0_amd64.tar.xz) = 82cc6d3008aff1d34b8152c7be18cdbbd6f13b553d8c74e11844c8166c62a190
+SIZE (emby-server/emby-server-freebsd14_4.8.3.0_amd64.tar.xz) = 37920836
+SHA256 (emby-server/ffdetect-2023_06_25-x64_freebsd14.tar.xz) = a231e248fc60a284d9b12285471386992539f47cb9cccadc12a6213a7e9f3b92
+SIZE (emby-server/ffdetect-2023_06_25-x64_freebsd14.tar.xz) = 86852
+SHA256 (emby-server/ffmpeg-2023_06_25-u1.tar.gz) = 6cf41278eb5e4b19042c844cfacde3ccba3c0f5bd39d914d141ffcaff249de0d
+SIZE (emby-server/ffmpeg-2023_06_25-u1.tar.gz) = 14604646
SHA256 (emby-server/license.docx) = a6d7ea65dcb06392479a85e1a10a7aeb872d803da6f784f6935fcd4ee63008c6
SIZE (emby-server/license.docx) = 18373
diff --git a/multimedia/emby-server/files/ImageMagickSharp.dll.config.in b/multimedia/emby-server/files/ImageMagickSharp.dll.config.in
deleted file mode 100644
index 1c89d61bd056..000000000000
--- a/multimedia/emby-server/files/ImageMagickSharp.dll.config.in
+++ /dev/null
@@ -1,3 +0,0 @@
-<configuration>
- <dllmap dll="CORE_RL_Wand_" target="%%LOCALBASE%%/lib/libMagickWand-6.so" os="freebsd"/>
-</configuration>
diff --git a/multimedia/emby-server/files/emby-server.in b/multimedia/emby-server/files/emby-server.in
index 1c35ab072390..ae4e68671cab 100644
--- a/multimedia/emby-server/files/emby-server.in
+++ b/multimedia/emby-server/files/emby-server.in
@@ -26,8 +26,10 @@
# Default: %%PREFIX%%/lib/emby-server/bin/ffmpeg
# %%RC_NAME%%_ffprobe: Path of the ffprobe binary.
# Default: %%PREFIX%%/lib/emby-server/bin/ffprobe
-# %%RC_NAME%%_pid: Path of the pid file.
-# Default: /var/run/%%PORTNAME%%.pid
+# %%RC_NAME%%_pid: Name of the pid file.
+# Default: %%PORTNAME%%.pid
+# %%RC_NAME%%_pid_dir: Path of the pid file.
+# Default: /var/run/emby-server
. /etc/rc.subr
name=%%RC_NAME%%
@@ -41,29 +43,37 @@ load_rc_config ${name}
: ${%%RC_NAME%%_ffdetect:="%%PREFIX%%/lib/emby-server/bin/ffdetect"}
: ${%%RC_NAME%%_ffmpeg:="%%PREFIX%%/lib/emby-server/bin/ffmpeg"}
: ${%%RC_NAME%%_ffprobe:="%%PREFIX%%/lib/emby-server/bin/ffprobe"}
-: ${%%RC_NAME%%_pid:="/var/run/%%PORTNAME%%.pid"}
+: ${%%RC_NAME%%_pid:="%%PORTNAME%%.pid"}
+: ${%%RC_NAME%%_pid_dir:="/var/run/emby-server"}
-pidfile="${%%RC_NAME%%_pid}"
-procname="%%LOCALBASE%%/bin/mono"
+pidfile="${%%RC_NAME%%_pid_dir}/${%%RC_NAME%%_pid}"
command="/usr/sbin/daemon"
-command_args="-f -p ${%%RC_NAME%%_pid} ${procname} %%PREFIX%%/lib/emby-server/system/EmbyServer.exe \
+command_args="-r -f -P ${pidfile} %%LOCALBASE%%/bin/dotnet %%PREFIX%%/lib/emby-server/system/EmbyServer.dll \
-os freebsd \
-ffdetect ${%%RC_NAME%%_ffdetect} \
-ffmpeg ${%%RC_NAME%%_ffmpeg} \
-ffprobe ${%%RC_NAME%%_ffprobe} \
-programdata ${%%RC_NAME%%_data_dir}"
-start_precmd=%%RC_NAME%%_precmd
-%%RC_NAME%%_precmd()
+start_precmd=%%RC_NAME%%_start_precmd
+%%RC_NAME%%_start_precmd()
{
- [ -f ${%%RC_NAME%%_pid} ] || install -g ${%%RC_NAME%%_group} -o ${%%RC_NAME%%_user} -- /dev/null ${%%RC_NAME%%_pid}
- [ -d ${%%RC_NAME%%_data_dir} ] || install -d -g ${%%RC_NAME%%_group} -o ${%%RC_NAME%%_user} -- ${%%RC_NAME%%_data_dir}
-}
+ [ -d ${%%RC_NAME%%_pid_dir} ] || install -d -g ${%%RC_NAME%%_group} -o ${%%RC_NAME%%_user} ${%%RC_NAME%%_pid_dir}
+ [ -d ${%%RC_NAME%%_data_dir} ] || install -d -g ${%%RC_NAME%%_group} -o ${%%RC_NAME%%_user} ${%%RC_NAME%%_data_dir}
-stop_postcmd=%%RC_NAME%%_postcmd
-%%RC_NAME%%_postcmd()
-{
- rm -f ${%%RC_NAME%%_pid}
+ # .NET 6+ use dual mode sockets to avoid the separate AF handling.
+ # disable .NET use of V6 if no ipv6 is configured.
+ # See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259194#c17
+ ifconfig -a -u -G lo | grep -q inet6
+ if [ $? == 1 ]; then
+ export DOTNET_SYSTEM_NET_DISABLEIPV6=1
+ fi
+
+ if [ `uname -K` -ge 1400092 ]; then
+ export CLR_OPENSSL_VERSION_OVERRIDE=30
+ fi
+
+ export LD_LIBRARY_PATH=%%PREFIX%%/lib/emby-server/lib:%%LOCALBASE%%/lib
}
run_rc_command "$1"
diff --git a/multimedia/emby-server/files/patch-dav1d-1.0 b/multimedia/emby-server/files/patch-dav1d-1.0
deleted file mode 100644
index 1c4ca68a21f9..000000000000
--- a/multimedia/emby-server/files/patch-dav1d-1.0
+++ /dev/null
@@ -1,111 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5e61fce832f7
-
-libavcodec/libdav1d.c:137:7: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- s.n_tile_threads = dav1d->tile_threads
- ~ ^
-libavcodec/libdav1d.c:139:52: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
- ^
-libavcodec/libdav1d.c:139:52: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
-libavcodec/libdav1d.c:140:7: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- s.n_frame_threads = dav1d->frame_threads
- ~ ^
-libavcodec/libdav1d.c:142:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ~ ^
-./libavutil/common.h:96:22: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-libavcodec/libdav1d.c:142:65: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-./libavutil/common.h:96:28: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-libavcodec/libdav1d.c:142:65: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-./libavutil/common.h:96:34: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-libavcodec/libdav1d.c:142:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ~ ^
-./libavutil/common.h:96:40: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-libavcodec/libdav1d.c:144:14: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- s.n_frame_threads, s.n_tile_threads);
- ~ ^
-libavcodec/libdav1d.c:144:33: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- s.n_frame_threads, s.n_tile_threads);
- ~ ^
-libavcodec/libdav1d.c:378:94: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD },
- ^
-libavcodec/libdav1d.c:379:97: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD },
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-
---- libavcodec/libdav1d.c.orig 2021-05-11 03:40:43 UTC
-+++ libavcodec/libdav1d.c
-@@ -30,6 +30,9 @@
- #include "decode.h"
- #include "internal.h"
-
-+#define FF_DAV1D_VERSION_AT_LEAST(x,y) \
-+ (DAV1D_API_VERSION_MAJOR > (x) || DAV1D_API_VERSION_MAJOR == (x) && DAV1D_API_VERSION_MINOR >= (y))
-+
- typedef struct Libdav1dContext {
- AVClass *class;
- Dav1dContext *c;
-@@ -134,6 +137,15 @@ static av_cold int libdav1d_init(AVCodecContext *c)
- if (dav1d->apply_grain >= 0)
- s.apply_grain = dav1d->apply_grain;
-
-+#if FF_DAV1D_VERSION_AT_LEAST(6,0)
-+ if (dav1d->frame_threads || dav1d->tile_threads)
-+ s.n_threads = FFMAX(dav1d->frame_threads, dav1d->tile_threads);
-+ else
-+ s.n_threads = FFMIN(threads, DAV1D_MAX_THREADS);
-+ s.max_frame_delay = (c->flags & AV_CODEC_FLAG_LOW_DELAY) ? 1 : s.n_threads;
-+ av_log(c, AV_LOG_DEBUG, "Using %d threads, %d max_frame_delay\n",
-+ s.n_threads, s.max_frame_delay);
-+#else
- s.n_tile_threads = dav1d->tile_threads
- ? dav1d->tile_threads
- : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
-@@ -142,6 +154,7 @@ static av_cold int libdav1d_init(AVCodecContext *c)
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- av_log(c, AV_LOG_DEBUG, "Using %d frame threads, %d tile threads\n",
- s.n_frame_threads, s.n_tile_threads);
-+#endif
-
- res = dav1d_open(&dav1d->c, &s);
- if (res < 0)
-@@ -371,6 +384,13 @@ static av_cold int libdav1d_close(AVCodecContext *c)
-
- return 0;
- }
-+
-+#ifndef DAV1D_MAX_FRAME_THREADS
-+#define DAV1D_MAX_FRAME_THREADS DAV1D_MAX_THREADS
-+#endif
-+#ifndef DAV1D_MAX_TILE_THREADS
-+#define DAV1D_MAX_TILE_THREADS DAV1D_MAX_THREADS
-+#endif
-
- #define OFFSET(x) offsetof(Libdav1dContext, x)
- #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
diff --git a/multimedia/emby-server/pkg-descr b/multimedia/emby-server/pkg-descr
index 5fd3172f2217..1a1a6ac9bd83 100644
--- a/multimedia/emby-server/pkg-descr
+++ b/multimedia/emby-server/pkg-descr
@@ -4,5 +4,3 @@ technologies such as Service Stack, jQuery, jQuery mobile, and .NET Core.
It features a REST-based API with built-in documention to facilitate client
development. It also offers client libraries for its API to enable rapid
development.
-
-WWW: https://emby.media/
diff --git a/multimedia/emby-server/pkg-message b/multimedia/emby-server/pkg-message
index bc5db49c7090..6a7b4a48c799 100644
--- a/multimedia/emby-server/pkg-message
+++ b/multimedia/emby-server/pkg-message
@@ -9,6 +9,9 @@ To then manually start Emby Server without rebooting:
Once started, visit the following webpage to configure:
http://localhost:8096/
+
+If you are running emby-server in a jail, set "allow.mlock"
+for this jail otherwise the program will fail to start.
EOM
}
]
diff --git a/multimedia/emby-server/pkg-plist b/multimedia/emby-server/pkg-plist
deleted file mode 100644
index ed001cd3bd91..000000000000
--- a/multimedia/emby-server/pkg-plist
+++ /dev/null
@@ -1,1013 +0,0 @@
-lib/emby-server/bin/ffdetect
-lib/emby-server/bin/ffmpeg
-lib/emby-server/bin/ffprobe
-lib/emby-server/system/Emby.ActivityLog.dll
-lib/emby-server/system/Emby.ActivityLog.pdb
-lib/emby-server/system/Emby.Api.dll
-lib/emby-server/system/Emby.Api.pdb
-lib/emby-server/system/Emby.Codecs.dll
-lib/emby-server/system/Emby.Codecs.pdb
-lib/emby-server/system/Emby.Drawing.ImageMagick.dll
-lib/emby-server/system/Emby.Drawing.ImageMagick.pdb
-lib/emby-server/system/Emby.Drawing.Skia.dll
-lib/emby-server/system/Emby.Drawing.Skia.pdb
-lib/emby-server/system/Emby.Drawing.dll
-lib/emby-server/system/Emby.Drawing.pdb
-lib/emby-server/system/Emby.Ffmpeg.Base.dll
-lib/emby-server/system/Emby.Ffmpeg.Base.pdb
-lib/emby-server/system/Emby.Ffmpeg.Lib.dll
-lib/emby-server/system/Emby.Ffmpeg.Lib.pdb
-lib/emby-server/system/Emby.Ffmpeg.dll
-lib/emby-server/system/Emby.Ffmpeg.pdb
-lib/emby-server/system/Emby.LiveTV.dll
-lib/emby-server/system/Emby.LiveTV.pdb
-lib/emby-server/system/Emby.LocalMetadata.dll
-lib/emby-server/system/Emby.LocalMetadata.pdb
-lib/emby-server/system/Emby.Media.Model.dll
-lib/emby-server/system/Emby.Media.Model.pdb
-lib/emby-server/system/Emby.Naming.dll
-lib/emby-server/system/Emby.Naming.pdb
-lib/emby-server/system/Emby.Notifications.dll
-lib/emby-server/system/Emby.Notifications.pdb
-lib/emby-server/system/Emby.Photos.dll
-lib/emby-server/system/Emby.Photos.pdb
-lib/emby-server/system/Emby.ProcessRun.dll
-lib/emby-server/system/Emby.ProcessRun.pdb
-lib/emby-server/system/Emby.Providers.dll
-lib/emby-server/system/Emby.Providers.pdb
-lib/emby-server/system/Emby.Server.Connect.dll
-lib/emby-server/system/Emby.Server.Connect.pdb
-lib/emby-server/system/Emby.Server.Implementations.dll
-lib/emby-server/system/Emby.Server.Implementations.pdb
-lib/emby-server/system/Emby.Server.MediaEncoding.dll
-lib/emby-server/system/Emby.Server.MediaEncoding.pdb
-lib/emby-server/system/Emby.Server.Sync.dll
-lib/emby-server/system/Emby.Server.Sync.pdb
-lib/emby-server/system/Emby.Sqlite.dll
-lib/emby-server/system/Emby.Sqlite.pdb
-lib/emby-server/system/Emby.Web.GenericEdit.dll
-lib/emby-server/system/Emby.Web.GenericEdit.pdb
-lib/emby-server/system/Emby.Web.dll
-lib/emby-server/system/Emby.Web.pdb
-lib/emby-server/system/EmbyServer.exe
-lib/emby-server/system/EmbyServer.exe.config
-lib/emby-server/system/EmbyServer.pdb
-lib/emby-server/system/ImageMagickSharp.dll
-lib/emby-server/system/ImageMagickSharp.dll.config
-lib/emby-server/system/MediaBrowser.Common.dll
-lib/emby-server/system/MediaBrowser.Common.pdb
-lib/emby-server/system/MediaBrowser.Controller.dll
-lib/emby-server/system/MediaBrowser.Controller.pdb
-lib/emby-server/system/MediaBrowser.Model.dll
-lib/emby-server/system/MediaBrowser.Model.pdb
-lib/emby-server/system/Microsoft.Bcl.AsyncInterfaces.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.Binder.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.CommandLine.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.EnvironmentVariables.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.FileExtensions.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.Json.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.UserSecrets.dll
-lib/emby-server/system/Microsoft.Extensions.Configuration.dll
-lib/emby-server/system/Microsoft.Extensions.DependencyInjection.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.DependencyInjection.dll
-lib/emby-server/system/Microsoft.Extensions.FileProviders.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.FileProviders.Physical.dll
-lib/emby-server/system/Microsoft.Extensions.FileSystemGlobbing.dll
-lib/emby-server/system/Microsoft.Extensions.Hosting.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.Hosting.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Abstractions.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Configuration.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Console.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.Debug.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.EventLog.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.EventSource.dll
-lib/emby-server/system/Microsoft.Extensions.Logging.dll
-lib/emby-server/system/Microsoft.Extensions.Options.ConfigurationExtensions.dll
-lib/emby-server/system/Microsoft.Extensions.Options.dll
-lib/emby-server/system/Microsoft.Extensions.Primitives.dll
-lib/emby-server/system/Microsoft.OpenApi.dll
-lib/emby-server/system/Microsoft.OpenApi.pdb
-lib/emby-server/system/Microsoft.Win32.Primitives.dll
-lib/emby-server/system/PlaylistsNET.dll
-lib/emby-server/system/RSSDP.dll
-lib/emby-server/system/RSSDP.pdb
-lib/emby-server/system/SQLitePCL.pretty.dll
-lib/emby-server/system/SQLitePCL.pretty.pdb
-lib/emby-server/system/SQLitePCLRaw.provider.sqlite3.dll.config
-lib/emby-server/system/SQLitePCLRawEx.core.dll
-lib/emby-server/system/SQLitePCLRawEx.core.pdb
-lib/emby-server/system/ServiceStack.Text.dll
-lib/emby-server/system/SharpCompress.dll
-lib/emby-server/system/SimpleInjector.dll
-lib/emby-server/system/SkiaSharp.dll
-lib/emby-server/system/SocketHttpListener.dll
-lib/emby-server/system/SocketHttpListener.pdb
-lib/emby-server/system/System.AppContext.dll
-lib/emby-server/system/System.Buffers.dll
-lib/emby-server/system/System.Collections.Concurrent.dll
-lib/emby-server/system/System.Collections.NonGeneric.dll
-lib/emby-server/system/System.Collections.Specialized.dll
-lib/emby-server/system/System.Collections.dll
-lib/emby-server/system/System.ComponentModel.Annotations.dll
-lib/emby-server/system/System.ComponentModel.EventBasedAsync.dll
-lib/emby-server/system/System.ComponentModel.Primitives.dll
-lib/emby-server/system/System.ComponentModel.TypeConverter.dll
-lib/emby-server/system/System.ComponentModel.dll
-lib/emby-server/system/System.Console.dll
-lib/emby-server/system/System.Data.Common.dll
-lib/emby-server/system/System.Diagnostics.Contracts.dll
-lib/emby-server/system/System.Diagnostics.Debug.dll
-lib/emby-server/system/System.Diagnostics.DiagnosticSource.dll
-lib/emby-server/system/System.Diagnostics.EventLog.dll
-lib/emby-server/system/System.Diagnostics.FileVersionInfo.dll
-lib/emby-server/system/System.Diagnostics.Process.dll
-lib/emby-server/system/System.Diagnostics.StackTrace.dll
-lib/emby-server/system/System.Diagnostics.TextWriterTraceListener.dll
-lib/emby-server/system/System.Diagnostics.Tools.dll
-lib/emby-server/system/System.Diagnostics.TraceSource.dll
-lib/emby-server/system/System.Diagnostics.Tracing.dll
-lib/emby-server/system/System.Drawing.Primitives.dll
-lib/emby-server/system/System.Dynamic.Runtime.dll
-lib/emby-server/system/System.Globalization.Calendars.dll
-lib/emby-server/system/System.Globalization.Extensions.dll
-lib/emby-server/system/System.Globalization.dll
-lib/emby-server/system/System.IO.Compression.ZipFile.dll
-lib/emby-server/system/System.IO.Compression.dll
-lib/emby-server/system/System.IO.FileSystem.DriveInfo.dll
-lib/emby-server/system/System.IO.FileSystem.Primitives.dll
-lib/emby-server/system/System.IO.FileSystem.Watcher.dll
-lib/emby-server/system/System.IO.FileSystem.dll
-lib/emby-server/system/System.IO.IsolatedStorage.dll
-lib/emby-server/system/System.IO.MemoryMappedFiles.dll
-lib/emby-server/system/System.IO.Pipelines.dll
-lib/emby-server/system/System.IO.Pipes.dll
-lib/emby-server/system/System.IO.UnmanagedMemoryStream.dll
-lib/emby-server/system/System.IO.dll
-lib/emby-server/system/System.Linq.Expressions.dll
-lib/emby-server/system/System.Linq.Parallel.dll
-lib/emby-server/system/System.Linq.Queryable.dll
-lib/emby-server/system/System.Linq.dll
-lib/emby-server/system/System.Memory.dll
-lib/emby-server/system/System.Net.Http.dll
-lib/emby-server/system/System.Net.NameResolution.dll
-lib/emby-server/system/System.Net.NetworkInformation.dll
-lib/emby-server/system/System.Net.Ping.dll
-lib/emby-server/system/System.Net.Primitives.dll
-lib/emby-server/system/System.Net.Requests.dll
-lib/emby-server/system/System.Net.Security.dll
-lib/emby-server/system/System.Net.Sockets.dll
-lib/emby-server/system/System.Net.WebHeaderCollection.dll
-lib/emby-server/system/System.Net.WebSockets.Client.dll
-lib/emby-server/system/System.Net.WebSockets.dll
-lib/emby-server/system/System.Numerics.Vectors.dll
-lib/emby-server/system/System.ObjectModel.dll
-lib/emby-server/system/System.Reflection.Extensions.dll
-lib/emby-server/system/System.Reflection.Primitives.dll
-lib/emby-server/system/System.Reflection.dll
-lib/emby-server/system/System.Resources.Reader.dll
-lib/emby-server/system/System.Resources.ResourceManager.dll
-lib/emby-server/system/System.Resources.Writer.dll
-lib/emby-server/system/System.Runtime.CompilerServices.Unsafe.dll
-lib/emby-server/system/System.Runtime.CompilerServices.VisualC.dll
-lib/emby-server/system/System.Runtime.Extensions.dll
-lib/emby-server/system/System.Runtime.Handles.dll
-lib/emby-server/system/System.Runtime.InteropServices.RuntimeInformation.dll
-lib/emby-server/system/System.Runtime.InteropServices.dll
-lib/emby-server/system/System.Runtime.Numerics.dll
-lib/emby-server/system/System.Runtime.Serialization.Formatters.dll
-lib/emby-server/system/System.Runtime.Serialization.Json.dll
-lib/emby-server/system/System.Runtime.Serialization.Primitives.dll
-lib/emby-server/system/System.Runtime.Serialization.Xml.dll
-lib/emby-server/system/System.Runtime.dll
-lib/emby-server/system/System.Security.Claims.dll
-lib/emby-server/system/System.Security.Cryptography.Algorithms.dll
-lib/emby-server/system/System.Security.Cryptography.Csp.dll
-lib/emby-server/system/System.Security.Cryptography.Encoding.dll
-lib/emby-server/system/System.Security.Cryptography.Primitives.dll
-lib/emby-server/system/System.Security.Cryptography.X509Certificates.dll
-lib/emby-server/system/System.Security.Principal.Windows.dll
-lib/emby-server/system/System.Security.Principal.dll
-lib/emby-server/system/System.Security.SecureString.dll
-lib/emby-server/system/System.Text.Encoding.Extensions.dll
-lib/emby-server/system/System.Text.Encoding.dll
-lib/emby-server/system/System.Text.Encodings.Web.dll
-lib/emby-server/system/System.Text.Json.dll
-lib/emby-server/system/System.Text.RegularExpressions.dll
-lib/emby-server/system/System.Threading.Overlapped.dll
-lib/emby-server/system/System.Threading.Tasks.Dataflow.dll
-lib/emby-server/system/System.Threading.Tasks.Extensions.dll
-lib/emby-server/system/System.Threading.Tasks.Parallel.dll
-lib/emby-server/system/System.Threading.Tasks.dll
-lib/emby-server/system/System.Threading.Thread.dll
-lib/emby-server/system/System.Threading.ThreadPool.dll
-lib/emby-server/system/System.Threading.Timer.dll
-lib/emby-server/system/System.Threading.dll
-lib/emby-server/system/System.ValueTuple.dll
-lib/emby-server/system/System.Xml.ReaderWriter.dll
-lib/emby-server/system/System.Xml.XDocument.dll
-lib/emby-server/system/System.Xml.XPath.XDocument.dll
-lib/emby-server/system/System.Xml.XPath.dll
-lib/emby-server/system/System.Xml.XmlDocument.dll
-lib/emby-server/system/System.Xml.XmlSerializer.dll
-lib/emby-server/system/arm64/libSkiaSharp.dll
-lib/emby-server/system/dashboard-ui/apikeys/apikeys.js
-lib/emby-server/system/dashboard-ui/app.js
-lib/emby-server/system/dashboard-ui/apploader.js
-lib/emby-server/system/dashboard-ui/bower_components/Swiper/dist/css/swiper.min.css
-lib/emby-server/system/dashboard-ui/bower_components/Swiper/dist/js/swiper.min.js
-lib/emby-server/system/dashboard-ui/bower_components/abortcontroller-polyfill/umd-polyfill.js
-lib/emby-server/system/dashboard-ui/bower_components/alameda/alameda.js
-lib/emby-server/system/dashboard-ui/bower_components/css-vars-ponyfill/css-vars-ponyfill.min.js
-lib/emby-server/system/dashboard-ui/bower_components/document-register-element/custom-elements-builtin.js
-lib/emby-server/system/dashboard-ui/bower_components/document-register-element/document-register-element.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/apiclient.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/apiclientex.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/appstorage-cache.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/appstorage-localstorage.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/appstorage-memory.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/connectionmanager.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/credentials.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/events.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/serverdiscovery.js
-lib/emby-server/system/dashboard-ui/bower_components/emby-apiclient/wakeonlan.js
-lib/emby-server/system/dashboard-ui/bower_components/fetch/fetch.js
-lib/emby-server/system/dashboard-ui/bower_components/howlerjs/dist/howler.min.js
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker-legacy.js
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker-legacy.js.mem
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker.js
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus-worker.wasm
-lib/emby-server/system/dashboard-ui/bower_components/javascriptsubtitlesoctopus/dist/subtitles-octopus.js
-lib/emby-server/system/dashboard-ui/bower_components/jquery/dist/jquery.slim.min.js
-lib/emby-server/system/dashboard-ui/bower_components/jstree/jstree.js
-lib/emby-server/system/dashboard-ui/bower_components/jstree/themes/default/32px.png
-lib/emby-server/system/dashboard-ui/bower_components/jstree/themes/default/style.css
-lib/emby-server/system/dashboard-ui/bower_components/jstree/themes/default/throbber.gif
-lib/emby-server/system/dashboard-ui/bower_components/libjass/libjass.css
-lib/emby-server/system/dashboard-ui/bower_components/libjass/libjass.js
-lib/emby-server/system/dashboard-ui/bower_components/modernizr/modernizr.min.js
-lib/emby-server/system/dashboard-ui/bower_components/query-string/index.js
-lib/emby-server/system/dashboard-ui/components/accessschedule/accessschedule.js
-lib/emby-server/system/dashboard-ui/components/accessschedule/accessschedule.template.html
-lib/emby-server/system/dashboard-ui/components/activitylog.js
-lib/emby-server/system/dashboard-ui/components/channelmapper/channelmapper.js
-lib/emby-server/system/dashboard-ui/components/directorybrowser/directorybrowser.css
-lib/emby-server/system/dashboard-ui/components/directorybrowser/directorybrowser.js
-lib/emby-server/system/dashboard-ui/components/imageoptionseditor/imageoptionseditor.js
-lib/emby-server/system/dashboard-ui/components/imageoptionseditor/imageoptionseditor.template.html
-lib/emby-server/system/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.js
-lib/emby-server/system/dashboard-ui/components/libraryoptionseditor/libraryoptionseditor.template.html
-lib/emby-server/system/dashboard-ui/components/medialibrarycreator/medialibrarycreator.js
-lib/emby-server/system/dashboard-ui/components/medialibrarycreator/medialibrarycreator.template.html
-lib/emby-server/system/dashboard-ui/components/medialibraryeditor/medialibraryeditor.js
-lib/emby-server/system/dashboard-ui/components/medialibraryeditor/medialibraryeditor.template.html
-lib/emby-server/system/dashboard-ui/components/tunerpicker.js
-lib/emby-server/system/dashboard-ui/css/detailtable.css
-lib/emby-server/system/dashboard-ui/css/images/supporter/premiumflag.png
-lib/emby-server/system/dashboard-ui/css/images/supporter/supporterbadge.png
-lib/emby-server/system/dashboard-ui/css/images/supporter/supporterflag.png
-lib/emby-server/system/dashboard-ui/dashboard/aboutpage.js
-lib/emby-server/system/dashboard-ui/dashboard/dashboard.css
-lib/emby-server/system/dashboard-ui/dashboard/dashboard.html
-lib/emby-server/system/dashboard-ui/dashboard/dashboard.js
-lib/emby-server/system/dashboard-ui/dashboard/releasenotes.html
-lib/emby-server/system/dashboard-ui/dashboard/releasenotes.js
-lib/emby-server/system/dashboard-ui/dashboard/serveractivity.js
-lib/emby-server/system/dashboard-ui/dashboard/settings.html
-lib/emby-server/system/dashboard-ui/dashboard/settings.js
-lib/emby-server/system/dashboard-ui/devices/cameraupload.html
-lib/emby-server/system/dashboard-ui/devices/cameraupload.js
-lib/emby-server/system/dashboard-ui/devices/device.html
-lib/emby-server/system/dashboard-ui/devices/device.js
-lib/emby-server/system/dashboard-ui/devices/devices.js
-lib/emby-server/system/dashboard-ui/embypremiere/embypremiere.html
-lib/emby-server/system/dashboard-ui/embypremiere/embypremiere.js
-lib/emby-server/system/dashboard-ui/favicon.ico
-lib/emby-server/system/dashboard-ui/games/games.html
-lib/emby-server/system/dashboard-ui/games/games.js
-lib/emby-server/system/dashboard-ui/games/gamestab.js
-lib/emby-server/system/dashboard-ui/games/gamesystems.js
-lib/emby-server/system/dashboard-ui/home/favorites.js
-lib/emby-server/system/dashboard-ui/home/home.html
-lib/emby-server/system/dashboard-ui/home/home.js
-lib/emby-server/system/dashboard-ui/home/hometab.js
-lib/emby-server/system/dashboard-ui/home_horiz/focushandler.js
-lib/emby-server/system/dashboard-ui/home_horiz/home.css
-lib/emby-server/system/dashboard-ui/home_horiz/home.html
-lib/emby-server/system/dashboard-ui/home_horiz/home.js
-lib/emby-server/system/dashboard-ui/home_horiz/spotlight.js
-lib/emby-server/system/dashboard-ui/home_horiz/tabbedpage.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.channels.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.channels.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.generic.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.generic.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.livetv.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.livetv.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.movies.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.movies.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.music.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.music.js
-lib/emby-server/system/dashboard-ui/home_horiz/views.tv.html
-lib/emby-server/system/dashboard-ui/home_horiz/views.tv.js
-lib/emby-server/system/dashboard-ui/images/icon-128x128.png
-lib/emby-server/system/dashboard-ui/images/icon-144x144.png
-lib/emby-server/system/dashboard-ui/images/icon-152x152.png
-lib/emby-server/system/dashboard-ui/images/icon-192x192.png
-lib/emby-server/system/dashboard-ui/images/icon-384x384.png
-lib/emby-server/system/dashboard-ui/images/icon-512x512.png
-lib/emby-server/system/dashboard-ui/images/icon-72x72.png
-lib/emby-server/system/dashboard-ui/images/icon-96x96.png
-lib/emby-server/system/dashboard-ui/images/splash.png
-lib/emby-server/system/dashboard-ui/index.html
-lib/emby-server/system/dashboard-ui/item/item.css
-lib/emby-server/system/dashboard-ui/item/item.html
-lib/emby-server/system/dashboard-ui/item/item.js
-lib/emby-server/system/dashboard-ui/legacy/dashboard.css
-lib/emby-server/system/dashboard-ui/legacy/dashboard.js
-lib/emby-server/system/dashboard-ui/librarysetup/advanced.html
-lib/emby-server/system/dashboard-ui/librarysetup/advanced.js
-lib/emby-server/system/dashboard-ui/librarysetup/library.js
-lib/emby-server/system/dashboard-ui/list/list.html
-lib/emby-server/system/dashboard-ui/list/list.js
-lib/emby-server/system/dashboard-ui/livetv/channels.js
-lib/emby-server/system/dashboard-ui/livetv/guide.css
-lib/emby-server/system/dashboard-ui/livetv/guide.js
-lib/emby-server/system/dashboard-ui/livetv/livetv.html
-lib/emby-server/system/dashboard-ui/livetv/livetv.js
-lib/emby-server/system/dashboard-ui/livetv/recordings.js
-lib/emby-server/system/dashboard-ui/livetv/schedule.js
-lib/emby-server/system/dashboard-ui/livetv/series.js
-lib/emby-server/system/dashboard-ui/livetv/suggestions.js
-lib/emby-server/system/dashboard-ui/livetvsetup/channels.js
-lib/emby-server/system/dashboard-ui/livetvsetup/embydata.html
-lib/emby-server/system/dashboard-ui/livetvsetup/embydata.js
-lib/emby-server/system/dashboard-ui/livetvsetup/guideprovider.html
-lib/emby-server/system/dashboard-ui/livetvsetup/guideprovider.js
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvsettings.html
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvsettings.js
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvstatus.html
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvstatus.js
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvtuner.html
-lib/emby-server/system/dashboard-ui/livetvsetup/livetvtuner.js
-lib/emby-server/system/dashboard-ui/livetvsetup/schedulesdirect.html
-lib/emby-server/system/dashboard-ui/livetvsetup/schedulesdirect.js
-lib/emby-server/system/dashboard-ui/livetvsetup/xmltv.html
-lib/emby-server/system/dashboard-ui/livetvsetup/xmltv.js
-lib/emby-server/system/dashboard-ui/logs/log.css
-lib/emby-server/system/dashboard-ui/logs/log.js
-lib/emby-server/system/dashboard-ui/logs/logs.js
-lib/emby-server/system/dashboard-ui/manifest.json
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanager.css
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanager.html
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanager.js
-lib/emby-server/system/dashboard-ui/metadatamanager/metadatamanagersidebar.js
-lib/emby-server/system/dashboard-ui/modules/actionsheet/actionsheet.css
-lib/emby-server/system/dashboard-ui/modules/actionsheet/actionsheet.js
-lib/emby-server/system/dashboard-ui/modules/addtolist/addtolist.js
-lib/emby-server/system/dashboard-ui/modules/alphanumericshortcuts/alphanumericshortcuts.css
-lib/emby-server/system/dashboard-ui/modules/alphanumericshortcuts/alphanumericshortcuts.js
-lib/emby-server/system/dashboard-ui/modules/alphapicker/alphapicker.js
-lib/emby-server/system/dashboard-ui/modules/alphapicker/style.css
-lib/emby-server/system/dashboard-ui/modules/appfooter/appfooter.css
-lib/emby-server/system/dashboard-ui/modules/appfooter/appfooter.js
-lib/emby-server/system/dashboard-ui/modules/appheader/appheader.css
-lib/emby-server/system/dashboard-ui/modules/appheader/appheader.js
-lib/emby-server/system/dashboard-ui/modules/appheader/appheader.template.html
-lib/emby-server/system/dashboard-ui/modules/autobackdrops.js
-lib/emby-server/system/dashboard-ui/modules/babelhelpers.js
-lib/emby-server/system/dashboard-ui/modules/backdrop/backdrop.js
-lib/emby-server/system/dashboard-ui/modules/backdrop/style.css
-lib/emby-server/system/dashboard-ui/modules/backdropscreensaver/plugin.js
-lib/emby-server/system/dashboard-ui/modules/backmenu/backmenu.css
-lib/emby-server/system/dashboard-ui/modules/backmenu/backmenu.js
-lib/emby-server/system/dashboard-ui/modules/browser.js
-lib/emby-server/system/dashboard-ui/modules/browserdeviceprofile.js
-lib/emby-server/system/dashboard-ui/modules/cardbuilder/card.css
-lib/emby-server/system/dashboard-ui/modules/cardbuilder/cardbuilder.js
-lib/emby-server/system/dashboard-ui/modules/cardbuilder/roundcard.css
-lib/emby-server/system/dashboard-ui/modules/chromecast/chromecasthelpers.js
-lib/emby-server/system/dashboard-ui/modules/chromecast/chromecastplayer.js
-lib/emby-server/system/dashboard-ui/modules/clearbutton.css
-lib/emby-server/system/dashboard-ui/modules/commandprocessor.js
-lib/emby-server/system/dashboard-ui/modules/common/alert/alert.js
-lib/emby-server/system/dashboard-ui/modules/common/appsettings.js
-lib/emby-server/system/dashboard-ui/modules/common/confirm/confirm.js
-lib/emby-server/system/dashboard-ui/modules/common/datetime.js
-lib/emby-server/system/dashboard-ui/modules/common/deletehelper.js
-lib/emby-server/system/dashboard-ui/modules/common/filesystem.js
-lib/emby-server/system/dashboard-ui/modules/common/globalize.js
-lib/emby-server/system/dashboard-ui/modules/common/input/api.js
-lib/emby-server/system/dashboard-ui/modules/common/inputmanager.js
-lib/emby-server/system/dashboard-ui/modules/common/itemhelper.js
-lib/emby-server/system/dashboard-ui/modules/common/itemsrefresher.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/experimentalwarnings.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playaccessvalidation.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playbackmanager.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playbackvalidation.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playmethodhelper.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playqueueconfirmation.js
-lib/emby-server/system/dashboard-ui/modules/common/playback/playqueuemanager.js
-lib/emby-server/system/dashboard-ui/modules/common/pluginmanager.js
-lib/emby-server/system/dashboard-ui/modules/common/qualityoptions.js
-lib/emby-server/system/dashboard-ui/modules/common/recordingcreator/recordinghelper.js
-lib/emby-server/system/dashboard-ui/modules/common/strings/ar.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/bg-BG.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ca.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/cs.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/da.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/de.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/el.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/en-GB.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/en-US.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/es-AR.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/es-MX.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/es.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/et-EE.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/fi.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/fr-CA.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/fr.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/gsw.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/he.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/hr.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/hu.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/id.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/it.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ja.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/kk.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ko.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/lt-LT.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ms.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/nb.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/nl.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/pl.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/pt-BR.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/pt-PT.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ro.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/ru.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/sk.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/sl-SI.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/sv.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/tr.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/uk.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/vi.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/zh-CN.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/zh-HK.json
-lib/emby-server/system/dashboard-ui/modules/common/strings/zh-TW.json
-lib/emby-server/system/dashboard-ui/modules/common/subtitlesettings/subtitleappearancehelper.js
-lib/emby-server/system/dashboard-ui/modules/common/usersettings/usersettings.js
-lib/emby-server/system/dashboard-ui/modules/common/usersettings/usersettingsbuilder.js
-lib/emby-server/system/dashboard-ui/modules/confirmstillplaying/plugin.js
-lib/emby-server/system/dashboard-ui/modules/controlbox.js
-lib/emby-server/system/dashboard-ui/modules/detailbuttons.css
-lib/emby-server/system/dashboard-ui/modules/dialog/dialog.js
-lib/emby-server/system/dashboard-ui/modules/dialog/dialog.template.html
-lib/emby-server/system/dashboard-ui/modules/dialoghelper/dialoghelper.css
-lib/emby-server/system/dashboard-ui/modules/dialoghelper/dialoghelper.js
-lib/emby-server/system/dashboard-ui/modules/dockedtabs/dockedtabs.css
-lib/emby-server/system/dashboard-ui/modules/dockedtabs/dockedtabs.js
-lib/emby-server/system/dashboard-ui/modules/dom.js
-lib/emby-server/system/dashboard-ui/modules/emby-connect/connecthelper.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-button/emby-button.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-button/emby-button.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-button/paper-icon-button-light.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-checkbox/emby-checkbox.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-checkbox/emby-checkbox.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-collapse/emby-collapse.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-collapse/emby-collapse.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-input/emby-input.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-input/emby-input.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-itemrefreshindicator/emby-itemrefreshindicator.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-itemscontainer/emby-itemscontainer.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressbar/emby-progressbar.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressbar/emby-progressbar.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressring/emby-progressring.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressring/emby-progressring.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-progressring/emby-progressring.template.html
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-radio/emby-radio.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-radio/emby-radio.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-scrollbuttons/emby-scrollbuttons.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-scrollbuttons/emby-scrollbuttons.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-scroller/emby-scroller.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-select/emby-select.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-select/emby-select.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-slider/emby-slider.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-slider/emby-slider.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-tabs/emby-tabs.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-tabs/emby-tabs.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-textarea/emby-textarea.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-textarea/emby-textarea.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-toggle/emby-toggle.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/emby-toggle/emby-toggle.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/gridrowrenderer.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide-settings.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide-settings.template.html
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/guide.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/programs.css
-lib/emby-server/system/dashboard-ui/modules/emby-elements/guide/tvguide.template.html
-lib/emby-server/system/dashboard-ui/modules/emby-elements/sync/emby-downloadbutton.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/userdatabuttons/emby-playstatebutton.js
-lib/emby-server/system/dashboard-ui/modules/emby-elements/userdatabuttons/emby-ratingbutton.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayer.html
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayer.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayers.html
-lib/emby-server/system/dashboard-ui/modules/externalplayer/externalplayers.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/bg-BG.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/cs.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/de.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/el.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/en-GB.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/en-US.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/es-MX.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/es.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/et-EE.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fa.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fi.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fr-CA.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/fr.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/gsw.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/he.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/hr.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/hu.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/it.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/ja.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/kk.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/ko.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/lt-LT.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/nl.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/no.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/pl.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/pt-BR.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/pt-PT.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/ru.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/sk.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/sl-SI.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/sv.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/tr.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/uk.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/zh-CN.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/zh-HK.json
-lib/emby-server/system/dashboard-ui/modules/externalplayer/strings/zh-TW.json
-lib/emby-server/system/dashboard-ui/modules/filtermenu/filtermenu.js
-lib/emby-server/system/dashboard-ui/modules/filtermenu/filtermenu.template.html
-lib/emby-server/system/dashboard-ui/modules/flexstyles.css
-lib/emby-server/system/dashboard-ui/modules/flvjs/config.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/features.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/media-info.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/media-segment-info.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/mse-controller.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/mse-events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxer.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxing-controller.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxing-events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/core/transmuxing-worker.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/amf-parser.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/demux-errors.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/exp-golomb.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/demux/flv-demuxer.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/flv.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/fetch-stream-loader.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/io-controller.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/loader.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/param-seek-handler.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/range-seek-handler.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/io/speed-sampler.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/player/flv-player.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/player/player-errors.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/player/player-events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/remux/aac-silent.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/remux/mp4-generator.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/remux/mp4-remuxer.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/events.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/exception.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/logger.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/logging-control.js
-lib/emby-server/system/dashboard-ui/modules/flvjs/utils/utf8-conv.js
-lib/emby-server/system/dashboard-ui/modules/focusmanager.js
-lib/emby-server/system/dashboard-ui/modules/fonts/fonts.css
-lib/emby-server/system/dashboard-ui/modules/fonts/material-icons/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmJ_1.woff
-lib/emby-server/system/dashboard-ui/modules/fonts/material-icons/LDItaoyNOAY6Uewc665JcIzCKsKc_M9flwmP_1.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/material-icons/style.css
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fABc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBBc4.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fBxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCBc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCRc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fChc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmEU9fCxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfABc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBBc4.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfBxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCBc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCRc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfChc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOlCnqEu92Fr1MmWUlfCxc4EsA.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu4WxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu4mxK.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu5mxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu72xKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu7GxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu7WxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/roboto/KFOmCnqEu92Fr1Mu7mxKOzY.woff2
-lib/emby-server/system/dashboard-ui/modules/fonts/subfont.woff2
-lib/emby-server/system/dashboard-ui/modules/formdialog.css
-lib/emby-server/system/dashboard-ui/modules/formhelper.js
-lib/emby-server/system/dashboard-ui/modules/fullscreen/fullscreen-dc.js
-lib/emby-server/system/dashboard-ui/modules/fullscreen/fullscreenmanager.js
-lib/emby-server/system/dashboard-ui/modules/headroom/headroom.css
-lib/emby-server/system/dashboard-ui/modules/headroom/headroom.js
-lib/emby-server/system/dashboard-ui/modules/hlsjs/hls.min.js
-lib/emby-server/system/dashboard-ui/modules/homesections/homesections.js
-lib/emby-server/system/dashboard-ui/modules/htmlaudioplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/basehtmlplayer.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/htmlmediahelper.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/style.css
-lib/emby-server/system/dashboard-ui/modules/htmlvideoplayer/vtt.min.js
-lib/emby-server/system/dashboard-ui/modules/humanedate/humanedate.js
-lib/emby-server/system/dashboard-ui/modules/iap.js
-lib/emby-server/system/dashboard-ui/modules/imagedownloader/imagedownloader.js
-lib/emby-server/system/dashboard-ui/modules/imageeditor/imageeditor.css
-lib/emby-server/system/dashboard-ui/modules/imageeditor/imageeditor.js
-lib/emby-server/system/dashboard-ui/modules/imageeditor/imageeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/imageloader/imageloader.css
-lib/emby-server/system/dashboard-ui/modules/imageloader/imageloader.js
-lib/emby-server/system/dashboard-ui/modules/imageuploader/imageuploader.js
-lib/emby-server/system/dashboard-ui/modules/imageuploader/imageuploader.template.html
-lib/emby-server/system/dashboard-ui/modules/imageuploader/style.css
-lib/emby-server/system/dashboard-ui/modules/indicators/indicators.css
-lib/emby-server/system/dashboard-ui/modules/indicators/indicators.js
-lib/emby-server/system/dashboard-ui/modules/input/gamepadtokey.js
-lib/emby-server/system/dashboard-ui/modules/input/mouse.js
-lib/emby-server/system/dashboard-ui/modules/itemcontextmenu.js
-lib/emby-server/system/dashboard-ui/modules/itemidentifier/itemidentifier.js
-lib/emby-server/system/dashboard-ui/modules/itemidentifier/itemidentifier.template.html
-lib/emby-server/system/dashboard-ui/modules/layout.css
-lib/emby-server/system/dashboard-ui/modules/layoutmanager.js
-lib/emby-server/system/dashboard-ui/modules/lazyloader/lazyloader-intersectionobserver.js
-lib/emby-server/system/dashboard-ui/modules/lazyloader/lazyloader-scroll.js
-lib/emby-server/system/dashboard-ui/modules/listview/listview.css
-lib/emby-server/system/dashboard-ui/modules/listview/listview.js
-lib/emby-server/system/dashboard-ui/modules/loading/loader2.gif
-lib/emby-server/system/dashboard-ui/modules/loading/loading-legacy.css
-lib/emby-server/system/dashboard-ui/modules/loading/loading-legacy.js
-lib/emby-server/system/dashboard-ui/modules/loading/loading-lite.css
-lib/emby-server/system/dashboard-ui/modules/loading/loading-lite.js
-lib/emby-server/system/dashboard-ui/modules/loadingdialog/loadingdialog.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/idbcore.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/itemrepository.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/localassetmanager.js
-lib/emby-server/system/dashboard-ui/modules/localdatabase/useractionrepository.js
-lib/emby-server/system/dashboard-ui/modules/logoscreensaver/logowhite.png
-lib/emby-server/system/dashboard-ui/modules/logoscreensaver/plugin.js
-lib/emby-server/system/dashboard-ui/modules/logoscreensaver/style.css
-lib/emby-server/system/dashboard-ui/modules/maintabsmanager.js
-lib/emby-server/system/dashboard-ui/modules/mediainfo/fresh.png
-lib/emby-server/system/dashboard-ui/modules/mediainfo/mediainfo.css
-lib/emby-server/system/dashboard-ui/modules/mediainfo/mediainfo.js
-lib/emby-server/system/dashboard-ui/modules/mediainfo/rotten.png
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/metadataeditor.css
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/metadataeditor.js
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/metadataeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/personeditor.js
-lib/emby-server/system/dashboard-ui/modules/metadataeditor/personeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/multidownload.js
-lib/emby-server/system/dashboard-ui/modules/multiselect/multiselect.css
-lib/emby-server/system/dashboard-ui/modules/multiselect/multiselect.js
-lib/emby-server/system/dashboard-ui/modules/navdrawer/navdrawer.css
-lib/emby-server/system/dashboard-ui/modules/navdrawer/navdrawer.js
-lib/emby-server/system/dashboard-ui/modules/navdrawer/navdrawercontent.js
-lib/emby-server/system/dashboard-ui/modules/notifications.js
-lib/emby-server/system/dashboard-ui/modules/nowplayingbar/nowplayingbar.css
-lib/emby-server/system/dashboard-ui/modules/nowplayingbar/nowplayingbar.js
-lib/emby-server/system/dashboard-ui/modules/onscreenkeyboard/keyboard.js
-lib/emby-server/system/dashboard-ui/modules/onscreenkeyboard/onscreenkeyboard.js
-lib/emby-server/system/dashboard-ui/modules/onscreenkeyboard/style.css
-lib/emby-server/system/dashboard-ui/modules/pagejs/page.js
-lib/emby-server/system/dashboard-ui/modules/photoplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/photoscreensaver/plugin.js
-lib/emby-server/system/dashboard-ui/modules/playback/iconosd.css
-lib/emby-server/system/dashboard-ui/modules/playback/mediasession.js
-lib/emby-server/system/dashboard-ui/modules/playback/nowplayinghelper.js
-lib/emby-server/system/dashboard-ui/modules/playback/playbackorientation.js
-lib/emby-server/system/dashboard-ui/modules/playback/playerselection.js
-lib/emby-server/system/dashboard-ui/modules/playback/playersettingsmenu.js
-lib/emby-server/system/dashboard-ui/modules/playback/remotecontrolautoplay.js
-lib/emby-server/system/dashboard-ui/modules/playback/volumeosd.js
-lib/emby-server/system/dashboard-ui/modules/playerstats/playerstats.css
-lib/emby-server/system/dashboard-ui/modules/playerstats/playerstats.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/array.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/bind.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/dragdroptouch.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/element.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/form.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/map.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/native-promise-only.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/numberformat.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/objectassign.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/promiseany.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/raf.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/resize-observer-polyfill/ResizeObserver.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/string.js
-lib/emby-server/system/dashboard-ui/modules/polyfills/weakmap.js
-lib/emby-server/system/dashboard-ui/modules/prompt/prompt.js
-lib/emby-server/system/dashboard-ui/modules/prompt/prompt.template.html
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingbutton.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingcreator.css
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingcreator.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingcreator.template.html
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingeditor.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/recordingfields.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/seriesrecordingeditor.js
-lib/emby-server/system/dashboard-ui/modules/recordingcreator/seriesrecordingeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/refreshdialog/refreshdialog.js
-lib/emby-server/system/dashboard-ui/modules/registrationservices/registrationservices.js
-lib/emby-server/system/dashboard-ui/modules/require/requirecss.js
-lib/emby-server/system/dashboard-ui/modules/require/requiretext.js
-lib/emby-server/system/dashboard-ui/modules/router.js
-lib/emby-server/system/dashboard-ui/modules/screensavermanager.js
-lib/emby-server/system/dashboard-ui/modules/scroller/smoothscroller.js
-lib/emby-server/system/dashboard-ui/modules/scrollhelper.js
-lib/emby-server/system/dashboard-ui/modules/scrollstyles.css
-lib/emby-server/system/dashboard-ui/modules/sections.css
-lib/emby-server/system/dashboard-ui/modules/serverrestartdialog/serverrestartdialog.js
-lib/emby-server/system/dashboard-ui/modules/serviceworker/notifications.js
-lib/emby-server/system/dashboard-ui/modules/serviceworker/sync.js
-lib/emby-server/system/dashboard-ui/modules/sessionplayer.js
-lib/emby-server/system/dashboard-ui/modules/shell.js
-lib/emby-server/system/dashboard-ui/modules/shortcuts.js
-lib/emby-server/system/dashboard-ui/modules/skinmanager.js
-lib/emby-server/system/dashboard-ui/modules/slideshow/slideshow.js
-lib/emby-server/system/dashboard-ui/modules/slideshow/style.css
-lib/emby-server/system/dashboard-ui/modules/soundeffects/defaultsoundeffects/navigation.mp3
-lib/emby-server/system/dashboard-ui/modules/soundeffects/defaultsoundeffects/plugin.js
-lib/emby-server/system/dashboard-ui/modules/soundeffects/defaultsoundeffects/select.mp3
-lib/emby-server/system/dashboard-ui/modules/soundeffects/soundeffectsmanager.js
-lib/emby-server/system/dashboard-ui/modules/soundeffects/soundeffectsplayer.js
-lib/emby-server/system/dashboard-ui/modules/subtitleeditor/subtitleeditor.js
-lib/emby-server/system/dashboard-ui/modules/subtitleeditor/subtitleeditor.template.html
-lib/emby-server/system/dashboard-ui/modules/subtitleoffsetoverlay/subtitleoffsetoverlay.js
-lib/emby-server/system/dashboard-ui/modules/sync/categorysyncbutton.js
-lib/emby-server/system/dashboard-ui/modules/sync/filerepository.js
-lib/emby-server/system/dashboard-ui/modules/sync/localsync.js
-lib/emby-server/system/dashboard-ui/modules/sync/mediasync.js
-lib/emby-server/system/dashboard-ui/modules/sync/multiserversync.js
-lib/emby-server/system/dashboard-ui/modules/sync/serversync.js
-lib/emby-server/system/dashboard-ui/modules/sync/sync.js
-lib/emby-server/system/dashboard-ui/modules/sync/syncjobeditor.js
-lib/emby-server/system/dashboard-ui/modules/sync/syncjoblist.js
-lib/emby-server/system/dashboard-ui/modules/sync/transfermanager.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/artiststab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/artiststab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/basetab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/collectionstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/collectionstab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/folderstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/folderstab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/genrestab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/itemstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/playliststab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/playliststab.template.html
-lib/emby-server/system/dashboard-ui/modules/tabbedview/seriestab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/tabbedview.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/tagstab.js
-lib/emby-server/system/dashboard-ui/modules/tabbedview/videostab.js
-lib/emby-server/system/dashboard-ui/modules/thememediaplayer.js
-lib/emby-server/system/dashboard-ui/modules/themes/appletv/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/appletv/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/black/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/black/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/blueradiance/bg.jpg
-lib/emby-server/system/dashboard-ui/modules/themes/blueradiance/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/blueradiance/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/dark-red/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/dark-red/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/dark/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/dark/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/halloween/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/halloween/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/holiday/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/holiday/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/light-blue/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/light-blue/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/light-pink/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/light-pink/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/light-purple/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/light-purple/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/light-red/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/light-red/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/light/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/light/theme.json
-lib/emby-server/system/dashboard-ui/modules/themes/logodark.png
-lib/emby-server/system/dashboard-ui/modules/themes/logowhite.png
-lib/emby-server/system/dashboard-ui/modules/themes/wmc/bg.png
-lib/emby-server/system/dashboard-ui/modules/themes/wmc/theme.css
-lib/emby-server/system/dashboard-ui/modules/themes/wmc/theme.json
-lib/emby-server/system/dashboard-ui/modules/toast/toast.css
-lib/emby-server/system/dashboard-ui/modules/toast/toast.js
-lib/emby-server/system/dashboard-ui/modules/upnextdialog/upnextdialog.css
-lib/emby-server/system/dashboard-ui/modules/upnextdialog/upnextdialog.js
-lib/emby-server/system/dashboard-ui/modules/viewmanager/baseview.js
-lib/emby-server/system/dashboard-ui/modules/viewmanager/viewmanager.js
-lib/emby-server/system/dashboard-ui/modules/viewsettings/viewsettings.js
-lib/emby-server/system/dashboard-ui/modules/viewsettings/viewsettings.template.html
-lib/emby-server/system/dashboard-ui/modules/visibleinviewport.js
-lib/emby-server/system/dashboard-ui/modules/windowdrag.css
-lib/emby-server/system/dashboard-ui/modules/youtubeplayer/plugin.js
-lib/emby-server/system/dashboard-ui/modules/youtubeplayer/style.css
-lib/emby-server/system/dashboard-ui/music/albums.js
-lib/emby-server/system/dashboard-ui/music/music.html
-lib/emby-server/system/dashboard-ui/music/music.js
-lib/emby-server/system/dashboard-ui/music/songs.js
-lib/emby-server/system/dashboard-ui/music/suggestions.js
-lib/emby-server/system/dashboard-ui/native/operatv/input.js
-lib/emby-server/system/dashboard-ui/network/network.html
-lib/emby-server/system/dashboard-ui/network/network.js
-lib/emby-server/system/dashboard-ui/plugins/addplugin.html
-lib/emby-server/system/dashboard-ui/plugins/addpluginpage.css
-lib/emby-server/system/dashboard-ui/plugins/addpluginpage.js
-lib/emby-server/system/dashboard-ui/plugins/plugincatalog.css
-lib/emby-server/system/dashboard-ui/plugins/plugincatalog.html
-lib/emby-server/system/dashboard-ui/plugins/plugincatalog.js
-lib/emby-server/system/dashboard-ui/plugins/plugins.js
-lib/emby-server/system/dashboard-ui/robots.txt
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtask.html
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtask.js
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtasks.html
-lib/emby-server/system/dashboard-ui/scheduledtasks/scheduledtasks.js
-lib/emby-server/system/dashboard-ui/scripts/taskbutton.js
-lib/emby-server/system/dashboard-ui/search/search.html
-lib/emby-server/system/dashboard-ui/search/search.js
-lib/emby-server/system/dashboard-ui/search/searchfields.css
-lib/emby-server/system/dashboard-ui/search/searchfields.js
-lib/emby-server/system/dashboard-ui/search/searchfields.template.html
-lib/emby-server/system/dashboard-ui/search/searchresults.js
-lib/emby-server/system/dashboard-ui/server/downloads/activity.html
-lib/emby-server/system/dashboard-ui/server/downloads/activity.js
-lib/emby-server/system/dashboard-ui/server/downloads/settings.html
-lib/emby-server/system/dashboard-ui/server/downloads/settings.js
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsetting.html
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsetting.js
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsettings.html
-lib/emby-server/system/dashboard-ui/server/notifications/notificationsettings.js
-lib/emby-server/system/dashboard-ui/serviceworker.js
-lib/emby-server/system/dashboard-ui/settings/cameraupload.html
-lib/emby-server/system/dashboard-ui/settings/cameraupload.js
-lib/emby-server/system/dashboard-ui/settings/display.html
-lib/emby-server/system/dashboard-ui/settings/display.js
-lib/emby-server/system/dashboard-ui/settings/download.html
-lib/emby-server/system/dashboard-ui/settings/download.js
-lib/emby-server/system/dashboard-ui/settings/homescreen.html
-lib/emby-server/system/dashboard-ui/settings/homescreen.js
-lib/emby-server/system/dashboard-ui/settings/homescreensettings.js
-lib/emby-server/system/dashboard-ui/settings/keyboard.html
-lib/emby-server/system/dashboard-ui/settings/keyboard.js
-lib/emby-server/system/dashboard-ui/settings/managedownloads.html
-lib/emby-server/system/dashboard-ui/settings/managedownloads.js
-lib/emby-server/system/dashboard-ui/settings/password.html
-lib/emby-server/system/dashboard-ui/settings/password.js
-lib/emby-server/system/dashboard-ui/settings/playback.html
-lib/emby-server/system/dashboard-ui/settings/playback.js
-lib/emby-server/system/dashboard-ui/settings/profile.css
-lib/emby-server/system/dashboard-ui/settings/profile.html
-lib/emby-server/system/dashboard-ui/settings/profile.js
-lib/emby-server/system/dashboard-ui/settings/settings.css
-lib/emby-server/system/dashboard-ui/settings/settings.html
-lib/emby-server/system/dashboard-ui/settings/settings.js
-lib/emby-server/system/dashboard-ui/settings/subtitles.html
-lib/emby-server/system/dashboard-ui/settings/subtitles.js
-lib/emby-server/system/dashboard-ui/startup/connectlogin.html
-lib/emby-server/system/dashboard-ui/startup/connectlogin.js
-lib/emby-server/system/dashboard-ui/startup/connectsignup.html
-lib/emby-server/system/dashboard-ui/startup/connectsignup.js
-lib/emby-server/system/dashboard-ui/startup/forgotpassword.html
-lib/emby-server/system/dashboard-ui/startup/forgotpassword.js
-lib/emby-server/system/dashboard-ui/startup/forgotpasswordpin.html
-lib/emby-server/system/dashboard-ui/startup/forgotpasswordpin.js
-lib/emby-server/system/dashboard-ui/startup/login.html
-lib/emby-server/system/dashboard-ui/startup/login.js
-lib/emby-server/system/dashboard-ui/startup/manuallogin.html
-lib/emby-server/system/dashboard-ui/startup/manuallogin.js
-lib/emby-server/system/dashboard-ui/startup/manualserver.html
-lib/emby-server/system/dashboard-ui/startup/manualserver.js
-lib/emby-server/system/dashboard-ui/startup/selectserver.html
-lib/emby-server/system/dashboard-ui/startup/selectserver.js
-lib/emby-server/system/dashboard-ui/startup/startuphelper.js
-lib/emby-server/system/dashboard-ui/startup/welcome.html
-lib/emby-server/system/dashboard-ui/startup/welcome.js
-lib/emby-server/system/dashboard-ui/strings/ar.json
-lib/emby-server/system/dashboard-ui/strings/be-BY.json
-lib/emby-server/system/dashboard-ui/strings/bg-BG.json
-lib/emby-server/system/dashboard-ui/strings/ca.json
-lib/emby-server/system/dashboard-ui/strings/cs.json
-lib/emby-server/system/dashboard-ui/strings/da.json
-lib/emby-server/system/dashboard-ui/strings/de.json
-lib/emby-server/system/dashboard-ui/strings/el.json
-lib/emby-server/system/dashboard-ui/strings/en-GB.json
-lib/emby-server/system/dashboard-ui/strings/en-US.json
-lib/emby-server/system/dashboard-ui/strings/es-AR.json
-lib/emby-server/system/dashboard-ui/strings/es-MX.json
-lib/emby-server/system/dashboard-ui/strings/es-US.json
-lib/emby-server/system/dashboard-ui/strings/es.json
-lib/emby-server/system/dashboard-ui/strings/et-EE.json
-lib/emby-server/system/dashboard-ui/strings/fa.json
-lib/emby-server/system/dashboard-ui/strings/fi.json
-lib/emby-server/system/dashboard-ui/strings/fr-CA.json
-lib/emby-server/system/dashboard-ui/strings/fr.json
-lib/emby-server/system/dashboard-ui/strings/gsw.json
-lib/emby-server/system/dashboard-ui/strings/he.json
-lib/emby-server/system/dashboard-ui/strings/hi-IN.json
-lib/emby-server/system/dashboard-ui/strings/hr.json
-lib/emby-server/system/dashboard-ui/strings/hu.json
-lib/emby-server/system/dashboard-ui/strings/id.json
-lib/emby-server/system/dashboard-ui/strings/is-IS.json
-lib/emby-server/system/dashboard-ui/strings/it.json
-lib/emby-server/system/dashboard-ui/strings/ja.json
-lib/emby-server/system/dashboard-ui/strings/kk.json
-lib/emby-server/system/dashboard-ui/strings/ko.json
-lib/emby-server/system/dashboard-ui/strings/lt-LT.json
-lib/emby-server/system/dashboard-ui/strings/ms.json
-lib/emby-server/system/dashboard-ui/strings/nb.json
-lib/emby-server/system/dashboard-ui/strings/nl.json
-lib/emby-server/system/dashboard-ui/strings/no.json
-lib/emby-server/system/dashboard-ui/strings/pl.json
-lib/emby-server/system/dashboard-ui/strings/pt-BR.json
-lib/emby-server/system/dashboard-ui/strings/pt-PT.json
-lib/emby-server/system/dashboard-ui/strings/ro.json
-lib/emby-server/system/dashboard-ui/strings/ru.json
-lib/emby-server/system/dashboard-ui/strings/sk.json
-lib/emby-server/system/dashboard-ui/strings/sl-SI.json
-lib/emby-server/system/dashboard-ui/strings/sv.json
-lib/emby-server/system/dashboard-ui/strings/th.json
-lib/emby-server/system/dashboard-ui/strings/tr.json
-lib/emby-server/system/dashboard-ui/strings/uk.json
-lib/emby-server/system/dashboard-ui/strings/vi.json
-lib/emby-server/system/dashboard-ui/strings/zh-CN.json
-lib/emby-server/system/dashboard-ui/strings/zh-HK.json
-lib/emby-server/system/dashboard-ui/strings/zh-TW.json
-lib/emby-server/system/dashboard-ui/transcoding/transcoding.html
-lib/emby-server/system/dashboard-ui/transcoding/transcoding.js
-lib/emby-server/system/dashboard-ui/tv/favorites.js
-lib/emby-server/system/dashboard-ui/tv/studios.js
-lib/emby-server/system/dashboard-ui/tv/suggestions.js
-lib/emby-server/system/dashboard-ui/tv/tv.html
-lib/emby-server/system/dashboard-ui/tv/tv.js
-lib/emby-server/system/dashboard-ui/tv/upcoming.js
-lib/emby-server/system/dashboard-ui/userpassword.html
-lib/emby-server/system/dashboard-ui/users/user.html
-lib/emby-server/system/dashboard-ui/users/user.js
-lib/emby-server/system/dashboard-ui/users/userlibraryaccess.html
-lib/emby-server/system/dashboard-ui/users/userlibraryaccess.js
-lib/emby-server/system/dashboard-ui/users/usernew.html
-lib/emby-server/system/dashboard-ui/users/usernew.js
-lib/emby-server/system/dashboard-ui/users/userparentalcontrol.html
-lib/emby-server/system/dashboard-ui/users/userparentalcontrol.js
-lib/emby-server/system/dashboard-ui/users/users.js
-lib/emby-server/system/dashboard-ui/videoosd/ani_equalizer_white.gif
-lib/emby-server/system/dashboard-ui/videoosd/playqueue.css
-lib/emby-server/system/dashboard-ui/videoosd/playqueue.js
-lib/emby-server/system/dashboard-ui/videoosd/tvplayqueue.css
-lib/emby-server/system/dashboard-ui/videoosd/tvplayqueue.js
-lib/emby-server/system/dashboard-ui/videoosd/videoosd.css
-lib/emby-server/system/dashboard-ui/videoosd/videoosd.html
-lib/emby-server/system/dashboard-ui/videoosd/videoosd.js
-lib/emby-server/system/dashboard-ui/videos/moviesuggestions.js
-lib/emby-server/system/dashboard-ui/videos/photos.js
-lib/emby-server/system/dashboard-ui/videos/trailers.js
-lib/emby-server/system/dashboard-ui/videos/videos.html
-lib/emby-server/system/dashboard-ui/videos/videos.js
-lib/emby-server/system/dashboard-ui/wizard/wizard.css
-lib/emby-server/system/dashboard-ui/wizard/wizardagreement.html
-lib/emby-server/system/dashboard-ui/wizard/wizardagreement.js
-lib/emby-server/system/dashboard-ui/wizard/wizardfinish.html
-lib/emby-server/system/dashboard-ui/wizard/wizardfinishpage.js
-lib/emby-server/system/dashboard-ui/wizard/wizardlibrary.html
-lib/emby-server/system/dashboard-ui/wizard/wizardremoteaccess.html
-lib/emby-server/system/dashboard-ui/wizard/wizardremoteaccess.js
-lib/emby-server/system/dashboard-ui/wizard/wizardsettings.html
-lib/emby-server/system/dashboard-ui/wizard/wizardsettings.js
-lib/emby-server/system/dashboard-ui/wizard/wizardstart.html
-lib/emby-server/system/dashboard-ui/wizard/wizardstart.js
-lib/emby-server/system/dashboard-ui/wizard/wizarduser.html
-lib/emby-server/system/dashboard-ui/wizard/wizarduserpage.js
-lib/emby-server/system/libSkiaSharp.dylib
-lib/emby-server/system/netstandard.dll
-lib/emby-server/system/plugins/AudioDb.dll
-lib/emby-server/system/plugins/BlurayMounter.dll
-lib/emby-server/system/plugins/DvdMounter.dll
-lib/emby-server/system/plugins/Emby.Dlna.dll
-lib/emby-server/system/plugins/Emby.PortMapper.dll
-lib/emby-server/system/plugins/Emby.Server.CinemaMode.dll
-lib/emby-server/system/plugins/Emby.Webhooks.dll
-lib/emby-server/system/plugins/Fanart.dll
-lib/emby-server/system/plugins/MovieDb.dll
-lib/emby-server/system/plugins/MusicBrainz.dll
-lib/emby-server/system/plugins/NfoMetadata.dll
-lib/emby-server/system/plugins/OMDb.dll
-lib/emby-server/system/plugins/OpenSubtitles.dll
-lib/emby-server/system/plugins/StudioImages.dll
-lib/emby-server/system/plugins/Tvdb.dll
-lib/emby-server/system/x64/libSkiaSharp.dll
-lib/emby-server/system/x86/libSkiaSharp.dll
diff --git a/multimedia/emovix/Makefile b/multimedia/emovix/Makefile
index 22d8dde3342c..2131421bb417 100644
--- a/multimedia/emovix/Makefile
+++ b/multimedia/emovix/Makefile
@@ -1,5 +1,3 @@
-# Created by: Heiner <h.eichmann@gmx.de>
-
PORTNAME= emovix
PORTVERSION= 0.9.0
PORTREVISION= 2
@@ -8,6 +6,7 @@ MASTER_SITES= SF/movix/eMoviX/0.9
MAINTAINER= ports@FreeBSD.org
COMMENT= Mini Linux distro to create bootable video CDs
+WWW= https://movix.sourceforge.net/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/emovix/pkg-descr b/multimedia/emovix/pkg-descr
index 19833c843391..5f025b6dee3c 100644
--- a/multimedia/emovix/pkg-descr
+++ b/multimedia/emovix/pkg-descr
@@ -3,5 +3,3 @@ video/audio files you want, so that the CD will be able to boot and
automagically play all of its own files.
eMoviX CDs can be written with sysutils/K3b.
-
-WWW: http://movix.sourceforge.net/
diff --git a/multimedia/ffaudioconverter/Makefile b/multimedia/ffaudioconverter/Makefile
index 9eac2828fb25..1e1475a58710 100644
--- a/multimedia/ffaudioconverter/Makefile
+++ b/multimedia/ffaudioconverter/Makefile
@@ -1,10 +1,11 @@
PORTNAME= FFaudioConverter
DISTVERSIONPREFIX= v
-DISTVERSION= 0.31.0
+DISTVERSION= 0.32.0
CATEGORIES= multimedia audio
MAINTAINER= yuri@FreeBSD.org
COMMENT= Graphical audio covert and filter tool
+WWW= https://github.com/Bleuzen/FFaudioConverter
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,7 +15,7 @@ RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
USES= compiler:c++11-lang desktop-file-utils gl qmake qt:5
USE_GITHUB= yes
GH_ACCOUNT= Bleuzen
-USE_QT= concurrent core gui widgets buildtools_build linguisttools_build
+USE_QT= concurrent core gui widgets buildtools:build linguisttools:build
USE_GL= gl
PLIST_FILES= bin/ffaudioconverter \
diff --git a/multimedia/ffaudioconverter/distinfo b/multimedia/ffaudioconverter/distinfo
index 23cc1c85d301..99d19ac66009 100644
--- a/multimedia/ffaudioconverter/distinfo
+++ b/multimedia/ffaudioconverter/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1639598308
-SHA256 (Bleuzen-FFaudioConverter-v0.31.0_GH0.tar.gz) = 86ffff6909e02fe9b2fb4169e91f7de324712743655c45319c4efac93592cbb4
-SIZE (Bleuzen-FFaudioConverter-v0.31.0_GH0.tar.gz) = 60632
+TIMESTAMP = 1712464391
+SHA256 (Bleuzen-FFaudioConverter-v0.32.0_GH0.tar.gz) = d4a6087fd9d4f58fc13c1662bbc51e9ac205c1efed6018c49bde33b1f814aaef
+SIZE (Bleuzen-FFaudioConverter-v0.32.0_GH0.tar.gz) = 109805
diff --git a/multimedia/ffaudioconverter/pkg-descr b/multimedia/ffaudioconverter/pkg-descr
index 19ac56778ea4..e170016530ab 100644
--- a/multimedia/ffaudioconverter/pkg-descr
+++ b/multimedia/ffaudioconverter/pkg-descr
@@ -17,5 +17,3 @@ Currently supported output formats are:
* opus
* flac
* wav
-
-WWW: https://github.com/Bleuzen/FFaudioConverter
diff --git a/multimedia/ffdec/Makefile b/multimedia/ffdec/Makefile
index 8ea9724a9d6e..fa2aac34c45b 100644
--- a/multimedia/ffdec/Makefile
+++ b/multimedia/ffdec/Makefile
@@ -1,21 +1,21 @@
-# Created by: Mark Felder <feld@FreeBSD.org>
-
PORTNAME= ffdec
-DISTVERSION= 14.4.0
+DISTVERSION= 17.0.2
CATEGORIES= multimedia java
MASTER_SITES= https://github.com/jindrapetrik/jpexs-decompiler/releases/download/version${PORTVERSION}/
DISTNAME= ${PORTNAME}_${DISTVERSION}
MAINTAINER= cyberbotx@cyberbotx.com
COMMENT= Flash decompiler
+WWW= https://github.com/jindrapetrik/jpexs-decompiler
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/license.txt
USES= zip
USE_JAVA= yes
-JAVA_VERSION= 1.8
+JAVA_VERSION= 8+
+NO_ARCH= yes
NO_BUILD= yes
SUB_FILES= ${PORTNAME}
@@ -25,7 +25,7 @@ do-install:
@${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/${PORTNAME}.jar ${STAGEDIR}${DATADIR}
- @${MKDIR} ${STAGEDIR}${DATADIR}/lib
+ @${MKDIR} ${STAGEDIR}${DATADIR}/lib
cd ${WRKSRC}/lib && ${COPYTREE_SHARE} \* ${STAGEDIR}${DATADIR}/lib/
.include <bsd.port.mk>
diff --git a/multimedia/ffdec/distinfo b/multimedia/ffdec/distinfo
index 1514df4b8bde..58d3091f954b 100644
--- a/multimedia/ffdec/distinfo
+++ b/multimedia/ffdec/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1618073052
-SHA256 (ffdec_14.4.0.zip) = 7402ca3423f0941ebd20e1c6ef29d434705d4a0ec53349c4b959ef8d3773f901
-SIZE (ffdec_14.4.0.zip) = 11097386
+TIMESTAMP = 1669659361
+SHA256 (ffdec_17.0.2.zip) = b760ac5cdc3c6b4e4b454bbe384b6b8be067d97e09b416036f4b918e70eb5f8a
+SIZE (ffdec_17.0.2.zip) = 11786449
diff --git a/multimedia/ffdec/pkg-descr b/multimedia/ffdec/pkg-descr
index a8da58b9f03c..b5f64d856c0c 100644
--- a/multimedia/ffdec/pkg-descr
+++ b/multimedia/ffdec/pkg-descr
@@ -2,5 +2,3 @@ Opensource flash SWF decompiler and editor. Extract resources, convert
SWF to FLA, edit ActionScript, replace images, sounds, texts or fonts.
Various output formats available. Works with Java on Windows, Linux or
MacOS.
-
-WWW: https://github.com/jindrapetrik/jpexs-decompiler
diff --git a/multimedia/ffdec/pkg-plist b/multimedia/ffdec/pkg-plist
index 44c45f780459..8dbf3a81ffc3 100644
--- a/multimedia/ffdec/pkg-plist
+++ b/multimedia/ffdec/pkg-plist
@@ -5,6 +5,7 @@ bin/ffdec
%%DATADIR%%/lib/avi.jar
%%DATADIR%%/lib/avi.montemedia.license.txt
%%DATADIR%%/lib/cmykjpeg.jar
+%%DATADIR%%/lib/ddsreader.jar
%%DATADIR%%/lib/ffdec_lib.jar
%%DATADIR%%/lib/ffdec_lib.license.txt
%%DATADIR%%/lib/flamingo-6.2.jar
diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile
index 250249f9ac1e..9473620aaca2 100644
--- a/multimedia/ffmpeg/Makefile
+++ b/multimedia/ffmpeg/Makefile
@@ -1,14 +1,13 @@
-# Created by: Martin Matuska <mm@FreeBSD.org>
-
PORTNAME= ffmpeg
-PORTVERSION= 4.4.2
-PORTREVISION= 4
+PORTVERSION= 6.1.1
+PORTREVISION= 5
PORTEPOCH= 1
CATEGORIES= multimedia audio net
MASTER_SITES= https://ffmpeg.org/releases/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Realtime audio/video encoder/converter and streaming server
+WWW= https://ffmpeg.org/
LICENSE= GPLv2+ LGPL21+
LICENSE_COMB= multi
@@ -29,29 +28,39 @@ USE_PERL5= build
SHEBANG_FILES= doc/texi2pod.pl
NOPRECIOUSMAKEVARS= yes # ARCH
-PORTSCOUT= limit:^4\.
+PORTSCOUT= limit:^6\.
# Option CHROMAPRINT disabled, it cannot work and people are baffled.
-OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASM ASS BS2B CACA CDIO \
+OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ARIBCAPTION ASM ASS BS2B CACA CDIO \
CODEC2 DAV1D DAVS2 DC1394 DEBUG DOCS DRM FDK_AAC FLITE \
- FONTCONFIG FREETYPE FREI0R FRIBIDI GLSLANG GME GSM ICONV ILBC \
- JACK KLVANC KVAZAAR LADSPA LAME LENSFUN LIBBLURAY LIBRSVG2 \
- LIBXML2 LTO LV2 MFX MODPLUG MYSOFA OPENAL OPENCL OPENGL \
+ FONTCONFIG FREETYPE FREI0R FRIBIDI GLSLANG GME GSM HARFBUZZ ICONV ILBC \
+ JACK JXL KLVANC KVAZAAR LADSPA LAME LCMS2 LENSFUN LIBBLURAY LIBPLACEBO LIBRSVG2 \
+ LIBXML2 LTO LV2 MODPLUG MYSOFA NETWORK NVENC OPENAL OPENCL OPENGL \
OPENH264 OPENJPEG OPENMPT OPENVINO OPTIMIZED_CFLAGS OPUS POCKETSPHINX \
- PULSEAUDIO RAV1E RABBITMQ RIST RTCPU RUBBERBAND SDL SMB SNAPPY \
+ PULSEAUDIO RAV1E RABBITMQ RIST RTCPU RUBBERBAND SDL SHADERC SMB SNAPPY \
SNDIO SOXR SPEEX SRT SSH SVTAV1 SVTHEVC SVTVP9 TENSORFLOW \
TESSERACT THEORA TWOLAME UAVS3D V4L VAAPI VAPOURSYNTH VDPAU VIDSTAB \
VMAF VO_AMRWBENC VORBIS VPX VULKAN WEBP X264 X265 \
XAVS2 XCB XVID XVIDEO ZIMG ZMQ ZVBI
+# intel-media-sdk only for i386/amd64
+OPTIONS_DEFINE_amd64= MFX VPL
+OPTIONS_DEFINE_i386= MFX
OPTIONS_DEFAULT= AOM ASM ASS DAV1D DRM FONTCONFIG FREETYPE FREI0R GMP \
- GNUTLS ICONV LAME LIBXML2 OPTIMIZED_CFLAGS OPUS RTCPU \
- THEORA V4L VAAPI VDPAU VMAF VORBIS VPX X264 X265 XCB XVID
-OPTIONS_DEFAULT_amd64= SVTAV1
+ GNUTLS HARFBUZZ ICONV JXL LAME LCMS2 LIBPLACEBO LIBXML2 NETWORK \
+ OPTIMIZED_CFLAGS OPUS RTCPU SHADERC SVTAV1 V4L VAAPI VDPAU VMAF \
+ VORBIS VPX VULKAN WEBP X264 X265 XCB
+OPTIONS_DEFAULT_amd64= NVENC
+OPTIONS_DEFAULT_i386= NVENC
# i386 is too register-starved for LTO (PR257124)
OPTIONS_EXCLUDE_i386= LTO
+.if !exists(${.CURDIR:H:H}/multimedia/libaribcaption)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/b6138633cdf2
+OPTIONS_EXCLUDE+= ARIBCAPTION
+.endif
+
.if !exists(${.CURDIR:H:H}/multimedia/davs2)
# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5985a1bf7233
OPTIONS_EXCLUDE+= DAVS2
@@ -77,11 +86,6 @@ OPTIONS_EXCLUDE+= KLVANC
OPTIONS_EXCLUDE+= OPENVINO
.endif
-.if !exists(${.CURDIR:H:H}/science/tensorflow)
-# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/d8c0bbb0aa4
-OPTIONS_EXCLUDE+= TENSORFLOW
-.endif
-
OPTIONS_RADIO= RTMP SSL
OPTIONS_RADIO_RTMP= GCRYPT GMP LIBRTMP
OPTIONS_RADIO_SSL= GNUTLS MBEDTLS OPENSSL
@@ -91,6 +95,7 @@ OPTIONS_GROUP_LICENSE= GPL3 NONFREE
ASS_DESC= Subtitles rendering via libass
AOM_DESC= AV1 video encoding/decoding via libaom
ARIBB24_DESC= ARIB text and caption decoding via libaribb24
+ARIBCAPTION_DESC= ARIB text and caption decoding via libaribcaption
BS2B_DESC= Bauer Stereophonic-to-Binaural filter
CHROMAPRINT_DESC= Audio fingerprinting with chromaprint
CODEC2_DESC= Codec 2 audio encoding/decoding via libcodec2
@@ -103,6 +108,7 @@ FLITE_DESC= Voice synthesis support via libflite
GLSLANG_DESC= GLSL->SPIRV compilation via libglslang
GME_DESC= Game Music Emu demuxer
GPL3_DESC= Allow (L)GPL version 3 code(cs)
+HARFBUZZ_DESC= Text shaping via HarfBuzz
ILBC_DESC= Internet Low Bit Rate codec
KLVANC_DESC= Kernel Labs VANC processing
KVAZAAR_DESC= H.265 video codec support via Kvazaar
@@ -110,7 +116,9 @@ LICENSE_DESC= Licensing options
LV2_DESC= LV2 audio filtering
MFX_DESC= Intel MediaSDK (aka Quick Sync Video)
MYSOFA_DESC= SOFAlizer binaural filter
+NETWORK_DESC= Networking support
NONFREE_DESC= Allow use of nonfree code
+NVENC_DESC= NVIDIA decoder/encoder with CUDA support
OPENMPT_DESC= Decoding tracked files via libopenmpt
OPENH264_DESC= H.264 video codec support via OpenH264
OPENVINO_DESC= OpenVINO as a DNN module backend for DNN based filters like dnn_processing
@@ -121,20 +129,25 @@ RIST_DESC= Reliable Internet Stream Transport protocol via librist
RUBBERBAND_DESC=Time-stretching and pitch-shifting with librubberband
RTCPU_DESC= Detect CPU capabilities at runtime
RTMP_DESC= RTMP(T)E protocol support
+SHADERC_DESC= GLSL->SPIRV compilation via libshaderc
SRT_DESC= Haivision SRT protocol via libsrt
SVTAV1_DESC= AV1 encoding via SVT-AV1
SVTHEVC_DESC= HEVC encoding via SVT-HEVC
SVTVP9_DESC= VP9 encoding via SVT-VP9
+LIBPLACEBO_DESC=GPU filters from libplacebo
LIBRTMP_DESC= ${RTMP_DESC} via librtmp
TENSORFLOW_DESC=TensorFlow as a DNN module backend for DNN based filters like sr
TESSERACT_DESC= Optical Character Recognition via Tesseract
+THEORA_DESC= Encoding support for theora via libtheora
UAVS3D_DESC= AVS3 decoding via libuavs3d
VAPOURSYNTH_DESC= VapourSynth demuxer
VIDSTAB_DESC= Video stabilization filter
VMAF_DESC= VMAF filter via libvmaf
+VPL_DESC= Intel oneVPL (aka Quick Sync Video)
VULKAN_DESC= Vulkan filters
XAVS2_DESC= AVS2 encoding via libxavs2
XCB_DESC= X11 grabbing using XCB
+XVID_DESC= Encoding support for MPEG-4 ASP via libxvid
ZIMG_DESC= "z" library video scaling filter
ZMQ_DESC= Message passing via libzmq${ZMQ_VERSION}
ZVBI_DESC= Teletext support via libzvbi
@@ -163,6 +176,10 @@ AOM_CONFIGURE_ENABLE= libaom
ARIBB24_LIB_DEPENDS= libaribb24.so:multimedia/aribb24
ARIBB24_CONFIGURE_ENABLE= libaribb24
+# aribcaption
+ARIBCAPTION_LIB_DEPENDS= libaribcaption.so:multimedia/libaribcaption
+ARIBCAPTION_CONFIGURE_ENABLE= libaribcaption
+
# asm support
ASM_CONFIGURE_ENABLE= asm
@@ -210,6 +227,7 @@ DEBUG_CONFIGURE_OFF= --disable-debug
# docs
DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html
DOCS_CONFIGURE_ENABLE= htmlpages
+DOCS_BINARY_ALIAS= makeinfo=${FALSE} # force texi2html
# drm
DRM_LIB_DEPENDS= libdrm.so:graphics/libdrm
@@ -249,6 +267,7 @@ GLSLANG_BUILD_DEPENDS= glslang>0:graphics/glslang \
spirv-tools>0:graphics/spirv-tools
GLSLANG_CONFIGURE_ENABLE= libglslang
GLSLANG_LDFLAGS= -lm
+GLSLANG_IMPLIES= VULKAN
# gnutls
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
@@ -267,6 +286,10 @@ GMP_IMPLIES= GPL3
GSM_LIB_DEPENDS= libgsm.so:audio/gsm
GSM_CONFIGURE_ENABLE= libgsm
+# harfbuzz
+HARFBUZZ_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
+HARFBUZZ_CONFIGURE_ENABLE= libharfbuzz
+
# iconv
ICONV_USES= iconv
ICONV_CONFIGURE_ENABLE= iconv
@@ -279,6 +302,10 @@ ILBC_CONFIGURE_ENABLE= libilbc
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CONFIGURE_ENABLE= libjack
+# jxl
+JXL_LIB_DEPENDS= libjxl.so:graphics/libjxl
+JXL_CONFIGURE_ENABLE= libjxl
+
# klvanc
KLVANC_LIB_DEPENDS= libklvanc.so:multimedia/libklvanc
KLVANC_CONFIGURE_ENABLE= libklvanc
@@ -296,6 +323,10 @@ LADSPA_CONFIGURE_ENABLE= ladspa
LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
LAME_CONFIGURE_ENABLE= libmp3lame
+# lcms2
+LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2
+LCMS2_CONFIGURE_ENABLE= lcms2
+
# lensfun
LENSFUN_LIB_DEPENDS= liblensfun.so:graphics/lensfun
LENSFUN_CONFIGURE_ENABLE= liblensfun
@@ -304,6 +335,11 @@ LENSFUN_CONFIGURE_ENABLE= liblensfun
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
LIBBLURAY_CONFIGURE_ENABLE= libbluray
+# libplacebo
+LIBPLACEBO_LIB_DEPENDS= libplacebo.so:graphics/libplacebo
+LIBPLACEBO_CONFIGURE_ENABLE= libplacebo
+LIBPLACEBO_IMPLIES= VULKAN
+
# librsvg
LIBRSVG2_USES= gnome
LIBRSVG2_USE= GNOME=cairo,librsvg2
@@ -314,7 +350,7 @@ LIBXML2_LIB_DEPENDS= libxml2.so:textproc/libxml2
LIBXML2_CONFIGURE_ENABLE= libxml2
# lto
-LTO_CONFIGURE_ENABLE= lto
+LTO_CONFIGURE_ON= --enable-lto
# lv2
LV2_BUILD_DEPENDS= lv2>0:audio/lv2
@@ -344,6 +380,13 @@ MODPLUG_CONFIGURE_ENABLE= libmodplug
MYSOFA_LIB_DEPENDS= libmysofa.so:audio/libmysofa
MYSOFA_CONFIGURE_ENABLE= libmysofa
+# network
+NETWORK_CONFIGURE_ENABLE= network
+
+# nvenc
+NVENC_BUILD_DEPENDS= ffnvcodec-headers>=11.1.5.2:multimedia/ffnvcodec-headers
+NVENC_CONFIGURE_ENABLE= nvenc
+
# OpenAL
OPENAL_LIB_DEPENDS= libopenal.so:audio/openal-soft
OPENAL_CONFIGURE_ENABLE= openal
@@ -423,6 +466,12 @@ SDL_USES= sdl
SDL_USE= SDL=sdl2
SDL_CONFIGURE_ENABLE= sdl2
+# shaderc
+SHADERC_LIB_DEPENDS= libshaderc_shared.so:graphics/shaderc
+SHADERC_CONFIGURE_ENABLE= libshaderc
+SHADERC_IMPLIES= VULKAN
+SHADERC_PREVENTS= GLSLANG
+
# smbclient
SMB_USES= samba:lib
SMB_CONFIGURE_ENABLE= libsmbclient
@@ -459,8 +508,8 @@ SVTAV1_CONFIGURE_ON= --enable-libsvtav1
# svt-hevc
SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc
SVTHEVC_CONFIGURE_ON= --enable-libsvthevc
-SVTHEVC_PATCH_SITES= https://github.com/OpenVisualCloud/SVT-HEVC/raw/v1.5.0-3-g86b58f77/ffmpeg_plugin/:svthevc
-SVTHEVC_PATCHFILES= 0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch:-p1:svthevc \
+SVTHEVC_PATCH_SITES= https://github.com/OpenVisualCloud/SVT-HEVC/raw/v1.5.1-12-g6cca5b93/ffmpeg_plugin/:svthevc
+SVTHEVC_PATCHFILES= master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch:-p1:svthevc \
0002-doc-Add-libsvt_hevc-encoder-docs.patch:-p1:svthevc
.if make(makesum)
.MAKEFLAGS: WITH+=SVTHEVC
@@ -469,14 +518,14 @@ SVTHEVC_PATCHFILES= 0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch:-p1
# svt-vp9
SVTVP9_LIB_DEPENDS= libSvtVp9Enc.so:multimedia/svt-vp9
SVTVP9_CONFIGURE_ON= --enable-libsvtvp9
-SVTVP9_PATCH_SITES= https://github.com/OpenVisualCloud/SVT-VP9/raw/v0.3.0-4-gabd5c59/ffmpeg_plugin/:svtvp9
+SVTVP9_PATCH_SITES= https://github.com/OpenVisualCloud/SVT-VP9/raw/v0.3.0-20-gbab25a6/ffmpeg_plugin/:svtvp9
SVTVP9_PATCHFILES= master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch:-p1:svtvp9
.if make(makesum)
.MAKEFLAGS: WITH+=SVTVP9
.endif
# tensorflow
-TENSORFLOW_LIB_DEPENDS= libtensorflow.so:science/tensorflow
+TENSORFLOW_LIB_DEPENDS= libtensorflow.so:science/py-tensorflow
TENSORFLOW_CONFIGURE_ENABLE= libtensorflow
# tesseract
@@ -526,6 +575,10 @@ VIDSTAB_CONFIGURE_ENABLE= libvidstab
VORBIS_LIB_DEPENDS= libvorbisenc.so:audio/libvorbis
VORBIS_CONFIGURE_ENABLE= libvorbis
+# vpl
+VPL_LIB_DEPENDS= libvpl.so:multimedia/onevpl
+VPL_CONFIGURE_ENABLE= libvpl
+
# vp8
VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
VPX_CONFIGURE_ENABLE= libvpx
@@ -534,7 +587,6 @@ VPX_CONFIGURE_ENABLE= libvpx
VULKAN_BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
VULKAN_CONFIGURE_ENABLE= vulkan
-VULKAN_IMPLIES= GLSLANG
# webp
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
@@ -593,21 +645,25 @@ INSTALL_TARGET= install-progs install-doc install-data \
DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
MAKE_ENV+= V=1
+CFLAGS_armv6= -Wno-error=int-conversion
+CFLAGS_armv7= -Wno-error=int-conversion
+CFLAGS_i386= -Wno-error=int-conversion
+CFLAGS_powerpc= -Wno-error=int-conversion
LDFLAGS_aarch64=-Wl,-z,notext
LDFLAGS_armv6= -Wl,-z,notext
LDFLAGS_armv7= -Wl,-z,notext
LDFLAGS_i386= -Wl,-z,notext
CONFIGURE_ARGS+=--prefix="${PREFIX}" \
- --mandir="${PREFIX}/man" \
+ --mandir="${PREFIX}/share/man" \
--datadir="${DATADIR}" \
+ --docdir="${DOCSDIR}" \
--pkgconfigdir="${PREFIX}/libdata/pkgconfig" \
--disable-static \
--disable-libcelt \
--enable-shared \
--enable-pic \
--enable-gpl \
- --enable-avresample \
--cc="${CC}" \
--cxx="${CXX}"
@@ -627,16 +683,10 @@ LICENSE_TEXT_NONFREE= enabling OPENSSL or FDK_AAC restricts redistribution
LICENSE_PERMS_NONFREE= auto-accept
.endif
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == powerpc64 && ${PORT_OPTIONS:MLTO} && ${CHOSEN_COMPILER_TYPE} == clang
-USE_GCC= yes
-.endif
-
post-install:
(cd ${WRKSRC} && ${COPYTREE_SHARE} \
"${DOC_FILES}" ${STAGEDIR}${DOCSDIR})
(cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \
"${DOC_DOCFILES}" ${STAGEDIR}${DOCSDIR})
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/multimedia/ffmpeg/distinfo b/multimedia/ffmpeg/distinfo
index 9867c19e4891..a6cd7337cac8 100644
--- a/multimedia/ffmpeg/distinfo
+++ b/multimedia/ffmpeg/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1649967228
-SHA256 (ffmpeg-4.4.2.tar.xz) = af419a7f88adbc56c758ab19b4c708afbcae15ef09606b82b855291f6a6faa93
-SIZE (ffmpeg-4.4.2.tar.xz) = 9562968
-SHA256 (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 376ea23e9d876390fbca936c80cb437bb9daa6232ff65df0ea91673e18b739ff
-SIZE (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 24259
-SHA256 (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = d16589efc4be2602a9f436e9938cfee0cc7b5ccd7a4a6b41c0c9a59ae0859fda
-SIZE (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = 5336
-SHA256 (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = b7d722dfce20b73e9d5c73d55ffe041bbdc92a3c4a5c5d766b6b3040671b4052
-SIZE (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = 33497
+TIMESTAMP = 1703981246
+SHA256 (ffmpeg-6.1.1.tar.xz) = 8684f4b00f94b85461884c3719382f1261f0d9eb3d59640a1f4ac0873616f968
+SIZE (ffmpeg-6.1.1.tar.xz) = 10458600
+SHA256 (master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = e8fdc940474f3819b9a8d30cab8164774584c051322acb6194bcb03d56e8175a
+SIZE (master-0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 25395
+SHA256 (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = a164ebdc4d281352bf7ad1b179aae4aeb33f1191c444bed96cb8ab333c046f81
+SIZE (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = 5461
+SHA256 (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = 0433016c8523c7ce159523946a76c8fa06a926f33f94b70e8de7c2082d14178c
+SIZE (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = 25894
diff --git a/multimedia/ffmpeg/files/patch-add-av_stream_get_first_dts-for-qt5-webengine b/multimedia/ffmpeg/files/patch-add-av_stream_get_first_dts-for-qt5-webengine
new file mode 100644
index 000000000000..936cd1d90f26
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-add-av_stream_get_first_dts-for-qt5-webengine
@@ -0,0 +1,35 @@
+Add "av_stream_get_first_dts" symbol for www/qt5-webengine
+
+Obtained from:
+
+https://github.com/archlinux/svntogit-packages/blob/packages/ffmpeg/trunk/add-av_stream_get_first_dts-for-chromium.patch
+
+--- libavformat/avformat.h.orig 2023-02-27 20:43:45 UTC
++++ libavformat/avformat.h
+@@ -1019,6 +1019,10 @@ int64_t av_stream_get_end_pts(const AVStream *st);
+ int64_t av_stream_get_end_pts(const AVStream *st);
+ #endif
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ #define AV_PROGRAM_RUNNING 1
+
+ /**
+--- libavformat/mux_utils.c.orig 2023-02-27 20:43:45 UTC
++++ libavformat/mux_utils.c
+@@ -40,6 +40,13 @@ int64_t av_stream_get_end_pts(const AVStream *st)
+ }
+ #endif
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++ return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id,
+ int std_compliance)
+ {
diff --git a/multimedia/ffmpeg/files/patch-configure b/multimedia/ffmpeg/files/patch-configure
index c801515bbac4..fbdb10a698ee 100644
--- a/multimedia/ffmpeg/files/patch-configure
+++ b/multimedia/ffmpeg/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2020-06-15 18:54:23 UTC
+--- configure.orig 2023-02-27 20:43:45 UTC
+++ configure
-@@ -3744,13 +3744,7 @@ target_os_default=$(tolower $(uname -s))
+@@ -3888,13 +3888,7 @@ target_os_default=$(tolower $(uname -s))
host_os=$target_os_default
# machine
@@ -15,3 +15,25 @@
cpu="generic"
intrinsics="none"
+@@ -6705,10 +6699,10 @@ enabled libglslang && { check_lib spirv_compiler glsla
+ enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info
+ enabled libharfbuzz && require_pkg_config libharfbuzz harfbuzz hb.h hb_buffer_create
+ enabled libglslang && { check_lib spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
+- -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen \
++ -lglslang -lMachineIndependent -lOSDependent -lGenericCodeGen \
+ -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm ||
+ require spirv_compiler glslang/Include/glslang_c_interface.h glslang_initialize_process \
+- -lglslang -lOSDependent -lHLSL -lOGLCompiler \
++ -lglslang -lOSDependent \
+ -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++ -lm; }
+ enabled libgme && { check_pkg_config libgme libgme gme/gme.h gme_new_emu ||
+ require libgme gme/gme.h gme_new_emu -lgme -lstdc++; }
+@@ -7018,7 +7013,7 @@ fi
+
+ if enabled x86; then
+ case $target_os in
+- mingw32*|mingw64*|win32|win64|linux|cygwin*)
++ freebsd|mingw32*|mingw64*|win32|win64|linux|cygwin*)
+ ;;
+ *)
+ disable ffnvcodec cuvid nvdec nvenc
diff --git a/multimedia/ffmpeg/files/patch-libavutil_hwcontext__drm.c b/multimedia/ffmpeg/files/patch-libavutil_hwcontext__drm.c
new file mode 100644
index 000000000000..f5e186300975
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-libavutil_hwcontext__drm.c
@@ -0,0 +1,24 @@
+drm-kmod doesn't expose uAPI yet, so bundle like Mesa
+
+--- libavutil/hwcontext_drm.c.orig 2022-07-22 17:58:39 UTC
++++ libavutil/hwcontext_drm.c
+@@ -28,6 +28,19 @@
+ #if HAVE_LINUX_DMA_BUF_H
+ #include <linux/dma-buf.h>
+ #include <sys/ioctl.h>
++#else // BSDs
++#undef HAVE_LINUX_DMA_BUF_H
++#define HAVE_LINUX_DMA_BUF_H 1
++#include <sys/ioctl.h>
++struct dma_buf_sync {
++ uint64_t flags;
++};
++#define DMA_BUF_BASE 'b'
++#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
++#define DMA_BUF_SYNC_READ (1 << 0)
++#define DMA_BUF_SYNC_WRITE (2 << 0)
++#define DMA_BUF_SYNC_START (0 << 2)
++#define DMA_BUF_SYNC_END (1 << 2)
+ #endif
+
+ #include <drm.h>
diff --git a/multimedia/ffmpeg/files/patch-libavutil_thread.h b/multimedia/ffmpeg/files/patch-libavutil_thread.h
new file mode 100644
index 000000000000..29ba6aa40761
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-libavutil_thread.h
@@ -0,0 +1,14 @@
+pthread_setname_np is implemented on top of PR_SET_NAME on Linux
+and is also available on DragonFly, FreeBSD and Solaris
+
+--- libavutil/thread.h.orig 2023-02-27 20:43:45 UTC
++++ libavutil/thread.h
+@@ -196,6 +196,8 @@ static inline int ff_thread_setname(const char *name)
+ {
+ #if HAVE_PRCTL
+ return AVERROR(prctl(PR_SET_NAME, name));
++#elif HAVE_PTHREADS
++ return AVERROR(pthread_setname_np(pthread_self(), name));
+ #endif
+
+ return AVERROR(ENOSYS);
diff --git a/multimedia/ffmpeg/files/patch-svtav1 b/multimedia/ffmpeg/files/patch-svtav1
deleted file mode 100644
index 8fc0711e3511..000000000000
--- a/multimedia/ffmpeg/files/patch-svtav1
+++ /dev/null
@@ -1,422 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/04b89e8ae33b
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/64e2fb3f9d89
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0463f5d6d56d
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c5f314309067
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c33b4048859a
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/a2b090da7932
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1dddb930aaf0
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/4e47ebf38b97
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/50bc87263576
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/d794b36a7788
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/51c0b9e829be
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/e3c4442b249a
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/6fd1533057ff
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/ded0334d214f
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/70887d44ffa3
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
-
---- configure.orig 2021-10-24 20:47:11 UTC
-+++ configure
-@@ -6430,7 +6430,7 @@ enabled libsrt && require_pkg_config libsrt
- enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
- enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
- enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket
--enabled libsvtav1 && require_pkg_config libsvtav1 "SvtAv1Enc >= 0.8.4" EbSvtAv1Enc.h svt_av1_enc_init_handle
-+enabled libsvtav1 && require_pkg_config libsvtav1 "SvtAv1Enc >= 0.9.0" EbSvtAv1Enc.h svt_av1_enc_init_handle
- enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow
- enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate
- enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
---- doc/encoders.texi.orig 2021-10-24 20:47:07 UTC
-+++ doc/encoders.texi
-@@ -1754,28 +1754,15 @@ Set the operating point tier.
- @item tier
- Set the operating point tier.
-
--@item rc
--Set the rate control mode to use.
--
--Possible modes:
--@table @option
--@item cqp
--Constant quantizer: use fixed values of qindex (dependent on the frame type)
--throughout the stream. This mode is the default.
--
--@item vbr
--Variable bitrate: use a target bitrate for the whole stream.
--
--@item cvbr
--Constrained variable bitrate: use a target bitrate for each GOP.
--@end table
--
- @item qmax
- Set the maximum quantizer to use when using a bitrate mode.
-
- @item qmin
- Set the minimum quantizer to use when using a bitrate mode.
-
-+@item crf
-+Constant rate factor value used in crf rate control mode (0-63).
-+
- @item qp
- Set the quantizer used in cqp rate control mode (0-63).
-
-@@ -1786,14 +1773,18 @@ Set number of frames to look ahead (0-120).
- Set number of frames to look ahead (0-120).
-
- @item preset
--Set the quality-speed tradeoff, in the range 0 to 8. Higher values are
--faster but lower quality. Defaults to 8 (highest speed).
-+Set the quality-speed tradeoff, in the range 0 to 13. Higher values are
-+faster but lower quality.
-
- @item tile_rows
- Set log2 of the number of rows of tiles to use (0-6).
-
- @item tile_columns
- Set log2 of the number of columns of tiles to use (0-4).
-+
-+@item svtav1-params
-+Set SVT-AV1 options using a list of @var{key}=@var{value} pairs separated
-+by ":". See the SVT-AV1 encoder user guide for a list of accepted parameters.
-
- @end table
-
---- libavcodec/libsvtav1.c.orig 2021-10-24 20:47:07 UTC
-+++ libavcodec/libsvtav1.c
-@@ -60,17 +60,20 @@ typedef struct SvtContext {
- EOS_STATUS eos_flag;
-
- // User options.
-+ AVDictionary *svtav1_opts;
-+#if FF_API_SVTAV1_OPTS
- int hierarchical_level;
- int la_depth;
-- int enc_mode;
-- int rc_mode;
- int scd;
-- int qp;
-
- int tier;
-
- int tile_columns;
- int tile_rows;
-+#endif
-+ int enc_mode;
-+ int crf;
-+ int qp;
- } SvtContext;
-
- static const struct {
-@@ -151,11 +154,126 @@ static int config_enc_params(EbSvtAv1EncConfiguration
- {
- SvtContext *svt_enc = avctx->priv_data;
- const AVPixFmtDescriptor *desc;
-+ AVDictionaryEntry *en = NULL;
-
-+ // Update param from options
-+#if FF_API_SVTAV1_OPTS
-+ param->hierarchical_levels = svt_enc->hierarchical_level;
-+ param->tier = svt_enc->tier;
-+ param->scene_change_detection = svt_enc->scd;
-+ param->tile_columns = svt_enc->tile_columns;
-+ param->tile_rows = svt_enc->tile_rows;
-+
-+ if (svt_enc->la_depth >= 0)
-+ param->look_ahead_distance = svt_enc->la_depth;
-+#endif
-+
-+ if (svt_enc->enc_mode >= 0)
-+ param->enc_mode = svt_enc->enc_mode;
-+
-+ if (avctx->bit_rate) {
-+ param->target_bit_rate = avctx->bit_rate;
-+ if (avctx->rc_max_rate != avctx->bit_rate)
-+ param->rate_control_mode = 1;
-+ else
-+ param->rate_control_mode = 2;
-+
-+ param->max_qp_allowed = avctx->qmax;
-+ param->min_qp_allowed = avctx->qmin;
-+ }
-+ param->max_bit_rate = avctx->rc_max_rate;
-+ param->vbv_bufsize = avctx->rc_buffer_size;
-+
-+ if (svt_enc->crf > 0) {
-+ param->qp = svt_enc->crf;
-+ param->rate_control_mode = 0;
-+ } else if (svt_enc->qp > 0) {
-+ param->qp = svt_enc->qp;
-+ param->rate_control_mode = 0;
-+ param->enable_adaptive_quantization = 0;
-+ }
-+
-+ desc = av_pix_fmt_desc_get(avctx->pix_fmt);
-+ param->color_primaries = avctx->color_primaries;
-+ param->matrix_coefficients = (desc->flags & AV_PIX_FMT_FLAG_RGB) ?
-+ AVCOL_SPC_RGB : avctx->colorspace;
-+ param->transfer_characteristics = avctx->color_trc;
-+
-+ if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED)
-+ param->color_range = avctx->color_range == AVCOL_RANGE_JPEG;
-+ else
-+ param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
-+
-+#if SVT_AV1_CHECK_VERSION(1, 0, 0)
-+ if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
-+ const char *name =
-+ av_chroma_location_name(avctx->chroma_sample_location);
-+
-+ switch (avctx->chroma_sample_location) {
-+ case AVCHROMA_LOC_LEFT:
-+ param->chroma_sample_position = EB_CSP_VERTICAL;
-+ break;
-+ case AVCHROMA_LOC_TOPLEFT:
-+ param->chroma_sample_position = EB_CSP_COLOCATED;
-+ break;
-+ default:
-+ if (!name)
-+ break;
-+
-+ av_log(avctx, AV_LOG_WARNING,
-+ "Specified chroma sample location %s is unsupported "
-+ "on the AV1 bit stream level. Usage of a container that "
-+ "allows passing this information - such as Matroska - "
-+ "is recommended.\n",
-+ name);
-+ break;
-+ }
-+ }
-+#endif
-+
-+ if (avctx->profile != FF_PROFILE_UNKNOWN)
-+ param->profile = avctx->profile;
-+
-+ if (avctx->level != FF_LEVEL_UNKNOWN)
-+ param->level = avctx->level;
-+
-+ if (avctx->gop_size > 0)
-+ param->intra_period_length = avctx->gop_size - 1;
-+
-+ if (avctx->framerate.num > 0 && avctx->framerate.den > 0) {
-+ param->frame_rate_numerator = avctx->framerate.num;
-+ param->frame_rate_denominator = avctx->framerate.den;
-+ } else {
-+ param->frame_rate_numerator = avctx->time_base.den;
-+ param->frame_rate_denominator = avctx->time_base.num * avctx->ticks_per_frame;
-+ }
-+
-+ /* 2 = IDR, closed GOP, 1 = CRA, open GOP */
-+ param->intra_refresh_type = avctx->flags & AV_CODEC_FLAG_CLOSED_GOP ? 2 : 1;
-+
-+#if SVT_AV1_CHECK_VERSION(0, 9, 1)
-+ while ((en = av_dict_get(svt_enc->svtav1_opts, "", en, AV_DICT_IGNORE_SUFFIX))) {
-+ EbErrorType ret = svt_av1_enc_parse_parameter(param, en->key, en->value);
-+ if (ret != EB_ErrorNone) {
-+ int level = (avctx->err_recognition & AV_EF_EXPLODE) ? AV_LOG_ERROR : AV_LOG_WARNING;
-+ av_log(avctx, level, "Error parsing option %s: %s.\n", en->key, en->value);
-+ if (avctx->err_recognition & AV_EF_EXPLODE)
-+ return AVERROR(EINVAL);
-+ }
-+ }
-+#else
-+ if ((en = av_dict_get(svt_enc->svtav1_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
-+ int level = (avctx->err_recognition & AV_EF_EXPLODE) ? AV_LOG_ERROR : AV_LOG_WARNING;
-+ av_log(avctx, level, "svt-params needs libavcodec to be compiled with SVT-AV1 "
-+ "headers >= 0.9.1.\n");
-+ if (avctx->err_recognition & AV_EF_EXPLODE)
-+ return AVERROR(ENOSYS);
-+ }
-+#endif
-+
- param->source_width = avctx->width;
- param->source_height = avctx->height;
-
-- desc = av_pix_fmt_desc_get(avctx->pix_fmt);
- param->encoder_bit_depth = desc->comp[0].depth;
-
- if (desc->log2_chroma_w == 1 && desc->log2_chroma_h == 1)
-@@ -169,12 +287,6 @@ static int config_enc_params(EbSvtAv1EncConfiguration
- return AVERROR(EINVAL);
- }
-
-- if (avctx->profile != FF_PROFILE_UNKNOWN)
-- param->profile = avctx->profile;
--
-- if (avctx->level != FF_LEVEL_UNKNOWN)
-- param->level = avctx->level;
--
- if ((param->encoder_color_format == EB_YUV422 || param->encoder_bit_depth > 10)
- && param->profile != FF_PROFILE_AV1_PROFESSIONAL ) {
- av_log(avctx, AV_LOG_WARNING, "Forcing Professional profile\n");
-@@ -184,40 +296,21 @@ static int config_enc_params(EbSvtAv1EncConfiguration
- param->profile = FF_PROFILE_AV1_HIGH;
- }
-
-- // Update param from options
-- param->hierarchical_levels = svt_enc->hierarchical_level;
-- param->enc_mode = svt_enc->enc_mode;
-- param->tier = svt_enc->tier;
-- param->rate_control_mode = svt_enc->rc_mode;
-- param->scene_change_detection = svt_enc->scd;
-- param->qp = svt_enc->qp;
-+ avctx->bit_rate = param->rate_control_mode > 0 ?
-+ param->target_bit_rate : 0;
-+ avctx->rc_max_rate = param->max_bit_rate;
-+ avctx->rc_buffer_size = param->vbv_bufsize;
-
-- param->target_bit_rate = avctx->bit_rate;
-+ if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) {
-+ AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx);
-+ if (!cpb_props)
-+ return AVERROR(ENOMEM);
-
-- if (avctx->gop_size > 0)
-- param->intra_period_length = avctx->gop_size - 1;
--
-- if (avctx->framerate.num > 0 && avctx->framerate.den > 0) {
-- param->frame_rate_numerator = avctx->framerate.num;
-- param->frame_rate_denominator = avctx->framerate.den;
-- } else {
-- param->frame_rate_numerator = avctx->time_base.den;
-- param->frame_rate_denominator = avctx->time_base.num * avctx->ticks_per_frame;
-+ cpb_props->buffer_size = avctx->rc_buffer_size;
-+ cpb_props->max_bitrate = avctx->rc_max_rate;
-+ cpb_props->avg_bitrate = avctx->bit_rate;
- }
-
-- if (param->rate_control_mode) {
-- param->max_qp_allowed = avctx->qmax;
-- param->min_qp_allowed = avctx->qmin;
-- }
--
-- param->intra_refresh_type = 2; /* Real keyframes only */
--
-- if (svt_enc->la_depth >= 0)
-- param->look_ahead_distance = svt_enc->la_depth;
--
-- param->tile_columns = svt_enc->tile_columns;
-- param->tile_rows = svt_enc->tile_rows;
--
- return 0;
- }
-
-@@ -350,6 +443,16 @@ static int eb_send_frame(AVCodecContext *avctx, const
- headerPtr->p_app_private = NULL;
- headerPtr->pts = frame->pts;
-
-+ switch (frame->pict_type) {
-+ case AV_PICTURE_TYPE_I:
-+ headerPtr->pic_type = EB_AV1_KEY_PICTURE;
-+ break;
-+ default:
-+ // Actually means auto, or default.
-+ headerPtr->pic_type = EB_AV1_INVALID_PICTURE;
-+ break;
-+ }
-+
- svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr);
-
- return 0;
-@@ -472,21 +575,22 @@ static const AVOption options[] = {
- #define OFFSET(x) offsetof(SvtContext, x)
- #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
- static const AVOption options[] = {
-- { "hielevel", "Hierarchical prediction levels setting", OFFSET(hierarchical_level),
-- AV_OPT_TYPE_INT, { .i64 = 4 }, 3, 4, VE , "hielevel"},
-+#if FF_API_SVTAV1_OPTS
-+ { "hielevel", "Hierarchical prediction levels setting (Deprecated, use svtav1-params)", OFFSET(hierarchical_level),
-+ AV_OPT_TYPE_INT, { .i64 = 4 }, 3, 4, VE | AV_OPT_FLAG_DEPRECATED , "hielevel"},
- { "3level", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, INT_MIN, INT_MAX, VE, "hielevel" },
- { "4level", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 4 }, INT_MIN, INT_MAX, VE, "hielevel" },
-
-- { "la_depth", "Look ahead distance [0, 120]", OFFSET(la_depth),
-- AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 120, VE },
-+ { "la_depth", "Look ahead distance [0, 120] (Deprecated, use svtav1-params)", OFFSET(la_depth),
-+ AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 120, VE | AV_OPT_FLAG_DEPRECATED },
-
-- { "preset", "Encoding preset [0, 8]",
-- OFFSET(enc_mode), AV_OPT_TYPE_INT, { .i64 = MAX_ENC_PRESET }, 0, MAX_ENC_PRESET, VE },
--
-- { "tier", "Set operating point tier", OFFSET(tier),
-- AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, "tier" },
-+ { "tier", "Set operating point tier (Deprecated, use svtav1-params)", OFFSET(tier),
-+ AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE | AV_OPT_FLAG_DEPRECATED, "tier" },
- { "main", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, VE, "tier" },
- { "high", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, 0, 0, VE, "tier" },
-+#endif
-+ { "preset", "Encoding preset",
-+ OFFSET(enc_mode), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, MAX_ENC_PRESET, VE },
-
- FF_AV1_PROFILE_OPTS
-
-@@ -518,21 +622,20 @@ static const AVOption options[] = {
- { LEVEL("7.3", 73) },
- #undef LEVEL
-
-- { "rc", "Bit rate control mode", OFFSET(rc_mode),
-- AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, VE , "rc"},
-- { "cqp", "Constant quantizer", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "rc" },
-- { "vbr", "Variable Bit Rate, use a target bitrate for the entire stream", 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "rc" },
-- { "cvbr", "Constrained Variable Bit Rate, use a target bitrate for each GOP", 0, AV_OPT_TYPE_CONST,{ .i64 = 2 }, INT_MIN, INT_MAX, VE, "rc" },
-+ { "crf", "Constant Rate Factor value", OFFSET(crf),
-+ AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 63, VE },
-+ { "qp", "Initial Quantizer level value", OFFSET(qp),
-+ AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 63, VE },
-+#if FF_API_SVTAV1_OPTS
-+ { "sc_detection", "Scene change detection (Deprecated, use svtav1-params)", OFFSET(scd),
-+ AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE | AV_OPT_FLAG_DEPRECATED },
-
-- { "qp", "Quantizer to use with cqp rate control mode", OFFSET(qp),
-- AV_OPT_TYPE_INT, { .i64 = 50 }, 0, 63, VE },
-+ { "tile_columns", "Log2 of number of tile columns to use (Deprecated, use svtav1-params)", OFFSET(tile_columns), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 4, VE | AV_OPT_FLAG_DEPRECATED },
-+ { "tile_rows", "Log2 of number of tile rows to use (Deprecated, use svtav1-params)", OFFSET(tile_rows), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 6, VE | AV_OPT_FLAG_DEPRECATED },
-+#endif
-
-- { "sc_detection", "Scene change detection", OFFSET(scd),
-- AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
-+ { "svtav1-params", "Set the SVT-AV1 configuration using a :-separated list of key=value parameters", OFFSET(svtav1_opts), AV_OPT_TYPE_DICT, { 0 }, 0, 0, VE },
-
-- { "tile_columns", "Log2 of number of tile columns to use", OFFSET(tile_columns), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 4, VE},
-- { "tile_rows", "Log2 of number of tile rows to use", OFFSET(tile_rows), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 6, VE},
--
- {NULL},
- };
-
-@@ -544,9 +647,10 @@ static const AVCodecDefault eb_enc_defaults[] = {
- };
-
- static const AVCodecDefault eb_enc_defaults[] = {
-- { "b", "7M" },
-+ { "b", "0" },
-+ { "flags", "+cgop" },
- { "g", "-1" },
-- { "qmin", "0" },
-+ { "qmin", "1" },
- { "qmax", "63" },
- { NULL },
- };
-@@ -561,12 +665,11 @@ AVCodec ff_libsvtav1_encoder = {
- .receive_packet = eb_receive_packet,
- .close = eb_enc_close,
- .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
-- .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
-+ .caps_internal = FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP,
- .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
- AV_PIX_FMT_YUV420P10,
- AV_PIX_FMT_NONE },
- .priv_class = &class,
- .defaults = eb_enc_defaults,
-- .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
- .wrapper_name = "libsvtav1",
- };
---- libavcodec/version.h.orig 2021-10-24 20:47:07 UTC
-+++ libavcodec/version.h
-@@ -168,5 +168,8 @@
- #ifndef FF_API_INIT_PACKET
- #define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60)
- #endif
-+#ifndef FF_API_SVTAV1_OPTS
-+#define FF_API_SVTAV1_OPTS (LIBAVCODEC_VERSION_MAJOR < 60)
-+#endif
-
- #endif /* AVCODEC_VERSION_H */
diff --git a/multimedia/ffmpeg/files/patch-vk277 b/multimedia/ffmpeg/files/patch-vk277
new file mode 100644
index 000000000000..4712aaeab1d0
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-vk277
@@ -0,0 +1,1324 @@
+https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=10647
+
+--- libavcodec/Makefile.orig 2023-12-31 00:07:26 UTC
++++ libavcodec/Makefile
+@@ -1284,7 +1284,6 @@ SKIPHEADERS += %_tablegen.h
+ aacenc_quantization.h \
+ aacenc_quantization_misc.h \
+ bitstream_template.h \
+- vulkan_video_codec_av1std.h \
+ $(ARCH)/vpx_arith.h \
+
+ SKIPHEADERS-$(CONFIG_AMF) += amfenc.h
+@@ -1306,7 +1305,7 @@ SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox
+ SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h
+ SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h
+ SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h
+-SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h
++SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h
+ SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h
+ SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h
+
+--- libavcodec/cbs_av1.h.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/cbs_av1.h
+@@ -198,6 +198,7 @@ typedef struct AV1RawFrameHeader {
+ uint8_t refresh_frame_flags;
+ uint8_t allow_intrabc;
+ uint8_t ref_order_hint[AV1_NUM_REF_FRAMES];
++ uint8_t ref_frame_sign_bias[AV1_NUM_REF_FRAMES];
+ uint8_t frame_refs_short_signaling;
+ uint8_t last_frame_idx;
+ uint8_t golden_frame_idx;
+--- libavcodec/cbs_av1_syntax_template.c.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/cbs_av1_syntax_template.c
+@@ -1572,6 +1572,16 @@ static int FUNC(uncompressed_header)(CodedBitstreamCon
+ }
+
+ if (!frame_is_intra) {
++ for (i = 0; i < AV1_REFS_PER_FRAME; i++) {
++ if (seq->enable_order_hint) {
++ int idx = current->ref_frame_idx[i];
++ int hint = current->ref_order_hint[idx];
++ current->ref_frame_sign_bias[i] = cbs_av1_get_relative_dist(seq, hint,
++ priv->order_hint) > 0;
++ } else {
++ infer(ref_frame_sign_bias[i], 0);
++ }
++ }
+ // Derive reference frame sign biases.
+ }
+
+--- libavcodec/vulkan_av1.c.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/vulkan_av1.c
+@@ -35,18 +35,33 @@ typedef struct AV1VulkanDecodePicture {
+ *Can be removed once no longer needed, and threading can be enabled. */
+ FFVulkanDecodeContext *dec;
+
+- StdVideoAV1MESATile tiles[MAX_TILES];
+- StdVideoAV1MESATileList tile_list;
+- const uint32_t *tile_offsets;
++ uint32_t tile_count;
++ uint32_t tile_offsets_s[MAX_TILES];
++ uint32_t tile_sizes[MAX_TILES];
++ const uint32_t *tile_offsets;
+
+ /* Current picture */
+- VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref;
+- StdVideoAV1MESAFrameHeader av1_frame_header;
+- VkVideoDecodeAV1PictureInfoMESA av1_pic_info;
++ StdVideoDecodeAV1ReferenceInfo std_ref;
++ VkVideoDecodeAV1DpbSlotInfoKHR vkav1_ref;
++ uint16_t width_in_sbs_minus1[64];
++ uint16_t height_in_sbs_minus1[64];
++ uint16_t mi_col_starts[64];
++ uint16_t mi_row_starts[64];
++ StdVideoAV1TileInfo tile_info;
++ StdVideoAV1Quantization quantization;
++ StdVideoAV1Segmentation segmentation;
++ StdVideoAV1LoopFilter loop_filter;
++ StdVideoAV1CDEF cdef;
++ StdVideoAV1LoopRestoration loop_restoration;
++ StdVideoAV1GlobalMotion global_motion;
++ StdVideoAV1FilmGrain film_grain;
++ StdVideoDecodeAV1PictureInfo std_pic_info;
++ VkVideoDecodeAV1PictureInfoKHR av1_pic_info;
+
+ /* Picture refs */
+ const AV1Frame *ref_src [AV1_NUM_REF_FRAMES];
+- VkVideoDecodeAV1DpbSlotInfoMESA vkav1_refs[AV1_NUM_REF_FRAMES];
++ StdVideoDecodeAV1ReferenceInfo std_ref_info[AV1_NUM_REF_FRAMES];
++ VkVideoDecodeAV1DpbSlotInfoKHR vkav1_refs[AV1_NUM_REF_FRAMES];
+
+ uint8_t frame_id_set;
+ uint8_t frame_id;
+@@ -55,9 +70,9 @@ static int vk_av1_fill_pict(AVCodecContext *avctx, con
+ static int vk_av1_fill_pict(AVCodecContext *avctx, const AV1Frame **ref_src,
+ VkVideoReferenceSlotInfoKHR *ref_slot, /* Main structure */
+ VkVideoPictureResourceInfoKHR *ref, /* Goes in ^ */
+- VkVideoDecodeAV1DpbSlotInfoMESA *vkav1_ref, /* Goes in ^ */
+- const AV1Frame *pic, int is_current, int has_grain,
+- int dpb_slot_index)
++ StdVideoDecodeAV1ReferenceInfo *vkav1_std_ref,
++ VkVideoDecodeAV1DpbSlotInfoKHR *vkav1_ref, /* Goes in ^ */
++ const AV1Frame *pic, int is_current, int has_grain)
+ {
+ FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data;
+ AV1VulkanDecodePicture *hp = pic->hwaccel_picture_private;
+@@ -68,31 +83,48 @@ static int vk_av1_fill_pict(AVCodecContext *avctx, con
+ if (err < 0)
+ return err;
+
+- *vkav1_ref = (VkVideoDecodeAV1DpbSlotInfoMESA) {
+- .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_MESA,
+- .frameIdx = hp->frame_id,
++ *vkav1_std_ref = (StdVideoDecodeAV1ReferenceInfo) {
++ .flags = (StdVideoDecodeAV1ReferenceInfoFlags) {
++ .disable_frame_end_update_cdf = pic->raw_frame_header->disable_frame_end_update_cdf,
++ .segmentation_enabled = pic->raw_frame_header->segmentation_enabled,
++ },
++ .frame_type = pic->raw_frame_header->frame_type,
++ .OrderHint = pic->raw_frame_header->order_hint,
+ };
+
++ for (int i = 0; i < (STD_VIDEO_AV1_NUM_REF_FRAMES - 1); i++) {
++ int hint_idx = pic->raw_frame_header->ref_frame_idx[i];
++ int hint = pic->raw_frame_header->ref_order_hint[hint_idx];
++ vkav1_std_ref->SavedOrderHints[AV1_REF_FRAME_LAST + i] = hint; // not sure
++ }
++
++ *vkav1_ref = (VkVideoDecodeAV1DpbSlotInfoKHR) {
++ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR,
++ .pStdReferenceInfo = vkav1_std_ref,
++ };
++
+ for (unsigned i = 0; i < 7; i++) {
+ const int idx = pic->raw_frame_header->ref_frame_idx[i];
+- vkav1_ref->ref_order_hint[i] = pic->raw_frame_header->ref_order_hint[idx];
++ vkav1_std_ref->SavedOrderHints[i] = pic->raw_frame_header->ref_order_hint[idx];
+ }
+
+- vkav1_ref->disable_frame_end_update_cdf = pic->raw_frame_header->disable_frame_end_update_cdf;
++ vkav1_std_ref->flags.disable_frame_end_update_cdf = pic->raw_frame_header->disable_frame_end_update_cdf;
++ vkav1_std_ref->flags.segmentation_enabled = pic->raw_frame_header->segmentation_enabled;
++ vkav1_std_ref->frame_type = pic->raw_frame_header->frame_type;
+
+ *ref = (VkVideoPictureResourceInfoKHR) {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR,
+ .codedOffset = (VkOffset2D){ 0, 0 },
+ .codedExtent = (VkExtent2D){ pic->f->width, pic->f->height },
+ .baseArrayLayer = ((has_grain || dec->dedicated_dpb) && dec->layered_dpb) ?
+- dpb_slot_index : 0,
++ hp->frame_id : 0,
+ .imageViewBinding = vkpic->img_view_ref,
+ };
+
+ *ref_slot = (VkVideoReferenceSlotInfoKHR) {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR,
+ .pNext = vkav1_ref,
+- .slotIndex = dpb_slot_index,
++ .slotIndex = hp->frame_id,
+ .pPictureResource = ref,
+ };
+
+@@ -110,15 +142,37 @@ static int vk_av1_create_params(AVCodecContext *avctx,
+
+ const AV1RawSequenceHeader *seq = s->raw_seq;
+
+- StdVideoAV1MESASequenceHeader av1_sequence_header;
+- VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info;
+- VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params;
++ StdVideoAV1SequenceHeader av1_sequence_header;
++ StdVideoAV1TimingInfo av1_timing_info;
++ StdVideoAV1ColorConfig av1_color_config;
++ VkVideoDecodeAV1SessionParametersCreateInfoKHR av1_params;
+ VkVideoSessionParametersCreateInfoKHR session_params_create;
+
+ int err;
+
+- av1_sequence_header = (StdVideoAV1MESASequenceHeader) {
+- .flags = (StdVideoAV1MESASequenceHeaderFlags) {
++ av1_timing_info = (StdVideoAV1TimingInfo) {
++ .flags = (StdVideoAV1TimingInfoFlags) {
++ .equal_picture_interval = seq->timing_info.equal_picture_interval,
++ },
++ .num_units_in_display_tick = seq->timing_info.num_units_in_display_tick,
++ .time_scale = seq->timing_info.time_scale,
++ .num_ticks_per_picture_minus_1 = seq->timing_info.num_ticks_per_picture_minus_1,
++ };
++
++ av1_color_config = (StdVideoAV1ColorConfig) {
++ .flags = (StdVideoAV1ColorConfigFlags) {
++ .mono_chrome = seq->color_config.mono_chrome,
++ .color_range = seq->color_config.color_range,
++ .separate_uv_delta_q = seq->color_config.separate_uv_delta_q,
++ },
++ .BitDepth = seq->color_config.twelve_bit ? 12 :
++ seq->color_config.high_bitdepth ? 10 : 8,
++ .subsampling_x = seq->color_config.subsampling_x,
++ .subsampling_y = seq->color_config.subsampling_y,
++ };
++
++ av1_sequence_header = (StdVideoAV1SequenceHeader) {
++ .flags = (StdVideoAV1SequenceHeaderFlags) {
+ .still_picture = seq->still_picture,
+ .reduced_still_picture_header = seq->reduced_still_picture_header,
+ .use_128x128_superblock = seq->use_128x128_superblock,
+@@ -147,35 +201,14 @@ static int vk_av1_create_params(AVCodecContext *avctx,
+ .delta_frame_id_length_minus_2 = seq->delta_frame_id_length_minus_2,
+ .additional_frame_id_length_minus_1 = seq->additional_frame_id_length_minus_1,
+ .order_hint_bits_minus_1 = seq->order_hint_bits_minus_1,
+- .timing_info = (StdVideoAV1MESATimingInfo) {
+- .flags = (StdVideoAV1MESATimingInfoFlags) {
+- .equal_picture_interval = seq->timing_info.equal_picture_interval,
+- },
+- .num_units_in_display_tick = seq->timing_info.num_units_in_display_tick,
+- .time_scale = seq->timing_info.time_scale,
+- .num_ticks_per_picture_minus_1 = seq->timing_info.num_ticks_per_picture_minus_1,
+- },
+- .color_config = (StdVideoAV1MESAColorConfig) {
+- .flags = (StdVideoAV1MESAColorConfigFlags) {
+- .mono_chrome = seq->color_config.mono_chrome,
+- .color_range = seq->color_config.color_range,
+- .separate_uv_delta_q = seq->color_config.separate_uv_delta_q,
+- },
+- .bit_depth = seq->color_config.twelve_bit ? 12 :
+- seq->color_config.high_bitdepth ? 10 : 8,
+- .subsampling_x = seq->color_config.subsampling_x,
+- .subsampling_y = seq->color_config.subsampling_y,
+- },
++ .pTimingInfo = &av1_timing_info,
++ .pColorConfig = &av1_color_config,
+ };
+
+- av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) {
+- .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_ADD_INFO_MESA,
+- .sequence_header = &av1_sequence_header,
++ av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoKHR) {
++ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
++ .pStdSequenceHeader = &av1_sequence_header,
+ };
+- av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) {
+- .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA,
+- .pParametersAddInfo = &av1_params_info,
+- };
+ session_params_create = (VkVideoSessionParametersCreateInfoKHR) {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
+ .pNext = &av1_params,
+@@ -208,6 +241,11 @@ static int vk_av1_start_frame(AVCodecContext
+ const AV1RawFilmGrainParams *film_grain = &s->cur_frame.film_grain;
+ const int apply_grain = !(avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) &&
+ film_grain->apply_grain;
++ StdVideoAV1FrameRestorationType remap_lr_type[4] = { STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE,
++ STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE,
++ STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER,
++ STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ };
++ int uses_lr;
+
+ if (!dec->session_params) {
+ err = vk_av1_create_params(avctx, &dec->session_params);
+@@ -235,29 +273,37 @@ static int vk_av1_start_frame(AVCodecContext
+ continue;
+
+ err = vk_av1_fill_pict(avctx, &ap->ref_src[i], &vp->ref_slots[i],
+- &vp->refs[i], &ap->vkav1_refs[i],
+- ref_frame, 0, 0, i);
++ &vp->refs[i], &ap->std_ref_info[i], &ap->vkav1_refs[i],
++ ref_frame, 0, 0);
+ if (err < 0)
+ return err;
+
++ // Really not sure
++ ap->std_ref_info[i].RefFrameSignBias = pic->raw_frame_header->ref_frame_sign_bias[i];
++
+ ref_count++;
+ }
+
+ err = vk_av1_fill_pict(avctx, NULL, &vp->ref_slot, &vp->ref,
++ &ap->std_ref,
+ &ap->vkav1_ref,
+- pic, 1, apply_grain, 8);
++ pic, 1, apply_grain);
+ if (err < 0)
+ return err;
+
+- ap->tile_list.nb_tiles = 0;
+- ap->tile_list.tile_list = ap->tiles;
++ ap->tile_count = 0;
+
+- ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) {
+- .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_MESA,
+- .frame_header = &ap->av1_frame_header,
+- .tile_list = &ap->tile_list,
++ ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoKHR) {
++ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR,
++ .pStdPictureInfo = &ap->std_pic_info,
++ .tileCount = ap->tile_count,
++ .pTileOffsets = ap->tile_offsets_s,
++ .pTileSizes = ap->tile_sizes,
+ };
+
++ for (int i = 0; i < STD_VIDEO_AV1_REFS_PER_FRAME; i++)
++ ap->av1_pic_info.referenceNameSlotIndices[i] = vp->ref_slots[frame_header->ref_frame_idx[i]].slotIndex;
++
+ vp->decode_info = (VkVideoDecodeInfoKHR) {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR,
+ .pNext = &ap->av1_pic_info,
+@@ -274,9 +320,94 @@ static int vk_av1_start_frame(AVCodecContext
+ },
+ };
+
++ ap->tile_info = (StdVideoAV1TileInfo) {
++ .flags = (StdVideoAV1TileInfoFlags) {
++ .uniform_tile_spacing_flag = frame_header->uniform_tile_spacing_flag,
++ },
++ .TileCols = frame_header->tile_cols,
++ .TileRows = frame_header->tile_rows,
++ .context_update_tile_id = frame_header->context_update_tile_id,
++ .tile_size_bytes_minus_1 = frame_header->tile_size_bytes_minus1,
++ .pWidthInSbsMinus1 = ap->width_in_sbs_minus1,
++ .pHeightInSbsMinus1 = ap->height_in_sbs_minus1,
++ .pMiColStarts = ap->mi_col_starts,
++ .pMiRowStarts = ap->mi_row_starts,
++ };
++
++ ap->quantization = (StdVideoAV1Quantization) {
++ .flags.using_qmatrix = frame_header->using_qmatrix,
++ .flags.diff_uv_delta = frame_header->diff_uv_delta,
++ .base_q_idx = frame_header->base_q_idx,
++ .DeltaQYDc = frame_header->delta_q_y_dc,
++ .DeltaQUDc = frame_header->delta_q_u_dc,
++ .DeltaQUAc = frame_header->delta_q_u_ac,
++ .DeltaQVDc = frame_header->delta_q_v_dc,
++ .DeltaQVAc = frame_header->delta_q_v_ac,
++ .qm_y = frame_header->qm_y,
++ .qm_u = frame_header->qm_u,
++ .qm_v = frame_header->qm_v,
++ };
++
++ for (int i = 0; i < STD_VIDEO_AV1_MAX_SEGMENTS; i++) {
++ for (int j = 0; j < STD_VIDEO_AV1_SEG_LVL_MAX; j++) {
++ ap->segmentation.FeatureEnabled[i] |= frame_header->feature_enabled[i][j] << j;
++ ap->segmentation.FeatureData[i][j] = frame_header->feature_value[i][j];
++ }
++ }
++
++ ap->loop_filter = (StdVideoAV1LoopFilter) {
++ .flags = (StdVideoAV1LoopFilterFlags) {
++ .loop_filter_delta_enabled = frame_header->loop_filter_delta_enabled,
++ .loop_filter_delta_update = frame_header->loop_filter_delta_update,
++ },
++ .loop_filter_sharpness = frame_header->loop_filter_sharpness,
++ };
++
++ for (int i = 0; i < STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS; i++)
++ ap->loop_filter.loop_filter_level[i] = frame_header->loop_filter_level[i];
++ for (int i = 0; i < STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS; i++)
++ ap->loop_filter.loop_filter_mode_deltas[i] = frame_header->loop_filter_mode_deltas[i];
++
++ ap->cdef = (StdVideoAV1CDEF) {
++ .cdef_damping_minus_3 = frame_header->cdef_damping_minus_3,
++ .cdef_bits = frame_header->cdef_bits,
++ };
++
++ uses_lr = frame_header->lr_type[0] || frame_header->lr_type[1] || frame_header->lr_type[2],
++ ap->loop_restoration = (StdVideoAV1LoopRestoration) {
++ .FrameRestorationType[0] = remap_lr_type[frame_header->lr_type[0]],
++ .FrameRestorationType[1] = remap_lr_type[frame_header->lr_type[1]],
++ .FrameRestorationType[2] = remap_lr_type[frame_header->lr_type[2]],
++ .LoopRestorationSize[0] = 1 + frame_header->lr_unit_shift,
++ .LoopRestorationSize[1] = 1 + frame_header->lr_unit_shift - frame_header->lr_uv_shift,
++ .LoopRestorationSize[2] = 1 + frame_header->lr_unit_shift - frame_header->lr_uv_shift,
++ };
++
++ ap->film_grain = (StdVideoAV1FilmGrain) {
++ .flags = (StdVideoAV1FilmGrainFlags) {
++ .chroma_scaling_from_luma = film_grain->chroma_scaling_from_luma,
++ .overlap_flag = film_grain->overlap_flag,
++ .clip_to_restricted_range = film_grain->clip_to_restricted_range,
++ },
++ .grain_scaling_minus_8 = film_grain->grain_scaling_minus_8,
++ .ar_coeff_lag = film_grain->ar_coeff_lag,
++ .ar_coeff_shift_minus_6 = film_grain->ar_coeff_shift_minus_6,
++ .grain_scale_shift = film_grain->grain_scale_shift,
++ .grain_seed = film_grain->grain_seed,
++ .num_y_points = film_grain->num_y_points,
++ .num_cb_points = film_grain->num_cb_points,
++ .num_cr_points = film_grain->num_cr_points,
++ .cb_mult = film_grain->cb_mult,
++ .cb_luma_mult = film_grain->cb_luma_mult,
++ .cb_offset = film_grain->cb_offset,
++ .cr_mult = film_grain->cr_mult,
++ .cr_luma_mult = film_grain->cr_luma_mult,
++ .cr_offset = film_grain->cr_offset,
++ };
++
+ /* Setup frame header */
+- ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) {
+- .flags = (StdVideoAV1MESAFrameHeaderFlags) {
++ ap->std_pic_info = (StdVideoDecodeAV1PictureInfo) {
++ .flags = (StdVideoDecodeAV1PictureInfoFlags) {
+ .error_resilient_mode = frame_header->error_resilient_mode,
+ .disable_cdf_update = frame_header->disable_cdf_update,
+ .use_superres = frame_header->use_superres,
+@@ -297,171 +428,87 @@ static int vk_av1_start_frame(AVCodecContext
+ .reference_select = frame_header->reference_select,
+ .skip_mode_present = frame_header->skip_mode_present,
+ .delta_q_present = frame_header->delta_q_present,
++ .delta_lf_present = frame_header->delta_lf_present,
++ .delta_lf_multi = frame_header->delta_lf_multi,
++ .segmentation_enabled = frame_header->segmentation_enabled,
++ .segmentation_update_map = frame_header->segmentation_update_map,
++ .segmentation_temporal_update = frame_header->segmentation_temporal_update,
++ .segmentation_update_data = frame_header->segmentation_update_data,
++ .UsesLr = uses_lr,
++ .apply_grain = apply_grain,
+ },
+- .frame_to_show_map_idx = frame_header->frame_to_show_map_idx,
+- .frame_presentation_time = frame_header->frame_presentation_time,
+- .display_frame_id = frame_header->display_frame_id,
+ .frame_type = frame_header->frame_type,
+ .current_frame_id = frame_header->current_frame_id,
+- .order_hint = frame_header->order_hint,
++ .OrderHint = frame_header->order_hint,
+ .primary_ref_frame = frame_header->primary_ref_frame,
+- .frame_width_minus_1 = frame_header->frame_width_minus_1,
+- .frame_height_minus_1 = frame_header->frame_height_minus_1,
+- .coded_denom = frame_header->coded_denom,
+- .render_width_minus_1 = frame_header->render_width_minus_1,
+- .render_height_minus_1 = frame_header->render_height_minus_1,
+ .refresh_frame_flags = frame_header->refresh_frame_flags,
+ .interpolation_filter = frame_header->interpolation_filter,
+- .tx_mode = frame_header->tx_mode,
+- .tiling = (StdVideoAV1MESATileInfo) {
+- .flags = (StdVideoAV1MESATileInfoFlags) {
+- .uniform_tile_spacing_flag = frame_header->uniform_tile_spacing_flag,
+- },
+- .tile_cols = frame_header->tile_cols,
+- .tile_rows = frame_header->tile_rows,
+- .context_update_tile_id = frame_header->context_update_tile_id,
+- .tile_size_bytes_minus1 = frame_header->tile_size_bytes_minus1,
+- },
+- .quantization = (StdVideoAV1MESAQuantization) {
+- .flags.using_qmatrix = frame_header->using_qmatrix,
+- .base_q_idx = frame_header->base_q_idx,
+- .delta_q_y_dc = frame_header->delta_q_y_dc,
+- .diff_uv_delta = frame_header->diff_uv_delta,
+- .delta_q_u_dc = frame_header->delta_q_u_dc,
+- .delta_q_u_ac = frame_header->delta_q_u_ac,
+- .delta_q_v_dc = frame_header->delta_q_v_dc,
+- .delta_q_v_ac = frame_header->delta_q_v_ac,
+- .qm_y = frame_header->qm_y,
+- .qm_u = frame_header->qm_u,
+- .qm_v = frame_header->qm_v,
+- },
+- .delta_q = (StdVideoAV1MESADeltaQ) {
+- .flags = (StdVideoAV1MESADeltaQFlags) {
+- .delta_lf_present = frame_header->delta_lf_present,
+- .delta_lf_multi = frame_header->delta_lf_multi,
+- },
+- .delta_q_res = frame_header->delta_q_res,
+- .delta_lf_res = frame_header->delta_lf_res,
+- },
+- .loop_filter = (StdVideoAV1MESALoopFilter) {
+- .flags = (StdVideoAV1MESALoopFilterFlags) {
+- .delta_enabled = frame_header->loop_filter_delta_enabled,
+- .delta_update = frame_header->loop_filter_delta_update,
+- },
+- .level = {
+- frame_header->loop_filter_level[0], frame_header->loop_filter_level[1],
+- frame_header->loop_filter_level[2], frame_header->loop_filter_level[3],
+- },
+- .sharpness = frame_header->loop_filter_sharpness,
+- .mode_deltas = {
+- frame_header->loop_filter_mode_deltas[0], frame_header->loop_filter_mode_deltas[1],
+- },
+- },
+- .cdef = (StdVideoAV1MESACDEF) {
+- .damping_minus_3 = frame_header->cdef_damping_minus_3,
+- .bits = frame_header->cdef_bits,
+- },
+- .lr = (StdVideoAV1MESALoopRestoration) {
+- .lr_unit_shift = frame_header->lr_unit_shift,
+- .lr_uv_shift = frame_header->lr_uv_shift,
+- .lr_type = { frame_header->lr_type[0], frame_header->lr_type[1], frame_header->lr_type[2] },
+- },
+- .segmentation = (StdVideoAV1MESASegmentation) {
+- .flags = (StdVideoAV1MESASegmentationFlags) {
+- .enabled = frame_header->segmentation_enabled,
+- .update_map = frame_header->segmentation_update_map,
+- .temporal_update = frame_header->segmentation_temporal_update,
+- .update_data = frame_header->segmentation_update_data,
+- },
+- },
+- .film_grain = (StdVideoAV1MESAFilmGrainParameters) {
+- .flags = (StdVideoAV1MESAFilmGrainFlags) {
+- .apply_grain = apply_grain,
+- .chroma_scaling_from_luma = film_grain->chroma_scaling_from_luma,
+- .overlap_flag = film_grain->overlap_flag,
+- .clip_to_restricted_range = film_grain->clip_to_restricted_range,
+- },
+- .grain_scaling_minus_8 = film_grain->grain_scaling_minus_8,
+- .ar_coeff_lag = film_grain->ar_coeff_lag,
+- .ar_coeff_shift_minus_6 = film_grain->ar_coeff_shift_minus_6,
+- .grain_scale_shift = film_grain->grain_scale_shift,
+- .grain_seed = film_grain->grain_seed,
+- .num_y_points = film_grain->num_y_points,
+- .num_cb_points = film_grain->num_cb_points,
+- .num_cr_points = film_grain->num_cr_points,
+- .cb_mult = film_grain->cb_mult,
+- .cb_luma_mult = film_grain->cb_luma_mult,
+- .cb_offset = film_grain->cb_offset,
+- .cr_mult = film_grain->cr_mult,
+- .cr_luma_mult = film_grain->cr_luma_mult,
+- .cr_offset = film_grain->cr_offset,
+- },
++ .TxMode = frame_header->tx_mode,
++ .delta_q_res = frame_header->delta_q_res,
++ .delta_lf_res = frame_header->delta_lf_res,
++ .SkipModeFrame[0] = s->cur_frame.skip_mode_frame_idx[0],
++ .SkipModeFrame[1] = s->cur_frame.skip_mode_frame_idx[1],
++ .coded_denom = frame_header->coded_denom,
++ .pTileInfo = &ap->tile_info,
++ .pQuantization = &ap->quantization,
++ .pSegmentation = &ap->segmentation,
++ .pLoopFilter = &ap->loop_filter,
++ .pCDEF = &ap->cdef,
++ .pLoopRestoration = &ap->loop_restoration,
++ .pGlobalMotion = &ap->global_motion,
++ .pFilmGrain = apply_grain ? &ap->film_grain : NULL,
+ };
+
+ for (int i = 0; i < 64; i++) {
+- ap->av1_frame_header.tiling.width_in_sbs_minus_1[i] = frame_header->width_in_sbs_minus_1[i];
+- ap->av1_frame_header.tiling.height_in_sbs_minus_1[i] = frame_header->height_in_sbs_minus_1[i];
+- ap->av1_frame_header.tiling.tile_start_col_sb[i] = frame_header->tile_start_col_sb[i];
+- ap->av1_frame_header.tiling.tile_start_row_sb[i] = frame_header->tile_start_row_sb[i];
++ ap->width_in_sbs_minus1[i] = frame_header->width_in_sbs_minus_1[i];
++ ap->height_in_sbs_minus1[i] = frame_header->height_in_sbs_minus_1[i];
++ ap->mi_col_starts[i] = frame_header->tile_start_col_sb[i];
++ ap->mi_row_starts[i] = frame_header->tile_start_row_sb[i];
+ }
+
+ for (int i = 0; i < 8; i++) {
+- ap->av1_frame_header.segmentation.feature_enabled_bits[i] = 0;
+- for (int j = 0; j < 8; j++) {
+- ap->av1_frame_header.segmentation.feature_enabled_bits[i] |= (frame_header->feature_enabled[i][j] << j);
+- ap->av1_frame_header.segmentation.feature_data[i][j] = frame_header->feature_value[i][j];
++ ap->segmentation.FeatureEnabled[i] = 0x0;
++ for (int j = 0; j < STD_VIDEO_AV1_SEG_LVL_MAX; j++) {
++ ap->segmentation.FeatureEnabled[i] |= (frame_header->feature_enabled[i][j] << j);
++ ap->segmentation.FeatureData[i][j] = frame_header->feature_value[i][j];
+ }
+
+- ap->av1_frame_header.loop_filter.ref_deltas[i] = frame_header->loop_filter_ref_deltas[i];
++ ap->loop_filter.loop_filter_ref_deltas[i] = frame_header->loop_filter_ref_deltas[i];
+
+- ap->av1_frame_header.cdef.y_pri_strength[i] = frame_header->cdef_y_pri_strength[i];
+- ap->av1_frame_header.cdef.y_sec_strength[i] = frame_header->cdef_y_sec_strength[i];
+- ap->av1_frame_header.cdef.uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i];
+- ap->av1_frame_header.cdef.uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i];
++ ap->cdef.cdef_y_pri_strength[i] = frame_header->cdef_y_pri_strength[i];
++ ap->cdef.cdef_y_sec_strength[i] = frame_header->cdef_y_sec_strength[i];
++ ap->cdef.cdef_uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i];
++ ap->cdef.cdef_uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i];
+
+- ap->av1_frame_header.ref_order_hint[i] = frame_header->ref_order_hint[i];
+- ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) {
+- .flags = (StdVideoAV1MESAGlobalMotionFlags) {
+- .gm_invalid = s->cur_frame.gm_invalid[i],
+- },
+- .gm_type = s->cur_frame.gm_type[i],
+- .gm_params = {
+- s->cur_frame.gm_params[i][0], s->cur_frame.gm_params[i][1],
+- s->cur_frame.gm_params[i][2], s->cur_frame.gm_params[i][3],
+- s->cur_frame.gm_params[i][4], s->cur_frame.gm_params[i][5],
+- },
+- };
++ /* Reference frames */
++ ap->std_pic_info.OrderHints[i] = frame_header->ref_order_hint[i];
++ ap->global_motion.GmType[i] = s->cur_frame.gm_type[i];
++ for (int j = 0; j < STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS; j++) {
++ ap->global_motion.gm_params[i][j] = s->cur_frame.gm_params[i][j];
++ }
+ }
+
+- for (int i = 0; i < 7; i++) {
+- ap->av1_frame_header.ref_frame_idx[i] = frame_header->ref_frame_idx[i];
+- ap->av1_frame_header.delta_frame_id_minus1[i] = frame_header->delta_frame_id_minus1[i];
+- }
+-
+- ap->av1_pic_info.skip_mode_frame_idx[0] = s->cur_frame.skip_mode_frame_idx[0];
+- ap->av1_pic_info.skip_mode_frame_idx[1] = s->cur_frame.skip_mode_frame_idx[1];
+-
+ if (apply_grain) {
+ for (int i = 0; i < 14; i++) {
+- ap->av1_frame_header.film_grain.point_y_value[i] = film_grain->point_y_value[i];
+- ap->av1_frame_header.film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i];
++ ap->film_grain.point_y_value[i] = film_grain->point_y_value[i];
++ ap->film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i];
+ }
+
+ for (int i = 0; i < 10; i++) {
+- ap->av1_frame_header.film_grain.point_cb_value[i] = film_grain->point_cb_value[i];
+- ap->av1_frame_header.film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i];
+- ap->av1_frame_header.film_grain.point_cr_value[i] = film_grain->point_cr_value[i];
+- ap->av1_frame_header.film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i];
++ ap->film_grain.point_cb_value[i] = film_grain->point_cb_value[i];
++ ap->film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i];
++ ap->film_grain.point_cr_value[i] = film_grain->point_cr_value[i];
++ ap->film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i];
+ }
+
+ for (int i = 0; i < 24; i++) {
+- ap->av1_frame_header.film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i];
+- ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i];
+- ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i];
++ ap->film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i];
++ ap->film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i];
++ ap->film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i];
+ }
+
+- ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[24] = film_grain->ar_coeffs_cb_plus_128[24];
+- ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[24] = film_grain->ar_coeffs_cr_plus_128[24];
++ ap->film_grain.ar_coeffs_cb_plus_128[24] = film_grain->ar_coeffs_cb_plus_128[24];
++ ap->film_grain.ar_coeffs_cr_plus_128[24] = film_grain->ar_coeffs_cr_plus_128[24];
+ }
+
+ /* Workaround for a spec issue. */
+@@ -480,26 +527,22 @@ static int vk_av1_decode_slice(AVCodecContext *avctx,
+ FFVulkanDecodePicture *vp = &ap->vp;
+
+ for (int i = s->tg_start; i <= s->tg_end; i++) {
+- ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) {
+- .size = s->tile_group_info[i].tile_size,
+- .offset = s->tile_group_info[i].tile_offset,
+- .row = s->tile_group_info[i].tile_row,
+- .column = s->tile_group_info[i].tile_column,
+- .tg_start = s->tg_start,
+- .tg_end = s->tg_end,
+- };
+
++ ap->tile_offsets_s[ap->tile_count] = s->tile_group_info[i].tile_offset;
++ ap->tile_sizes[ap->tile_count] = s->tile_group_info[i].tile_size;
++
+ err = ff_vk_decode_add_slice(avctx, vp,
+ data + s->tile_group_info[i].tile_offset,
+ s->tile_group_info[i].tile_size, 0,
+- &ap->tile_list.nb_tiles,
++ &ap->tile_count,
+ &ap->tile_offsets);
+ if (err < 0)
+ return err;
+
+- ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1];
++ ap->tile_offsets_s[ap->tile_count - 1] = ap->tile_offsets[ap->tile_count - 1];
+ }
+
++ ap->av1_pic_info.tileCount = ap->tile_count;
+ return 0;
+ }
+
+@@ -513,7 +556,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx)
+ FFVulkanDecodePicture *rvp[AV1_NUM_REF_FRAMES] = { 0 };
+ AVFrame *rav[AV1_NUM_REF_FRAMES] = { 0 };
+
+- if (!ap->tile_list.nb_tiles)
++ if (!ap->tile_count)
+ return 0;
+
+ if (!dec->session_params) {
+@@ -531,7 +574,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx)
+ }
+
+ av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n",
+- vp->slices_size, ap->tile_list.nb_tiles);
++ vp->slices_size, ap->tile_count);
+
+ return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp);
+ }
+--- libavcodec/vulkan_decode.c.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/vulkan_decode.c
+@@ -50,7 +50,7 @@ static const VkVideoProfileInfoKHR *get_video_profile(
+ VkStructureType profile_struct_type =
+ codec_id == AV_CODEC_ID_H264 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR :
+ codec_id == AV_CODEC_ID_HEVC ? VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR :
+- codec_id == AV_CODEC_ID_AV1 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA :
++ codec_id == AV_CODEC_ID_AV1 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR :
+ 0;
+
+ profile_list = ff_vk_find_struct(ctx->s.hwfc->create_pnext,
+@@ -663,7 +663,7 @@ static VkResult vulkan_setup_profile(AVCodecContext *a
+ const struct FFVkCodecMap *vk_codec,
+ VkVideoDecodeH264CapabilitiesKHR *h264_caps,
+ VkVideoDecodeH265CapabilitiesKHR *h265_caps,
+- VkVideoDecodeAV1CapabilitiesMESA *av1_caps,
++ VkVideoDecodeAV1CapabilitiesKHR *av1_caps,
+ VkVideoCapabilitiesKHR *caps,
+ VkVideoDecodeCapabilitiesKHR *dec_caps,
+ int cur_profile)
+@@ -674,7 +674,7 @@ static VkResult vulkan_setup_profile(AVCodecContext *a
+
+ VkVideoDecodeH264ProfileInfoKHR *h264_profile = &prof->h264_profile;
+ VkVideoDecodeH265ProfileInfoKHR *h265_profile = &prof->h265_profile;
+- VkVideoDecodeAV1ProfileInfoMESA *av1_profile = &prof->av1_profile;
++ VkVideoDecodeAV1ProfileInfoKHR *av1_profile = &prof->av1_profile;
+
+ const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->sw_pix_fmt);
+ if (!desc)
+@@ -702,8 +702,8 @@ static VkResult vulkan_setup_profile(AVCodecContext *a
+ } else if (avctx->codec_id == AV_CODEC_ID_AV1) {
+ dec_caps->pNext = av1_caps;
+ usage->pNext = av1_profile;
+- av1_profile->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA;
+- av1_profile->stdProfileIdc = cur_profile;
++ av1_profile->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR;
++ av1_profile->stdProfile = cur_profile;
+ }
+
+ usage->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR;
+@@ -758,8 +758,8 @@ static int vulkan_decode_get_profile(AVCodecContext *a
+ VkVideoDecodeH265CapabilitiesKHR h265_caps = {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR,
+ };
+- VkVideoDecodeAV1CapabilitiesMESA av1_caps = {
+- .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA,
++ VkVideoDecodeAV1CapabilitiesKHR av1_caps = {
++ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR,
+ };
+
+ VkPhysicalDeviceVideoFormatInfoKHR fmt_info = {
+@@ -782,7 +782,7 @@ static int vulkan_decode_get_profile(AVCodecContext *a
+ cur_profile = avctx->profile;
+ base_profile = avctx->codec_id == AV_CODEC_ID_H264 ? AV_PROFILE_H264_CONSTRAINED_BASELINE :
+ avctx->codec_id == AV_CODEC_ID_H265 ? AV_PROFILE_HEVC_MAIN :
+- avctx->codec_id == AV_CODEC_ID_AV1 ? STD_VIDEO_AV1_MESA_PROFILE_MAIN :
++ avctx->codec_id == AV_CODEC_ID_AV1 ? STD_VIDEO_AV1_PROFILE_MAIN :
+ 0;
+
+ ret = vulkan_setup_profile(avctx, prof, hwctx, vk, vk_codec,
+@@ -830,7 +830,7 @@ static int vulkan_decode_get_profile(AVCodecContext *a
+
+ max_level = avctx->codec_id == AV_CODEC_ID_H264 ? ff_vk_h264_level_to_av(h264_caps.maxLevelIdc) :
+ avctx->codec_id == AV_CODEC_ID_H265 ? ff_vk_h265_level_to_av(h265_caps.maxLevelIdc) :
+- avctx->codec_id == AV_CODEC_ID_AV1 ? av1_caps.maxLevelIdc :
++ avctx->codec_id == AV_CODEC_ID_AV1 ? ff_vk_av1_level_to_av(av1_caps.maxLevel) :
+ 0;
+
+ av_log(avctx, AV_LOG_VERBOSE, "Decoder capabilities for %s profile \"%s\":\n",
+@@ -911,7 +911,7 @@ static int vulkan_decode_get_profile(AVCodecContext *a
+ /* TODO: make dedicated_dpb tunable */
+ dec->dedicated_dpb = !(dec_caps->flags & VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR);
+ dec->layered_dpb = !(caps->flags & VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR);
+- dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA;
++ // dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_KHR;
+
+ if (dec->dedicated_dpb) {
+ fmt_info.imageUsage = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR;
+@@ -1118,8 +1118,8 @@ int ff_vk_decode_init(AVCodecContext *avctx)
+ VkVideoDecodeH265SessionParametersCreateInfoKHR h265_params = {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR,
+ };
+- VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params = {
+- .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA,
++ VkVideoDecodeAV1SessionParametersCreateInfoKHR av1_params = {
++ .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR,
+ };
+ VkVideoSessionParametersCreateInfoKHR session_params_create = {
+ .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR,
+--- libavcodec/vulkan_decode.h.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/vulkan_decode.h
+@@ -28,7 +28,7 @@ typedef struct FFVulkanDecodeProfileData {
+ typedef struct FFVulkanDecodeProfileData {
+ VkVideoDecodeH264ProfileInfoKHR h264_profile;
+ VkVideoDecodeH265ProfileInfoKHR h265_profile;
+- VkVideoDecodeAV1ProfileInfoMESA av1_profile;
++ VkVideoDecodeAV1ProfileInfoKHR av1_profile;
+ VkVideoDecodeUsageInfoKHR usage;
+ VkVideoProfileInfoKHR profile;
+ VkVideoProfileListInfoKHR profile_list;
+--- libavcodec/vulkan_video.c.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/vulkan_video.c
+@@ -37,7 +37,7 @@ const FFVkCodecMap ff_vk_codec_map[AV_CODEC_ID_FIRST_A
+ 0,
+ 0,
+ FF_VK_EXT_VIDEO_DECODE_AV1,
+- 0x01000000 /* TODO fix this */
++ VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR
+ },
+ };
+
+@@ -196,6 +196,37 @@ int ff_vk_h265_level_to_av(StdVideoH265LevelIdc level)
+ case STD_VIDEO_H265_LEVEL_IDC_6_1: return 61;
+ default:
+ case STD_VIDEO_H265_LEVEL_IDC_6_2: return 62;
++ }
++}
++
++int ff_vk_av1_level_to_av(StdVideoAV1Level level)
++{
++ switch (level) {
++ case STD_VIDEO_AV1_LEVEL_2_0: return 20;
++ case STD_VIDEO_AV1_LEVEL_2_1: return 21;
++ case STD_VIDEO_AV1_LEVEL_2_2: return 22;
++ case STD_VIDEO_AV1_LEVEL_2_3: return 23;
++ case STD_VIDEO_AV1_LEVEL_3_0: return 30;
++ case STD_VIDEO_AV1_LEVEL_3_1: return 31;
++ case STD_VIDEO_AV1_LEVEL_3_2: return 32;
++ case STD_VIDEO_AV1_LEVEL_3_3: return 33;
++ case STD_VIDEO_AV1_LEVEL_4_0: return 40;
++ case STD_VIDEO_AV1_LEVEL_4_1: return 41;
++ case STD_VIDEO_AV1_LEVEL_4_2: return 42;
++ case STD_VIDEO_AV1_LEVEL_4_3: return 43;
++ case STD_VIDEO_AV1_LEVEL_5_0: return 50;
++ case STD_VIDEO_AV1_LEVEL_5_1: return 51;
++ case STD_VIDEO_AV1_LEVEL_5_2: return 52;
++ case STD_VIDEO_AV1_LEVEL_5_3: return 53;
++ case STD_VIDEO_AV1_LEVEL_6_0: return 60;
++ case STD_VIDEO_AV1_LEVEL_6_1: return 61;
++ case STD_VIDEO_AV1_LEVEL_6_2: return 62;
++ case STD_VIDEO_AV1_LEVEL_6_3: return 63;
++ case STD_VIDEO_AV1_LEVEL_7_0: return 70;
++ case STD_VIDEO_AV1_LEVEL_7_1: return 71;
++ case STD_VIDEO_AV1_LEVEL_7_2: return 72;
++ default:
++ case STD_VIDEO_AV1_LEVEL_7_3: return 73;
+ }
+ }
+
+--- libavcodec/vulkan_video.h.orig 2023-11-11 00:25:17 UTC
++++ libavcodec/vulkan_video.h
+@@ -23,8 +23,6 @@
+ #include "vulkan.h"
+
+ #include <vk_video/vulkan_video_codecs_common.h>
+-#include "vulkan_video_codec_av1std.h"
+-#include "vulkan_video_codec_av1std_decode.h"
+
+ #define CODEC_VER_MAJ(ver) (ver >> 22)
+ #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1))
+@@ -77,6 +75,7 @@ int ff_vk_h265_level_to_av(StdVideoH265LevelIdc level)
+ */
+ int ff_vk_h264_level_to_av(StdVideoH264LevelIdc level);
+ int ff_vk_h265_level_to_av(StdVideoH265LevelIdc level);
++int ff_vk_av1_level_to_av(StdVideoAV1Level level);
+
+ typedef struct FFVkVideoBuffer {
+ FFVkBuffer buf;
+--- libavcodec/vulkan_video_codec_av1std.h 2023-11-11 00:25:17 UTC
++++ /dev/null
+@@ -1,403 +0,0 @@
+-/* Copyright 2023 Lynne
+- * Copyright 2023 Dave Airlie
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-
+-#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_
+-#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1
+-
+-/*
+-** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
+-**
+-*/
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-#define vulkan_video_codec_av1std 1
+-
+-#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \
+- ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch)))
+-#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0 VK_MAKE_VIDEO_STD_VERSION(0, 1, 0)
+-#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0
+-#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode"
+-
+-typedef enum StdVideoAV1MESAProfile {
+- STD_VIDEO_AV1_MESA_PROFILE_MAIN = 0,
+- STD_VIDEO_AV1_MESA_PROFILE_HIGH = 1,
+- STD_VIDEO_AV1_MESA_PROFILE_PROFESSIONAL = 2,
+-} StdVideoAV1MESAProfile;
+-
+-typedef enum StdVideoAV1MESALevel {
+- STD_VIDEO_AV1_MESA_LEVEL_2_0 = 0,
+- STD_VIDEO_AV1_MESA_LEVEL_2_1 = 1,
+- STD_VIDEO_AV1_MESA_LEVEL_2_2 = 2,
+- STD_VIDEO_AV1_MESA_LEVEL_2_3 = 3,
+- STD_VIDEO_AV1_MESA_LEVEL_3_0 = 4,
+- STD_VIDEO_AV1_MESA_LEVEL_3_1 = 5,
+- STD_VIDEO_AV1_MESA_LEVEL_3_2 = 6,
+- STD_VIDEO_AV1_MESA_LEVEL_3_3 = 7,
+- STD_VIDEO_AV1_MESA_LEVEL_4_0 = 8,
+- STD_VIDEO_AV1_MESA_LEVEL_4_1 = 9,
+- STD_VIDEO_AV1_MESA_LEVEL_4_2 = 10,
+- STD_VIDEO_AV1_MESA_LEVEL_4_3 = 11,
+- STD_VIDEO_AV1_MESA_LEVEL_5_0 = 12,
+- STD_VIDEO_AV1_MESA_LEVEL_5_1 = 13,
+- STD_VIDEO_AV1_MESA_LEVEL_5_2 = 14,
+- STD_VIDEO_AV1_MESA_LEVEL_5_3 = 15,
+- STD_VIDEO_AV1_MESA_LEVEL_6_0 = 16,
+- STD_VIDEO_AV1_MESA_LEVEL_6_1 = 17,
+- STD_VIDEO_AV1_MESA_LEVEL_6_2 = 18,
+- STD_VIDEO_AV1_MESA_LEVEL_6_3 = 19,
+- STD_VIDEO_AV1_MESA_LEVEL_7_0 = 20,
+- STD_VIDEO_AV1_MESA_LEVEL_7_1 = 21,
+- STD_VIDEO_AV1_MESA_LEVEL_7_2 = 22,
+- STD_VIDEO_AV1_MESA_LEVEL_7_3 = 23,
+- STD_VIDEO_AV1_MESA_LEVEL_MAX = 31,
+-} StdVideoAV1MESALevel;
+-
+-typedef struct StdVideoAV1MESAFilmGrainFlags {
+- uint8_t apply_grain;
+- uint8_t chroma_scaling_from_luma;
+- uint8_t overlap_flag;
+- uint8_t clip_to_restricted_range;
+-} StdVideoAV1MESAFilmGrainFlags;
+-
+-typedef struct StdVideoAV1MESAFilmGrainParameters {
+- StdVideoAV1MESAFilmGrainFlags flags;
+- uint32_t grain_scaling_minus_8;
+- uint32_t ar_coeff_lag;
+- uint32_t ar_coeff_shift_minus_6;
+- uint32_t grain_scale_shift;
+-
+- uint16_t grain_seed;
+- uint8_t num_y_points;
+- uint8_t point_y_value[14];
+- uint8_t point_y_scaling[14];
+-
+- uint8_t num_cb_points;
+- uint8_t point_cb_value[10];
+- uint8_t point_cb_scaling[10];
+-
+- uint8_t num_cr_points;
+- uint8_t point_cr_value[10];
+- uint8_t point_cr_scaling[10];
+-
+- int8_t ar_coeffs_y_plus_128[24];
+- int8_t ar_coeffs_cb_plus_128[25];
+- int8_t ar_coeffs_cr_plus_128[25];
+- uint8_t cb_mult;
+- uint8_t cb_luma_mult;
+- uint16_t cb_offset;
+- uint8_t cr_mult;
+- uint8_t cr_luma_mult;
+- uint16_t cr_offset;
+-} StdVideoAV1MESAFilmGrainParameters;
+-
+-typedef struct StdVideoAV1MESAGlobalMotionFlags {
+- uint8_t gm_invalid;
+-} StdVideoAV1MESAGlobalMotionFlags;
+-
+-typedef struct StdVideoAV1MESAGlobalMotion {
+- StdVideoAV1MESAGlobalMotionFlags flags;
+- uint8_t gm_type;
+- uint32_t gm_params[6];
+-} StdVideoAV1MESAGlobalMotion;
+-
+-typedef struct StdVideoAV1MESALoopRestoration {
+- uint8_t lr_type[3];
+- uint8_t lr_unit_shift;
+- uint8_t lr_uv_shift;
+-} StdVideoAV1MESALoopRestoration;
+-
+-typedef struct StdVideoAV1MESATileInfoFlags {
+- uint8_t uniform_tile_spacing_flag;
+-} StdVideoAV1MESATileInfoFlags;
+-
+-typedef struct StdVideoAV1MESATileInfo {
+- StdVideoAV1MESATileInfoFlags flags;
+- uint8_t tile_cols;
+- uint8_t tile_rows;
+- uint8_t tile_start_col_sb[64];
+- uint8_t tile_start_row_sb[64];
+- uint8_t width_in_sbs_minus_1[64];
+- uint8_t height_in_sbs_minus_1[64];
+- uint16_t context_update_tile_id;
+- uint8_t tile_size_bytes_minus1;
+-} StdVideoAV1MESATileInfo;
+-
+-typedef struct StdVideoAV1MESAQuantizationFlags {
+- uint8_t using_qmatrix;
+-} StdVideoAV1MESAQuantizationFlags;
+-
+-typedef struct StdVideoAV1MESAQuantization {
+- StdVideoAV1MESAQuantizationFlags flags;
+- uint8_t base_q_idx;
+- int8_t delta_q_y_dc;
+- uint8_t diff_uv_delta;
+- int8_t delta_q_u_dc;
+- int8_t delta_q_u_ac;
+- int8_t delta_q_v_dc;
+- int8_t delta_q_v_ac;
+- uint8_t qm_y;
+- uint8_t qm_u;
+- uint8_t qm_v;
+-} StdVideoAV1MESAQuantization;
+-
+-typedef struct StdVideoAV1MESACDEF {
+- uint8_t damping_minus_3;
+- uint8_t bits;
+- uint8_t y_pri_strength[8];
+- uint8_t y_sec_strength[8];
+- uint8_t uv_pri_strength[8];
+- uint8_t uv_sec_strength[8];
+-} StdVideoAV1MESACDEF;
+-
+-typedef struct StdVideoAV1MESADeltaQFlags {
+- uint8_t delta_lf_present;
+- uint8_t delta_lf_multi;
+-} StdVideoAV1MESADeltaQFlags;
+-
+-typedef struct StdVideoAV1MESADeltaQ {
+- StdVideoAV1MESADeltaQFlags flags;
+- uint8_t delta_q_res;
+- uint8_t delta_lf_res;
+-} StdVideoAV1MESADeltaQ;
+-
+-typedef struct StdVideoAV1MESASegmentationFlags {
+- uint8_t enabled;
+- uint8_t update_map;
+- uint8_t temporal_update;
+- uint8_t update_data;
+-} StdVideoAV1MESASegmentationFlags;
+-
+-typedef struct StdVideoAV1MESASegmentation {
+- StdVideoAV1MESASegmentationFlags flags;
+- uint8_t feature_enabled_bits[8];
+- int16_t feature_data[8][8];
+-} StdVideoAV1MESASegmentation;
+-
+-typedef struct StdVideoAV1MESALoopFilterFlags {
+- uint8_t delta_enabled;
+- uint8_t delta_update;
+-} StdVideoAV1MESALoopFilterFlags;
+-
+-typedef struct StdVideoAV1MESALoopFilter {
+- StdVideoAV1MESALoopFilterFlags flags;
+- uint8_t level[4];
+- uint8_t sharpness;
+- int8_t ref_deltas[8];
+- int8_t mode_deltas[2];
+-} StdVideoAV1MESALoopFilter;
+-
+-typedef struct StdVideoAV1MESAFrameHeaderFlags {
+- uint8_t error_resilient_mode;
+- uint8_t disable_cdf_update;
+- uint8_t use_superres;
+- uint8_t render_and_frame_size_different;
+- uint8_t allow_screen_content_tools;
+- uint8_t is_filter_switchable;
+- uint8_t force_integer_mv;
+- uint8_t frame_size_override_flag;
+- uint8_t buffer_removal_time_present_flag;
+- uint8_t allow_intrabc;
+- uint8_t frame_refs_short_signaling;
+- uint8_t allow_high_precision_mv;
+- uint8_t is_motion_mode_switchable;
+- uint8_t use_ref_frame_mvs;
+- uint8_t disable_frame_end_update_cdf;
+- uint8_t allow_warped_motion;
+- uint8_t reduced_tx_set;
+- uint8_t reference_select;
+- uint8_t skip_mode_present;
+- uint8_t delta_q_present;
+- uint8_t UsesLr;
+-} StdVideoAV1MESAFrameHeaderFlags;
+-
+-typedef struct StdVideoAV1MESAFrameHeader {
+- StdVideoAV1MESAFrameHeaderFlags flags;
+-
+- uint32_t frame_presentation_time;
+- uint32_t display_frame_id;
+- uint32_t current_frame_id;
+- uint8_t frame_to_show_map_idx;
+- uint8_t frame_type;
+- uint8_t order_hint;
+- uint8_t primary_ref_frame;
+- uint16_t frame_width_minus_1;
+- uint16_t frame_height_minus_1;
+- uint16_t render_width_minus_1;
+- uint16_t render_height_minus_1;
+- uint8_t coded_denom;
+-
+- uint8_t refresh_frame_flags;
+- uint8_t ref_order_hint[8];
+- int8_t ref_frame_idx[7];
+- uint32_t delta_frame_id_minus1[7];
+-
+- uint8_t interpolation_filter;
+- uint8_t tx_mode;
+-
+- StdVideoAV1MESATileInfo tiling;
+- StdVideoAV1MESAQuantization quantization;
+- StdVideoAV1MESASegmentation segmentation;
+- StdVideoAV1MESADeltaQ delta_q;
+- StdVideoAV1MESALoopFilter loop_filter;
+- StdVideoAV1MESACDEF cdef;
+- StdVideoAV1MESALoopRestoration lr;
+- StdVideoAV1MESAGlobalMotion global_motion[8]; // One per ref frame
+- StdVideoAV1MESAFilmGrainParameters film_grain;
+-} StdVideoAV1MESAFrameHeader;
+-
+-typedef struct StdVideoAV1MESAScreenCoding {
+- uint8_t seq_force_screen_content_tools;
+-} StdVideoAV1MESAScreenCoding;
+-
+-typedef struct StdVideoAV1MESATimingInfoFlags {
+- uint8_t equal_picture_interval;
+-} StdVideoAV1MESATimingInfoFlags;
+-
+-typedef struct StdVideoAV1MESATimingInfo {
+- StdVideoAV1MESATimingInfoFlags flags;
+- uint32_t num_units_in_display_tick;
+- uint32_t time_scale;
+- uint32_t num_ticks_per_picture_minus_1;
+-} StdVideoAV1MESATimingInfo;
+-
+-typedef struct StdVideoAV1MESAColorConfigFlags {
+- uint8_t mono_chrome;
+- uint8_t color_range;
+- uint8_t separate_uv_delta_q;
+-} StdVideoAV1MESAColorConfigFlags;
+-
+-typedef struct StdVideoAV1MESAColorConfig {
+- StdVideoAV1MESAColorConfigFlags flags;
+- uint8_t bit_depth;
+- uint8_t subsampling_x;
+- uint8_t subsampling_y;
+-} StdVideoAV1MESAColorConfig;
+-
+-typedef struct StdVideoAV1MESASequenceHeaderFlags {
+- uint8_t still_picture;
+- uint8_t reduced_still_picture_header;
+- uint8_t use_128x128_superblock;
+- uint8_t enable_filter_intra;
+- uint8_t enable_intra_edge_filter;
+- uint8_t enable_interintra_compound;
+- uint8_t enable_masked_compound;
+- uint8_t enable_warped_motion;
+- uint8_t enable_dual_filter;
+- uint8_t enable_order_hint;
+- uint8_t enable_jnt_comp;
+- uint8_t enable_ref_frame_mvs;
+- uint8_t frame_id_numbers_present_flag;
+- uint8_t enable_superres;
+- uint8_t enable_cdef;
+- uint8_t enable_restoration;
+- uint8_t film_grain_params_present;
+- uint8_t timing_info_present_flag;
+- uint8_t initial_display_delay_present_flag;
+-} StdVideoAV1MESASequenceHeaderFlags;
+-
+-typedef struct StdVideoAV1MESASequenceHeader {
+- StdVideoAV1MESASequenceHeaderFlags flags;
+-
+- StdVideoAV1MESAProfile seq_profile;
+- uint8_t frame_width_bits_minus_1;
+- uint8_t frame_height_bits_minus_1;
+- uint16_t max_frame_width_minus_1;
+- uint16_t max_frame_height_minus_1;
+- uint8_t delta_frame_id_length_minus_2;
+- uint8_t additional_frame_id_length_minus_1;
+- uint8_t order_hint_bits_minus_1;
+- uint8_t seq_choose_integer_mv;
+- uint8_t seq_force_integer_mv;
+-
+- StdVideoAV1MESATimingInfo timing_info;
+- StdVideoAV1MESAColorConfig color_config;
+-} StdVideoAV1MESASequenceHeader;
+-
+-typedef struct StdVideoAV1MESATile {
+- uint16_t tg_start;
+- uint16_t tg_end;
+- uint16_t row;
+- uint16_t column;
+- uint32_t size;
+- uint32_t offset;
+-} StdVideoAV1MESATile;
+-
+-typedef struct StdVideoAV1MESATileList {
+- StdVideoAV1MESATile *tile_list;
+- uint32_t nb_tiles;
+-} StdVideoAV1MESATileList;
+-
+-typedef struct VkVideoDecodeAV1PictureInfoMESA {
+- VkStructureType sType;
+- const void *pNext;
+- StdVideoAV1MESAFrameHeader *frame_header;
+- StdVideoAV1MESATileList *tile_list;
+- uint8_t skip_mode_frame_idx[2];
+-} VkVideoDecodeAV1PictureInfoMESA;
+-
+-typedef struct VkVideoDecodeAV1DpbSlotInfoMESA {
+- VkStructureType sType;
+- const void *pNext;
+- uint8_t frameIdx;
+- uint8_t ref_order_hint[7];
+- uint8_t disable_frame_end_update_cdf;
+-} VkVideoDecodeAV1DpbSlotInfoMESA;
+-
+-typedef struct VkVideoDecodeAV1SessionParametersAddInfoMESA {
+- VkStructureType sType;
+- const void *pNext;
+- StdVideoAV1MESASequenceHeader *sequence_header;
+-} VkVideoDecodeAV1SessionParametersAddInfoMESA;
+-
+-typedef struct VkVideoDecodeAV1SessionParametersCreateInfoMESA {
+- VkStructureType sType;
+- const void *pNext;
+- const VkVideoDecodeAV1SessionParametersAddInfoMESA *pParametersAddInfo;
+-} VkVideoDecodeAV1SessionParametersCreateInfoMESA;
+-
+-typedef struct VkVideoDecodeAV1ProfileInfoMESA {
+- VkStructureType sType;
+- const void *pNext;
+- StdVideoAV1MESAProfile stdProfileIdc;
+-} VkVideoDecodeAV1ProfileInfoMESA;
+-
+-typedef enum VkVideoDecodeAV1CapabilityFlagBitsMESA {
+- VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA = 0x00000001,
+- VK_VIDEO_DECODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_MESA = 0x7FFFFFFF
+-} VkVideoDecodeAV1CapabilityFlagBitsMESA;
+-typedef VkFlags VkVideoDecodeAV1CapabilityFlagsMESA;
+-
+-typedef struct VkVideoDecodeAV1CapabilitiesMESA {
+- VkStructureType sType;
+- const void *pNext;
+- VkVideoDecodeAV1CapabilityFlagsMESA flags;
+- StdVideoAV1MESALevel maxLevelIdc;
+-} VkVideoDecodeAV1CapabilitiesMESA;
+-
+-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_MESA 1000509000
+-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA 1000509001
+-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_ADD_INFO_MESA 1000509002
+-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_MESA 1000509003
+-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA 1000509004
+-#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA 1000509005
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif
+--- libavcodec/vulkan_video_codec_av1std_decode.h 2023-11-11 00:25:17 UTC
++++ /dev/null
+@@ -1,36 +0,0 @@
+-/* Copyright 2023 Lynne
+- * Copyright 2023 Dave Airlie
+- *
+- * Licensed under the Apache License, Version 2.0 (the "License");
+- * you may not use this file except in compliance with the License.
+- * You may obtain a copy of the License at
+- *
+- * http://www.apache.org/licenses/LICENSE-2.0
+- *
+- * Unless required by applicable law or agreed to in writing, software
+- * distributed under the License is distributed on an "AS IS" BASIS,
+- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+- * See the License for the specific language governing permissions and
+- * limitations under the License.
+- */
+-
+-#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_
+-#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1
+-
+-/*
+-** This header is NOT YET generated from the Khronos Vulkan XML API Registry.
+-**
+-*/
+-
+-#ifdef __cplusplus
+-extern "C" {
+-#endif
+-#define vulkan_video_codec_av1std_decode 1
+-
+-
+-
+-#ifdef __cplusplus
+-}
+-#endif
+-
+-#endif
+--- libavutil/hwcontext_vulkan.c.orig 2023-12-31 00:07:26 UTC
++++ libavutil/hwcontext_vulkan.c
+@@ -437,7 +437,7 @@ static const VulkanOptExtension optional_device_exts[]
+ { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_QUEUE },
+ { VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H264 },
+ { VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H265 },
+- { "VK_MESA_video_decode_av1", FF_VK_EXT_VIDEO_DECODE_AV1 },
++ { VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_AV1 },
+ };
+
+ static VkBool32 VKAPI_CALL vk_dbg_callback(VkDebugUtilsMessageSeverityFlagBitsEXT severity,
+--- libavutil/vulkan_functions.h.orig 2023-11-11 00:25:17 UTC
++++ libavutil/vulkan_functions.h
+@@ -43,7 +43,7 @@ typedef enum FFVulkanExtensions {
+ FF_VK_EXT_VIDEO_DECODE_QUEUE = 1ULL << 11, /* VK_KHR_video_decode_queue */
+ FF_VK_EXT_VIDEO_DECODE_H264 = 1ULL << 12, /* VK_EXT_video_decode_h264 */
+ FF_VK_EXT_VIDEO_DECODE_H265 = 1ULL << 13, /* VK_EXT_video_decode_h265 */
+- FF_VK_EXT_VIDEO_DECODE_AV1 = 1ULL << 14, /* VK_MESA_video_decode_av1 */
++ FF_VK_EXT_VIDEO_DECODE_AV1 = 1ULL << 14, /* VK_KHR_video_decode_av1 */
+ FF_VK_EXT_ATOMIC_FLOAT = 1ULL << 15, /* VK_EXT_shader_atomic_float */
+ FF_VK_EXT_COOP_MATRIX = 1ULL << 16, /* VK_KHR_cooperative_matrix */
+
+--- libavutil/vulkan_loader.h.orig 2023-11-11 00:25:17 UTC
++++ libavutil/vulkan_loader.h
+@@ -56,7 +56,7 @@ static inline uint64_t ff_vk_extensions_to_mask(const
+ { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_QUEUE },
+ { VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H264 },
+ { VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H265 },
+- { "VK_MESA_video_decode_av1", FF_VK_EXT_VIDEO_DECODE_AV1 },
++ { VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_AV1 },
+ };
+
+ FFVulkanExtensions mask = 0x0;
diff --git a/multimedia/ffmpeg/pkg-descr b/multimedia/ffmpeg/pkg-descr
index 0f1ba5e78e3f..c3e23a3fdc4e 100644
--- a/multimedia/ffmpeg/pkg-descr
+++ b/multimedia/ffmpeg/pkg-descr
@@ -1,5 +1,3 @@
FFmpeg is a complete, cross-platform solution to record, convert and stream
audio and video. It includes libavcodec - the leading audio/video codec
library.
-
-WWW: http://ffmpeg.org/
diff --git a/multimedia/ffmpeg/pkg-plist b/multimedia/ffmpeg/pkg-plist
index 6f5f8c0b8db6..1ddbc2b3fceb 100644
--- a/multimedia/ffmpeg/pkg-plist
+++ b/multimedia/ffmpeg/pkg-plist
@@ -12,6 +12,7 @@ include/libavcodec/codec_desc.h
include/libavcodec/codec_id.h
include/libavcodec/codec_par.h
include/libavcodec/d3d11va.h
+include/libavcodec/defs.h
include/libavcodec/dirac.h
include/libavcodec/dv_profile.h
include/libavcodec/dxva2.h
@@ -19,26 +20,28 @@ include/libavcodec/jni.h
include/libavcodec/mediacodec.h
include/libavcodec/packet.h
include/libavcodec/qsv.h
-include/libavcodec/vaapi.h
include/libavcodec/vdpau.h
include/libavcodec/version.h
+include/libavcodec/version_major.h
include/libavcodec/videotoolbox.h
include/libavcodec/vorbis_parser.h
include/libavcodec/xvmc.h
include/libavdevice/avdevice.h
include/libavdevice/version.h
+include/libavdevice/version_major.h
include/libavfilter/avfilter.h
include/libavfilter/buffersink.h
include/libavfilter/buffersrc.h
include/libavfilter/version.h
+include/libavfilter/version_major.h
include/libavformat/avformat.h
include/libavformat/avio.h
include/libavformat/version.h
-include/libavresample/avresample.h
-include/libavresample/version.h
+include/libavformat/version_major.h
include/libavutil/adler32.h
include/libavutil/aes.h
include/libavutil/aes_ctr.h
+include/libavutil/ambient_viewing_environment.h
include/libavutil/attributes.h
include/libavutil/audio_fifo.h
include/libavutil/avassert.h
@@ -56,7 +59,9 @@ include/libavutil/channel_layout.h
include/libavutil/common.h
include/libavutil/cpu.h
include/libavutil/crc.h
+include/libavutil/csp.h
include/libavutil/des.h
+include/libavutil/detection_bbox.h
include/libavutil/dict.h
include/libavutil/display.h
include/libavutil/dovi_meta.h
@@ -64,6 +69,7 @@ include/libavutil/downmix_info.h
include/libavutil/encryption_info.h
include/libavutil/error.h
include/libavutil/eval.h
+include/libavutil/executor.h
include/libavutil/ffversion.h
include/libavutil/fifo.h
include/libavutil/file.h
@@ -71,6 +77,7 @@ include/libavutil/film_grain_params.h
include/libavutil/frame.h
include/libavutil/hash.h
include/libavutil/hdr_dynamic_metadata.h
+include/libavutil/hdr_dynamic_vivid_metadata.h
include/libavutil/hmac.h
include/libavutil/hwcontext.h
include/libavutil/hwcontext_cuda.h
@@ -120,96 +127,98 @@ include/libavutil/timestamp.h
include/libavutil/tree.h
include/libavutil/twofish.h
include/libavutil/tx.h
+include/libavutil/uuid.h
include/libavutil/version.h
include/libavutil/video_enc_params.h
+include/libavutil/video_hint.h
include/libavutil/xtea.h
include/libpostproc/postprocess.h
include/libpostproc/version.h
+include/libpostproc/version_major.h
include/libswresample/swresample.h
include/libswresample/version.h
+include/libswresample/version_major.h
include/libswscale/swscale.h
include/libswscale/version.h
+include/libswscale/version_major.h
lib/libavcodec.so
-lib/libavcodec.so.58
-lib/libavcodec.so.58.134.100
+lib/libavcodec.so.60
+lib/libavcodec.so.60.31.102
lib/libavdevice.so
-lib/libavdevice.so.58
-lib/libavdevice.so.58.13.100
+lib/libavdevice.so.60
+lib/libavdevice.so.60.3.100
lib/libavfilter.so
-lib/libavfilter.so.7
-lib/libavfilter.so.7.110.100
+lib/libavfilter.so.9
+lib/libavfilter.so.9.12.100
lib/libavformat.so
-lib/libavformat.so.58
-lib/libavformat.so.58.76.100
-lib/libavresample.so
-lib/libavresample.so.4
-lib/libavresample.so.4.0.0
+lib/libavformat.so.60
+lib/libavformat.so.60.16.100
lib/libavutil.so
-lib/libavutil.so.56
-lib/libavutil.so.56.70.100
+lib/libavutil.so.58
+lib/libavutil.so.58.29.100
lib/libpostproc.so
-lib/libpostproc.so.55
-lib/libpostproc.so.55.9.100
+lib/libpostproc.so.57
+lib/libpostproc.so.57.3.100
lib/libswresample.so
-lib/libswresample.so.3
-lib/libswresample.so.3.9.100
+lib/libswresample.so.4
+lib/libswresample.so.4.12.100
lib/libswscale.so
-lib/libswscale.so.5
-lib/libswscale.so.5.9.100
+lib/libswscale.so.7
+lib/libswscale.so.7.5.100
libdata/pkgconfig/libavcodec.pc
libdata/pkgconfig/libavdevice.pc
libdata/pkgconfig/libavfilter.pc
libdata/pkgconfig/libavformat.pc
-libdata/pkgconfig/libavresample.pc
libdata/pkgconfig/libavutil.pc
libdata/pkgconfig/libpostproc.pc
libdata/pkgconfig/libswresample.pc
libdata/pkgconfig/libswscale.pc
-man/man1/ffmpeg-all.1.gz
-man/man1/ffmpeg-bitstream-filters.1.gz
-man/man1/ffmpeg-codecs.1.gz
-man/man1/ffmpeg-devices.1.gz
-man/man1/ffmpeg-filters.1.gz
-man/man1/ffmpeg-formats.1.gz
-man/man1/ffmpeg-protocols.1.gz
-man/man1/ffmpeg-resampler.1.gz
-man/man1/ffmpeg-scaler.1.gz
-man/man1/ffmpeg-utils.1.gz
-man/man1/ffmpeg.1.gz
-%%SDL%%man/man1/ffplay-all.1.gz
-%%SDL%%man/man1/ffplay.1.gz
-man/man1/ffprobe-all.1.gz
-man/man1/ffprobe.1.gz
-man/man3/libavcodec.3.gz
-man/man3/libavdevice.3.gz
-man/man3/libavfilter.3.gz
-man/man3/libavformat.3.gz
-man/man3/libavutil.3.gz
-man/man3/libswresample.3.gz
-man/man3/libswscale.3.gz
+share/man/man1/ffmpeg-all.1.gz
+share/man/man1/ffmpeg-bitstream-filters.1.gz
+share/man/man1/ffmpeg-codecs.1.gz
+share/man/man1/ffmpeg-devices.1.gz
+share/man/man1/ffmpeg-filters.1.gz
+share/man/man1/ffmpeg-formats.1.gz
+share/man/man1/ffmpeg-protocols.1.gz
+share/man/man1/ffmpeg-resampler.1.gz
+share/man/man1/ffmpeg-scaler.1.gz
+share/man/man1/ffmpeg-utils.1.gz
+share/man/man1/ffmpeg.1.gz
+%%SDL%%share/man/man1/ffplay-all.1.gz
+%%SDL%%share/man/man1/ffplay.1.gz
+share/man/man1/ffprobe-all.1.gz
+share/man/man1/ffprobe.1.gz
+share/man/man3/libavcodec.3.gz
+share/man/man3/libavdevice.3.gz
+share/man/man3/libavfilter.3.gz
+share/man/man3/libavformat.3.gz
+share/man/man3/libavutil.3.gz
+share/man/man3/libswresample.3.gz
+share/man/man3/libswscale.3.gz
%%DATADIR%%/examples/Makefile
%%DATADIR%%/examples/README
+%%DATADIR%%/examples/avio_http_serve_files.c
%%DATADIR%%/examples/avio_list_dir.c
-%%DATADIR%%/examples/avio_reading.c
+%%DATADIR%%/examples/avio_read_callback.c
%%DATADIR%%/examples/decode_audio.c
+%%DATADIR%%/examples/decode_filter_audio.c
+%%DATADIR%%/examples/decode_filter_video.c
%%DATADIR%%/examples/decode_video.c
-%%DATADIR%%/examples/demuxing_decoding.c
+%%DATADIR%%/examples/demux_decode.c
%%DATADIR%%/examples/encode_audio.c
%%DATADIR%%/examples/encode_video.c
%%DATADIR%%/examples/extract_mvs.c
%%DATADIR%%/examples/filter_audio.c
-%%DATADIR%%/examples/filtering_audio.c
-%%DATADIR%%/examples/filtering_video.c
-%%DATADIR%%/examples/http_multiclient.c
%%DATADIR%%/examples/hw_decode.c
-%%DATADIR%%/examples/metadata.c
-%%DATADIR%%/examples/muxing.c
-%%DATADIR%%/examples/qsvdec.c
-%%DATADIR%%/examples/remuxing.c
-%%DATADIR%%/examples/resampling_audio.c
-%%DATADIR%%/examples/scaling_video.c
+%%DATADIR%%/examples/mux.c
+%%DATADIR%%/examples/qsv_decode.c
+%%DATADIR%%/examples/qsv_transcode.c
+%%DATADIR%%/examples/remux.c
+%%DATADIR%%/examples/resample_audio.c
+%%DATADIR%%/examples/scale_video.c
+%%DATADIR%%/examples/show_metadata.c
+%%DATADIR%%/examples/transcode.c
%%DATADIR%%/examples/transcode_aac.c
-%%DATADIR%%/examples/transcoding.c
%%DATADIR%%/examples/vaapi_encode.c
%%DATADIR%%/examples/vaapi_transcode.c
%%DATADIR%%/ffprobe.xsd
diff --git a/multimedia/ffmpeg2theora/Makefile b/multimedia/ffmpeg2theora/Makefile
deleted file mode 100644
index 143d674146d9..000000000000
--- a/multimedia/ffmpeg2theora/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# Created by: Anders Nordby <anders@FreeBSD.org>
-
-PORTNAME= ffmpeg2theora
-PORTVERSION= 0.30
-PORTREVISION= 6
-CATEGORIES= multimedia
-MASTER_SITES= http://v2v.cc/~j/ffmpeg2theora/downloads/
-
-MAINTAINER= wg@FreeBSD.org
-COMMENT= Reencode many media file formats to Ogg Theora
-
-DEPRECATED= Legacy video format, superseded by AV1/H.264/H.265/VP8/VP9
-EXPIRATION_DATE=2022-06-30
-
-LICENSE= GPLv3
-
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
- libkate.so:multimedia/libkate \
- libtheora.so:multimedia/libtheora
-
-USES= iconv pkgconfig scons tar:bzip2
-MAKE_ARGS= APPEND_CCFLAGS="${CFLAGS} ${CPPFLAGS}" \
- APPEND_LINKFLAGS="${LDFLAGS} ${LIBS}"
-
-CPPFLAGS+= -I${LOCALBASE}/include
-LIBS+= -L${LOCALBASE}/lib ${ICONV_LIB}
-
-PLIST_FILES= bin/ffmpeg2theora man/man1/ffmpeg2theora.1.gz
-
-.include <bsd.port.mk>
diff --git a/multimedia/ffmpeg2theora/distinfo b/multimedia/ffmpeg2theora/distinfo
deleted file mode 100644
index 647b78d84f65..000000000000
--- a/multimedia/ffmpeg2theora/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1465461122
-SHA256 (ffmpeg2theora-0.30.tar.bz2) = 4f6464b444acab5d778e0a3359d836e0867a3dcec4ad8f1cdcf87cb711ccc6df
-SIZE (ffmpeg2theora-0.30.tar.bz2) = 91269
diff --git a/multimedia/ffmpeg2theora/files/patch-SConstruct b/multimedia/ffmpeg2theora/files/patch-SConstruct
deleted file mode 100644
index 324d07c9fa7f..000000000000
--- a/multimedia/ffmpeg2theora/files/patch-SConstruct
+++ /dev/null
@@ -1,103 +0,0 @@
---- SConstruct.orig 2016-01-10 04:35:56 UTC
-+++ SConstruct
-@@ -21,7 +21,7 @@ scons_version=(1,2,0)
- try:
- EnsureSConsVersion(*scons_version)
- except TypeError:
-- print 'SCons %d.%d.%d or greater is required, but you have an older version' % scons_version
-+ print('SCons %d.%d.%d or greater is required, but you have an older version' % scons_version)
- Exit(2)
-
- opts = Variables()
-@@ -38,7 +38,7 @@ opts.AddVariables(
- BoolVariable('libkate', 'enable libkate support', 1),
- BoolVariable('crossmingw', 'Set to 1 for crosscompile with mingw', 0)
- )
--env = Environment(options = opts)
-+env = Environment(options = opts, ENV=os.environ, CC = Split(os.environ['CC']))
- Help(opts.GenerateHelpText(env))
-
- pkg_flags="--cflags --libs"
-@@ -119,29 +119,29 @@ if env["build_ffmpeg"]:
- if not env.GetOption('clean'):
- pkgconfig_version='0.15.0'
- if not conf.CheckPKGConfig(pkgconfig_version):
-- print 'pkg-config >= %s not found.' % pkgconfig_version
-+ print('pkg-config >= %s not found.' % pkgconfig_version )
- Exit(1)
-
- if not conf.CheckPKG("ogg >= 1.1"):
-- print 'ogg >= 1.1 missing'
-+ print('ogg >= 1.1 missing')
- Exit(1)
-
- if not conf.CheckPKG("vorbis"):
-- print 'vorbis missing'
-+ print('vorbis missing')
- Exit(1)
-
- if not conf.CheckPKG("vorbisenc"):
-- print 'vorbisenc missing'
-+ print('vorbisenc missing')
- Exit(1)
-
- if not conf.CheckPKG("theoraenc >= 1.1.0"):
-- print 'theoraenc >= 1.1.0 missing'
-+ print('theoraenc >= 1.1.0 missing')
- Exit(1)
-
- XIPH_LIBS="ogg >= 1.1 vorbis vorbisenc theoraenc >= 1.1.0"
-
- if not conf.CheckPKG(XIPH_LIBS):
-- print 'some xiph libs are missing, ffmpeg2theora depends on %s' % XIPH_LIBS
-+ print('some xiph libs are missing, ffmpeg2theora depends on %s' % XIPH_LIBS)
- Exit(1)
- ParsePKGConfig(env, XIPH_LIBS)
-
-@@ -152,7 +152,6 @@ if not env.GetOption('clean'):
- "libavcodec >= 52.30.0",
- "libpostproc",
- "libswscale",
-- "libswresample",
- "libavutil",
- ]
- if os.path.exists("./ffmpeg"):
-@@ -177,13 +176,13 @@ if not env.GetOption('clean'):
- FFMPEG_LIBS.append('libavresample')
-
- if not conf.CheckPKG(' '.join(FFMPEG_LIBS)):
-- print """
-+ print("""
- Could not find %s.
- You can install it via
- sudo apt-get install %s
- or update PKG_CONFIG_PATH to point to ffmpeg's source folder
- or run ./get_ffmpeg.sh (for more information see INSTALL)
-- """ %(" ".join(FFMPEG_LIBS), " ".join(["%s-dev"%l.split()[0] for l in FFMPEG_LIBS]))
-+ """ %(" ".join(FFMPEG_LIBS), " ".join(["%s-dev"%l.split()[0] for l in FFMPEG_LIBS])))
- Exit(1)
-
- for lib in FFMPEG_LIBS:
-@@ -204,19 +203,18 @@ if not env.GetOption('clean'):
- ParsePKGConfig(env, KATE_LIBS)
- env.Append(CCFLAGS=['-DHAVE_KATE', '-DHAVE_OGGKATE'])
- else:
-- print """
-+ print("""
- Could not find libkate. Subtitles support will be disabled.
- You can also run ./get_libkate.sh (for more information see INSTALL)
- or update PKG_CONFIG_PATH to point to libkate's source folder
-- """
-+ """)
-
- if conf.CheckCHeader('iconv.h'):
- env.Append(CCFLAGS=[
- '-DHAVE_ICONV'
- ])
-- if conf.CheckLib('iconv'):
-- env.Append(LIBS=['iconv'])
-
-+ env.Append(LIBS=['m'])
- if env['crossmingw']:
- env.Append(CCFLAGS=['-Wl,-subsystem,windows'])
- env.Append(LIBS=['m'])
diff --git a/multimedia/ffmpeg2theora/files/patch-src_ffmpeg2theora.c b/multimedia/ffmpeg2theora/files/patch-src_ffmpeg2theora.c
deleted file mode 100644
index 5b210f9b14b7..000000000000
--- a/multimedia/ffmpeg2theora/files/patch-src_ffmpeg2theora.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- src/ffmpeg2theora.c.orig 2016-01-10 04:35:56 UTC
-+++ src/ffmpeg2theora.c
-@@ -3103,7 +3103,11 @@ int main(int argc, char **argv) {
- fprintf(stderr,"\nUnable to decode input.\n");
- return(1);
- }
-+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53,17,0)
-+ av_close_input_file(convert->context);
-+#else
- avformat_close_input(&convert->context);
-+#endif
- }
- else{
- if (info.frontend)
diff --git a/multimedia/ffmpeg2theora/files/patch-src_subtitles.c b/multimedia/ffmpeg2theora/files/patch-src_subtitles.c
deleted file mode 100644
index 490c8670185f..000000000000
--- a/multimedia/ffmpeg2theora/files/patch-src_subtitles.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/subtitles.c.orig 2016-01-10 04:35:56 UTC
-+++ src/subtitles.c
-@@ -284,7 +284,7 @@ static char *convert_subtitle_to_utf8(co
- return NULL;
- }
- outptr=newtext;
-- if (iconv(cd, &inptr, &insz, &outptr, &outsz) < 0) {
-+ if (iconv(cd, &inptr, &insz, &outptr, &outsz) == (size_t)-1) {
- warn(frontend, NULL, 0, "Failed to convert text to UTF-8\n");
- free(newtext);
- newtext = NULL;
diff --git a/multimedia/ffmpeg2theora/pkg-descr b/multimedia/ffmpeg2theora/pkg-descr
deleted file mode 100644
index 4745349a15c3..000000000000
--- a/multimedia/ffmpeg2theora/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-ffmpeg2theora is a simple command line tool to convert media files to
-.ogg with Theora video and Vorbis audio streams. It supports reading any
-file format that ffmpeg can decode.
-
-WWW: http://v2v.cc/~j/ffmpeg2theora/
diff --git a/multimedia/ffmpeg4/Makefile b/multimedia/ffmpeg4/Makefile
new file mode 100644
index 000000000000..f6dda8d1dbd3
--- /dev/null
+++ b/multimedia/ffmpeg4/Makefile
@@ -0,0 +1,651 @@
+PORTNAME= ffmpeg
+PORTVERSION= 4.4.4
+PORTREVISION= 12
+CATEGORIES= multimedia audio net
+MASTER_SITES= https://ffmpeg.org/releases/
+PKGNAMESUFFIX= 4
+
+MAINTAINER= multimedia@FreeBSD.org
+COMMENT= Realtime audio/video encoder/converter and streaming server (legacy 4.* series)
+WWW= https://ffmpeg.org/
+
+LICENSE= GPLv2+ LGPL21+
+LICENSE_COMB= multi
+
+BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}}
+BUILD_DEPENDS_aarch64= as:devel/binutils
+BUILD_DEPENDS_amd64= nasm:devel/nasm
+BUILD_DEPENDS_armv6= as:devel/binutils
+BUILD_DEPENDS_armv7= as:devel/binutils
+BUILD_DEPENDS_i386= nasm:devel/nasm
+
+HAS_CONFIGURE= yes
+CONFIGURE_LOG= ffbuild/config.log
+USES= compiler:c11 cpe gmake localbase:ldflags perl5 \
+ pkgconfig shebangfix tar:xz
+USE_LDCONFIG= yes
+USE_PERL5= build
+SHEBANG_FILES= doc/texi2pod.pl
+NOPRECIOUSMAKEVARS= yes # ARCH
+
+.ifdef PKGNAMESUFFIX
+PORTSCOUT= limit:^4\.
+PREFIX= ${LOCALBASE}/${PKGBASE} # avoid conflict with the default
+.endif
+
+# Option CHROMAPRINT disabled, it cannot work and people are baffled.
+OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASM ASS BS2B CACA CDIO \
+ CODEC2 DAV1D DAVS2 DC1394 DEBUG DOCS DRM FDK_AAC FLITE \
+ FONTCONFIG FREETYPE FREI0R FRIBIDI GLSLANG GME GSM ICONV ILBC \
+ JACK KLVANC KVAZAAR LADSPA LAME LENSFUN LIBBLURAY LIBRSVG2 \
+ LIBXML2 LTO LV2 MODPLUG MYSOFA NETWORK NVENC OPENAL OPENCL OPENGL \
+ OPENH264 OPENJPEG OPENMPT OPENVINO OPTIMIZED_CFLAGS OPUS POCKETSPHINX \
+ PULSEAUDIO RAV1E RABBITMQ RIST RTCPU RUBBERBAND SDL SMB SNAPPY \
+ SNDIO SOXR SPEEX SRT SSH SVTAV1 SVTHEVC SVTVP9 TENSORFLOW \
+ TESSERACT THEORA TWOLAME UAVS3D V4L VAAPI VAPOURSYNTH VDPAU VIDSTAB \
+ VMAF VO_AMRWBENC VORBIS VPX VULKAN WEBP X264 X265 \
+ XAVS2 XCB XVID XVIDEO ZIMG ZMQ ZVBI
+# intel-media-sdk only for i386/amd64
+OPTIONS_DEFINE_amd64= MFX
+OPTIONS_DEFINE_i386= MFX
+
+OPTIONS_DEFAULT= AOM ASM ASS DAV1D DRM FONTCONFIG FREETYPE FREI0R GMP \
+ GNUTLS ICONV LAME LIBXML2 NETWORK OPTIMIZED_CFLAGS OPUS \
+ RTCPU SVTAV1 V4L VAAPI VDPAU VMAF VORBIS VPX WEBP X264 \
+ X265 XCB
+OPTIONS_DEFAULT_amd64= NVENC
+OPTIONS_DEFAULT_i386= NVENC
+
+# i386 is too register-starved for LTO (PR257124)
+OPTIONS_EXCLUDE_i386= LTO
+
+.if !exists(${.CURDIR:H:H}/multimedia/davs2)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5985a1bf7233
+OPTIONS_EXCLUDE+= DAVS2
+.endif
+
+.if !exists(${.CURDIR:H:H}/multimedia/uavs3d)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c952db9d68d3
+OPTIONS_EXCLUDE+= UAVS3D
+.endif
+
+.if !exists(${.CURDIR:H:H}/multimedia/xavs2)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/85a921f4618
+OPTIONS_EXCLUDE+= XAVS2
+.endif
+
+.if !exists(${.CURDIR:H:H}/multimedia/klvanc)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/8732dfa9954
+OPTIONS_EXCLUDE+= KLVANC
+.endif
+
+.if !exists(${.CURDIR:H:H}/science/openvino)
+# https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/ff37ebaf30e6
+OPTIONS_EXCLUDE+= OPENVINO
+.endif
+
+OPTIONS_RADIO= RTMP SSL
+OPTIONS_RADIO_RTMP= GCRYPT GMP LIBRTMP
+OPTIONS_RADIO_SSL= GNUTLS MBEDTLS OPENSSL
+OPTIONS_GROUP= LICENSE
+OPTIONS_GROUP_LICENSE= GPL3 NONFREE
+
+ASS_DESC= Subtitles rendering via libass
+AOM_DESC= AV1 video encoding/decoding via libaom
+ARIBB24_DESC= ARIB text and caption decoding via libaribb24
+BS2B_DESC= Bauer Stereophonic-to-Binaural filter
+CHROMAPRINT_DESC= Audio fingerprinting with chromaprint
+CODEC2_DESC= Codec 2 audio encoding/decoding via libcodec2
+DAV1D_DESC= AV1 video decoding via libdav1d
+DAVS2_DESC= AVS2 decoding via libdavs2
+DC1394_DESC= IIDC-1394 grabbing using libdc1394
+DRM_DESC= KMS grabbing using libdrm
+FDK_AAC_DESC= AAC audio encoding via Fraunhofer FDK
+FLITE_DESC= Voice synthesis support via libflite
+GLSLANG_DESC= GLSL->SPIRV compilation via libglslang
+GME_DESC= Game Music Emu demuxer
+GPL3_DESC= Allow (L)GPL version 3 code(cs)
+ILBC_DESC= Internet Low Bit Rate codec
+KLVANC_DESC= Kernel Labs VANC processing
+KVAZAAR_DESC= H.265 video codec support via Kvazaar
+LICENSE_DESC= Licensing options
+LV2_DESC= LV2 audio filtering
+MFX_DESC= Intel MediaSDK (aka Quick Sync Video)
+MYSOFA_DESC= SOFAlizer binaural filter
+NETWORK_DESC= Networking support
+NONFREE_DESC= Allow use of nonfree code
+NVENC_DESC= NVIDIA decoder/encoder with CUDA support
+OPENMPT_DESC= Decoding tracked files via libopenmpt
+OPENH264_DESC= H.264 video codec support via OpenH264
+OPENVINO_DESC= OpenVINO as a DNN module backend for DNN based filters like dnn_processing
+POCKETSPHINX_DESC= Automatic Speech Recognition via PocketSphinx
+RAV1E_DESC= AV1 encoding via librav1e
+RABBITMQ_DESC= AMQP 0-9-1 protocol via RabbitMQ
+RIST_DESC= Reliable Internet Stream Transport protocol via librist
+RUBBERBAND_DESC=Time-stretching and pitch-shifting with librubberband
+RTCPU_DESC= Detect CPU capabilities at runtime
+RTMP_DESC= RTMP(T)E protocol support
+SRT_DESC= Haivision SRT protocol via libsrt
+SVTAV1_DESC= AV1 encoding via SVT-AV1
+SVTHEVC_DESC= HEVC encoding via SVT-HEVC
+SVTVP9_DESC= VP9 encoding via SVT-VP9
+LIBRTMP_DESC= ${RTMP_DESC} via librtmp
+TENSORFLOW_DESC=TensorFlow as a DNN module backend for DNN based filters like sr
+TESSERACT_DESC= Optical Character Recognition via Tesseract
+THEORA_DESC= Encoding support for theora via libtheora
+UAVS3D_DESC= AVS3 decoding via libuavs3d
+VAPOURSYNTH_DESC= VapourSynth demuxer
+VIDSTAB_DESC= Video stabilization filter
+VMAF_DESC= VMAF filter via libvmaf
+VULKAN_DESC= Vulkan filters
+XAVS2_DESC= AVS2 encoding via libxavs2
+XCB_DESC= X11 grabbing using XCB
+XVID_DESC= Encoding support for MPEG-4 ASP via libxvid
+ZIMG_DESC= "z" library video scaling filter
+ZMQ_DESC= Message passing via libzmq${ZMQ_VERSION}
+ZVBI_DESC= Teletext support via libzvbi
+
+OPTIONS_SUB= yes
+
+# alsa
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CONFIGURE_ENABLE= alsa
+
+# Opencore AMR NB
+AMR_NB_LIB_DEPENDS= libopencore-amrnb.so:audio/opencore-amr
+AMR_NB_CONFIGURE_ENABLE= libopencore-amrnb
+AMR_NB_IMPLIES= GPL3
+
+# Opencore AMR WB
+AMR_WB_LIB_DEPENDS= libopencore-amrwb.so:audio/opencore-amr
+AMR_WB_CONFIGURE_ENABLE= libopencore-amrwb
+AMR_WB_IMPLIES= GPL3
+
+# aom
+AOM_LIB_DEPENDS= libaom.so:multimedia/aom
+AOM_CONFIGURE_ENABLE= libaom
+
+# arib
+ARIBB24_LIB_DEPENDS= libaribb24.so:multimedia/aribb24
+ARIBB24_CONFIGURE_ENABLE= libaribb24
+
+# asm support
+ASM_CONFIGURE_ENABLE= asm
+
+# ass
+ASS_LIB_DEPENDS= libass.so:multimedia/libass
+ASS_CONFIGURE_ENABLE= libass
+
+# bs2b
+BS2B_LIB_DEPENDS= libbs2b.so:audio/libbs2b
+BS2B_CONFIGURE_ENABLE= libbs2b
+
+# caca
+CACA_LIB_DEPENDS= libcaca.so:graphics/libcaca
+CACA_CONFIGURE_ENABLE= libcaca
+
+# cdio
+CDIO_LIB_DEPENDS= libcdio_paranoia.so:sysutils/libcdio-paranoia
+CDIO_CONFIGURE_ENABLE= libcdio
+
+# chromaprint
+CHROMAPRINT_BROKEN= Dependency loop
+CHROMAPRINT_LIB_DEPENDS= libchromaprint.so:audio/chromaprint
+CHROMAPRINT_CONFIGURE_ENABLE= chromaprint
+
+# codec2
+CODEC2_LIB_DEPENDS= libcodec2.so:audio/codec2
+CODEC2_CONFIGURE_ENABLE= libcodec2
+
+# dav1d
+DAV1D_LIB_DEPENDS= libdav1d.so:multimedia/dav1d
+DAV1D_CONFIGURE_ENABLE= libdav1d
+
+# davs2
+DAVS2_LIB_DEPENDS= libdavs2.so:multimedia/davs2
+DAVS2_CONFIGURE_ENABLE= libdavs2
+
+# dc1394
+DC1394_LIB_DEPENDS= libdc1394.so:multimedia/libdc1394
+DC1394_CONFIGURE_ENABLE= libdc1394
+
+# debugging
+DEBUG_CONFIGURE_ON= --disable-stripping
+DEBUG_CONFIGURE_OFF= --disable-debug
+
+# docs
+DOCS_BUILD_DEPENDS= texi2html:textproc/texi2html
+DOCS_CONFIGURE_ENABLE= htmlpages
+DOCS_BINARY_ALIAS= makeinfo=${FALSE} # force texi2html
+
+# drm
+DRM_LIB_DEPENDS= libdrm.so:graphics/libdrm
+DRM_CONFIGURE_ENABLE= libdrm
+
+# fdk_aac
+FDK_AAC_LIB_DEPENDS= libfdk-aac.so:audio/fdk-aac
+FDK_AAC_CONFIGURE_ENABLE= libfdk-aac
+FDK_AAC_IMPLIES= NONFREE
+
+# flite
+FLITE_LIB_DEPENDS= libflite.so:audio/flite
+FLITE_CONFIGURE_ENABLE= libflite
+
+# fontconfig
+FONTCONFIG_LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig
+FONTCONFIG_CONFIGURE_ENABLE= fontconfig
+
+# freetype
+FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2
+FREETYPE_CONFIGURE_ENABLE= libfreetype
+
+# frei0r
+FREI0R_BUILD_DEPENDS= ${LOCALBASE}/include/frei0r.h:graphics/frei0r
+FREI0R_CONFIGURE_ENABLE= frei0r
+
+# fribidi
+FRIBIDI_LIB_DEPENDS= libfribidi.so:converters/fribidi
+FRIBIDI_CONFIGURE_ENABLE= libfribidi
+
+# gcrypt
+GCRYPT_LIB_DEPENDS= libgcrypt.so:security/libgcrypt
+GCRYPT_CONFIGURE_ENABLE= gcrypt
+
+# glslang
+GLSLANG_BUILD_DEPENDS= glslang>0:graphics/glslang \
+ spirv-tools>0:graphics/spirv-tools
+GLSLANG_CONFIGURE_ENABLE= libglslang
+GLSLANG_LDFLAGS= -lm
+GLSLANG_IMPLIES= VULKAN
+
+# gnutls
+GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
+GNUTLS_CONFIGURE_ENABLE= gnutls
+
+# gme
+GME_LIB_DEPENDS= libgme.so:audio/libgme
+GME_CONFIGURE_ENABLE= libgme
+
+# gmp
+GMP_LIB_DEPENDS= libgmp.so:math/gmp
+GMP_CONFIGURE_ENABLE= gmp
+GMP_IMPLIES= GPL3
+
+# gsm
+GSM_LIB_DEPENDS= libgsm.so:audio/gsm
+GSM_CONFIGURE_ENABLE= libgsm
+
+# iconv
+ICONV_USES= iconv
+ICONV_CONFIGURE_ENABLE= iconv
+
+# ilbc
+ILBC_LIB_DEPENDS= libilbc.so:net/libilbc
+ILBC_CONFIGURE_ENABLE= libilbc
+
+# jack
+JACK_LIB_DEPENDS= libjack.so:audio/jack
+JACK_CONFIGURE_ENABLE= libjack
+
+# klvanc
+KLVANC_LIB_DEPENDS= libklvanc.so:multimedia/libklvanc
+KLVANC_CONFIGURE_ENABLE= libklvanc
+
+# kvazaar
+KVAZAAR_LIB_DEPENDS= libkvazaar.so:multimedia/kvazaar
+KVAZAAR_CONFIGURE_ENABLE= libkvazaar
+
+# ladspa
+LADSPA_BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:audio/ladspa
+LADSPA_RUN_DEPENDS= ${LOCALBASE}/lib/ladspa/amp.so:audio/ladspa
+LADSPA_CONFIGURE_ENABLE= ladspa
+
+# lame
+LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
+LAME_CONFIGURE_ENABLE= libmp3lame
+
+# lensfun
+LENSFUN_LIB_DEPENDS= liblensfun.so:graphics/lensfun
+LENSFUN_CONFIGURE_ENABLE= liblensfun
+
+# libbluray
+LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
+LIBBLURAY_CONFIGURE_ENABLE= libbluray
+
+# librsvg
+LIBRSVG2_USES= gnome
+LIBRSVG2_USE= GNOME=cairo,librsvg2
+LIBRSVG2_CONFIGURE_ENABLE= librsvg
+
+# libxml
+LIBXML2_LIB_DEPENDS= libxml2.so:textproc/libxml2
+LIBXML2_CONFIGURE_ENABLE= libxml2
+
+# lto
+LTO_CONFIGURE_ENABLE= lto
+
+# lv2
+LV2_BUILD_DEPENDS= lv2>0:audio/lv2
+LV2_LIB_DEPENDS= liblilv-0.so:audio/lilv
+LV2_CONFIGURE_ENABLE= lv2
+
+# libv4l
+V4L_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
+V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
+V4L_CONFIGURE_ENABLE= libv4l2
+V4L_CONFIGURE_OFF= --disable-indev=v4l2 \
+ --disable-outdev=v4l2
+
+# mbedtls
+MBEDTLS_LIB_DEPENDS= libmbedtls.so:security/mbedtls
+MBEDTLS_CONFIGURE_ENABLE= mbedtls
+
+# mfx
+MFX_LIB_DEPENDS= libmfx.so:multimedia/intel-media-sdk
+MFX_CONFIGURE_ENABLE= libmfx
+
+# modplug
+MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
+MODPLUG_CONFIGURE_ENABLE= libmodplug
+
+# mysofa
+MYSOFA_LIB_DEPENDS= libmysofa.so:audio/libmysofa
+MYSOFA_CONFIGURE_ENABLE= libmysofa
+
+# network
+NETWORK_CONFIGURE_ENABLE= network
+
+# nvenc
+NVENC_BUILD_DEPENDS= ${LOCALBASE}/include/ffnvcodec/nvEncodeAPI.h:multimedia/ffnvcodec-headers
+NVENC_CONFIGURE_ENABLE= nvenc
+
+# OpenAL
+OPENAL_LIB_DEPENDS= libopenal.so:audio/openal-soft
+OPENAL_CONFIGURE_ENABLE= openal
+
+# opencl
+OPENCL_BUILD_DEPENDS= ${LOCALBASE}/include/CL/opencl.h:devel/opencl
+OPENCL_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd
+OPENCL_CONFIGURE_ENABLE= opencl
+
+# opengl
+OPENGL_USES= gl
+OPENGL_USE= GL=gl
+OPENGL_CONFIGURE_ENABLE= opengl
+
+# openh264
+OPENH264_LIB_DEPENDS= libopenh264.so:multimedia/openh264
+OPENH264_CONFIGURE_ENABLE= libopenh264
+
+# openjpeg
+OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
+OPENJPEG_CONFIGURE_ENABLE= libopenjpeg
+
+# openmpt
+OPENMPT_LIB_DEPENDS= libopenmpt.so:audio/libopenmpt
+OPENMPT_CONFIGURE_ENABLE= libopenmpt
+
+# openssl/libtls
+OPENSSL_USES= ssl
+OPENSSL_CONFIGURE_ENABLE= ${"${SSL_DEFAULT:Mlibressl*}"!="":?libtls:openssl}
+OPENSSL_IMPLIES= NONFREE
+
+# openvino
+OPENVINO_LIB_DEPENDS= libinference_engine_c_api.so:science/openvino
+OPENVINO_CONFIGURE_ENABLE= libopenvino
+
+# optimizations
+OPTIMIZED_CFLAGS_CONFIGURE_ENABLE= optimizations
+
+# opus
+OPUS_LIB_DEPENDS= libopus.so:audio/opus
+OPUS_CONFIGURE_ENABLE= libopus
+
+# pocketsphinx
+POCKETSPHINX_LIB_DEPENDS= libpocketsphinx.so:audio/pocketsphinx
+POCKETSPHINX_CONFIGURE_ENABLE= pocketsphinx
+POCKETSPHINX_BROKEN= pocketsphinx < 5prealpha is not supported
+
+# pulseaudio
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CONFIGURE_ENABLE= libpulse
+
+# rav1e
+RAV1E_LIB_DEPENDS= librav1e.so:multimedia/librav1e
+RAV1E_CONFIGURE_ENABLE= librav1e
+
+# rabbitmq
+RABBITMQ_LIB_DEPENDS= librabbitmq.so:net/rabbitmq-c
+RABBITMQ_CONFIGURE_ENABLE= librabbitmq
+
+# rist
+RIST_LIB_DEPENDS= librist.so:multimedia/librist
+RIST_CONFIGURE_ENABLE= librist
+
+# rubberband
+RUBBERBAND_LIB_DEPENDS= librubberband.so:audio/rubberband
+RUBBERBAND_CONFIGURE_ENABLE= librubberband
+
+# rtcpu
+RTCPU_CONFIGURE_ENABLE= runtime-cpudetect
+
+# rtmp
+LIBRTMP_LIB_DEPENDS= librtmp.so:multimedia/librtmp
+LIBRTMP_CONFIGURE_ENABLE= librtmp
+
+# sdl
+SDL_USES= sdl
+SDL_USE= SDL=sdl2
+SDL_CONFIGURE_ENABLE= sdl2
+
+# smbclient
+SMB_USES= samba:lib
+SMB_CONFIGURE_ENABLE= libsmbclient
+SMB_IMPLIES= GPL3
+
+# snappy
+SNAPPY_LIB_DEPENDS= libsnappy.so:archivers/snappy
+SNAPPY_CONFIGURE_ENABLE= libsnappy
+
+# sndio
+SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
+SNDIO_CONFIGURE_ENABLE= sndio
+
+# soxr
+SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr
+SOXR_CONFIGURE_ENABLE= libsoxr
+
+# speex
+SPEEX_LIB_DEPENDS= libspeex.so:audio/speex
+SPEEX_CONFIGURE_ENABLE= libspeex
+
+# ssh
+SSH_LIB_DEPENDS= libssh.so:security/libssh
+SSH_CONFIGURE_ENABLE= libssh
+
+# srt
+SRT_LIB_DEPENDS= libsrt.so:www/srt
+SRT_CONFIGURE_ENABLE= libsrt
+
+# svt-av1
+SVTAV1_LIB_DEPENDS= libSvtAv1Enc.so:multimedia/svt-av1
+SVTAV1_CONFIGURE_ON= --enable-libsvtav1
+
+# svt-hevc
+SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc
+SVTHEVC_CONFIGURE_ON= --enable-libsvthevc
+SVTHEVC_PATCH_SITES= https://github.com/OpenVisualCloud/SVT-HEVC/raw/v1.5.0-3-g86b58f77/ffmpeg_plugin/:svthevc
+SVTHEVC_PATCHFILES= 0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch:-p1:svthevc \
+ 0002-doc-Add-libsvt_hevc-encoder-docs.patch:-p1:svthevc
+.if make(makesum)
+.MAKEFLAGS: WITH+=SVTHEVC
+.endif
+
+# svt-vp9
+SVTVP9_LIB_DEPENDS= libSvtVp9Enc.so:multimedia/svt-vp9
+SVTVP9_CONFIGURE_ON= --enable-libsvtvp9
+SVTVP9_PATCH_SITES= https://github.com/OpenVisualCloud/SVT-VP9/raw/v0.3.0-4-gabd5c59/ffmpeg_plugin/:svtvp9
+SVTVP9_PATCHFILES= master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch:-p1:svtvp9
+.if make(makesum)
+.MAKEFLAGS: WITH+=SVTVP9
+.endif
+
+# tensorflow
+TENSORFLOW_LIB_DEPENDS= libtensorflow.so:science/py-tensorflow
+TENSORFLOW_CONFIGURE_ENABLE= libtensorflow
+
+# tesseract
+TESSERACT_LIB_DEPENDS= libtesseract.so:graphics/tesseract
+TESSERACT_CONFIGURE_ENABLE= libtesseract
+
+# theora
+THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora
+THEORA_CONFIGURE_ENABLE= libtheora
+
+# twolame
+TWOLAME_LIB_DEPENDS= libtwolame.so:audio/twolame
+TWOLAME_CONFIGURE_ENABLE= libtwolame
+
+# uavs3d
+UAVS3D_LIB_DEPENDS= libuavs3d.so:multimedia/uavs3d
+UAVS3D_CONFIGURE_ENABLE= libuavs3d
+
+# vaapi
+VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
+VAAPI_CONFIGURE_ENABLE= vaapi
+
+# vapoursynth
+VAPOURSYNTH_LIB_DEPENDS= libvapoursynth-script.so:multimedia/vapoursynth
+VAPOURSYNTH_CONFIGURE_ENABLE= vapoursynth
+
+# vdpau
+VDPAU_USES= xorg
+VDPAU_USE= XORG=x11
+VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
+VDPAU_CONFIGURE_ENABLE= vdpau
+
+# vmaf
+VMAF_LIB_DEPENDS= libvmaf.so:multimedia/vmaf
+VMAF_CONFIGURE_ENABLE= libvmaf
+
+# vo-amrwbenc
+VO_AMRWBENC_LIB_DEPENDS= libvo-amrwbenc.so:audio/vo-amrwbenc
+VO_AMRWBENC_CONFIGURE_ENABLE= libvo-amrwbenc
+VO_AMRWBENC_IMPLIES= GPL3
+
+# vid.stab
+VIDSTAB_LIB_DEPENDS= libvidstab.so:multimedia/vid.stab
+VIDSTAB_CONFIGURE_ENABLE= libvidstab
+
+# vorbis
+VORBIS_LIB_DEPENDS= libvorbisenc.so:audio/libvorbis
+VORBIS_CONFIGURE_ENABLE= libvorbis
+
+# vp8
+VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
+VPX_CONFIGURE_ENABLE= libvpx
+
+# vulkan
+VULKAN_BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
+VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
+VULKAN_CONFIGURE_ENABLE= vulkan
+
+# webp
+WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
+WEBP_CONFIGURE_ENABLE= libwebp
+
+# x264
+X264_LIB_DEPENDS= libx264.so:multimedia/libx264
+X264_CONFIGURE_ENABLE= libx264
+
+# x265
+X265_LIB_DEPENDS= libx265.so:multimedia/x265
+X265_CONFIGURE_ENABLE= libx265
+
+# xavs2
+XAVS2_LIB_DEPENDS= libxavs2.so:multimedia/xavs2
+XAVS2_CONFIGURE_ENABLE= libxavs2
+
+# xcb
+XCB_USES= xorg
+XCB_USE= XORG=xcb
+XCB_CONFIGURE_ENABLE= libxcb
+
+# xvid
+XVID_LIB_DEPENDS= libxvidcore.so:multimedia/xvid
+XVID_CONFIGURE_ENABLE= libxvid
+
+# xv
+XVIDEO_USES= xorg
+XVIDEO_USE= XORG=x11,xext,xv
+XVIDEO_CONFIGURE_OFF= --disable-outdev=xv
+
+# zimg
+ZIMG_LIB_DEPENDS= libzimg.so:graphics/sekrit-twc-zimg
+ZIMG_CONFIGURE_ENABLE= libzimg
+
+# zmq
+ZMQ_LIB_DEPENDS= libzmq.so:net/libzmq${ZMQ_VERSION}
+ZMQ_CONFIGURE_ENABLE= libzmq
+ZMQ_VERSION?= 4
+
+# zvbi
+ZVBI_LIB_DEPENDS= libzvbi.so:devel/libzvbi
+ZVBI_CONFIGURE_ENABLE= libzvbi
+
+# License knobs
+GPL3_CONFIGURE_ENABLE= version3
+GPL3_VARS= LICENSE="GPLv3+ LGPL3+"
+LICENSE_FILE_GPLv3+ = ${WRKSRC}/COPYING.GPLv3
+LICENSE_FILE_LGPL3+ = ${WRKSRC}/COPYING.LGPLv3
+
+NONFREE_CONFIGURE_ENABLE=nonfree
+
+INSTALL_TARGET= install-progs install-doc install-data \
+ install-libs install-headers install-examples
+
+DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}${PKGNAMESUFFIX}
+MAKE_ENV+= V=1
+LDFLAGS_aarch64=-Wl,-z,notext
+LDFLAGS_armv6= -Wl,-z,notext
+LDFLAGS_armv7= -Wl,-z,notext
+LDFLAGS_i386= -Wl,-z,notext
+
+CONFIGURE_ARGS+=--prefix="${PREFIX}" \
+ --mandir="${PREFIX}/share/man" \
+ --datadir="${DATADIR}" \
+ --docdir="${DOCSDIR}" \
+ --pkgconfigdir="${PREFIX}/libdata/pkgconfig" \
+ --disable-static \
+ --disable-libcelt \
+ --enable-shared \
+ --enable-pic \
+ --enable-gpl \
+ --enable-avresample \
+ --cc="${CC}" \
+ --cxx="${CXX}"
+
+DOC_FILES= Changelog CREDITS INSTALL.md LICENSE.md MAINTAINERS \
+ README.md RELEASE_NOTES
+# under doc subdirectory
+DOC_DOCFILES= APIchanges *.txt
+PORTDOCS= *
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MNONFREE}
+LICENSE+= NONFREE
+LICENSE_COMB= multi
+LICENSE_NAME_NONFREE= Non free code
+LICENSE_TEXT_NONFREE= enabling OPENSSL or FDK_AAC restricts redistribution
+LICENSE_PERMS_NONFREE= auto-accept
+.endif
+
+post-install:
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} \
+ "${DOC_FILES}" ${STAGEDIR}${DOCSDIR})
+ (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} \
+ "${DOC_DOCFILES}" ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
diff --git a/multimedia/ffmpeg4/distinfo b/multimedia/ffmpeg4/distinfo
new file mode 100644
index 000000000000..287f9dba3d86
--- /dev/null
+++ b/multimedia/ffmpeg4/distinfo
@@ -0,0 +1,9 @@
+TIMESTAMP = 1681325571
+SHA256 (ffmpeg-4.4.4.tar.xz) = e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309
+SIZE (ffmpeg-4.4.4.tar.xz) = 9565584
+SHA256 (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 376ea23e9d876390fbca936c80cb437bb9daa6232ff65df0ea91673e18b739ff
+SIZE (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 24259
+SHA256 (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = d16589efc4be2602a9f436e9938cfee0cc7b5ccd7a4a6b41c0c9a59ae0859fda
+SIZE (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = 5336
+SHA256 (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = b7d722dfce20b73e9d5c73d55ffe041bbdc92a3c4a5c5d766b6b3040671b4052
+SIZE (master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch) = 33497
diff --git a/multimedia/ffmpeg4/files/patch-configure b/multimedia/ffmpeg4/files/patch-configure
new file mode 100644
index 000000000000..6135beab7ee8
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-configure
@@ -0,0 +1,43 @@
+--- configure.orig 2023-04-12 18:52:51 UTC
++++ configure
+@@ -3784,13 +3784,7 @@ target_os_default=$(tolower $(uname -s))
+ host_os=$target_os_default
+
+ # machine
+-if test "$target_os_default" = aix; then
+- arch_default=$(uname -p)
+- strip_default="strip -X32_64"
+- nm_default="nm -g -X32_64"
+-else
+- arch_default=$(uname -m)
+-fi
++arch_default=$(uname -p)
+ cpu="generic"
+ intrinsics="none"
+
+@@ -5387,6 +5381,7 @@ case $target_os in
+ disable symver
+ ;;
+ freebsd)
++ enable section_data_rel_ro
+ ;;
+ bsd/os)
+ add_extralibs -lpoll -lgnugetopt
+@@ -6369,7 +6369,7 @@ enabled libfribidi && require_pkg_config libfri
+ enabled libfontconfig && require_pkg_config libfontconfig fontconfig "fontconfig/fontconfig.h" FcInit
+ enabled libfreetype && require_pkg_config libfreetype freetype2 "ft2build.h FT_FREETYPE_H" FT_Init_FreeType
+ enabled libfribidi && require_pkg_config libfribidi fribidi fribidi.h fribidi_version_info
+-enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang -lMachineIndependent -lOSDependent -lHLSL -lOGLCompiler -lGenericCodeGen -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++
++enabled libglslang && require_cpp libglslang glslang/SPIRV/GlslangToSpv.h "glslang::TIntermediate*" -lglslang -lMachineIndependent -lOSDependent -lGenericCodeGen -lSPVRemapper -lSPIRV -lSPIRV-Tools-opt -lSPIRV-Tools -lpthread -lstdc++
+ enabled libgme && { check_pkg_config libgme libgme gme/gme.h gme_new_emu ||
+ require libgme gme/gme.h gme_new_emu -lgme -lstdc++; }
+ enabled libgsm && { for gsm_hdr in "gsm.h" "gsm/gsm.h"; do
+@@ -6758,7 +6753,7 @@ enabled vulkan &&
+
+ if enabled x86; then
+ case $target_os in
+- mingw32*|mingw64*|win32|win64|linux|cygwin*)
++ freebsd|mingw32*|mingw64*|win32|win64|linux|cygwin*)
+ ;;
+ *)
+ disable ffnvcodec cuvid nvdec nvenc
diff --git a/multimedia/ffmpeg4/files/patch-doc-Makefile b/multimedia/ffmpeg4/files/patch-doc-Makefile
new file mode 100644
index 000000000000..52ab4033ad98
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-doc-Makefile
@@ -0,0 +1,11 @@
+--- doc/Makefile.orig 2015-06-19 20:44:35 UTC
++++ doc/Makefile
+@@ -145,7 +145,7 @@ install-html: $(HTMLPAGES)
+ endif
+
+ ifdef CONFIG_MANPAGES
+-install-progs-$(CONFIG_DOC): install-man
++#install-progs-$(CONFIG_DOC): install-man
+
+ install-man: $(MANPAGES)
+ $(Q)mkdir -p "$(MANDIR)/man1"
diff --git a/multimedia/ffmpeg4/files/patch-libavdevice_v4l2.c b/multimedia/ffmpeg4/files/patch-libavdevice_v4l2.c
new file mode 100644
index 000000000000..8518fadce3af
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavdevice_v4l2.c
@@ -0,0 +1,18 @@
+- ioctl() prototype on BSDs follows Version 7 AT&T UNIX
+
+--- libavdevice/v4l2.c.orig 2019-04-21 04:37:17 UTC
++++ libavdevice/v4l2.c
+@@ -95,10 +95,10 @@ struct video_data {
+ int (*open_f)(const char *file, int oflag, ...);
+ int (*close_f)(int fd);
+ int (*dup_f)(int fd);
+-#ifdef __GLIBC__
+- int (*ioctl_f)(int fd, unsigned long int request, ...);
+-#else
++#if defined(__sun) || defined(__BIONIC__) || defined(__musl__) /* POSIX-like */
+ int (*ioctl_f)(int fd, int request, ...);
++#else
++ int (*ioctl_f)(int fd, unsigned long int request, ...);
+ #endif
+ ssize_t (*read_f)(int fd, void *buffer, size_t n);
+ void *(*mmap_f)(void *start, size_t length, int prot, int flags, int fd, int64_t offset);
diff --git a/multimedia/ffmpeg4/files/patch-libavfilter_glslang.cpp b/multimedia/ffmpeg4/files/patch-libavfilter_glslang.cpp
new file mode 100644
index 000000000000..a331fdeb349f
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavfilter_glslang.cpp
@@ -0,0 +1,10 @@
+--- libavfilter/glslang.cpp.orig 2023-04-12 18:01:50 UTC
++++ libavfilter/glslang.cpp
+@@ -16,6 +16,7 @@
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <cassert>
+ #include <pthread.h>
+
+ extern "C" {
diff --git a/multimedia/ffmpeg4/files/patch-libavfilter_vf__lensfun.c b/multimedia/ffmpeg4/files/patch-libavfilter_vf__lensfun.c
new file mode 100644
index 000000000000..805d07687521
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavfilter_vf__lensfun.c
@@ -0,0 +1,51 @@
+Partially revert https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/8b78eb312de9
+until graphics/lensfun is updated to a version that contains
+https://github.com/lensfun/lensfun/commit/b135e05d729d
+
+--- libavfilter/vf_lensfun.c.orig 2021-04-08 21:28:40 UTC
++++ libavfilter/vf_lensfun.c
+@@ -222,20 +222,39 @@ static int config_props(AVFilterLink *inlink)
+
+ if (!lensfun->modifier) {
+ if (lensfun->camera && lensfun->lens) {
+- lensfun->modifier = lf_modifier_create(lensfun->lens,
++ lensfun->modifier = lf_modifier_create(
++#if (LF_VERSION > 0x35F00)
++ lensfun->lens,
+ lensfun->focal_length,
++#endif
+ lensfun->camera->CropFactor,
+ inlink->w,
+ inlink->h, LF_PF_U8, lensfun->reverse);
+ if (lensfun->mode & VIGNETTING)
+- lf_modifier_enable_vignetting_correction(lensfun->modifier, lensfun->aperture, lensfun->focus_distance);
++ lf_modifier_enable_vignetting_correction(lensfun->modifier,
++#if (LF_VERSION <= 0x35F00)
++ lensfun->lens, lensfun->focal_length,
++#endif
++ lensfun->aperture, lensfun->focus_distance);
+ if (lensfun->mode & GEOMETRY_DISTORTION) {
+- lf_modifier_enable_distortion_correction(lensfun->modifier);
+- lf_modifier_enable_projection_transform(lensfun->modifier, lensfun->target_geometry);
++ lf_modifier_enable_distortion_correction(lensfun->modifier,
++#if (LF_VERSION <= 0x35F00)
++ lensfun->lens, lensfun->focal_length
++#endif
++ );
++ lf_modifier_enable_projection_transform(lensfun->modifier,
++#if (LF_VERSION <= 0x35F00)
++ lensfun->lens, lensfun->focal_length,
++#endif
++ lensfun->target_geometry);
+ lf_modifier_enable_scaling(lensfun->modifier, lensfun->scale);
+ }
+ if (lensfun->mode & SUBPIXEL_DISTORTION)
+- lf_modifier_enable_tca_correction(lensfun->modifier);
++ lf_modifier_enable_tca_correction(lensfun->modifier,
++#if (LF_VERSION <= 0x35F00)
++ lensfun->lens, lensfun->focal_length
++#endif
++ );
+ } else {
+ // lensfun->camera and lensfun->lens should have been initialized
+ return AVERROR_BUG;
diff --git a/multimedia/ffmpeg4/files/patch-libavformat_rtsp.c b/multimedia/ffmpeg4/files/patch-libavformat_rtsp.c
new file mode 100644
index 000000000000..7cd751dbd79c
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavformat_rtsp.c
@@ -0,0 +1,44 @@
+--- libavformat/rtsp.c.orig 2016-10-27 16:17:40 UTC
++++ libavformat/rtsp.c
+@@ -1614,7 +1614,12 @@ int ff_rtsp_make_setup_request(AVFormatC
+ }
+ if (ttl > 0)
+ snprintf(optbuf, sizeof(optbuf), "?ttl=%d", ttl);
+- getnameinfo((struct sockaddr*) &addr, sizeof(addr),
++ getnameinfo((struct sockaddr*) &addr,
++#if HAVE_STRUCT_SOCKADDR_SA_LEN
++ ((struct sockaddr*) &addr)->sa_len,
++#else
++ sizeof(addr),
++#endif
+ namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
+ ff_url_join(url, sizeof(url), "rtp", NULL, namebuf,
+ port, "%s", optbuf);
+@@ -1830,8 +1835,13 @@ redirect:
+ goto fail;
+ }
+ if (!getpeername(tcp_fd, (struct sockaddr*) &peer, &peer_len)) {
+- getnameinfo((struct sockaddr*) &peer, peer_len, host, sizeof(host),
+- NULL, 0, NI_NUMERICHOST);
++ getnameinfo((struct sockaddr*) &peer,
++#if HAVE_STRUCT_SOCKADDR_SA_LEN
++ ((struct sockaddr*) &peer)->sa_len,
++#else
++ peer_len,
++#endif
++ host, sizeof(host), NULL, 0, NI_NUMERICHOST);
+ }
+
+ /* request options supported by the server; this also detects server
+@@ -2310,7 +2320,11 @@ static int sdp_read_header(AVFormatConte
+ AVDictionary *opts = map_to_opts(rt);
+
+ err = getnameinfo((struct sockaddr*) &rtsp_st->sdp_ip,
++#if HAVE_STRUCT_SOCKADDR_SA_LEN
++ ((struct sockaddr*) &rtsp_st->sdp_ip)->sa_len,
++#else
+ sizeof(rtsp_st->sdp_ip),
++#endif
+ namebuf, sizeof(namebuf), NULL, 0, NI_NUMERICHOST);
+ if (err) {
+ av_log(s, AV_LOG_ERROR, "getnameinfo: %s\n", gai_strerror(err));
diff --git a/multimedia/ffmpeg4/files/patch-libavutil-common.h b/multimedia/ffmpeg4/files/patch-libavutil-common.h
new file mode 100644
index 000000000000..2c8c84e6d372
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavutil-common.h
@@ -0,0 +1,13 @@
+--- libavutil/common.h.orig 2015-06-19 20:44:53 UTC
++++ libavutil/common.h
+@@ -49,6 +49,10 @@
+ # define AV_NE(be, le) (le)
+ #endif
+
++#ifndef UINT64_C
++#define UINT64_C(c) (c ## UL)
++#endif
++
+ //rounded division & shift
+ #define RSHIFT(a,b) ((a) > 0 ? ((a) + ((1<<(b))>>1))>>(b) : ((a) + ((1<<(b))>>1)-1)>>(b))
+ /* assume b>0 */
diff --git a/multimedia/ffmpeg4/files/patch-libavutil-x86-asm.h b/multimedia/ffmpeg4/files/patch-libavutil-x86-asm.h
new file mode 100644
index 000000000000..71e31a029955
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavutil-x86-asm.h
@@ -0,0 +1,11 @@
+--- libavutil/x86/asm.h.orig 2015-06-19 20:44:54 UTC
++++ libavutil/x86/asm.h
+@@ -71,7 +71,7 @@ typedef int32_t x86_reg;
+ typedef int x86_reg;
+ #endif
+
+-#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
++#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE && !defined(__clang__)))
+ #define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE))
+
+ #if ARCH_X86_64 && defined(PIC)
diff --git a/multimedia/ffmpeg4/files/patch-libavutil_hwcontext__drm.c b/multimedia/ffmpeg4/files/patch-libavutil_hwcontext__drm.c
new file mode 100644
index 000000000000..f5e186300975
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libavutil_hwcontext__drm.c
@@ -0,0 +1,24 @@
+drm-kmod doesn't expose uAPI yet, so bundle like Mesa
+
+--- libavutil/hwcontext_drm.c.orig 2022-07-22 17:58:39 UTC
++++ libavutil/hwcontext_drm.c
+@@ -28,6 +28,19 @@
+ #if HAVE_LINUX_DMA_BUF_H
+ #include <linux/dma-buf.h>
+ #include <sys/ioctl.h>
++#else // BSDs
++#undef HAVE_LINUX_DMA_BUF_H
++#define HAVE_LINUX_DMA_BUF_H 1
++#include <sys/ioctl.h>
++struct dma_buf_sync {
++ uint64_t flags;
++};
++#define DMA_BUF_BASE 'b'
++#define DMA_BUF_IOCTL_SYNC _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync)
++#define DMA_BUF_SYNC_READ (1 << 0)
++#define DMA_BUF_SYNC_WRITE (2 << 0)
++#define DMA_BUF_SYNC_START (0 << 2)
++#define DMA_BUF_SYNC_END (1 << 2)
+ #endif
+
+ #include <drm.h>
diff --git a/multimedia/ffmpeg4/files/patch-libswscale_ppc_yuv2rgb__altivec.c b/multimedia/ffmpeg4/files/patch-libswscale_ppc_yuv2rgb__altivec.c
new file mode 100644
index 000000000000..38ff9087b842
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-libswscale_ppc_yuv2rgb__altivec.c
@@ -0,0 +1,15 @@
+Error:
+libswscale/ppc/yuv2rgb_altivec.c:288:36: error: redeclaration of 'vec_xl' must have the 'overloadable' attribute
+static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)
+
+--- libswscale/ppc/yuv2rgb_altivec.c.orig 2021-04-08 21:28:40 UTC
++++ libswscale/ppc/yuv2rgb_altivec.c
+@@ -284,7 +284,7 @@ static inline void cvtyuvtoRGB(SwsContext *c, vector s
+ * ------------------------------------------------------------------------------
+ */
+
+-#if !HAVE_VSX
++#if !HAVE_VSX && !defined(__clang__)
+ static inline vector unsigned char vec_xl(signed long long offset, const ubyte *addr)
+ {
+ const vector unsigned char *v_addr = (const vector unsigned char *) (addr + offset);
diff --git a/multimedia/ffmpeg4/files/patch-svtav1 b/multimedia/ffmpeg4/files/patch-svtav1
new file mode 100644
index 000000000000..e6cfac9482f5
--- /dev/null
+++ b/multimedia/ffmpeg4/files/patch-svtav1
@@ -0,0 +1,467 @@
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/04b89e8ae33b
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/64e2fb3f9d89
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/0463f5d6d56d
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c5f314309067
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/c33b4048859a
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/a2b090da7932
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1dddb930aaf0
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/4e47ebf38b97
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/50bc87263576
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/d794b36a7788
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/51c0b9e829be
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/e3c4442b249a
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/6fd1533057ff
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/ded0334d214f
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/70887d44ffa3
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe100bc556d7
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fb70e0611bd7
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/031f1561cd28
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/1c6fd7d756af
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/96748ac54f99
+https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fe196fd29a67
+
+--- configure.orig 2021-10-24 20:47:11 UTC
++++ configure
+@@ -6430,7 +6430,7 @@ enabled libsrt && require_pkg_config libsrt
+ enabled libssh && require_pkg_config libssh libssh libssh/sftp.h sftp_init
+ enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init
+ enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket
+-enabled libsvtav1 && require_pkg_config libsvtav1 "SvtAv1Enc >= 0.8.4" EbSvtAv1Enc.h svt_av1_enc_init_handle
++enabled libsvtav1 && require_pkg_config libsvtav1 "SvtAv1Enc >= 0.9.0" EbSvtAv1Enc.h svt_av1_enc_init_handle
+ enabled libtensorflow && require libtensorflow tensorflow/c/c_api.h TF_Version -ltensorflow
+ enabled libtesseract && require_pkg_config libtesseract tesseract tesseract/capi.h TessBaseAPICreate
+ enabled libtheora && require libtheora theora/theoraenc.h th_info_init -ltheoraenc -ltheoradec -logg
+--- doc/encoders.texi.orig 2021-10-24 20:47:07 UTC
++++ doc/encoders.texi
+@@ -1754,28 +1754,15 @@ Set the operating point tier.
+ @item tier
+ Set the operating point tier.
+
+-@item rc
+-Set the rate control mode to use.
+-
+-Possible modes:
+-@table @option
+-@item cqp
+-Constant quantizer: use fixed values of qindex (dependent on the frame type)
+-throughout the stream. This mode is the default.
+-
+-@item vbr
+-Variable bitrate: use a target bitrate for the whole stream.
+-
+-@item cvbr
+-Constrained variable bitrate: use a target bitrate for each GOP.
+-@end table
+-
+ @item qmax
+ Set the maximum quantizer to use when using a bitrate mode.
+
+ @item qmin
+ Set the minimum quantizer to use when using a bitrate mode.
+
++@item crf
++Constant rate factor value used in crf rate control mode (0-63).
++
+ @item qp
+ Set the quantizer used in cqp rate control mode (0-63).
+
+@@ -1786,14 +1773,18 @@ Set number of frames to look ahead (0-120).
+ Set number of frames to look ahead (0-120).
+
+ @item preset
+-Set the quality-speed tradeoff, in the range 0 to 8. Higher values are
+-faster but lower quality. Defaults to 8 (highest speed).
++Set the quality-speed tradeoff, in the range 0 to 13. Higher values are
++faster but lower quality.
+
+ @item tile_rows
+ Set log2 of the number of rows of tiles to use (0-6).
+
+ @item tile_columns
+ Set log2 of the number of columns of tiles to use (0-4).
++
++@item svtav1-params
++Set SVT-AV1 options using a list of @var{key}=@var{value} pairs separated
++by ":". See the SVT-AV1 encoder user guide for a list of accepted parameters.
+
+ @end table
+
+--- libavcodec/libsvtav1.c.orig 2021-10-24 20:47:07 UTC
++++ libavcodec/libsvtav1.c
+@@ -60,17 +60,20 @@ typedef struct SvtContext {
+ EOS_STATUS eos_flag;
+
+ // User options.
++ AVDictionary *svtav1_opts;
++#if FF_API_SVTAV1_OPTS
+ int hierarchical_level;
+ int la_depth;
+- int enc_mode;
+- int rc_mode;
+ int scd;
+- int qp;
+
+ int tier;
+
+ int tile_columns;
+ int tile_rows;
++#endif
++ int enc_mode;
++ int crf;
++ int qp;
+ } SvtContext;
+
+ static const struct {
+@@ -120,16 +123,12 @@ static int alloc_buffer(EbSvtAv1EncConfiguration *conf
+
+ static int alloc_buffer(EbSvtAv1EncConfiguration *config, SvtContext *svt_enc)
+ {
+- const int pack_mode_10bit =
+- (config->encoder_bit_depth > 8) && (config->compressed_ten_bit_format == 0) ? 1 : 0;
+- const size_t luma_size_8bit =
+- config->source_width * config->source_height * (1 << pack_mode_10bit);
+- const size_t luma_size_10bit =
+- (config->encoder_bit_depth > 8 && pack_mode_10bit == 0) ? luma_size_8bit : 0;
++ const size_t luma_size = config->source_width * config->source_height *
++ (config->encoder_bit_depth > 8 ? 2 : 1);
+
+ EbSvtIOFormat *in_data;
+
+- svt_enc->raw_size = (luma_size_8bit + luma_size_10bit) * 3 / 2;
++ svt_enc->raw_size = luma_size * 3 / 2;
+
+ // allocate buffer for in and out
+ svt_enc->in_buf = av_mallocz(sizeof(*svt_enc->in_buf));
+@@ -151,11 +150,132 @@ static int config_enc_params(EbSvtAv1EncConfiguration
+ {
+ SvtContext *svt_enc = avctx->priv_data;
+ const AVPixFmtDescriptor *desc;
++ AVDictionaryEntry *en = NULL;
+
++ // Update param from options
++#if FF_API_SVTAV1_OPTS
++ if (svt_enc->hierarchical_level >= 0)
++ param->hierarchical_levels = svt_enc->hierarchical_level;
++ if (svt_enc->tier >= 0)
++ param->tier = svt_enc->tier;
++ if (svt_enc->scd >= 0)
++ param->scene_change_detection = svt_enc->scd;
++ if (svt_enc->tile_columns >= 0)
++ param->tile_columns = svt_enc->tile_columns;
++ if (svt_enc->tile_rows >= 0)
++ param->tile_rows = svt_enc->tile_rows;
++
++ if (svt_enc->la_depth >= 0)
++ param->look_ahead_distance = svt_enc->la_depth;
++#endif
++
++ if (svt_enc->enc_mode >= 0)
++ param->enc_mode = svt_enc->enc_mode;
++
++ if (avctx->bit_rate) {
++ param->target_bit_rate = avctx->bit_rate;
++ if (avctx->rc_max_rate != avctx->bit_rate)
++ param->rate_control_mode = 1;
++ else
++ param->rate_control_mode = 2;
++
++ param->max_qp_allowed = avctx->qmax;
++ param->min_qp_allowed = avctx->qmin;
++ }
++ param->max_bit_rate = avctx->rc_max_rate;
++ if (avctx->bit_rate && avctx->rc_buffer_size)
++ param->maximum_buffer_size_ms = avctx->rc_buffer_size * 1000LL / avctx->bit_rate;
++
++ if (svt_enc->crf > 0) {
++ param->qp = svt_enc->crf;
++ param->rate_control_mode = 0;
++ } else if (svt_enc->qp > 0) {
++ param->qp = svt_enc->qp;
++ param->rate_control_mode = 0;
++ param->enable_adaptive_quantization = 0;
++ }
++
++ desc = av_pix_fmt_desc_get(avctx->pix_fmt);
++ param->color_primaries = avctx->color_primaries;
++ param->matrix_coefficients = (desc->flags & AV_PIX_FMT_FLAG_RGB) ?
++ AVCOL_SPC_RGB : avctx->colorspace;
++ param->transfer_characteristics = avctx->color_trc;
++
++ if (avctx->color_range != AVCOL_RANGE_UNSPECIFIED)
++ param->color_range = avctx->color_range == AVCOL_RANGE_JPEG;
++ else
++ param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
++
++#if SVT_AV1_CHECK_VERSION(1, 0, 0)
++ if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
++ const char *name =
++ av_chroma_location_name(avctx->chroma_sample_location);
++
++ switch (avctx->chroma_sample_location) {
++ case AVCHROMA_LOC_LEFT:
++ param->chroma_sample_position = EB_CSP_VERTICAL;
++ break;
++ case AVCHROMA_LOC_TOPLEFT:
++ param->chroma_sample_position = EB_CSP_COLOCATED;
++ break;
++ default:
++ if (!name)
++ break;
++
++ av_log(avctx, AV_LOG_WARNING,
++ "Specified chroma sample location %s is unsupported "
++ "on the AV1 bit stream level. Usage of a container that "
++ "allows passing this information - such as Matroska - "
++ "is recommended.\n",
++ name);
++ break;
++ }
++ }
++#endif
++
++ if (avctx->profile != FF_PROFILE_UNKNOWN)
++ param->profile = avctx->profile;
++
++ if (avctx->level != FF_LEVEL_UNKNOWN)
++ param->level = avctx->level;
++
++ if (avctx->gop_size > 0)
++ param->intra_period_length = avctx->gop_size - 1;
++
++ if (avctx->framerate.num > 0 && avctx->framerate.den > 0) {
++ param->frame_rate_numerator = avctx->framerate.num;
++ param->frame_rate_denominator = avctx->framerate.den;
++ } else {
++ param->frame_rate_numerator = avctx->time_base.den;
++ param->frame_rate_denominator = avctx->time_base.num * avctx->ticks_per_frame;
++ }
++
++ /* 2 = IDR, closed GOP, 1 = CRA, open GOP */
++ param->intra_refresh_type = avctx->flags & AV_CODEC_FLAG_CLOSED_GOP ? 2 : 1;
++
++#if SVT_AV1_CHECK_VERSION(0, 9, 1)
++ while ((en = av_dict_get(svt_enc->svtav1_opts, "", en, AV_DICT_IGNORE_SUFFIX))) {
++ EbErrorType ret = svt_av1_enc_parse_parameter(param, en->key, en->value);
++ if (ret != EB_ErrorNone) {
++ int level = (avctx->err_recognition & AV_EF_EXPLODE) ? AV_LOG_ERROR : AV_LOG_WARNING;
++ av_log(avctx, level, "Error parsing option %s: %s.\n", en->key, en->value);
++ if (avctx->err_recognition & AV_EF_EXPLODE)
++ return AVERROR(EINVAL);
++ }
++ }
++#else
++ if ((en = av_dict_get(svt_enc->svtav1_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) {
++ int level = (avctx->err_recognition & AV_EF_EXPLODE) ? AV_LOG_ERROR : AV_LOG_WARNING;
++ av_log(avctx, level, "svt-params needs libavcodec to be compiled with SVT-AV1 "
++ "headers >= 0.9.1.\n");
++ if (avctx->err_recognition & AV_EF_EXPLODE)
++ return AVERROR(ENOSYS);
++ }
++#endif
++
+ param->source_width = avctx->width;
+ param->source_height = avctx->height;
+
+- desc = av_pix_fmt_desc_get(avctx->pix_fmt);
+ param->encoder_bit_depth = desc->comp[0].depth;
+
+ if (desc->log2_chroma_w == 1 && desc->log2_chroma_h == 1)
+@@ -169,12 +289,6 @@ static int config_enc_params(EbSvtAv1EncConfiguration
+ return AVERROR(EINVAL);
+ }
+
+- if (avctx->profile != FF_PROFILE_UNKNOWN)
+- param->profile = avctx->profile;
+-
+- if (avctx->level != FF_LEVEL_UNKNOWN)
+- param->level = avctx->level;
+-
+ if ((param->encoder_color_format == EB_YUV422 || param->encoder_bit_depth > 10)
+ && param->profile != FF_PROFILE_AV1_PROFESSIONAL ) {
+ av_log(avctx, AV_LOG_WARNING, "Forcing Professional profile\n");
+@@ -184,40 +298,21 @@ static int config_enc_params(EbSvtAv1EncConfiguration
+ param->profile = FF_PROFILE_AV1_HIGH;
+ }
+
+- // Update param from options
+- param->hierarchical_levels = svt_enc->hierarchical_level;
+- param->enc_mode = svt_enc->enc_mode;
+- param->tier = svt_enc->tier;
+- param->rate_control_mode = svt_enc->rc_mode;
+- param->scene_change_detection = svt_enc->scd;
+- param->qp = svt_enc->qp;
++ avctx->bit_rate = param->rate_control_mode > 0 ?
++ param->target_bit_rate : 0;
++ avctx->rc_max_rate = param->max_bit_rate;
++ avctx->rc_buffer_size = param->maximum_buffer_size_ms * avctx->bit_rate / 1000LL;
+
+- param->target_bit_rate = avctx->bit_rate;
++ if (avctx->bit_rate || avctx->rc_max_rate || avctx->rc_buffer_size) {
++ AVCPBProperties *cpb_props = ff_add_cpb_side_data(avctx);
++ if (!cpb_props)
++ return AVERROR(ENOMEM);
+
+- if (avctx->gop_size > 0)
+- param->intra_period_length = avctx->gop_size - 1;
+-
+- if (avctx->framerate.num > 0 && avctx->framerate.den > 0) {
+- param->frame_rate_numerator = avctx->framerate.num;
+- param->frame_rate_denominator = avctx->framerate.den;
+- } else {
+- param->frame_rate_numerator = avctx->time_base.den;
+- param->frame_rate_denominator = avctx->time_base.num * avctx->ticks_per_frame;
++ cpb_props->buffer_size = avctx->rc_buffer_size;
++ cpb_props->max_bitrate = avctx->rc_max_rate;
++ cpb_props->avg_bitrate = avctx->bit_rate;
+ }
+
+- if (param->rate_control_mode) {
+- param->max_qp_allowed = avctx->qmax;
+- param->min_qp_allowed = avctx->qmin;
+- }
+-
+- param->intra_refresh_type = 2; /* Real keyframes only */
+-
+- if (svt_enc->la_depth >= 0)
+- param->look_ahead_distance = svt_enc->la_depth;
+-
+- param->tile_columns = svt_enc->tile_columns;
+- param->tile_rows = svt_enc->tile_rows;
+-
+ return 0;
+ }
+
+@@ -330,11 +425,8 @@ static int eb_send_frame(AVCodecContext *avctx, const
+ if (svt_enc->eos_flag == EOS_SENT)
+ return 0;
+
+- headerPtrLast.n_alloc_len = 0;
+- headerPtrLast.n_filled_len = 0;
+- headerPtrLast.n_tick_count = 0;
+- headerPtrLast.p_app_private = NULL;
+- headerPtrLast.p_buffer = NULL;
++ memset(&headerPtrLast, 0, sizeof(headerPtrLast));
++ headerPtrLast.pic_type = EB_AV1_INVALID_PICTURE;
+ headerPtrLast.flags = EB_BUFFERFLAG_EOS;
+
+ svt_av1_enc_send_picture(svt_enc->svt_handle, &headerPtrLast);
+@@ -350,6 +442,16 @@ static int eb_send_frame(AVCodecContext *avctx, const
+ headerPtr->p_app_private = NULL;
+ headerPtr->pts = frame->pts;
+
++ switch (frame->pict_type) {
++ case AV_PICTURE_TYPE_I:
++ headerPtr->pic_type = EB_AV1_KEY_PICTURE;
++ break;
++ default:
++ // Actually means auto, or default.
++ headerPtr->pic_type = EB_AV1_INVALID_PICTURE;
++ break;
++ }
++
+ svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr);
+
+ return 0;
+@@ -472,21 +574,22 @@ static const AVOption options[] = {
+ #define OFFSET(x) offsetof(SvtContext, x)
+ #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM
+ static const AVOption options[] = {
+- { "hielevel", "Hierarchical prediction levels setting", OFFSET(hierarchical_level),
+- AV_OPT_TYPE_INT, { .i64 = 4 }, 3, 4, VE , "hielevel"},
++#if FF_API_SVTAV1_OPTS
++ { "hielevel", "Hierarchical prediction levels setting (Deprecated, use svtav1-params)", OFFSET(hierarchical_level),
++ AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 4, VE | AV_OPT_FLAG_DEPRECATED , "hielevel"},
+ { "3level", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 3 }, INT_MIN, INT_MAX, VE, "hielevel" },
+ { "4level", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 4 }, INT_MIN, INT_MAX, VE, "hielevel" },
+
+- { "la_depth", "Look ahead distance [0, 120]", OFFSET(la_depth),
+- AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 120, VE },
++ { "la_depth", "Look ahead distance [0, 120] (Deprecated, use svtav1-params)", OFFSET(la_depth),
++ AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 120, VE | AV_OPT_FLAG_DEPRECATED },
+
+- { "preset", "Encoding preset [0, 8]",
+- OFFSET(enc_mode), AV_OPT_TYPE_INT, { .i64 = MAX_ENC_PRESET }, 0, MAX_ENC_PRESET, VE },
+-
+- { "tier", "Set operating point tier", OFFSET(tier),
+- AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE, "tier" },
++ { "tier", "Set operating point tier (Deprecated, use svtav1-params)", OFFSET(tier),
++ AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 1, VE | AV_OPT_FLAG_DEPRECATED, "tier" },
+ { "main", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, VE, "tier" },
+ { "high", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, 0, 0, VE, "tier" },
++#endif
++ { "preset", "Encoding preset",
++ OFFSET(enc_mode), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, MAX_ENC_PRESET, VE },
+
+ FF_AV1_PROFILE_OPTS
+
+@@ -518,21 +621,20 @@ static const AVOption options[] = {
+ { LEVEL("7.3", 73) },
+ #undef LEVEL
+
+- { "rc", "Bit rate control mode", OFFSET(rc_mode),
+- AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 3, VE , "rc"},
+- { "cqp", "Constant quantizer", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, INT_MIN, INT_MAX, VE, "rc" },
+- { "vbr", "Variable Bit Rate, use a target bitrate for the entire stream", 0, AV_OPT_TYPE_CONST, { .i64 = 1 }, INT_MIN, INT_MAX, VE, "rc" },
+- { "cvbr", "Constrained Variable Bit Rate, use a target bitrate for each GOP", 0, AV_OPT_TYPE_CONST,{ .i64 = 2 }, INT_MIN, INT_MAX, VE, "rc" },
++ { "crf", "Constant Rate Factor value", OFFSET(crf),
++ AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 63, VE },
++ { "qp", "Initial Quantizer level value", OFFSET(qp),
++ AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 63, VE },
++#if FF_API_SVTAV1_OPTS
++ { "sc_detection", "Scene change detection (Deprecated, use svtav1-params)", OFFSET(scd),
++ AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VE | AV_OPT_FLAG_DEPRECATED },
+
+- { "qp", "Quantizer to use with cqp rate control mode", OFFSET(qp),
+- AV_OPT_TYPE_INT, { .i64 = 50 }, 0, 63, VE },
++ { "tile_columns", "Log2 of number of tile columns to use (Deprecated, use svtav1-params)", OFFSET(tile_columns), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 4, VE | AV_OPT_FLAG_DEPRECATED },
++ { "tile_rows", "Log2 of number of tile rows to use (Deprecated, use svtav1-params)", OFFSET(tile_rows), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 6, VE | AV_OPT_FLAG_DEPRECATED },
++#endif
+
+- { "sc_detection", "Scene change detection", OFFSET(scd),
+- AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VE },
++ { "svtav1-params", "Set the SVT-AV1 configuration using a :-separated list of key=value parameters", OFFSET(svtav1_opts), AV_OPT_TYPE_DICT, { 0 }, 0, 0, VE },
+
+- { "tile_columns", "Log2 of number of tile columns to use", OFFSET(tile_columns), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 4, VE},
+- { "tile_rows", "Log2 of number of tile rows to use", OFFSET(tile_rows), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 6, VE},
+-
+ {NULL},
+ };
+
+@@ -544,9 +646,10 @@ static const AVCodecDefault eb_enc_defaults[] = {
+ };
+
+ static const AVCodecDefault eb_enc_defaults[] = {
+- { "b", "7M" },
++ { "b", "0" },
++ { "flags", "+cgop" },
+ { "g", "-1" },
+- { "qmin", "0" },
++ { "qmin", "1" },
+ { "qmax", "63" },
+ { NULL },
+ };
+@@ -561,12 +664,11 @@ AVCodec ff_libsvtav1_encoder = {
+ .receive_packet = eb_receive_packet,
+ .close = eb_enc_close,
+ .capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_OTHER_THREADS,
+- .caps_internal = FF_CODEC_CAP_AUTO_THREADS,
++ .caps_internal = FF_CODEC_CAP_AUTO_THREADS | FF_CODEC_CAP_INIT_CLEANUP,
+ .pix_fmts = (const enum AVPixelFormat[]){ AV_PIX_FMT_YUV420P,
+ AV_PIX_FMT_YUV420P10,
+ AV_PIX_FMT_NONE },
+ .priv_class = &class,
+ .defaults = eb_enc_defaults,
+- .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
+ .wrapper_name = "libsvtav1",
+ };
+--- libavcodec/version.h.orig 2021-10-24 20:47:07 UTC
++++ libavcodec/version.h
+@@ -168,5 +168,8 @@
+ #ifndef FF_API_INIT_PACKET
+ #define FF_API_INIT_PACKET (LIBAVCODEC_VERSION_MAJOR < 60)
+ #endif
++#ifndef FF_API_SVTAV1_OPTS
++#define FF_API_SVTAV1_OPTS (LIBAVCODEC_VERSION_MAJOR < 60)
++#endif
+
+ #endif /* AVCODEC_VERSION_H */
diff --git a/multimedia/ffmpeg/files/patch-vmaf b/multimedia/ffmpeg4/files/patch-vmaf
index abe772274d3c..abe772274d3c 100644
--- a/multimedia/ffmpeg/files/patch-vmaf
+++ b/multimedia/ffmpeg4/files/patch-vmaf
diff --git a/multimedia/ffmpeg4/override.mk b/multimedia/ffmpeg4/override.mk
new file mode 100644
index 000000000000..1c7df87e262a
--- /dev/null
+++ b/multimedia/ffmpeg4/override.mk
@@ -0,0 +1,8 @@
+FF_SUFFIX= 4
+
+BUILD_DEPENDS:= ${BUILD_DEPENDS:S/ffmpeg/&${FF_SUFFIX}/g}
+LIB_DEPENDS:= ${LIB_DEPENDS:S/ffmpeg$/&${FF_SUFFIX}/}
+
+USES+= localbase # -isystem
+CONFIGURE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg${FF_SUFFIX}/libdata/pkgconfig"
+MAKE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg${FF_SUFFIX}/libdata/pkgconfig"
diff --git a/multimedia/ffmpeg4/pkg-descr b/multimedia/ffmpeg4/pkg-descr
new file mode 100644
index 000000000000..c3e23a3fdc4e
--- /dev/null
+++ b/multimedia/ffmpeg4/pkg-descr
@@ -0,0 +1,3 @@
+FFmpeg is a complete, cross-platform solution to record, convert and stream
+audio and video. It includes libavcodec - the leading audio/video codec
+library.
diff --git a/multimedia/ffmpeg4/pkg-plist b/multimedia/ffmpeg4/pkg-plist
new file mode 100644
index 000000000000..5d9d38fd5b10
--- /dev/null
+++ b/multimedia/ffmpeg4/pkg-plist
@@ -0,0 +1,220 @@
+bin/ffmpeg
+%%SDL%%bin/ffplay
+bin/ffprobe
+include/libavcodec/ac3_parser.h
+include/libavcodec/adts_parser.h
+include/libavcodec/avcodec.h
+include/libavcodec/avdct.h
+include/libavcodec/avfft.h
+include/libavcodec/bsf.h
+include/libavcodec/codec.h
+include/libavcodec/codec_desc.h
+include/libavcodec/codec_id.h
+include/libavcodec/codec_par.h
+include/libavcodec/d3d11va.h
+include/libavcodec/dirac.h
+include/libavcodec/dv_profile.h
+include/libavcodec/dxva2.h
+include/libavcodec/jni.h
+include/libavcodec/mediacodec.h
+include/libavcodec/packet.h
+include/libavcodec/qsv.h
+include/libavcodec/vaapi.h
+include/libavcodec/vdpau.h
+include/libavcodec/version.h
+include/libavcodec/videotoolbox.h
+include/libavcodec/vorbis_parser.h
+include/libavcodec/xvmc.h
+include/libavdevice/avdevice.h
+include/libavdevice/version.h
+include/libavfilter/avfilter.h
+include/libavfilter/buffersink.h
+include/libavfilter/buffersrc.h
+include/libavfilter/version.h
+include/libavformat/avformat.h
+include/libavformat/avio.h
+include/libavformat/version.h
+include/libavresample/avresample.h
+include/libavresample/version.h
+include/libavutil/adler32.h
+include/libavutil/aes.h
+include/libavutil/aes_ctr.h
+include/libavutil/attributes.h
+include/libavutil/audio_fifo.h
+include/libavutil/avassert.h
+include/libavutil/avconfig.h
+include/libavutil/avstring.h
+include/libavutil/avutil.h
+include/libavutil/base64.h
+include/libavutil/blowfish.h
+include/libavutil/bprint.h
+include/libavutil/bswap.h
+include/libavutil/buffer.h
+include/libavutil/camellia.h
+include/libavutil/cast5.h
+include/libavutil/channel_layout.h
+include/libavutil/common.h
+include/libavutil/cpu.h
+include/libavutil/crc.h
+include/libavutil/des.h
+include/libavutil/dict.h
+include/libavutil/display.h
+include/libavutil/dovi_meta.h
+include/libavutil/downmix_info.h
+include/libavutil/encryption_info.h
+include/libavutil/error.h
+include/libavutil/eval.h
+include/libavutil/ffversion.h
+include/libavutil/fifo.h
+include/libavutil/file.h
+include/libavutil/film_grain_params.h
+include/libavutil/frame.h
+include/libavutil/hash.h
+include/libavutil/hdr_dynamic_metadata.h
+include/libavutil/hmac.h
+include/libavutil/hwcontext.h
+include/libavutil/hwcontext_cuda.h
+include/libavutil/hwcontext_d3d11va.h
+include/libavutil/hwcontext_drm.h
+include/libavutil/hwcontext_dxva2.h
+include/libavutil/hwcontext_mediacodec.h
+include/libavutil/hwcontext_opencl.h
+include/libavutil/hwcontext_qsv.h
+include/libavutil/hwcontext_vaapi.h
+include/libavutil/hwcontext_vdpau.h
+include/libavutil/hwcontext_videotoolbox.h
+include/libavutil/hwcontext_vulkan.h
+include/libavutil/imgutils.h
+include/libavutil/intfloat.h
+include/libavutil/intreadwrite.h
+include/libavutil/lfg.h
+include/libavutil/log.h
+include/libavutil/lzo.h
+include/libavutil/macros.h
+include/libavutil/mastering_display_metadata.h
+include/libavutil/mathematics.h
+include/libavutil/md5.h
+include/libavutil/mem.h
+include/libavutil/motion_vector.h
+include/libavutil/murmur3.h
+include/libavutil/opt.h
+include/libavutil/parseutils.h
+include/libavutil/pixdesc.h
+include/libavutil/pixelutils.h
+include/libavutil/pixfmt.h
+include/libavutil/random_seed.h
+include/libavutil/rational.h
+include/libavutil/rc4.h
+include/libavutil/replaygain.h
+include/libavutil/ripemd.h
+include/libavutil/samplefmt.h
+include/libavutil/sha.h
+include/libavutil/sha512.h
+include/libavutil/spherical.h
+include/libavutil/stereo3d.h
+include/libavutil/tea.h
+include/libavutil/threadmessage.h
+include/libavutil/time.h
+include/libavutil/timecode.h
+include/libavutil/timestamp.h
+include/libavutil/tree.h
+include/libavutil/twofish.h
+include/libavutil/tx.h
+include/libavutil/version.h
+include/libavutil/video_enc_params.h
+include/libavutil/xtea.h
+include/libpostproc/postprocess.h
+include/libpostproc/version.h
+include/libswresample/swresample.h
+include/libswresample/version.h
+include/libswscale/swscale.h
+include/libswscale/version.h
+lib/libavcodec.so
+lib/libavcodec.so.58
+lib/libavcodec.so.58.134.100
+lib/libavdevice.so
+lib/libavdevice.so.58
+lib/libavdevice.so.58.13.100
+lib/libavfilter.so
+lib/libavfilter.so.7
+lib/libavfilter.so.7.110.100
+lib/libavformat.so
+lib/libavformat.so.58
+lib/libavformat.so.58.76.100
+lib/libavresample.so
+lib/libavresample.so.4
+lib/libavresample.so.4.0.0
+lib/libavutil.so
+lib/libavutil.so.56
+lib/libavutil.so.56.70.100
+lib/libpostproc.so
+lib/libpostproc.so.55
+lib/libpostproc.so.55.9.100
+lib/libswresample.so
+lib/libswresample.so.3
+lib/libswresample.so.3.9.100
+lib/libswscale.so
+lib/libswscale.so.5
+lib/libswscale.so.5.9.100
+libdata/pkgconfig/libavcodec.pc
+libdata/pkgconfig/libavdevice.pc
+libdata/pkgconfig/libavfilter.pc
+libdata/pkgconfig/libavformat.pc
+libdata/pkgconfig/libavresample.pc
+libdata/pkgconfig/libavutil.pc
+libdata/pkgconfig/libpostproc.pc
+libdata/pkgconfig/libswresample.pc
+libdata/pkgconfig/libswscale.pc
+share/man/man1/ffmpeg-all.1.gz
+share/man/man1/ffmpeg-bitstream-filters.1.gz
+share/man/man1/ffmpeg-codecs.1.gz
+share/man/man1/ffmpeg-devices.1.gz
+share/man/man1/ffmpeg-filters.1.gz
+share/man/man1/ffmpeg-formats.1.gz
+share/man/man1/ffmpeg-protocols.1.gz
+share/man/man1/ffmpeg-resampler.1.gz
+share/man/man1/ffmpeg-scaler.1.gz
+share/man/man1/ffmpeg-utils.1.gz
+share/man/man1/ffmpeg.1.gz
+%%SDL%%share/man/man1/ffplay-all.1.gz
+%%SDL%%share/man/man1/ffplay.1.gz
+share/man/man1/ffprobe-all.1.gz
+share/man/man1/ffprobe.1.gz
+share/man/man3/libavcodec.3.gz
+share/man/man3/libavdevice.3.gz
+share/man/man3/libavfilter.3.gz
+share/man/man3/libavformat.3.gz
+share/man/man3/libavutil.3.gz
+share/man/man3/libswresample.3.gz
+share/man/man3/libswscale.3.gz
+%%DATADIR%%/examples/Makefile
+%%DATADIR%%/examples/README
+%%DATADIR%%/examples/avio_list_dir.c
+%%DATADIR%%/examples/avio_reading.c
+%%DATADIR%%/examples/decode_audio.c
+%%DATADIR%%/examples/decode_video.c
+%%DATADIR%%/examples/demuxing_decoding.c
+%%DATADIR%%/examples/encode_audio.c
+%%DATADIR%%/examples/encode_video.c
+%%DATADIR%%/examples/extract_mvs.c
+%%DATADIR%%/examples/filter_audio.c
+%%DATADIR%%/examples/filtering_audio.c
+%%DATADIR%%/examples/filtering_video.c
+%%DATADIR%%/examples/http_multiclient.c
+%%DATADIR%%/examples/hw_decode.c
+%%DATADIR%%/examples/metadata.c
+%%DATADIR%%/examples/muxing.c
+%%DATADIR%%/examples/qsvdec.c
+%%DATADIR%%/examples/remuxing.c
+%%DATADIR%%/examples/resampling_audio.c
+%%DATADIR%%/examples/scaling_video.c
+%%DATADIR%%/examples/transcode_aac.c
+%%DATADIR%%/examples/transcoding.c
+%%DATADIR%%/examples/vaapi_encode.c
+%%DATADIR%%/examples/vaapi_transcode.c
+%%DATADIR%%/ffprobe.xsd
+%%DATADIR%%/libvpx-1080p.ffpreset
+%%DATADIR%%/libvpx-1080p50_60.ffpreset
+%%DATADIR%%/libvpx-360p.ffpreset
+%%DATADIR%%/libvpx-720p.ffpreset
+%%DATADIR%%/libvpx-720p50_60.ffpreset
diff --git a/multimedia/ffmpegthumbnailer/Makefile b/multimedia/ffmpegthumbnailer/Makefile
index 96cb7d2cd6df..d21da08c89cf 100644
--- a/multimedia/ffmpegthumbnailer/Makefile
+++ b/multimedia/ffmpegthumbnailer/Makefile
@@ -1,12 +1,12 @@
-# Created by: Dierk Sacher <dierk@blaxxtarz.de>
-
PORTNAME= ffmpegthumbnailer
-PORTVERSION= 2.2.2
+DISTVERSION= 2.2.2.20221021
+PORTREVISION= 2
CATEGORIES= multimedia graphics
-MASTER_SITES= https://github.com/dirkvdb/${PORTNAME}/releases/download/${PORTVERSION}/
+#MASTER_SITES= https://github.com/dirkvdb/${PORTNAME}/releases/download/${PORTVERSION}/
MAINTAINER= ports@FreeBSD.org
COMMENT= Lightweight video thumbnailer that can be used by file managers
+WWW= https://github.com/dirkvdb/ffmpegthumbnailer
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -14,24 +14,26 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libpng.so:graphics/png \
libavformat.so:multimedia/ffmpeg
-USES= cmake compiler:c++11-lib gnome jpeg localbase pkgconfig tar:bz2
+USES= cmake:testing compiler:c++11-lib gnome jpeg localbase pkgconfig tar:bz2
+USE_GITHUB= yes
+GH_ACCOUNT= dirkvdb
+GH_TAGNAME= e0bf01d
+
USE_GNOME= glib20
USE_LDCONFIG= yes
EXTRACT_CMD= ${SETENV} LC_ALL=en_US.UTF-8 /usr/bin/bsdtar
+CMAKE_TESTING_ON= ENABLE_TESTS
+CMAKE_OFF= ENABLE_TESTS
CMAKE_ON= ENABLE_GIO
-OPTIONS_DEFINE= TEST THUMBNAILER
-THUMBNAILER_DESC=Register as a system thumbnailer
-OPTIONS_SUB= yes
+OPTIONS_DEFINE= THUMBNAILER
OPTIONS_DEFAULT=THUMBNAILER
+OPTIONS_SUB= yes
-TEST_CMAKE_BOOL= ENABLE_TESTS
+THUMBNAILER_DESC= Register as a system thumbnailer
THUMBNAILER_CMAKE_ON= -DENABLE_THUMBNAILER:BOOL=ON
-do-test:
- (cd ${TEST_WRKSRC} && CTEST_OUTPUT_ON_FAILURE=1 ctest)
-
.include <bsd.port.mk>
diff --git a/multimedia/ffmpegthumbnailer/distinfo b/multimedia/ffmpegthumbnailer/distinfo
index e3f4747e9420..1fe962562a4f 100644
--- a/multimedia/ffmpegthumbnailer/distinfo
+++ b/multimedia/ffmpegthumbnailer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1595238599
-SHA256 (ffmpegthumbnailer-2.2.2.tar.bz2) = 1cb24059c38223f657b300c84dd80491b7040d4b69471c4fea69be862bc99b5b
-SIZE (ffmpegthumbnailer-2.2.2.tar.bz2) = 1201838
+TIMESTAMP = 1682952444
+SHA256 (dirkvdb-ffmpegthumbnailer-2.2.2.20221021-e0bf01d_GH0.tar.gz) = 56e100ef6e6a8ce18e6015b79efad6601a636b03b6bcf9abf6b6f73c501e13e7
+SIZE (dirkvdb-ffmpegthumbnailer-2.2.2.20221021-e0bf01d_GH0.tar.gz) = 1291600
diff --git a/multimedia/ffmpegthumbnailer/files/patch-CMakeLists.txt b/multimedia/ffmpegthumbnailer/files/patch-CMakeLists.txt
deleted file mode 100644
index 2d065734fdf0..000000000000
--- a/multimedia/ffmpegthumbnailer/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,52 +0,0 @@
---- CMakeLists.txt.orig 2019-10-03 19:51:17 UTC
-+++ CMakeLists.txt
-@@ -1,4 +1,4 @@
--cmake_minimum_required(VERSION 3.5)
-+cmake_minimum_required(VERSION 3.12)
-
- list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
-
-@@ -92,6 +92,15 @@ add_library(libffmpegthumbnailerobj OBJECT
- libffmpegthumbnailer/filmstripfilter.cpp
- )
-
-+target_link_libraries(libffmpegthumbnailerobj
-+ FFmpeg::avformat
-+ FFmpeg::avcodec
-+ FFmpeg::avutil
-+ FFmpeg::avfilter
-+ $<$<BOOL:${HAVE_JPEG}>:${JPEG_LIBRARIES}>
-+ $<$<BOOL:${HAVE_PNG}>:PNG::PNG>
-+)
-+
- # we use our own deprecated struct menbers, so disable the warning about it
- set_source_files_properties(libffmpegthumbnailer/videothumbnailerc.cpp PROPERTIES COMPILE_FLAGS -Wno-deprecated-declarations)
-
-@@ -118,12 +127,7 @@ set (FFMPEGTHUMBNAILER_SOVERSION_AGE 1)
- if (ENABLE_STATIC)
- add_library(libffmpegthumbnailerstatic STATIC $<TARGET_OBJECTS:libffmpegthumbnailerobj>)
- target_link_libraries(libffmpegthumbnailerstatic
-- FFmpeg::avformat
-- FFmpeg::avcodec
-- FFmpeg::avutil
-- FFmpeg::avfilter
-- $<$<BOOL:${HAVE_JPEG}>:${JPEG_LIBRARIES}>
-- $<$<BOOL:${HAVE_PNG}>:PNG::PNG>
-+ libffmpegthumbnailerobj
- $<$<BOOL:${ENABLE_GIO}>:${CMAKE_DL_LIBS}>
- )
-
-@@ -140,12 +144,7 @@ endif ()
- if (ENABLE_SHARED)
- add_library(libffmpegthumbnailer SHARED $<TARGET_OBJECTS:libffmpegthumbnailerobj>)
- target_link_libraries(libffmpegthumbnailer
-- FFmpeg::avformat
-- FFmpeg::avcodec
-- FFmpeg::avutil
-- FFmpeg::avfilter
-- $<$<BOOL:${HAVE_JPEG}>:${JPEG_LIBRARIES}>
-- $<$<BOOL:${HAVE_PNG}>:PNG::PNG>
-+ libffmpegthumbnailerobj
- )
-
- set_target_properties(libffmpegthumbnailer PROPERTIES
diff --git a/multimedia/ffmpegthumbnailer/pkg-descr b/multimedia/ffmpegthumbnailer/pkg-descr
index d7d9526de89b..8ee2c08bbc2e 100644
--- a/multimedia/ffmpegthumbnailer/pkg-descr
+++ b/multimedia/ffmpegthumbnailer/pkg-descr
@@ -4,5 +4,3 @@ files, so supported videoformats depend on the configuration flags of ffmpeg.
This thumbnailer was designed to be as fast and lightweight as possible. The
only dependencies are ffmpeg, libjpeg and libpng.
-
-WWW: https://github.com/dirkvdb/ffmpegthumbnailer
diff --git a/multimedia/ffms2/Makefile b/multimedia/ffms2/Makefile
index 30e0a9340146..e914a59843da 100644
--- a/multimedia/ffms2/Makefile
+++ b/multimedia/ffms2/Makefile
@@ -1,9 +1,16 @@
PORTNAME= ffms2
DISTVERSION= 2.40
+PORTREVISION= 3
CATEGORIES= multimedia
-MAINTAINER= jbeich@FreeBSD.org
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= 96cbf38ea938.patch:-p1 # https://github.com/FFMS/ffms2/pull/380
+PATCHFILES+= 586d87de3f89.patch:-p1 # https://github.com/FFMS/ffms2/pull/380
+PATCHFILES+= 45673149e9a2.patch:-p1 # https://github.com/FFMS/ffms2/pull/380
+
+MAINTAINER= ports@FreeBSD.org
COMMENT= FFmpeg-based source library and VapourSynth plugin
+WWW= https://github.com/FFMS/ffms2
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/ffms2/distinfo b/multimedia/ffms2/distinfo
index 190cbb020cbf..a8d034f5d271 100644
--- a/multimedia/ffms2/distinfo
+++ b/multimedia/ffms2/distinfo
@@ -1,3 +1,9 @@
TIMESTAMP = 1598095686
SHA256 (FFMS-ffms2-2.40_GH0.tar.gz) = 82e95662946f3d6e1b529eadbd72bed196adfbc41368b2d50493efce6e716320
SIZE (FFMS-ffms2-2.40_GH0.tar.gz) = 140356
+SHA256 (96cbf38ea938.patch) = dd063e21c6e7887614ab5fb1009cf9b353066829771d4426dfe779d74dfac758
+SIZE (96cbf38ea938.patch) = 13422
+SHA256 (586d87de3f89.patch) = d5ec6ee44bf8f0a2bd943c1c61bace33b7b80559137b71fe5c4af5e7dd9ac7f8
+SIZE (586d87de3f89.patch) = 931
+SHA256 (45673149e9a2.patch) = ecef89ce1bb4158181c96eecdbc2c37e49a880a88e72a271b54ce98832dcf049
+SIZE (45673149e9a2.patch) = 3693
diff --git a/multimedia/ffms2/pkg-descr b/multimedia/ffms2/pkg-descr
index f56e74ae28e3..13b3db28313c 100644
--- a/multimedia/ffms2/pkg-descr
+++ b/multimedia/ffms2/pkg-descr
@@ -4,5 +4,3 @@ way to say "open and decompress this media file for me, I don't care
how you do it" and get frame- and sample-accurate access (usually),
without having to bother with the sometimes less than straightforward
and less than perfectly documented libav API.
-
-WWW: https://github.com/FFMS/ffms2
diff --git a/multimedia/ffnvcodec-headers/Makefile b/multimedia/ffnvcodec-headers/Makefile
new file mode 100644
index 000000000000..c3aac1ad0c76
--- /dev/null
+++ b/multimedia/ffnvcodec-headers/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= ffnvcodec-headers
+DISTVERSIONPREFIX= n
+DISTVERSION= 12.0.16.1
+CATEGORIES= multimedia
+
+MAINTAINER= iwtcex@gmail.com
+COMMENT= FFmpeg version of Nvidia Codec SDK headers
+WWW= https://github.com/FFmpeg/nv-codec-headers
+
+LICENSE= MIT
+
+USES= gmake
+
+USE_GITHUB= yes
+GH_ACCOUNT= FFmpeg
+GH_PROJECT= nv-codec-headers
+
+MAKE_ARGS+= PREFIX="${PREFIX}"
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/multimedia/ffnvcodec-headers/distinfo b/multimedia/ffnvcodec-headers/distinfo
new file mode 100644
index 000000000000..f386d011815a
--- /dev/null
+++ b/multimedia/ffnvcodec-headers/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1695920832
+SHA256 (FFmpeg-nv-codec-headers-n12.0.16.1_GH0.tar.gz) = 37e31c7ed0c9bf2da74646a3ec426c38a6d29e60b1fb7bff3e03a99b9412e050
+SIZE (FFmpeg-nv-codec-headers-n12.0.16.1_GH0.tar.gz) = 77606
diff --git a/multimedia/ffnvcodec-headers/pkg-descr b/multimedia/ffnvcodec-headers/pkg-descr
new file mode 100644
index 000000000000..9cd1623675c7
--- /dev/null
+++ b/multimedia/ffnvcodec-headers/pkg-descr
@@ -0,0 +1 @@
+FFmpeg version of headers required to interface with Nvidia's codec APIs.
diff --git a/multimedia/ffnvcodec-headers/pkg-plist b/multimedia/ffnvcodec-headers/pkg-plist
new file mode 100644
index 000000000000..2f7cbcb244a0
--- /dev/null
+++ b/multimedia/ffnvcodec-headers/pkg-plist
@@ -0,0 +1,6 @@
+include/ffnvcodec/dynlink_cuda.h
+include/ffnvcodec/dynlink_cuviddec.h
+include/ffnvcodec/dynlink_loader.h
+include/ffnvcodec/dynlink_nvcuvid.h
+include/ffnvcodec/nvEncodeAPI.h
+libdata/pkgconfig/ffnvcodec.pc
diff --git a/multimedia/ffsubsync/Makefile b/multimedia/ffsubsync/Makefile
new file mode 100644
index 000000000000..42126c9fe5e3
--- /dev/null
+++ b/multimedia/ffsubsync/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= ffsubsync
+DISTVERSION= 0.4.25
+CATEGORIES= multimedia python
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Synchronize your subtitles using machine learning
+WWW= https://github.com/smacke/ffsubsync
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}auditok>=0.1.5:audio/py-auditok@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}chardet>0:textproc/py-chardet@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}charset-normalizer>0:textproc/py-charset-normalizer@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}faust-cchardet>0:textproc/py-faust-cchardet@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}ffmpeg-python>0:multimedia/py-ffmpeg-python@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}future>=0.18.2:devel/py-future@${PY_FLAVOR} \
+ ${PYNUMPY} \
+ ${PYTHON_PKGNAMEPREFIX}pysubs2>=1.2.0:multimedia/py-pysubs2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rich>0:textproc/py-rich@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}srt>=3.0.0:multimedia/py-srt@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}webrtcvad>0:audio/py-webrtcvad@${PY_FLAVOR}
+
+USES= python
+USE_GITHUB= yes
+GH_ACCOUNT= smacke # tympanix account has another version of the same project requiring tensorflow
+USE_PYTHON= pep517 noflavors autoplist pytest
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/multimedia/ffsubsync/distinfo b/multimedia/ffsubsync/distinfo
new file mode 100644
index 000000000000..837aeb0b7509
--- /dev/null
+++ b/multimedia/ffsubsync/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698000919
+SHA256 (smacke-ffsubsync-0.4.25_GH0.tar.gz) = 7b05aec684cef4d45a8feafcdd4ca41f8537ececc10e77471dd63f06aa056c66
+SIZE (smacke-ffsubsync-0.4.25_GH0.tar.gz) = 3823703
diff --git a/multimedia/ffsubsync/pkg-descr b/multimedia/ffsubsync/pkg-descr
new file mode 100644
index 000000000000..aba48429f903
--- /dev/null
+++ b/multimedia/ffsubsync/pkg-descr
@@ -0,0 +1,2 @@
+Language-agnostic automatic synchronization of subtitles with video, so that
+subtitles are aligned to the correct starting point within the video.
diff --git a/multimedia/filebot/Makefile b/multimedia/filebot/Makefile
index 79a15d67b0ff..eb1ffb2177c0 100644
--- a/multimedia/filebot/Makefile
+++ b/multimedia/filebot/Makefile
@@ -1,11 +1,13 @@
PORTNAME= filebot
DISTVERSION= 4.9.6
+PORTREVISION= 1
CATEGORIES= multimedia java
MASTER_SITES= https://get.filebot.net/filebot/FileBot_${DISTVERSION}/
DISTNAME= FileBot_${DISTVERSION}-portable
MAINTAINER= dan.kotowski@a9development.com
COMMENT= FileBot is the ultimate tool for organizing and renaming your media
+WWW= https://www.filebot.net/
LICENSE= FileBot_EULA
LICENSE_NAME= FileBot End User License Agreement
diff --git a/multimedia/filebot/pkg-descr b/multimedia/filebot/pkg-descr
index ccf1a083bb3d..0e9fe584462b 100644
--- a/multimedia/filebot/pkg-descr
+++ b/multimedia/filebot/pkg-descr
@@ -19,5 +19,3 @@ can just run right away or further customize to your needs.
Setting up a fully automated media center - extract archives, organize tv shows
and movies, download subtitles, fetch artwork and metadata, update Kodi - with
FileBot it's that easy!
-
-WWW: https://www.filebot.net/
diff --git a/multimedia/flvmeta/Makefile b/multimedia/flvmeta/Makefile
index 51ac95625466..afa6a4e84595 100644
--- a/multimedia/flvmeta/Makefile
+++ b/multimedia/flvmeta/Makefile
@@ -1,23 +1,34 @@
-# Created by: Earl Gay <earl@eeg3.net>
-
PORTNAME= flvmeta
-PORTVERSION= 1.0.11
-DISTVERSIONPREFIX= v
+DISTVERSION= 1.2.2.20210819
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= earl@eeg3.net
COMMENT= Manipulation tool for Adobe Flash Video files (FLV)
+WWW= https://github.com/noirotm/flvmeta
LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
-USES= autoreconf
+LIB_DEPENDS= libyaml.so:textproc/libyaml
+USES= cmake
USE_GITHUB= yes
GH_ACCOUNT= noirotm
+GH_TAGNAME= 62e30a7
+
+PLIST_FILES= bin/flvmeta \
+ share/man/man1/flvmeta.1.gz
+
+CMAKE_ON= FLVMETA_USE_SYSTEM_LIBYAML
-GNU_CONFIGURE= yes
+post-patch:
+ @${RM} -r ${WRKSRC}/src/libyaml
+ @${REINPLACE_CMD} -e 's|add_subdirectory(man)||g' \
+ ${PATCH_WRKSRC}/CMakeLists.txt
-PLIST_FILES= bin/flvmeta bin/flvdump
+post-install:
+ ${INSTALL_MAN} ${WRKSRC}/man/flvmeta.1 \
+ ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.mk>
diff --git a/multimedia/flvmeta/distinfo b/multimedia/flvmeta/distinfo
index 87f31670a830..e4c183a1c8f4 100644
--- a/multimedia/flvmeta/distinfo
+++ b/multimedia/flvmeta/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1483469369
-SHA256 (noirotm-flvmeta-v1.0.11_GH0.tar.gz) = 92d9efe260599b0330f951da113718743dffa167236411ed8e8a78b54c7194ea
-SIZE (noirotm-flvmeta-v1.0.11_GH0.tar.gz) = 39021
+TIMESTAMP = 1668282602
+SHA256 (noirotm-flvmeta-1.2.2.20210819-62e30a7_GH0.tar.gz) = 3d98c8ab2aa6d16e0c0b2e9aee922e09a7056200e7c6083885e3d95bb1c7a2d3
+SIZE (noirotm-flvmeta-1.2.2.20210819-62e30a7_GH0.tar.gz) = 139047
diff --git a/multimedia/flvmeta/files/patch-man_flvmeta.1 b/multimedia/flvmeta/files/patch-man_flvmeta.1
new file mode 100644
index 000000000000..25a8a6d1e680
--- /dev/null
+++ b/multimedia/flvmeta/files/patch-man_flvmeta.1
@@ -0,0 +1,461 @@
+--- man/flvmeta.1.orig 2022-11-13 06:34:24 UTC
++++ man/flvmeta.1
+@@ -0,0 +1,458 @@
++.\" Automatically generated by Pandoc 2.19.2
++.\"
++.\" Define V font for inline verbatim, using C font in formats
++.\" that render this, and otherwise B font.
++.ie "\f[CB]x\f[]"x" \{\
++. ftr V B
++. ftr VI BI
++. ftr VB B
++. ftr VBI BI
++.\}
++.el \{\
++. ftr V CR
++. ftr VI CI
++. ftr VB CB
++. ftr VBI CBI
++.\}
++.TH "flvmeta" "1" "January 2014" "flvmeta user manual" ""
++.hy
++.SH NAME
++.PP
++flvmeta - manipulate or extract metadata in Adobe Flash Video files
++.SH SYNOPSIS
++.PP
++\f[B]flvmeta\f[R] \f[I]INPUT_FILE\f[R]
++.PD 0
++.P
++.PD
++\f[B]flvmeta\f[R] \f[I]INPUT_FILE\f[R] \f[I]OUTPUT_FILE\f[R]
++.PD 0
++.P
++.PD
++\f[B]flvmeta\f[R] \f[V]-D\f[R]|\f[V]--dump\f[R] [\f[I]options\f[R]]
++\f[I]INPUT_FILE\f[R]
++.PD 0
++.P
++.PD
++\f[B]flvmeta\f[R] \f[V]-F\f[R]|\f[V]--full-dump\f[R] [\f[I]options\f[R]]
++\f[I]INPUT_FILE\f[R]
++.PD 0
++.P
++.PD
++\f[B]flvmeta\f[R] \f[V]-C\f[R]|\f[V]--check\f[R] [\f[I]options\f[R]]
++\f[I]INPUT_FILE\f[R]
++.PD 0
++.P
++.PD
++\f[B]flvmeta\f[R] \f[V]-U\f[R]|\f[V]--update\f[R] [\f[I]options\f[R]]
++\f[I]INPUT_FILE\f[R] [\f[I]OUTPUT_FILE\f[R]]
++.SH DESCRIPTION
++.PP
++\f[B]flvmeta\f[R] is a command-line utility aimed at manipulating
++Adobe(tm) Flash Video files (FLV), through several commands, only one of
++which can be used for each invocation of the program.
++.PP
++It possesses the ability to compute and inject a variety of values in
++the \f[I]onMetaData\f[R] event tag, including keyframe indices used by
++most video players to allow random-access seeking, notably for HTTP
++pseudo-streamed files via a server-side module, by having the client
++send the file offset looked up for the nearest desired keyframe.
++.PD 0
++.P
++.PD
++Tools such as \f[B]flvmeta\f[R] must be used in the case the initial
++encoding process is unable to inject those metadata.
++.PP
++It can also optionnally inject the \f[I]onLastSecond\f[R] event, used to
++signal the end of playback, for example to revert the player software to
++a `stopped' state.
++.PP
++\f[B]flvmeta\f[R] also has the ability to dump metadata and full file
++information to standard output, in a variety of textual output formats,
++including XML, YAML, and JSON.
++.PP
++Finally, the program can analyze FLV files to detect potential problems
++and errors, and generate a textual report as a raw format, as JSON, or
++as XML.
++It has the ability to detect more than a hundred problems, going from
++harmless to potentially unplayable, using a few real world encountered
++issues.
++.PP
++\f[B]flvmeta\f[R] can operate on arbitrarily large files, and can handle
++FLV files using extended (32-bit) timestamps.
++It can guess video frame dimensions for all known video codecs supported
++by the official FLV specification.
++.PP
++Its memory usage remains minimal, as it uses a two-pass reading
++algorithm which permits the computation of all necessary tags without
++loading anything more than the file\[cq]s tags headers in memory.
++.SH COMMANDS
++.PP
++Only one command can be specified for an invocation of
++\f[B]flvmeta\f[R].
++The chosen command determines the mode of execution of the program.
++.PP
++By default, if no command is specified, \f[B]flvmeta\f[R] will
++implicitly choose the command to use according to the presence of
++\f[I]INPUT_FILE\f[R] and \f[I]OUTPUT_FILE\f[R].
++.PP
++If only \f[I]INPUT_FILE\f[R] is present, the \f[B]--dump\f[R] command
++will be executed.
++.PP
++If both \f[I]INPUT_FILE\f[R] and \f[I]OUTPUT_FILE\f[R] are present, the
++\f[B]--update\f[R] command will be executed.
++.PP
++Here is a list of the supported commands:
++.SS -D, --dump
++.PP
++Dump a textual representation of the first \f[I]onMetaData\f[R] tag
++found in \f[I]INPUT_FILE\f[R] to standard output.
++The default format is XML, unless specified otherwise.
++.PD 0
++.P
++.PD
++It is also possible to specify another event via the \f[B]--event\f[R]
++option, such as \f[I]onLastSecond\f[R].
++.SS -F, --full-dump
++.PP
++Dump a textual representation of the whole contents of
++\f[I]INPUT_FILE\f[R] to standard output.
++The default format is XML, unless specified otherwise.
++.SS -C, --check
++.PP
++Print a report to standard output listing warnings and errors detected
++in \f[I]INPUT_FILE\f[R], as well as potential incompatibilities, and
++information about the codecs used in the file.
++The exit code will be set to a non-zero value if there is at least one
++error in the file.
++.PP
++The output format can either be plain text, XML using the
++\f[B]--xml\f[R] option, or JSON using the \f[B]--json\f[R] option.
++It can also be disabled altogether using the \f[B]--quiet\f[R] option if
++you are only interested in the exit status.
++.PP
++Messages are divided into four specific levels of increasing importance:
++.IP \[bu] 2
++\f[B]info\f[R]: informational messages that do not pertain to the file
++validity
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]warning\f[R]: messages that inform of oddities to the flv format
++but that might not hamper file reading or playability, this is the
++default level
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]error\f[R]: messages that inform of errors that might render the
++file impossible to play or stream correctly
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]fatal\f[R]: messages that inform of errors that make further file
++reading impossible therefore ending parsing completely
++.PP
++The \f[B]--level\f[R] option allows \f[B]flvmeta\f[R] to limit the
++display of messages to a minimum level among those, for example if the
++user is only interested in error messages and above.
++.PP
++Each message or message template presented to the user is identified by
++a specific code of the following format:
++.PP
++\f[V][level][topic][id]\f[R]
++.IP \[bu] 2
++\f[B]level\f[R] is an upper-case letter that can be either I, W, E, F
++according to the aforementioned message levels
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]topic\f[R] is a two-digit integer representing the general topic of
++the message
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]id\f[R] is a unique three-digit identifier for the message, or
++message template if parameterized
++.PP
++Messages can be related to the following topics :
++.IP \[bu] 2
++\f[B]10\f[R] general flv file format
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]11\f[R] file header
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]12\f[R] previous tag size
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]20\f[R] tag format
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]30\f[R] tag types
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]40\f[R] timestamps
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]50\f[R] audio data
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]51\f[R] audio codecs
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]60\f[R] video data
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]61\f[R] video codecs
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]70\f[R] metadata
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]80\f[R] AMF data
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]81\f[R] keyframes
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]82\f[R] cue points
++.PP
++For example, represents a Warning in topic 51 with the id 050, which
++represents a warning message related to audio codecs, in that case to
++signal that an audio tag has an unknown codec.
++.SS -U, --update
++.PP
++Update the given input file by inserting a computed \f[I]onMetaData\f[R]
++tag.
++If \f[I]OUTPUT_FILE\f[R] is specified, it will be created or overwritten
++instead and the input file will not be modified.
++If the original file is to be updated, a temporary file will be created
++in the default temp directory of the platform, and it will be copied
++over the original file at the end of the operation.
++This is due to the fact that the output file is written while the
++original file is being read due to the two-pass method.
++.PP
++The computed metadata contains among other data full keyframe
++information, in order to allow HTTP pseudo-streaming and random-access
++seeking in the file.
++.PP
++By default, an \f[I]onLastSecond\f[R] tag will be inserted, unless the
++\f[B]--no-last-second\f[R] option is specified.
++.PP
++Normally overwritten by the update process, the existing metadata found
++in the input file can be preserved by the \f[B]--preserve\f[R] option.
++.PP
++It is also possible to insert custom string values with the
++\f[B]--add\f[R] option, which can be specified multiple times.
++.PP
++By default, the update operation is performed without output, unless the
++\f[B]--verbose\f[R] option is specified, or the
++\f[B]--print-metadata\f[R] is used to print the newly written metadata
++to the standard output.
++.SH OPTIONS
++.SS DUMP
++.TP
++-d \f[I]FORMAT\f[R], --dump-format=\f[I]FORMAT\f[R]
++specify dump format where \f[I]FORMAT\f[R] is `xml' (default), `json',
++`raw', or `yaml'.
++Also applicable for the \f[B]--full-dump\f[R] command.
++.TP
++-j, --json
++equivalent to \f[B]--dump-format=json\f[R]
++.TP
++-r, --raw
++equivalent to \f[B]--dump-format=raw\f[R]
++.TP
++-x, --xml
++equivalent to \f[B]--dump-format=xml\f[R]
++.TP
++-y, --yaml
++equivalent to \f[B]--dump-format=yaml\f[R]
++.TP
++-e \f[I]EVENT\f[R], --event=\f[I]EVENT\f[R]
++specify the event to dump instead of \f[I]onMetaData\f[R], for example
++\f[I]onLastSecond\f[R]
++.SS CHECK
++.TP
++-l \f[I]LEVEL\f[R], --level=\f[I]LEVEL\f[R]
++print only messages where level is at least \f[I]LEVEL\f[R].
++The levels are, by ascending importance, `info', `warning' (default),
++`error', or `fatal'.
++.TP
++-q, --quiet
++do not print messages, only return the status code
++.TP
++-x, --xml
++generate an XML report instead of the default `compiler-friendly' text
++.TP
++-j, --json
++generate a JSON report instead of the default `compiler-friendly' text
++.SS UPDATE
++.TP
++-m, --print-metadata
++print metadata to stdout after update using the format specified by the
++\f[B]--format\f[R] option
++.TP
++-a \f[I]NAME=VALUE\f[R], --add=\f[I]NAME=VALUE\f[R]
++add a metadata string value to the output file.
++The name/value pair will be appended at the end of the
++\f[I]onMetaData\f[R] tag.
++.TP
++-s, --no-lastsecond
++do not create the \f[I]onLastSecond\f[R] tag
++.TP
++-p, --preserve
++preserve input file existing \f[I]onMetadata\f[R] tags
++.TP
++-f, --fix
++fix invalid tags from the input file
++.TP
++-i, --ignore
++ignore invalid tags from the input file (the default behaviour is to
++stop the update process with an error)
++.TP
++-t, --reset-timestamps
++reset timestamps so \f[I]OUTPUT_FILE\f[R] starts at zero.
++This has been added because some FLV files are produced by cutting
++bigger files, and the software doing the cutting does not resets the
++timestamps as required by the standard, which can cause playback issues.
++.TP
++-k, \[en]all-keyframes
++index all keyframe tags, including duplicate timestamps
++.SS GENERAL
++.TP
++-v, --verbose
++display informative messages
++.TP
++-V, --version
++print version information and exit
++.TP
++-h, --help
++display help on the program usage and exit
++.SH FORMATS
++.PP
++The various XML formats used by \f[B]flvmeta\f[R] are precisely
++described by the following XSD schemas:
++.IP \[bu] 2
++http://schemas.flvmeta.org/flv.xsd: describes the general organization
++of FLV files
++.IP \[bu] 2
++http://schemas.flvmeta.org/Amf0.xsd: describes an XML representation of
++the Adobe(TM) AMF0 serialization format
++.IP \[bu] 2
++http://schemas.flvmeta.org/report.xsd: describes the XML output format
++of the \f[B]--check\f[R] \f[B]--xml\f[R] command
++.SH EXAMPLES
++.PP
++\f[B]flvmeta example.flv\f[R]
++.PP
++Prints the onMetadata tag contents of example.flv as XML output.
++.PP
++\f[B]flvmeta example.flv out.flv\f[R]
++.PP
++Creates a file named out.flv containing updated metadata and an
++onLastSecond tag from the exemple.flv file.
++.PP
++\f[B]flvmeta --check --xml --level=error example.flv\f[R]
++.PP
++Checks the validity of the example.flv file and prints the error report
++to stdout in XML format, displaying only errors and fatal errors.
++.PP
++\f[B]flvmeta --full-dump --yaml example.flv\f[R]
++.PP
++Prints the full contents of example.flv as YAML format to stdout.
++.PP
++\f[B]flvmeta --update --no-last-second --show-metadata --json
++example.flv\f[R]
++.PP
++Performs an in-place update of example.flv by inserting computed
++onMetadata without an onLastSecond tag, and prints the newly inserted
++metadata on stdout as JSON.
++.SH EXIT STATUS
++.IP \[bu] 2
++\f[B]0\f[R] flvmeta exited without error
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]1\f[R] an error occurred when trying to open an input file
++.IP \[bu] 2
++\f[B]2\f[R] the input file was not recognized as an FLV file
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]3\f[R] an end-of-file condition was encountered unexpectedly
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]4\f[R] a memory allocation error occurred during the run of the
++program
++.IP \[bu] 2
++\f[B]5\f[R] an empty tag was encountered in an input file
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]6\f[R] an error occurred when trying to open an output file
++.IP \[bu] 2
++\f[B]7\f[R] an invalid tag was encountered in an input file
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]8\f[R] an error was encountered while writing an output file
++.PD 0
++.P
++.PD
++.IP \[bu] 2
++\f[B]9\f[R] the \f[B]--check\f[R] command reported an invalid file (one
++or more errors)
++.SH BUGS
++.PP
++\f[B]flvmeta\f[R] does not support encrypted FLV files yet.
++.SH AUTHOR
++.PP
++Marc Noirot <marc.noirot\[at]gmail.com>
++.SH COPYRIGHT
++.PP
++Copyright 2007-2016 Marc Noirot
++.PP
++This is free software; see the source for copying conditions.
++There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
++PARTICULAR PURPOSE.
++.SH CONTACT
++.PP
++Please report bugs to <flvmeta-discussion\[at]googlegroups.com>
diff --git a/multimedia/flvmeta/pkg-descr b/multimedia/flvmeta/pkg-descr
index 30ca9adbd99d..52972e40a5f1 100644
--- a/multimedia/flvmeta/pkg-descr
+++ b/multimedia/flvmeta/pkg-descr
@@ -1,5 +1,3 @@
FLVmeta is a metadata injector for Adobe Flash Video files
(FLV). It is able to inject all known metadata tags into the
onMetaData event, as well as insert an onLastSecond event.
-
-WWW: http://code.google.com/p/flvmeta/
diff --git a/multimedia/flvstreamer/Makefile b/multimedia/flvstreamer/Makefile
deleted file mode 100644
index 11275906774c..000000000000
--- a/multimedia/flvstreamer/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-PORTNAME= flvstreamer
-PORTVERSION= 2.1.c.1
-PORTREVISION= 1
-CATEGORIES= multimedia net
-MASTER_SITES= SAVANNAH/${PORTNAME}/source
-DISTNAME= ${PORTNAME}-2.1c1
-
-MAINTAINER= hrs@FreeBSD.org
-COMMENT= Open source command-line RTMP client
-
-USES= gmake
-ALL_TARGET= posix
-WRKSRC= ${WRKDIR}/${PORTNAME}
-MAKE_ARGS= THREADLIB="-lpthread" XCFLAGS="${CFLAGS}" XLDFLAGS="${LDFLAGS}"
-PLIST_FILES= bin/flvstreamer bin/streams
-PORTDOCS= ChangeLog ChangeLog.rtmpdump README
-
-OPTIONS_DEFINE= DOCS
-
-do-install:
- cd ${WRKSRC} && ${INSTALL_PROGRAM} ${PLIST_FILES:S,^bin/,,} \
- ${STAGEDIR}${PREFIX}/bin
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/flvstreamer/distinfo b/multimedia/flvstreamer/distinfo
deleted file mode 100644
index a69f02d67603..000000000000
--- a/multimedia/flvstreamer/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (flvstreamer-2.1c1.tar.gz) = e90e24e13a48c57b1be01e41c9a7ec41f59953cdb862b50cf3e667429394d1ee
-SIZE (flvstreamer-2.1c1.tar.gz) = 77379
diff --git a/multimedia/flvstreamer/files/patch-Makefile b/multimedia/flvstreamer/files/patch-Makefile
deleted file mode 100644
index dd18cfc1e0b4..000000000000
--- a/multimedia/flvstreamer/files/patch-Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
---- Makefile.orig 2010-02-15 10:06:20.000000000 +0900
-+++ Makefile 2013-10-17 09:16:18.000000000 +0900
-@@ -1,12 +1,12 @@
--CC=$(CROSS_COMPILE)gcc
--LD=$(CROSS_COMPILE)ld
-+CC?=$(CROSS_COMPILE)gcc
-+LD?=$(CROSS_COMPILE)ld
-
- DEF=-DFLVSTREAMER_VERSION=\"v2.1c1\"
--OPT=-O2
-+#OPT=-O2
- CFLAGS=-Wall $(XCFLAGS) $(INC) $(DEF) $(OPT)
- LDFLAGS=-Wall $(XLDFLAGS)
- LIBS=
--THREADLIB=-lpthread
-+THREADLIB?=-lpthread
- SLIBS=$(THREADLIB) $(LIBS)
-
- EXT=
-@@ -18,8 +18,7 @@
-
- progs: flvstreamer streams rtmpsrv rtmpsuck
-
--posix linux unix osx:
-- @$(MAKE) $(MAKEFLAGS) progs
-+posix linux unix osx: progs
-
- mingw:
- @$(MAKE) CROSS_COMPILE=mingw32- LIBS="$(LIBS) -lws2_32 -lwinmm -lgdi32" THREADLIB= EXT=.exe $(MAKEFLAGS) progs
diff --git a/multimedia/flvstreamer/files/patch-bytes.h b/multimedia/flvstreamer/files/patch-bytes.h
deleted file mode 100644
index bf9a3969d48c..000000000000
--- a/multimedia/flvstreamer/files/patch-bytes.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- bytes.h.orig 2013-10-17 16:32:03.000000000 +0900
-+++ bytes.h 2010-02-12 06:31:58.000000000 +0900
-@@ -35,7 +35,7 @@
-
- typedef unsigned char uint8_t;
-
--#elif (defined(__FreeBSD__) && __FreeBSD_version >= 470000) || defined(__OpenBSD__) || defined(__NetBSD__) // *BSD
-+#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) // *BSD
- #include <sys/endian.h>
- #define __BIG_ENDIAN BIG_ENDIAN
- #define __LITTLE_ENDIAN LITTLE_ENDIAN
diff --git a/multimedia/flvstreamer/pkg-descr b/multimedia/flvstreamer/pkg-descr
deleted file mode 100644
index ea5a014f3e83..000000000000
--- a/multimedia/flvstreamer/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-flvstreamer is an open source command-line RTMP client intended to
-stream audio or video content from all types of flash or rtmp
-servers. Forked from rtmpdump v1.6 with encrypted rtmp and swf
-verification support removed. This tool provides free interoperability
-with the previously undocumented adobe RTMP protocol so widely in use
-on the internet today. It was developed entirely by reverse
-engineering methods and without access to any proprietary or
-restrictive-license protocol specifications.
-
-WWW: http://savannah.nongnu.org/projects/flvstreamer/
diff --git a/multimedia/flvtool++/Makefile b/multimedia/flvtool++/Makefile
index 84ac29c39816..3abdae1f5794 100644
--- a/multimedia/flvtool++/Makefile
+++ b/multimedia/flvtool++/Makefile
@@ -1,15 +1,17 @@
-# Created by: Gea-Suan Lin <gslin@gslin.org>
-
PORTNAME= flvtool++
PORTVERSION= 1.2.1
-PORTREVISION= 15
+PORTREVISION= 16
CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
COMMENT= Tool for hinting and manipulating the metadata of FLV files
+WWW= http://mirror.facebook.com/facebook/flvtool++/
LICENSE= BSD3CLAUSE
+DEPRECATED= Abandonware, consider using multimedia/flvmeta
+EXPIRATION_DATE=2024-04-20
+
LIB_DEPENDS= libboost_iostreams.so:devel/boost-libs
USE_GITHUB= yes
diff --git a/multimedia/flvtool++/pkg-descr b/multimedia/flvtool++/pkg-descr
index bd6757c0cb6f..62ebb10124a3 100644
--- a/multimedia/flvtool++/pkg-descr
+++ b/multimedia/flvtool++/pkg-descr
@@ -3,5 +3,3 @@ files. It was originally created for Facebook's Video project
(http://facebook.com/video/) for fast video hinting. It is loosely
based on the Ruby FLVTool2, but is written in C++ for performance
reasons.
-
-WWW: http://mirror.facebook.com/facebook/flvtool++/
diff --git a/multimedia/fpc-dts/Makefile b/multimedia/fpc-dts/Makefile
deleted file mode 100644
index ccf28ae2fad2..000000000000
--- a/multimedia/fpc-dts/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Created by: Christopher Key <cjk32@cam.ac.uk>
-
-CATEGORIES= multimedia lang
-PKGNAMESUFFIX= -dts
-
-COMMENT= Free Pascal interface to the dts library
-
-USES= fpc
-
-MASTERDIR= ${.CURDIR}/../../lang/fpc
-WRKUNITDIR= ${FPCSRCDIR}/packages/${PKGNAMESUFFIX:S/-//}
-EXTRACTUNITDIR= ${WRKUNITDIR}
-
-OPTIONS_DEFINE= LIBDCA
-LIBDCA_DESC= Install dts library
-OPTIONS_DEFAULT= LIBDCA
-
-LIBDCA_LIB_DEPENDS= libdca.so:multimedia/libdca
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/fpc-dts/files/patch-packages-dts-src-dts.pas b/multimedia/fpc-dts/files/patch-packages-dts-src-dts.pas
deleted file mode 100644
index 623471ea21a0..000000000000
--- a/multimedia/fpc-dts/files/patch-packages-dts-src-dts.pas
+++ /dev/null
@@ -1,97 +0,0 @@
---- packages/dts/src/dts.pas 2010-04-21 20:42:31.000000000 +0100
-+++ packages/dts/src/dts.pas 2010-04-21 20:52:51.000000000 +0100
-@@ -272,7 +272,7 @@
- {$IF Defined(WINDOWS)}
- dtslib = 'dts.dll';
- {$ELSEIF Defined(UNIX)}
-- dtslib = 'libdts.so';
-+ dtslib = 'libdca.so';
- {$ELSE}
- {$MESSAGE ERROR 'DYNLINK not supported'}
- {$IFEND}
-@@ -331,14 +331,14 @@
- DTS_ADJUST_LEVEL = $100;
-
-
--function dts_init(mm_accel: cuint32): pdts_state_t; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--function dts_syncinfo(state: pdts_state_t; buf: pcuint8; var flags: cint; var sample_rate: cint; var bit_rate: cint; var frame_length: cint): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--function dts_frame(state: pdts_state_t; buf: pcuint8; var flags: cint; var level: dts_level_t; bias: dts_sample_t): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--procedure dts_dynrng(state: pdts_state_t; call: dts_dynrng_call; data: pointer); cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--function dts_blocks_num(state: pdts_state_t): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--function dts_block(state: pdts_state_t): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--function dts_samples(state: pdts_state_t): pdts_sample_t; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
--procedure dts_free(state: pdts_state_t); cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+function dca_init(mm_accel: cuint32): pdts_state_t; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+function dca_syncinfo(state: pdts_state_t; buf: pcuint8; var flags: cint; var sample_rate: cint; var bit_rate: cint; var frame_length: cint): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+function dca_frame(state: pdts_state_t; buf: pcuint8; var flags: cint; var level: dts_level_t; bias: dts_sample_t): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+procedure dca_dynrng(state: pdts_state_t; call: dts_dynrng_call; data: pointer); cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+function dca_blocks_num(state: pdts_state_t): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+function dca_block(state: pdts_state_t): cint; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+function dca_samples(state: pdts_state_t): pdts_sample_t; cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-+procedure dca_free(state: pdts_state_t); cdecl; external {$IFDEF DYNLINK}dtslib{$ENDIF};
-
-
-
-@@ -378,12 +378,61 @@
- end;
-
-
-+function dts_init(mm_accel: cuint32): pdts_state_t;
-+function dts_syncinfo(state: pdts_state_t; buf: pcuint8; var flags: cint; var sample_rate: cint; var bit_rate: cint; var frame_length: cint): cint;
-+function dts_frame(state: pdts_state_t; buf: pcuint8; var flags: cint; var level: dts_level_t; bias: dts_sample_t): cint;
-+procedure dts_dynrng(state: pdts_state_t; call: dts_dynrng_call; data: pointer);
-+function dts_blocks_num(state: pdts_state_t): cint;
-+function dts_block(state: pdts_state_t): cint;
-+function dts_samples(state: pdts_state_t): pdts_sample_t;
-+procedure dts_free(state: pdts_state_t);
-+
- function dts_decoder_init(mm_accel: cuint32; user: pointer; read: dts_read_func; seek: dts_seek_func; close: dts_close_func; tell: dts_tell_func): pdts_decoder;
- function dts_decoder_read(decoder: pdts_decoder; buffer: pointer; length: cint): cint;
- procedure dts_decoder_free(decoder: pdts_decoder);
-
- implementation
-
-+function dts_init(mm_accel: cuint32): pdts_state_t;
-+begin
-+ Result := dca_init(mm_accel);
-+end;
-+
-+function dts_syncinfo(state: pdts_state_t; buf: pcuint8; var flags: cint; var sample_rate: cint; var bit_rate: cint; var frame_length: cint): cint;
-+begin
-+ Result := dca_syncinfo(state, buf, flags, sample_rate, bit_rate, frame_length);
-+end;
-+
-+function dts_frame(state: pdts_state_t; buf: pcuint8; var flags: cint; var level: dts_level_t; bias: dts_sample_t): cint;
-+begin
-+ Result := dca_frame(state, buf, flags, level, bias);
-+end;
-+
-+procedure dts_dynrng(state: pdts_state_t; call: dts_dynrng_call; data: pointer);
-+begin
-+ dca_dynrng(state, call, data);
-+end;
-+
-+function dts_blocks_num(state: pdts_state_t): cint;
-+begin
-+ Result := dca_blocks_num(state);
-+end;
-+
-+function dts_block(state: pdts_state_t): cint;
-+begin
-+ Result := dca_block(state);
-+end;
-+
-+function dts_samples(state: pdts_state_t): pdts_sample_t;
-+begin
-+ Result := dca_samples(state)
-+end;
-+
-+procedure dts_free(state: pdts_state_t);
-+begin
-+ dca_free(state);
-+end;
-+
- function dts_decoder_init(mm_accel: cuint32; user: pointer; read: dts_read_func; seek: dts_seek_func; close: dts_close_func; tell: dts_tell_func): pdts_decoder;
- begin
- GetMem(Result, Sizeof(dts_decoder));
-Only in work.new/fpc-2.4.0/packages/dts/src: dts.pas~
diff --git a/multimedia/fpc-dts/files/patch-packages_dts_fpmake.pp b/multimedia/fpc-dts/files/patch-packages_dts_fpmake.pp
deleted file mode 100644
index 28f679260d1c..000000000000
--- a/multimedia/fpc-dts/files/patch-packages_dts_fpmake.pp
+++ /dev/null
@@ -1,11 +0,0 @@
---- packages/dts/fpmake.pp.orig 2015-01-05 19:27:06 UTC
-+++ packages/dts/fpmake.pp
-@@ -24,7 +24,7 @@ begin
- P.Email := '';
- P.Description := 'a low-level interface to decoding audio frames encoded using DTS Coherent Acoustics';
- P.NeedLibC:= true;
-- P.OSes := [linux];
-+ P.OSes := [linux,dragonfly,freebsd];
-
- P.SourcePath.Add('src');
-
diff --git a/multimedia/fpc-dts/pkg-plist b/multimedia/fpc-dts/pkg-plist
deleted file mode 100644
index a796e368b283..000000000000
--- a/multimedia/fpc-dts/pkg-plist
+++ /dev/null
@@ -1,3 +0,0 @@
-lib/fpc/%%PORTVERSION%%/fpmkinst/%%BUILDNAME%%/dts.fpm
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/dts/dts.ppu
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/dts/dts.o
diff --git a/multimedia/fpc-libvlc/Makefile b/multimedia/fpc-libvlc/Makefile
deleted file mode 100644
index e5e4439e7b03..000000000000
--- a/multimedia/fpc-libvlc/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-CATEGORIES= multimedia lang
-PKGNAMESUFFIX= -libvlc
-
-COMMENT= Free Pascal interface to vlc media player library
-
-USES= fpc
-USE_FPC= fcl-base fcl-res rtl-objpas
-
-MASTERDIR= ${.CURDIR}/../../lang/fpc
-WRKUNITDIR= ${FPCSRCDIR}/packages/${PKGNAMESUFFIX:S/-//}
-EXTRACTUNITDIR= ${WRKUNITDIR}
-
-OPTIONS_DEFINE= VLC
-VLC_DESC= Install vlc media player
-VLC_RUN_DEPENDS= vlc:multimedia/vlc
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/fpc-libvlc/files/patch-packages_libvlc_fpmake.pp b/multimedia/fpc-libvlc/files/patch-packages_libvlc_fpmake.pp
deleted file mode 100644
index 24f9137c0999..000000000000
--- a/multimedia/fpc-libvlc/files/patch-packages_libvlc_fpmake.pp
+++ /dev/null
@@ -1,21 +0,0 @@
---- packages/libvlc/fpmake.pp 2017-09-02 11:48:24.000000000 -0500
-+++ packages/libvlc/fpmake.pp 2017-12-12 12:19:09.246128000 -0500
-@@ -15,15 +15,15 @@
- {$ifdef ALLPACKAGES}
- P.Directory:=ADirectory;
- {$endif ALLPACKAGES}
-- P.OSes := [win32, win64, linux, freebsd];
-+ P.OSes := [win32, win64, linux, dragonfly, freebsd];
- P.Dependencies.Add('fcl-base');
- P.Version:='3.2.2';
- P.License := 'LGPL with modification';
- P.HomepageURL := 'www.freepascal.org';
- P.Email := 'michael@freepascal.org';
- P.Description := 'VLC library (version 2 or higher) interface and component.';
-- T:=P.Targets.AddUnit('src/libvlc.pp',[linux,win32,win64]);
-- T:=P.Targets.AddUnit('src/vlc.pp',[linux,win32,win64]);
-+ T:=P.Targets.AddUnit('src/libvlc.pp',[linux,win32,win64,dragonfly,freebsd]);
-+ T:=P.Targets.AddUnit('src/vlc.pp',[linux,win32,win64,dragonfly,freebsd]);
- with T.Dependencies do
- begin
- AddUnit('libvlc');
diff --git a/multimedia/fpc-libvlc/pkg-plist b/multimedia/fpc-libvlc/pkg-plist
deleted file mode 100644
index 04ff18480577..000000000000
--- a/multimedia/fpc-libvlc/pkg-plist
+++ /dev/null
@@ -1,5 +0,0 @@
-lib/fpc/%%PORTVERSION%%/fpmkinst/%%BUILDNAME%%/libvlc.fpm
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/libvlc/libvlc.o
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/libvlc/libvlc.ppu
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/libvlc/vlc.o
-lib/fpc/%%PORTVERSION%%/units/%%BUILDNAME%%/libvlc/vlc.ppu
diff --git a/multimedia/fswebcam/Makefile b/multimedia/fswebcam/Makefile
new file mode 100644
index 000000000000..8e0c8329e169
--- /dev/null
+++ b/multimedia/fswebcam/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= fswebcam
+PORTVERSION= 20200725
+PORTREVISION= 1
+CATEGORIES= multimedia
+
+MAINTAINER= madpilot@FreeBSD.org
+COMMENT= Small and simple webcam software for *nix
+WWW= https://www.sanslogic.co.uk/fswebcam/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
+LIB_DEPENDS= libgd.so:graphics/gd \
+ libv4l2.so:multimedia/libv4l
+
+USES= localbase:ldflags
+USE_GITHUB= yes
+GH_ACCOUNT= fsphil
+GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+
+PLIST_FILES= bin/fswebcam \
+ share/man/man1/fswebcam.1.gz
+
+.include <bsd.port.mk>
diff --git a/multimedia/fswebcam/distinfo b/multimedia/fswebcam/distinfo
new file mode 100644
index 000000000000..5a26bdceae0e
--- /dev/null
+++ b/multimedia/fswebcam/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698870800
+SHA256 (fsphil-fswebcam-20200725_GH0.tar.gz) = d5439b2bf49bb634100d7e42ed9854f84bfd355c1d40bc3d4d81593eeadd8aee
+SIZE (fsphil-fswebcam-20200725_GH0.tar.gz) = 119399
diff --git a/multimedia/fswebcam/files/patch-Makefile.in b/multimedia/fswebcam/files/patch-Makefile.in
new file mode 100644
index 000000000000..3d02b9496e1a
--- /dev/null
+++ b/multimedia/fswebcam/files/patch-Makefile.in
@@ -0,0 +1,13 @@
+--- Makefile.in.orig 2020-07-25 18:25:51 UTC
++++ Makefile.in
+@@ -22,8 +22,8 @@ install: all
+ install: all
+ mkdir -p ${DESTDIR}${bindir}
+ mkdir -p ${DESTDIR}${mandir}/man1
+- install -m 755 fswebcam ${DESTDIR}${bindir}
+- install -m 644 fswebcam.1.gz ${DESTDIR}${mandir}/man1
++ ${BSD_INSTALL_PROGRAM} fswebcam ${DESTDIR}${bindir}
++ ${BSD_INSTALL_MAN} fswebcam.1.gz ${DESTDIR}${mandir}/man1
+
+ fswebcam: $(OBJS)
+ $(CC) -o fswebcam $(OBJS) $(LDFLAGS)
diff --git a/multimedia/fswebcam/files/patch-videodev.h b/multimedia/fswebcam/files/patch-videodev.h
new file mode 100644
index 000000000000..129210db5651
--- /dev/null
+++ b/multimedia/fswebcam/files/patch-videodev.h
@@ -0,0 +1,13 @@
+--- videodev.h.orig 2020-07-25 18:25:51 UTC
++++ videodev.h
+@@ -12,8 +12,9 @@
+ #ifndef __LINUX_VIDEODEV_H
+ #define __LINUX_VIDEODEV_H
+
++#include <infiniband/types.h>
+ #include <linux/types.h>
+-#include <linux/ioctl.h>
++/* #include <linux/ioctl.h> */
+ #include <linux/videodev2.h>
+
+
diff --git a/multimedia/fswebcam/files/patch-videodev2.h b/multimedia/fswebcam/files/patch-videodev2.h
new file mode 100644
index 000000000000..e0b7aeb5eb84
--- /dev/null
+++ b/multimedia/fswebcam/files/patch-videodev2.h
@@ -0,0 +1,12 @@
+--- videodev2.h.orig 2020-07-25 18:25:51 UTC
++++ videodev2.h
+@@ -59,7 +59,8 @@
+
+ #include <sys/time.h>
+
+-#include <linux/ioctl.h>
++/* #include <linux/ioctl.h> */
++#include <infiniband/types.h>
+ #include <linux/types.h>
+ #include <linux/v4l2-common.h>
+ #include <linux/v4l2-controls.h>
diff --git a/multimedia/fswebcam/pkg-descr b/multimedia/fswebcam/pkg-descr
new file mode 100644
index 000000000000..f89dd7c57286
--- /dev/null
+++ b/multimedia/fswebcam/pkg-descr
@@ -0,0 +1,6 @@
+fswebcam is a neat and simple webcam app. It captures images from
+a V4L1/V4L2 compatible device or file, averages them to reduce noise
+and draws a caption using the GD Graphics Library which also handles
+compressing the image to PNG or JPEG. The resulting image is saved
+to a file or sent to stdio where it can be piped to something like
+ncftpput or scp.
diff --git a/multimedia/fxtv/Makefile b/multimedia/fxtv/Makefile
deleted file mode 100644
index a19f821a220c..000000000000
--- a/multimedia/fxtv/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Created by: Randall Hopper <aa8vb@nc.rr.com>
-
-PORTNAME= fxtv
-PORTVERSION= 1.03
-PORTREVISION= 13
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/sanpei
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= X11-based TV display and capture application (for use with bt848 driver)
-
-LICENSE= BSD2CLAUSE
-
-.if !exists(/usr/include/dev/bktr/ioctl_bt848.h)
-IGNORE= needs bktr(4) which is no longer available on your FreeBSD version
-.endif
-ONLY_FOR_ARCHS= amd64 i386
-
-LIB_DEPENDS= libtiff.so:graphics/tiff \
- libXaw3d.so:x11-toolkits/Xaw3d
-
-USES= gmake jpeg tar:tgz xorg
-MAKE_ENV= X11BASE=${LOCALBASE}
-USE_XORG= ice sm x11 xaw xext xmu xt xpm xxf86vm xxf86dga
-MAKE_FLAGS= -e
-
-OPTIONS_DEFINE= EXTRA
-EXTRA_DESC= Extra programs required to record/playback/save
-
-# This program does not actually require the programs below unless you
-# use audio/video recording and/or playback and save to a non-raw format.
-EXTRA_RUN_DEPENDS= sox:audio/sox \
- mpg123:audio/mpg123 \
- mpeg_encode:multimedia/mpeg_encode \
- mplex:multimedia/mplex
-
-pre-install:
- @${CP} -p ${WRKSRC}/fxtv.1 ${WRKSRC}/fxtv.man
-
-.include <bsd.port.mk>
diff --git a/multimedia/fxtv/distinfo b/multimedia/fxtv/distinfo
deleted file mode 100644
index cda0c1b862cd..000000000000
--- a/multimedia/fxtv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (fxtv-1.03.tgz) = 17e256afe895b2294cdaeb6fe8461d8869cc458687a4ea8895f8b16b5e85cc82
-SIZE (fxtv-1.03.tgz) = 198669
diff --git a/multimedia/fxtv/files/patch-Makefile b/multimedia/fxtv/files/patch-Makefile
deleted file mode 100644
index 45825a18d110..000000000000
--- a/multimedia/fxtv/files/patch-Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
---- Makefile.orig 2001-02-12 22:08:59 UTC
-+++ Makefile
-@@ -62,7 +62,7 @@ endif
- ifneq ($(DEBUG),NO)
- override CFLAGS = -DDEBUG -g
- else
-- override CFLAGS = -DNDEBUG -O2
-+ override CFLAGS += -DNDEBUG #-O2
- endif
- C_WARN_FLAG = -Wall
- override CFLAGS += $(C_WARN_FLAG) $(INC) $(CF_VERS)
-@@ -116,15 +116,17 @@ $(VIDEOLIB_LIB) :
- tv.o : tv.c app_rsrc.h
-
- install : fxtv
-- mkdir -p $(FXTV_LIBDIR)/bitmaps
-- install -c -m 444 -o root $(PIXMAPS) $(FXTV_LIBDIR)/bitmaps
-- install -c -m 444 -o root README $(FXTV_LIBDIR)
-- mkdir -p $(X11BASEINST)/lib/X11/app-defaults
-- install -c -m 444 -o root Fxtv $(X11BASEINST)/lib/X11/app-defaults
-- mkdir -p $(X11BASEINST)/bin
-- install -c -m 444 -o root fxtv.1 $(X11BASEINST)/man/man1/fxtv.1
-- install -c -m 555 -o root fxtv $(X11BASEINST)/bin
-- install -c -m 555 -o root fxtv_cnvt.sh $(FXTV_LIBDIR)
-+ mkdir -p $(DESTDIR)$(FXTV_LIBDIR)/bitmaps
-+ $(BSD_INSTALL_DATA) $(PIXMAPS) $(DESTDIR)$(FXTV_LIBDIR)/bitmaps
-+ $(BSD_INSTALL_DATA) README $(DESTDIR)$(FXTV_LIBDIR)
-+ mkdir -p $(DESTDIR)$(X11BASEINST)/lib/X11/app-defaults
-+ $(BSD_INSTALL_DATA) Fxtv \
-+ $(DESTDIR)$(X11BASEINST)/lib/X11/app-defaults
-+ mkdir -p $(DESTDIR)$(X11BASEINST)/bin
-+ $(BSD_INSTALL_MAN) fxtv.1 \
-+ $(DESTDIR)$(X11BASEINST)/man/man1/fxtv.1
-+ $(BSD_INSTALL_PROGRAM) fxtv $(DESTDIR)$(X11BASEINST)/bin
-+ $(BSD_INSTALL_SCRIPT) fxtv_cnvt.sh $(DESTDIR)$(FXTV_LIBDIR)
-
- clean:
- rm -f *.o fxtv *.core *~
diff --git a/multimedia/fxtv/files/patch-app_rsrc.h b/multimedia/fxtv/files/patch-app_rsrc.h
deleted file mode 100644
index 5d7f5090820c..000000000000
--- a/multimedia/fxtv/files/patch-app_rsrc.h
+++ /dev/null
@@ -1,188 +0,0 @@
---- app_rsrc.h.orig 2001-02-12 21:17:53 UTC
-+++ app_rsrc.h
-@@ -525,96 +525,95 @@ static XtResource Resources[] = {
- };
-
-
--#define OPTION_HELP_STR "\
-- BSD X TV (fxtv), Version " VERS_STR ".
-- Written by Randall Hopper
--
--Please mail Fxtv and Bt848 driver-related comments and help requests to the
--multimedia@freebsd.org list. Feel free to subscribe and contribute
--(listserv: majordomo@freebsd.org).
--
--Available options:
--
---driverDefaults - Use appearance parms from driver on startup
---colorbars - Turn on colorbar display (for testing)
---hue [-90...90] - Initial Hue ; def=0
---brightness [-50..50] - Initial Brightness (%); def=0
---contrast [0..200] - Initial Contrast (%); def=100
---satU [0..200] - U Saturation (%); def=100
---satV [0..284] - V Saturation (%); def=100
---aspectlock - Enable 4:3 aspect lock on video window
--
---deviceNumber <#> - bktr/tuner device numbers; def=0
---inputFormat <fmt> - Tuner signal input format (ntsc,ntscm,ntscj,
-- palbdghi,pal,palm,paln,secam,palncomb,rsvd)
--
---tunerMode [cable|antenna] - Tuner Mode
---defaultInput <input> - Startup tuner signal input
-- [tuner|video|svideo|csvideo|dev3]
---defaultAudioInput <input> - Startup TV card audio input
-- [tuner|external|internal|auto]
---defaultChannel <#> - Startup Channel Number
---cableStationList <...> - List of cable station presets (see rsrc file)
---antennaStationList <...> - List of antenna station presets
---cableFreqSet <freqset> - Freq set for cable (def = cableirc)
-- [nabcst|cableirc|cablehrc|weurope|jpnbcst|
-- jpncable|xussr|australia|france]
---antennaFreqSet <freqset> - Freq set for antenna (def = nabcst)
--
---noAudio - Suppress playing audio through soundcard
---dspDevice - Override default DSP device (def=/dev/dsp)
---mixerDevice - Override default mixer device (def=/dev/mixer)
---mixerChannel - Audio mixer (line,line1/2/3,cd,mic,video)
--
---stationInWinTitle - Display station text in window title
---stationInWinIcon - Display station text in window icon
--
---stationAnnotFont <fontpat> - Font pattern for station annot (see rsrc file)
---stationAnnotColor <color> - Color for station annot
---stationAnnotDelay <msec> - How long to display (0 = never; -1 = always)
---stationAnnotIDOnly - Display station ID alone (when available)
--
---tunerModeAnnot{Font,Color,Delay}
---inputDevAnnot{Font,Color,Delay}
---volumeDevAnnot{Font,Color,Delay}
---muteDevAnnot{Font,Color,Delay}
-- - Other annotation options (see stationAnnot)
--
---remoteType - Type of attached remote control
-- [None|X10|Hauppauge|PixelView]
--
---recCmdMpeg2 - MPEG-2 Audio record command
---recCmdMpeg3 - MPEG-3 Audio record command
---playCmdMpeg2 - MPEG-2 Audio play command
---playCmdMpeg3 - MPEG-3 Audio play command
--
---videoCnvtScript - Video conversion workhorse script for vid encod.
--
---bswap2Bpp - Byte/word swap options for direct video
---nobswap2Bpp (used to match driver's pixel format with
---bswap3Bpp the video card's)
---nobswap3Bpp
---bswap4Bpp 2Bpp - 15/16-bpp modes
---nobswap4Bpp 3Bpp - packed 24bpp modes
---bwwap4Bpp 4Bpp - unpacked 24bpp modes
---nowswap4Bpp
--
---Bpp24bit [3|4] - Set frame buffer Bytes-per-pixel for 24bpp mode
---Bpp32bit [3|4] - Set frame buffer Bytes-per-pixel for 32bpp mode
--
---videoCapFile[1-4] - Optional paths (0-4) to scratch file paths to
-- use for video capture; spreads load across disks
--
---noafc - Disable AFC
---disableDirectV - Disable DMA transfers straight to video card
---debug <area> - Debug Msgs
-- {startup,driver,subproc,events,video,frame}
---help - Display program options
--
--NOTE: All command line options are accessible as X resources as well.
-- The X resources have the same names as the command-line options.
-- See the sample Fxtv class resource file for details.
--"
-+#define OPTION_HELP_STR \
-+" BSD X TV (fxtv), Version " VERS_STR ".\n" \
-+" Written by Randall Hopper\n" \
-+"\n" \
-+"Please mail Fxtv and Bt848 driver-related comments and help requests to the\n" \
-+"multimedia@freebsd.org list. Feel free to subscribe and contribute\n" \
-+"(listserv: majordomo@freebsd.org).\n" \
-+"\n" \
-+"Available options:\n" \
-+"\n" \
-+"-driverDefaults - Use appearance parms from driver on startup\n" \
-+"-colorbars - Turn on colorbar display (for testing)\n" \
-+"-hue [-90...90] - Initial Hue ; def=0\n" \
-+"-brightness [-50..50] - Initial Brightness (%); def=0\n" \
-+"-contrast [0..200] - Initial Contrast (%); def=100\n" \
-+"-satU [0..200] - U Saturation (%); def=100\n" \
-+"-satV [0..284] - V Saturation (%); def=100\n" \
-+"-aspectlock - Enable 4:3 aspect lock on video window\n" \
-+"\n" \
-+"-deviceNumber <#> - bktr/tuner device numbers; def=0\n" \
-+"-inputFormat <fmt> - Tuner signal input format (ntsc,ntscm,ntscj,\n" \
-+" palbdghi,pal,palm,paln,secam,palncomb,rsvd)\n" \
-+"\n" \
-+"-tunerMode [cable|antenna] - Tuner Mode\n" \
-+"-defaultInput <input> - Startup tuner signal input\n" \
-+" [tuner|video|svideo|csvideo|dev3]\n" \
-+"-defaultAudioInput <input> - Startup TV card audio input\n" \
-+" [tuner|external|internal|auto]\n" \
-+"-defaultChannel <#> - Startup Channel Number\n" \
-+"-cableStationList <...> - List of cable station presets (see rsrc file)\n" \
-+"-antennaStationList <...> - List of antenna station presets\n" \
-+"-cableFreqSet <freqset> - Freq set for cable (def = cableirc)\n" \
-+" [nabcst|cableirc|cablehrc|weurope|jpnbcst|\n" \
-+" jpncable|xussr|australia|france]\n" \
-+"-antennaFreqSet <freqset> - Freq set for antenna (def = nabcst)\n" \
-+"\n" \
-+"-noAudio - Suppress playing audio through soundcard\n" \
-+"-dspDevice - Override default DSP device (def=/dev/dsp)\n" \
-+"-mixerDevice - Override default mixer device (def=/dev/mixer)\n" \
-+"-mixerChannel - Audio mixer (line,line1/2/3,cd,mic,video)\n" \
-+"\n" \
-+"-stationInWinTitle - Display station text in window title\n" \
-+"-stationInWinIcon - Display station text in window icon\n" \
-+"\n" \
-+"-stationAnnotFont <fontpat> - Font pattern for station annot (see rsrc file)\n" \
-+"-stationAnnotColor <color> - Color for station annot\n" \
-+"-stationAnnotDelay <msec> - How long to display (0 = never; -1 = always)\n" \
-+"-stationAnnotIDOnly - Display station ID alone (when available)\n" \
-+"\n" \
-+"-tunerModeAnnot{Font,Color,Delay}\n" \
-+"-inputDevAnnot{Font,Color,Delay}\n" \
-+"-volumeDevAnnot{Font,Color,Delay}\n" \
-+"-muteDevAnnot{Font,Color,Delay}\n" \
-+" - Other annotation options (see stationAnnot)\n" \
-+"\n" \
-+"-remoteType - Type of attached remote control\n" \
-+" [None|X10|Hauppauge|PixelView]\n" \
-+"\n" \
-+"-recCmdMpeg2 - MPEG-2 Audio record command\n" \
-+"-recCmdMpeg3 - MPEG-3 Audio record command\n" \
-+"-playCmdMpeg2 - MPEG-2 Audio play command\n" \
-+"-playCmdMpeg3 - MPEG-3 Audio play command\n" \
-+"\n" \
-+"-videoCnvtScript - Video conversion workhorse script for vid encod.\n" \
-+"\n" \
-+"-bswap2Bpp - Byte/word swap options for direct video\n" \
-+"-nobswap2Bpp (used to match driver's pixel format with\n" \
-+"-bswap3Bpp the video card's)\n" \
-+"-nobswap3Bpp\n" \
-+"-bswap4Bpp 2Bpp - 15/16-bpp modes\n" \
-+"-nobswap4Bpp 3Bpp - packed 24bpp modes\n" \
-+"-bwwap4Bpp 4Bpp - unpacked 24bpp modes\n" \
-+"-nowswap4Bpp\n" \
-+"\n" \
-+"-Bpp24bit [3|4] - Set frame buffer Bytes-per-pixel for 24bpp mode\n" \
-+"-Bpp32bit [3|4] - Set frame buffer Bytes-per-pixel for 32bpp mode\n" \
-+"\n" \
-+"-videoCapFile[1-4] - Optional paths (0-4) to scratch file paths to\n" \
-+" use for video capture; spreads load across disks\n" \
-+"\n" \
-+"-noafc - Disable AFC\n" \
-+"-disableDirectV - Disable DMA transfers straight to video card\n" \
-+"-debug <area> - Debug Msgs\n" \
-+" {startup,driver,subproc,events,video,frame}\n" \
-+"-help - Display program options\n" \
-+"\n" \
-+"NOTE: All command line options are accessible as X resources as well.\n" \
-+" The X resources have the same names as the command-line options.\n" \
-+" See the sample Fxtv class resource file for details.\n"
-
- static String fallback_resources[] = {
- /*"Fxtv.geometry: +10+10",*/
diff --git a/multimedia/fxtv/files/patch-haup__remote.c b/multimedia/fxtv/files/patch-haup__remote.c
deleted file mode 100644
index b70eef2ce64e..000000000000
--- a/multimedia/fxtv/files/patch-haup__remote.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- haup_remote.c.orig 2000-05-21 15:10:04 UTC
-+++ haup_remote.c
-@@ -38,9 +38,16 @@
- #include <sys/fcntl.h>
- #ifdef __NetBSD__
- # include <dev/ic/bt8xx.h>
-+#endif
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+#if __FreeBSD_version > 500000
-+#include <dev/bktr/ioctl_meteor.h>
-+#include <dev/bktr/ioctl_bt848.h>
- #else
--# include <machine/ioctl_meteor.h>
--# include <machine/ioctl_bt848.h>
-+#include <machine/ioctl_bt848.h>
-+#include <machine/ioctl_meteor.h>
-+#endif
- #endif
- #include "haup_remote.h"
-
diff --git a/multimedia/fxtv/files/patch-pixelview__remote.c b/multimedia/fxtv/files/patch-pixelview__remote.c
deleted file mode 100644
index a442fe07eab9..000000000000
--- a/multimedia/fxtv/files/patch-pixelview__remote.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- pixelview_remote.c.orig 2000-05-21 15:10:09 UTC
-+++ pixelview_remote.c
-@@ -39,9 +39,16 @@
- #include <sys/fcntl.h>
- #ifdef __NetBSD__
- # include <dev/ic/bt8xx.h>
-+#endif
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+#if __FreeBSD_version > 500000
-+#include <dev/bktr/ioctl_bt848.h>
-+#include <dev/bktr/ioctl_meteor.h>
- #else
--# include <machine/ioctl_meteor.h>
--# include <machine/ioctl_bt848.h>
-+#include <machine/ioctl_meteor.h>
-+#include <machine/ioctl_bt848.h>
-+#endif
- #endif
- #include "pixelview_remote.h"
-
diff --git a/multimedia/fxtv/files/patch-remote.c b/multimedia/fxtv/files/patch-remote.c
deleted file mode 100644
index ddf8838bb884..000000000000
--- a/multimedia/fxtv/files/patch-remote.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- remote.c.orig 2001-02-12 21:05:08 UTC
-+++ remote.c
-@@ -65,7 +65,7 @@
- /* ******************** Local defines ************** */
-
- /* FIXME: Remove this old code someday */
--#ifdef 0
-+#if 0
- # define OLD_DEV_SYSMOUSE_STUFF
- #endif
-
diff --git a/multimedia/fxtv/files/patch-tvcapture.c b/multimedia/fxtv/files/patch-tvcapture.c
deleted file mode 100644
index 37a0902a1f69..000000000000
--- a/multimedia/fxtv/files/patch-tvcapture.c
+++ /dev/null
@@ -1,22 +0,0 @@
---- tvcapture.c.orig 2001-02-12 18:59:22 UTC
-+++ tvcapture.c
-@@ -34,11 +34,18 @@
- #include <stdlib.h>
- #include <fcntl.h>
- #include <errno.h>
-+#include <sys/types.h>
- #include <sys/mman.h>
- #ifdef __NetBSD__
- # include <dev/ic/bt8xx.h>
-+#endif
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+#if __FreeBSD_version > 500000
-+#include <dev/bktr/ioctl_bt848.h>
- #else
--# include <machine/ioctl_bt848.h>
-+#include <machine/ioctl_bt848.h>
-+#endif
- #endif
- #include <signal.h>
- #include <sys/ioctl.h>
diff --git a/multimedia/fxtv/files/patch-tvcapture.h b/multimedia/fxtv/files/patch-tvcapture.h
deleted file mode 100644
index 1908a31c3fdc..000000000000
--- a/multimedia/fxtv/files/patch-tvcapture.h
+++ /dev/null
@@ -1,18 +0,0 @@
---- tvcapture.h.orig 2001-02-12 18:57:43 UTC
-+++ tvcapture.h
-@@ -34,8 +34,14 @@
- #include <X11/Intrinsic.h>
- #ifdef __NetBSD__
- # include <dev/ic/bt8xx.h>
-+#endif
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+#if __FreeBSD_version > 500000
-+#include <dev/bktr/ioctl_meteor.h>
- #else
--# include <machine/ioctl_meteor.h>
-+#include <machine/ioctl_meteor.h>
-+#endif
- #endif
- #include "tvtypes.h"
-
diff --git a/multimedia/fxtv/files/patch-tvmenu.c b/multimedia/fxtv/files/patch-tvmenu.c
deleted file mode 100644
index 3030f018c84e..000000000000
--- a/multimedia/fxtv/files/patch-tvmenu.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- tvmenu.c.orig 2001-02-12 21:19:33 UTC
-+++ tvmenu.c
-@@ -552,7 +552,7 @@ static void TVTOOLSUpdateStationPopup()
- Widget popup_win, new_popup_item = NULL;
- Cardinal num_children, i;
- WidgetList children;
-- String actual_station, temp_station;
-+ String actual_station = NULL, temp_station = NULL;
- #ifdef FIXME
- Pixmap pix;
- #endif
-@@ -589,7 +589,7 @@ static void TVTOOLSUpdateStationPopup()
-
- XtVaSetValues(children[i], XtNleftBitmap, pix, NULL);
- #else
-- if ( strcmp( actual_station, temp_station ) == 0 )
-+ if ( strcmp( actual_station==NULL ? "" : actual_station, temp_station==NULL ? "" : temp_station ) == 0 )
- new_popup_item = children[i];
- #endif
- }
diff --git a/multimedia/fxtv/files/patch-tvscreen.c b/multimedia/fxtv/files/patch-tvscreen.c
deleted file mode 100644
index 1e3d12368400..000000000000
--- a/multimedia/fxtv/files/patch-tvscreen.c
+++ /dev/null
@@ -1,12 +0,0 @@
---- tvscreen.c.orig 2000-05-21 13:49:47 UTC
-+++ tvscreen.c
-@@ -480,6 +480,9 @@ void TVSCREENInit( TV_XSCREEN *s,
- dga_avail = FALSE;
-
- #ifdef HAVE_XFREE86
-+ if ( App_res.disable_direct_v )
-+ SUPRINTF(( "Will not init DGA since -disableDirectV was given.\n" ));
-+ else
- if ( !XUTILXServerIsLocal( TVDISPLAY ) )
- SUPRINTF(( "XF86DGA not available...X Server isn't local.\n" ));
- else {
diff --git a/multimedia/fxtv/files/patch-videolib_Makefile b/multimedia/fxtv/files/patch-videolib_Makefile
deleted file mode 100644
index dfd466bfa46b..000000000000
--- a/multimedia/fxtv/files/patch-videolib_Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- videolib/Makefile.orig 2001-02-12 19:04:45 UTC
-+++ videolib/Makefile
-@@ -15,7 +15,7 @@ override INC =
- ifneq ($(DEBUG),NO)
- override CFLAGS = -DDEBUG -g
- else
-- override CFLAGS = -DNDEBUG -O2
-+ override CFLAGS += -DNDEBUG #-O2
- endif
- C_WARN_FLAG = -Wall
- override CFLAGS += $(C_WARN_FLAG) $(INC)
diff --git a/multimedia/fxtv/files/patch-videolib_videolib.c b/multimedia/fxtv/files/patch-videolib_videolib.c
deleted file mode 100644
index 69358e466845..000000000000
--- a/multimedia/fxtv/files/patch-videolib_videolib.c
+++ /dev/null
@@ -1,38 +0,0 @@
---- videolib/videolib.c.orig 1999-11-03 02:22:04 UTC
-+++ videolib/videolib.c
-@@ -479,9 +479,8 @@ static void VIDEOLIBConvertRGBToRGB( VL_
- *(p++) = (*src16 >> 8) | (*src16 << 8);
- src16++;
- }
-- for ( i = dst_line_pad; i > 0; i-- )
-- *(((VL_UINT8 *)p)++) = 0x00;
-- (VL_UINT8 *)dst_line += dst->geom.bytes_per_line;
-+ memset(p, 0, dst_line_pad);
-+ dst_line += dst->geom.bytes_per_line / sizeof(VL_UINT16);
- }
-
- src16 = dst_line = (VL_UINT16 *) dst->buf;
-@@ -513,9 +512,9 @@ static void VIDEOLIBConvertRGBToRGB( VL_
- if ( src_padded )
- src16 = (VL_UINT16 *)( (VL_UINT8 *)src16 + dst_line_pad );
- else
-- for ( i = dst_line_pad; i > 0; i-- )
-- *(((VL_UINT8 *)dst)++) = 0x00;
-- (VL_UINT8 *)dst_line += dst->geom.bytes_per_line;
-+ memset(dst, 0, dst_line_pad);
-+ dst += dst_line_pad / sizeof(VL_IMAGE);
-+ dst_line += dst->geom.bytes_per_line / sizeof(VL_UINT16);
- }
-
- if ( !dst_swap_b ) { /* More ugliness */
-@@ -527,8 +526,8 @@ static void VIDEOLIBConvertRGBToRGB( VL_
- *(p++) = (*src16 >> 8) | (*src16 << 8);
- src16++;
- }
-- (VL_UINT8 *)dst_line += dst->geom.bytes_per_line;
-- (VL_UINT8 *)src16 += dst->geom.bytes_per_line;
-+ dst_line += dst->geom.bytes_per_line / sizeof(VL_UINT16);
-+ src16 += dst->geom.bytes_per_line / sizeof(VL_UINT16);
- }
- }
- }
diff --git a/multimedia/fxtv/files/patch-voxware.h b/multimedia/fxtv/files/patch-voxware.h
deleted file mode 100644
index 4f377f921dd4..000000000000
--- a/multimedia/fxtv/files/patch-voxware.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- voxware.h.orig 2000-10-23 02:44:03 UTC
-+++ voxware.h
-@@ -30,9 +30,7 @@
- #ifndef __VOXWARE_H
- #define __VOXWARE_H
-
--#if defined(__FreeBSD__)
--# include <machine/soundcard.h>
--#elif defined(linux) || defined(__bsdi__)
-+#if defined(linux) || defined(__bsdi__) || defined(__FreeBSD__)
- # include <sys/soundcard.h>
- #elif defined(__NetBSD__) || defined(__OpenBSD__)
- # include <soundcard.h>
diff --git a/multimedia/fxtv/files/patch-xutil.c b/multimedia/fxtv/files/patch-xutil.c
deleted file mode 100644
index 8b685d11b0ac..000000000000
--- a/multimedia/fxtv/files/patch-xutil.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- xutil.c.orig 1999-11-05 00:38:54 UTC
-+++ xutil.c
-@@ -1500,8 +1500,10 @@ void XUTILDetermineFrameBufferVisual( Di
- /**********************************************************************/
-
- vinfo_pref.screen = screen;
-- visual = XGetVisualInfo( display, VisualScreenMask, &vinfo_pref,
-- &num_visuals );
-+ vinfo_pref.depth = DefaultDepth( display, screen );
-+ visual = XGetVisualInfo( display,
-+ VisualScreenMask | VisualDepthMask,
-+ &vinfo_pref, &num_visuals );
- if ( num_visuals == 0 ) {
- fprintf( stderr, "XGetVisualInfo() says no visuals available!\n" );
- exit(1);
diff --git a/multimedia/fxtv/pkg-descr b/multimedia/fxtv/pkg-descr
deleted file mode 100644
index 1bc30669b601..000000000000
--- a/multimedia/fxtv/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-Fxtv is an X11-based FreeBSD app that provides TV-in-a-window and
-image/audio/video capture capabilities for Brooktree Bt848/849/878/879
-and Pinnacle PCTV tuner/capture cards.
-
-To use this app, you need a capture card supported by the bktr(4) driver.
-Examples include the Hauppauge Wincast/TV, the STB TV PCI, and the Intel
-Smart Video Recorder III. See the 'bktr' man page for more information.
-
-WWW: https://people.freebsd.org/~rhh/fxtv/
diff --git a/multimedia/fxtv/pkg-plist b/multimedia/fxtv/pkg-plist
deleted file mode 100644
index 105ba83e1d43..000000000000
--- a/multimedia/fxtv/pkg-plist
+++ /dev/null
@@ -1,12 +0,0 @@
-bin/fxtv
-lib/X11/app-defaults/Fxtv
-lib/X11/fxtv/README
-lib/X11/fxtv/bitmaps/mini-camera.xpm
-lib/X11/fxtv/bitmaps/mini-down.xbm
-lib/X11/fxtv/bitmaps/mini-resize.xpm
-lib/X11/fxtv/bitmaps/mini-sound.xbm
-lib/X11/fxtv/bitmaps/mini-up.xbm
-lib/X11/fxtv/bitmaps/radio_off.xbm
-lib/X11/fxtv/bitmaps/radio_on.xbm
-lib/X11/fxtv/fxtv_cnvt.sh
-man/man1/fxtv.1.gz
diff --git a/multimedia/gaupol/Makefile b/multimedia/gaupol/Makefile
index 55646346cef8..d6f195612aca 100644
--- a/multimedia/gaupol/Makefile
+++ b/multimedia/gaupol/Makefile
@@ -1,25 +1,25 @@
-# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
-
PORTNAME= gaupol
-DISTVERSION= 1.4-3
-DISTVERSIONSUFFIX= -g6116d42b
+DISTVERSION= 1.13
CATEGORIES= multimedia python
-MAINTAINER= greg@unrelenting.technology
+MAINTAINER= ports@FreeBSD.org
COMMENT= Subtitle editor
+WWW= https://otsaloma.io/gaupol/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-RUN_DEPENDS= iso-codes>=0:misc/iso-codes \
- ${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}enchant>=1.5.1:textproc/py-enchant@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}chardet>=0:textproc/py-chardet@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}enchant>=1.5.1:textproc/py-enchant@${PY_FLAVOR} \
+ gspell>=0:textproc/gspell \
+ iso-codes>=0:misc/iso-codes
-USES= desktop-file-utils gnome python:3.2+
+USES= desktop-file-utils gnome gstreamer: python
USE_GITHUB= yes
GH_ACCOUNT= otsaloma
-USE_GNOME= gtk30 pygobject3 intltool
-USE_PYTHON= distutils autoplist py3kplist noflavors
+USE_GNOME= gtk30 intltool pygobject3
+USE_GSTREAMER= bad good gtk libav pango ugly
+USE_PYTHON= autoplist distutils noflavors py3kplist
NO_ARCH= yes
OPTIONS_DEFINE= NLS
diff --git a/multimedia/gaupol/distinfo b/multimedia/gaupol/distinfo
index 2926ffdc8d82..bcc91e2fba59 100644
--- a/multimedia/gaupol/distinfo
+++ b/multimedia/gaupol/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1527454246
-SHA256 (otsaloma-gaupol-1.4-3-g6116d42b_GH0.tar.gz) = 7e79e220ae7485fc9d01bd2179cdfd60faa5c561ddfc5a4f0f266907fc592876
-SIZE (otsaloma-gaupol-1.4-3-g6116d42b_GH0.tar.gz) = 526037
+TIMESTAMP = 1710832275
+SHA256 (otsaloma-gaupol-1.13_GH0.tar.gz) = 2cf77a0133f1dc022b6548e1a8604c40dcbd87e0bcfd2b12465c0008253d3193
+SIZE (otsaloma-gaupol-1.13_GH0.tar.gz) = 592830
diff --git a/multimedia/gaupol/pkg-descr b/multimedia/gaupol/pkg-descr
index 39974f682dc9..0361b498a1b0 100644
--- a/multimedia/gaupol/pkg-descr
+++ b/multimedia/gaupol/pkg-descr
@@ -3,5 +3,3 @@ subtitle file formats and provides convenient means of correcting texts
and timing subtitles to match video. The user interface is designed with
attention to batch processing of multiple documents and convenience of
translating.
-
-WWW: https://otsaloma.io/gaupol/
diff --git a/multimedia/gavl/Makefile b/multimedia/gavl/Makefile
index 6d0c2dfce8be..74230da89621 100644
--- a/multimedia/gavl/Makefile
+++ b/multimedia/gavl/Makefile
@@ -1,5 +1,3 @@
-# Created by: Michael Johnson <ahze@ahze.net>
-
PORTNAME= gavl
PORTVERSION= 1.4.0
PORTREVISION= 4
@@ -8,6 +6,7 @@ MASTER_SITES= SF/gmerlin/${PORTNAME}/${PORTVERSION}
MAINTAINER= jhale@FreeBSD.org
COMMENT= Library for handling uncompressed video and audio data
+WWW= https://gmerlin.sourceforge.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/gavl/pkg-descr b/multimedia/gavl/pkg-descr
index c3c4a3ebed5e..d9608fa9421c 100644
--- a/multimedia/gavl/pkg-descr
+++ b/multimedia/gavl/pkg-descr
@@ -8,5 +8,3 @@ samples or video images inside an application.
In addition, it handles the sometimes ugly task to convert between
all these formats and provides some elementary operations (copying,
scaling, alpha blending etc)
-
-WWW: http://gmerlin.sourceforge.net/
diff --git a/multimedia/gdialog/Makefile b/multimedia/gdialog/Makefile
index 3ff870b894eb..ab3106342141 100644
--- a/multimedia/gdialog/Makefile
+++ b/multimedia/gdialog/Makefile
@@ -1,5 +1,3 @@
-# Created by: Heiner Eichmann <h.eichmann@gmx.de>
-
PORTNAME= gdialog
PORTVERSION= 2.5
PORTREVISION= 1
@@ -9,6 +7,7 @@ DISTNAME= GDialog-090400-25
MAINTAINER= ports@FreeBSD.org
COMMENT= Project X addon to read Siemens Gigaset M740AV video recordings
+WWW= https://sourceforge.net/projects/gdialog-x/
LICENSE= GPLv2
diff --git a/multimedia/gdialog/pkg-descr b/multimedia/gdialog/pkg-descr
index bca7688283ce..9ec664832364 100644
--- a/multimedia/gdialog/pkg-descr
+++ b/multimedia/gdialog/pkg-descr
@@ -4,5 +4,4 @@ of the Siemens Gigaset M740AV settop box.
For details refer to the wiki (german only):
http://www.m740.de/wiki/ProjectX_mit_Gigaset-Erweiterung
-WWW: https://sourceforge.net/projects/gdialog-x/
Heiner (h.eichmann@gmx.de)
diff --git a/multimedia/get_iplayer/Makefile b/multimedia/get_iplayer/Makefile
index 00bcaf336532..c1be020a63c3 100644
--- a/multimedia/get_iplayer/Makefile
+++ b/multimedia/get_iplayer/Makefile
@@ -1,10 +1,12 @@
PORTNAME= get_iplayer
-PORTVERSION= 3.29
+DISTVERSION= 3.34
+PORTREVISION= 1
DISTVERSIONPREFIX= v
CATEGORIES= multimedia net
MAINTAINER= jamie@catflap.org
COMMENT= Lists and records BBC iPlayer TV and BBC Sounds radio programmes
+WWW= https://github.com/get-iplayer/get_iplayer
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -18,20 +20,21 @@ USES= perl5 shebangfix
USE_GITHUB= yes
GH_ACCOUNT= get-iplayer
USE_PERL5= run
+USE_RC_SUBR= ${PORTNAME}
+
SHEBANG_FILES= ${PORTNAME} ${PORTNAME}.cgi
-NO_BUILD= yes
-NO_ARCH= yes
-USE_RC_SUBR= ${PORTNAME}
+DATADIR= ${WWWDIR}
+NO_ARCH= yes
+NO_BUILD= yes
USERS= get_iplayer
GROUPS= get_iplayer
SCRIPTS= ${PORTNAME} ${PORTNAME}.cgi
PLIST_FILES= bin/${PORTNAME} ${SCRIPTS:S,^,${WWWDIR_REL}/,} \
- man/man1/${PORTNAME}.1.gz
+ share/man/man1/${PORTNAME}.1.gz
-DATADIR= ${WWWDIR}
PORTDOCS= CHANGELOG.md README.md
OPTIONS_DEFINE= DOCS FFMPEG ATOMICPARSLEY
@@ -49,7 +52,7 @@ do-install:
${MKDIR} ${STAGEDIR}${WWWDIR}
(cd ${WRKSRC}; ${INSTALL_SCRIPT} ${SCRIPTS} ${STAGEDIR}${WWWDIR})
${LN} -sf ${WWWDIR}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
- ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/get_iplayer/distinfo b/multimedia/get_iplayer/distinfo
index 16a3941e1f22..b8fc38da2906 100644
--- a/multimedia/get_iplayer/distinfo
+++ b/multimedia/get_iplayer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1644363231
-SHA256 (get-iplayer-get_iplayer-v3.29_GH0.tar.gz) = 621ef2e13cfa1d6ba68a5d1b877b585fea85c321916cc50d44301e239cf3d606
-SIZE (get-iplayer-get_iplayer-v3.29_GH0.tar.gz) = 148404
+TIMESTAMP = 1698893026
+SHA256 (get-iplayer-get_iplayer-v3.34_GH0.tar.gz) = 72128a0edd731c1b1d932108b3c47c74f93e17ca99915f5c769767344f339be8
+SIZE (get-iplayer-get_iplayer-v3.34_GH0.tar.gz) = 149722
diff --git a/multimedia/get_iplayer/pkg-descr b/multimedia/get_iplayer/pkg-descr
index a8a8b8df880f..fa471cd135ac 100644
--- a/multimedia/get_iplayer/pkg-descr
+++ b/multimedia/get_iplayer/pkg-descr
@@ -9,5 +9,3 @@ BBC iPlayer Radio - up to 340 kbps AAC / MP4
BBC iPlayer TV subtitles - SubRip / srt
None of the above content is protected by DRM. get_iplayer cannot remove DRM.
-
-WWW: https://github.com/get-iplayer/get_iplayer
diff --git a/multimedia/gmerlin/Makefile b/multimedia/gmerlin/Makefile
deleted file mode 100644
index 49e7dd04cabc..000000000000
--- a/multimedia/gmerlin/Makefile
+++ /dev/null
@@ -1,81 +0,0 @@
-PORTNAME= gmerlin
-PORTVERSION= 1.2.0
-PORTREVISION= 21
-CATEGORIES= multimedia
-MASTER_SITES= SF
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Multimedia framework
-
-LICENSE= GPLv3
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libexif.so:graphics/libexif \
- libgavl.so:multimedia/gavl \
- libfontconfig.so:x11-fonts/fontconfig
-
-USES= gettext gl gnome libtool makeinfo pathfix pkgconfig sqlite xorg
-USE_GNOME= gtk20 libxml2
-USE_XORG= x11 xext xfixes xinerama xv
-USE_GL= gl
-GNU_CONFIGURE= yes
-CONFIGURE_ENV= ac_cv_func_inotify_init=no
-CONFIGURE_ARGS= --disable-v4l --disable-v4l2 --disable-v4lconvert \
- --without-doxygen --with-cpuflags=none --disable-musicbrainz \
- --disable-esd
-USE_LDCONFIG= yes
-LLD_UNSAFE= yes
-INSTALL_TARGET= install-strip
-
-CPPFLAGS+= -I${LOCALBASE}/include
-LIBS+= -L${LOCALBASE}/lib
-LDFLAGS+= -Wl,--add-needed
-
-INFO= gmerlin
-
-OPTIONS_DEFINE= ALSA CDDB CDIO JACK JPEG LIBVISUAL \
- OPTIMIZED_CFLAGS PNG PULSEAUDIO QUICKTIME TIFF DOCS
-OPTIONS_DEFAULT= CDDB JACK JPEG LIBVISUAL \
- OPTIMIZED_CFLAGS PNG PULSEAUDIO QUICKTIME TIFF
-OPTIONS_SUB= yes
-
-ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-ALSA_CONFIGURE_OFF= --disable-alsa --disable-alsamixer
-CDDB_LIB_DEPENDS= libcddb.so:audio/libcddb
-CDDB_CONFIGURE_OFF= --disable-cddb
-CDIO_LIB_DEPENDS= libcdio.so:sysutils/libcdio \
- libcdio_cdda.so:sysutils/libcdio-paranoia
-CDIO_CONFIGURE_OFF= --disable-libcdio
-JACK_LIB_DEPENDS= libjack.so:audio/jack
-JACK_CONFIGURE_OFF= --disable-jack
-JPEG_USES= jpeg
-JPEG_CONFIGURE_OFF= --disable-libjpeg
-LIBVISUAL_LIB_DEPENDS= libvisual-0.4.so:graphics/libvisual04
-LIBVISUAL_CONFIGURE_OFF=--disable-libvisual
-OPTIMIZED_CFLAGS_CFLAGS=-O3 -funroll-loops -fomit-frame-pointer -ffast-math
-PNG_LIB_DEPENDS= libpng.so:graphics/png
-PNG_CONFIGURE_OFF= --disable-libpng
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_OFF=--disable-pulseaudio
-QUICKTIME_LIB_DEPENDS= libquicktime.so:multimedia/libquicktime
-QUICKTIME_CONFIGURE_OFF=--disable-lqt
-TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff
-TIFF_CONFIGURE_OFF= --disable-libtiff
-
-post-patch:
- @${REINPLACE_CMD} -e \
- '/LIBS/s|-ldl || ; \
- s|-DGTK_DISABLE_DEPRECATED|| ; \
- s|-O3.*-ffast-math||' ${WRKSRC}/configure
- @${REINPLACE_CMD} -e \
- 's|^texinfo_|#texinfo_|g' ${WRKSRC}/doc/Makefile.in
- @${REINPLACE_CMD} -e \
- 's|ln -sf $$(DESTDIR)|ln -sf |' ${WRKSRC}/icons/Makefile.in
- @${FIND} ${WRKSRC} -name "Makefile.in" | ${XARGS} ${REINPLACE_CMD} -e \
- 's|-ldl||g'
-
-post-install:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} README ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/gmerlin/distinfo b/multimedia/gmerlin/distinfo
deleted file mode 100644
index 8896ad471b72..000000000000
--- a/multimedia/gmerlin/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (gmerlin-1.2.0.tar.gz) = 80a217c417b197562961cfd55bf5d356d7eb5278601f6f5e05636455822e3d62
-SIZE (gmerlin-1.2.0.tar.gz) = 3119224
diff --git a/multimedia/gmerlin/files/patch-configure b/multimedia/gmerlin/files/patch-configure
deleted file mode 100644
index e57101f87781..000000000000
--- a/multimedia/gmerlin/files/patch-configure
+++ /dev/null
@@ -1,50 +0,0 @@
---- configure.orig 2014-03-18 03:42:33.000000000 +0900
-+++ configure 2014-03-18 03:57:27.000000000 +0900
-@@ -1048,6 +1048,7 @@
- with_x
- enable_pulseaudio
- enable_lqt
-+enable_v4lconvert
- enable_libvisual
- enable_libcdio
- enable_musicbrainz
-@@ -13247,7 +13248,7 @@
- GMERLIN_DEP_RPATH=""
- fi
-
--LDFLAGS="$GMERLIN_DEP_RPATH"
-+LDFLAGS="$LDFLAGS $GMERLIN_DEP_RPATH"
-
-
-
-@@ -15396,9 +15397,9 @@
- V4LCONVERT_REQUIRED="0.5.7"
- have_v4lconvert=false
-
--# Check whether --enable-lqt was given.
--if test "${enable_lqt+set}" = set; then :
-- enableval=$enable_lqt; case "${enableval}" in
-+# Check whether --enable-v4lconvert was given.
-+if test "${enable_v4lconvert+set}" = set; then :
-+ enableval=$enable_v4lconvert; case "${enableval}" in
- yes) test_v4lconvert=true ;;
- no) test_v4lconvert=false ;;
- esac
-@@ -17345,7 +17346,7 @@
- case $host_cpu in
- i[3-7]86)
- lqt_cpu_family=x86;;
-- x86_64*)
-+ amd64* | x86_64*)
- lqt_cpu_family=x86;;
- powerpc | powerpc64)
- lqt_cpu_family=ppc;;
-@@ -17520,7 +17521,7 @@
- $as_echo "IA32" >&6; }
- ARCH_X86=true
- ;;
-- x86_64*)
-+ amd64* | x86_64*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: x86_64" >&5
- $as_echo "x86_64" >&6; }
- ARCH_X86=true
diff --git a/multimedia/gmerlin/files/patch-doc__gmerlin.texi b/multimedia/gmerlin/files/patch-doc__gmerlin.texi
deleted file mode 100644
index b54b01210369..000000000000
--- a/multimedia/gmerlin/files/patch-doc__gmerlin.texi
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./doc/gmerlin.texi.orig 2012-06-08 11:50:30.000000000 +0000
-+++ ./doc/gmerlin.texi 2014-06-27 19:02:30.000000000 +0000
-@@ -461,7 +461,7 @@
-
- A gml can be:
-
--@table @bullet
-+@table @strong
- @item A regular filename
- Optionally preceeded with ``file://''. This means, that @b{/files/music.mp3} is the same as
- @b{file:///files/music.mp3}.
diff --git a/multimedia/gmerlin/files/patch-plugins__videofilters__bgyadif.c b/multimedia/gmerlin/files/patch-plugins__videofilters__bgyadif.c
deleted file mode 100644
index dad85b2d33bf..000000000000
--- a/multimedia/gmerlin/files/patch-plugins__videofilters__bgyadif.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/videofilters/bgyadif.c.orig
-+++ plugins/videofilters/bgyadif.c
-@@ -704,7 +704,7 @@
- \
- /* if(p->mode<2) ... */\
- "movq %[tmp3], %%mm6 \n\t" /* diff */\
-- "cmp $2, %[mode] \n\t"\
-+ "cmpl $2, %[mode] \n\t"\
- "jge 1f \n\t"\
- LOAD4("(%["prev2"],%[mrefs],2)", %%mm2) /* prev2[x-2*refs] */\
- LOAD4("(%["next2"],%[mrefs],2)", %%mm4) /* next2[x-2*refs] */\
diff --git a/multimedia/gmerlin/files/patch-plugins_cdaudio_cdparanoia.c b/multimedia/gmerlin/files/patch-plugins_cdaudio_cdparanoia.c
deleted file mode 100644
index 706e7c6551ce..000000000000
--- a/multimedia/gmerlin/files/patch-plugins_cdaudio_cdparanoia.c
+++ /dev/null
@@ -1,15 +0,0 @@
-Fix build with sysutils/libcdio >= 0.90
-
---- plugins/cdaudio/cdparanoia.c.orig 2018-02-22 06:24:11 UTC
-+++ plugins/cdaudio/cdparanoia.c
-@@ -28,8 +28,8 @@
-
- #include "cdaudio.h"
- #define DO_NOT_WANT_PARANOIA_COMPATIBILITY
--#include <cdio/cdda.h>
--#include <cdio/paranoia.h>
-+#include <cdio/paranoia/cdda.h>
-+#include <cdio/paranoia/paranoia.h>
-
- /*
- * Ripping support
diff --git a/multimedia/gmerlin/files/patch-plugins_cdaudio_cdtext.c b/multimedia/gmerlin/files/patch-plugins_cdaudio_cdtext.c
deleted file mode 100644
index 147d5490d8d3..000000000000
--- a/multimedia/gmerlin/files/patch-plugins_cdaudio_cdtext.c
+++ /dev/null
@@ -1,91 +0,0 @@
-Fix build with sysutils/libcdio >= 0.90
-
---- plugins/cdaudio/cdtext.c.orig 2012-06-08 11:50:33 UTC
-+++ plugins/cdaudio/cdtext.c
-@@ -34,7 +34,7 @@
- #include "cdaudio.h"
-
- #define GET_FIELD(dst, key) \
-- field = cdtext_get_const(key, cdtext);
-+ field = cdtext_get_const(cdtext, key, i+1);
-
- #define GET_FIELD_DEFAULT(dst,key) \
- field = cdtext_get_const(key, cdtext); \
-@@ -64,38 +64,34 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_t * cdio,
-
- /* Get information for the whole disc */
-
-- cdtext = cdio_get_cdtext (cdio, 0);
-+ cdtext = cdio_get_cdtext (cdio);
-
- if(!cdtext)
- return 0;
-
-- artist = cdtext_get_const(CDTEXT_PERFORMER, cdtext);
-- author = cdtext_get_const(CDTEXT_COMPOSER, cdtext); /* Composer overwrites songwriter */
-+ artist = cdtext_get_const(cdtext, CDTEXT_FIELD_PERFORMER, 0);
-+ author = cdtext_get_const(cdtext, CDTEXT_FIELD_COMPOSER, 0); /* Composer overwrites songwriter */
-
- if(!author)
-- author = cdtext_get_const(CDTEXT_SONGWRITER, cdtext);
-+ author = cdtext_get_const(cdtext, CDTEXT_FIELD_SONGWRITER, 0);
-
-- album = cdtext_get_const(CDTEXT_TITLE, cdtext);
-- genre = cdtext_get_const(CDTEXT_GENRE, cdtext);
-- comment = cdtext_get_const(CDTEXT_MESSAGE, cdtext);
-+ album = cdtext_get_const(cdtext, CDTEXT_FIELD_TITLE, 0);
-+ genre = cdtext_get_const(cdtext, CDTEXT_FIELD_GENRE, 0);
-+ comment = cdtext_get_const(cdtext, CDTEXT_FIELD_MESSAGE, 0);
-
- for(i = 0; i < idx->num_tracks; i++)
- {
- if(idx->tracks[i].is_audio)
- {
-- cdtext = cdio_get_cdtext (cdio, i+1);
-- if(!cdtext)
-- return 0;
-+ GET_FIELD(title, CDTEXT_FIELD_TITLE);
-
-- GET_FIELD(title, CDTEXT_TITLE);
--
- if(!title)
- return 0;
-
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_TITLE, title);
-
-- if((field = cdtext_get_const(CDTEXT_PERFORMER, cdtext)))
-+ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_PERFORMER, i+1)))
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_ARTIST, field);
- else
-@@ -103,10 +99,10 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_t * cdio,
- GAVL_META_ARTIST, artist);
-
-
-- if((field = cdtext_get_const(CDTEXT_COMPOSER, cdtext)))
-+ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_COMPOSER, i+1)))
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_AUTHOR, field);
-- else if((field = cdtext_get_const(CDTEXT_SONGWRITER, cdtext)))
-+ else if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_SONGWRITER, i+1)))
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_AUTHOR, field);
- else if(author)
-@@ -114,14 +110,14 @@ int bg_cdaudio_get_metadata_cdtext(CdIo_t * cdio,
- GAVL_META_AUTHOR, author);
-
-
-- if((field = cdtext_get_const(CDTEXT_GENRE, cdtext)))
-+ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_GENRE, i+1)))
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_GENRE, field);
- else
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_GENRE, genre);
-
-- if((field = cdtext_get_const(CDTEXT_MESSAGE, cdtext)))
-+ if((field = cdtext_get_const(cdtext, CDTEXT_FIELD_MESSAGE, i+1)))
- gavl_metadata_set(&info[idx->tracks[i].index].metadata,
- GAVL_META_COMMENT, field);
- else
diff --git a/multimedia/gmerlin/pkg-descr b/multimedia/gmerlin/pkg-descr
deleted file mode 100644
index 0d7b9fa96d2a..000000000000
--- a/multimedia/gmerlin/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-Gmerlin is a multimedia framework, which allows you to quickly
-develop multimedia applications. It is built upon gavl (for low
-level Audio/Video things) and libxml2 (for loading and saving
-configuration data and other things). The gmerlin API can be used
-at multiple levels: Either you take the basic things like plugins,
-fifos, message-queues and gavl audio/video converters and build
-your own media engine. The other possibility is to use the player
-or transcoder engines directly. The latter approach is probably
-easier, but you'll have less freedom in controlling the process.
-
-Gmerlin includes GUI player with mediatree and a GUI transcoder
-among other things.
-
-WWW: http://gmerlin.sourceforge.net/
diff --git a/multimedia/gmerlin/pkg-plist b/multimedia/gmerlin/pkg-plist
deleted file mode 100644
index d86d98529a03..000000000000
--- a/multimedia/gmerlin/pkg-plist
+++ /dev/null
@@ -1,320 +0,0 @@
-bin/album2m3u
-bin/album2pls
-bin/gmerlin
-bin/gmerlin-record
-bin/gmerlin-video-thumbnailer
-%%ALSA%%bin/gmerlin_alsamixer
-bin/gmerlin_imgconvert
-bin/gmerlin_imgdiff
-bin/gmerlin_kbd
-bin/gmerlin_kbd_config
-bin/gmerlin_launcher
-bin/gmerlin_play
-bin/gmerlin_plugincfg
-bin/gmerlin_psnr
-bin/gmerlin_recorder
-bin/gmerlin_remote
-bin/gmerlin_ssim
-bin/gmerlin_transcoder
-bin/gmerlin_transcoder_remote
-bin/gmerlin_vanalyze
-bin/gmerlin_visualize
-bin/gmerlin_visualizer
-bin/gmerlin_visualizer_slave
-bin/gmerlin_vpsnr
-include/gmerlin/accelerator.h
-include/gmerlin/bg_sem.h
-include/gmerlin/bg_version.h
-include/gmerlin/bggavl.h
-include/gmerlin/bgsocket.h
-include/gmerlin/cfg_dialog.h
-include/gmerlin/cfg_registry.h
-include/gmerlin/charset.h
-include/gmerlin/cmdline.h
-include/gmerlin/converters.h
-include/gmerlin/edl.h
-include/gmerlin/encoder.h
-include/gmerlin/fileformat.h
-include/gmerlin/filters.h
-include/gmerlin/gui_gtk/aboutwindow.h
-include/gmerlin/gui_gtk/albumentry.h
-include/gmerlin/gui_gtk/audio.h
-include/gmerlin/gui_gtk/auth.h
-include/gmerlin/gui_gtk/button.h
-include/gmerlin/gui_gtk/chapterdialog.h
-include/gmerlin/gui_gtk/display.h
-include/gmerlin/gui_gtk/driveselect.h
-include/gmerlin/gui_gtk/fileentry.h
-include/gmerlin/gui_gtk/fileselect.h
-include/gmerlin/gui_gtk/gtkutils.h
-include/gmerlin/gui_gtk/infowindow.h
-include/gmerlin/gui_gtk/logwindow.h
-include/gmerlin/gui_gtk/message.h
-include/gmerlin/gui_gtk/multiinfo.h
-include/gmerlin/gui_gtk/plugin.h
-include/gmerlin/gui_gtk/presetmenu.h
-include/gmerlin/gui_gtk/question.h
-include/gmerlin/gui_gtk/scrolltext.h
-include/gmerlin/gui_gtk/slider.h
-include/gmerlin/gui_gtk/textview.h
-include/gmerlin/gui_gtk/tree.h
-include/gmerlin/gui_gtk/urllink.h
-include/gmerlin/gui_gtk/urlselect.h
-include/gmerlin/keycodes.h
-include/gmerlin/lcdproc.h
-include/gmerlin/log.h
-include/gmerlin/mediafiledevice.h
-include/gmerlin/msgqueue.h
-include/gmerlin/ocr.h
-include/gmerlin/osd.h
-include/gmerlin/ov.h
-include/gmerlin/parameter.h
-include/gmerlin/player.h
-include/gmerlin/playermsg.h
-include/gmerlin/plugin.h
-include/gmerlin/pluginfuncs.h
-include/gmerlin/pluginregistry.h
-include/gmerlin/preset.h
-include/gmerlin/recorder.h
-include/gmerlin/remote.h
-include/gmerlin/serialize.h
-include/gmerlin/singlepic.h
-include/gmerlin/streaminfo.h
-include/gmerlin/subprocess.h
-include/gmerlin/textrenderer.h
-include/gmerlin/transcoder.h
-include/gmerlin/transcoder_track.h
-include/gmerlin/transcodermsg.h
-include/gmerlin/translation.h
-include/gmerlin/tree.h
-include/gmerlin/utils.h
-include/gmerlin/visualize.h
-include/gmerlin/x11/x11.h
-include/gmerlin/xmlutils.h
-%%QUICKTIME%%lib/gmerlin/plugins/e_lqt.so
-lib/gmerlin/plugins/e_pp_cdrdao.so
-lib/gmerlin/plugins/e_pp_vcdimager.so
-%%PNG%%lib/gmerlin/plugins/e_spumux.so
-lib/gmerlin/plugins/e_subtext.so
-lib/gmerlin/plugins/e_wav.so
-lib/gmerlin/plugins/fa_sampleformat.so
-lib/gmerlin/plugins/fa_volume.so
-lib/gmerlin/plugins/fv_bitshift.so
-lib/gmerlin/plugins/fv_blur.so
-lib/gmerlin/plugins/fv_colorbalance.so
-lib/gmerlin/plugins/fv_colormatrix_rgb.so
-lib/gmerlin/plugins/fv_colormatrix_yuv.so
-lib/gmerlin/plugins/fv_cropscale.so
-lib/gmerlin/plugins/fv_decimate.so
-lib/gmerlin/plugins/fv_deinterlace.so
-lib/gmerlin/plugins/fv_equalizer.so
-lib/gmerlin/plugins/fv_flip.so
-lib/gmerlin/plugins/fv_framerate.so
-lib/gmerlin/plugins/fv_interlace.so
-lib/gmerlin/plugins/fv_invert_rgb.so
-lib/gmerlin/plugins/fv_oldcolor.so
-lib/gmerlin/plugins/fv_pixelformat.so
-lib/gmerlin/plugins/fv_swapfields.so
-lib/gmerlin/plugins/fv_tcdisplay.so
-lib/gmerlin/plugins/fv_tctweak.so
-lib/gmerlin/plugins/fv_textlogo.so
-lib/gmerlin/plugins/fv_tlp.so
-lib/gmerlin/plugins/fv_transform.so
-lib/gmerlin/plugins/fv_zoom.so
-%%ALSA%%lib/gmerlin/plugins/i_alsa.so
-%%CDIO%%lib/gmerlin/plugins/i_cdaudio.so
-lib/gmerlin/plugins/i_edl.so
-%%JACK%%lib/gmerlin/plugins/i_jack.so
-%%QUICKTIME%%lib/gmerlin/plugins/i_lqt.so
-lib/gmerlin/plugins/i_mikmod.so
-lib/gmerlin/plugins/i_oss.so
-%%PULSEAUDIO%%lib/gmerlin/plugins/i_pulse.so
-lib/gmerlin/plugins/i_x11.so
-lib/gmerlin/plugins/ir_bmp.so
-lib/gmerlin/plugins/ir_gavl.so
-%%JPEG%%lib/gmerlin/plugins/ir_jpeg.so
-%%PNG%%lib/gmerlin/plugins/ir_png.so
-lib/gmerlin/plugins/ir_pnm.so
-lib/gmerlin/plugins/ir_tga.so
-%%TIFF%%lib/gmerlin/plugins/ir_tiff.so
-lib/gmerlin/plugins/iw_bmp.so
-lib/gmerlin/plugins/iw_gavl.so
-%%JPEG%%lib/gmerlin/plugins/iw_jpeg.so
-%%PNG%%lib/gmerlin/plugins/iw_png.so
-lib/gmerlin/plugins/iw_pnm.so
-lib/gmerlin/plugins/iw_tga.so
-%%TIFF%%lib/gmerlin/plugins/iw_tiff.so
-%%ALSA%%lib/gmerlin/plugins/oa_alsa.so
-%%JACK%%lib/gmerlin/plugins/oa_jack.so
-lib/gmerlin/plugins/oa_oss.so
-%%PULSEAUDIO%%lib/gmerlin/plugins/oa_pulse.so
-lib/gmerlin/plugins/ov_x11.so
-lib/gmerlin/plugins/vis_scope.so
-lib/libgmerlin.so
-lib/libgmerlin.so.0
-lib/libgmerlin.so.0.0.0
-lib/libgmerlin_gtk.so
-lib/libgmerlin_gtk.so.0
-lib/libgmerlin_gtk.so.0.0.0
-libdata/pkgconfig/gmerlin-gtk.pc
-libdata/pkgconfig/gmerlin.pc
-man/man1/gmerlin-record.1.gz
-man/man1/gmerlin.1.gz
-man/man1/gmerlin_play.1.gz
-man/man1/gmerlin_remote.1.gz
-man/man1/gmerlin_transcoder.1.gz
-man/man1/gmerlin_transcoder_remote.1.gz
-%%ALSA%%share/applications/gmerlin-alsamixer.desktop
-share/applications/gmerlin-kbd.desktop
-share/applications/gmerlin-player.desktop
-share/applications/gmerlin-plugincfg.desktop
-share/applications/gmerlin-recorder.desktop
-share/applications/gmerlin-transcoder.desktop
-share/applications/gmerlin-visualizer.desktop
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%DATADIR%%/icons/about_16.png
-%%DATADIR%%/icons/add_16.png
-%%DATADIR%%/icons/audio_16.png
-%%DATADIR%%/icons/bottom_16.png
-%%DATADIR%%/icons/camelot_icon.png
-%%DATADIR%%/icons/chapter_16.png
-%%DATADIR%%/icons/close_16.png
-%%DATADIR%%/icons/config_16.png
-%%DATADIR%%/icons/copy_16.png
-%%DATADIR%%/icons/cut_16.png
-%%DATADIR%%/icons/digit_0.png
-%%DATADIR%%/icons/digit_1.png
-%%DATADIR%%/icons/digit_2.png
-%%DATADIR%%/icons/digit_3.png
-%%DATADIR%%/icons/digit_4.png
-%%DATADIR%%/icons/digit_5.png
-%%DATADIR%%/icons/digit_6.png
-%%DATADIR%%/icons/digit_7.png
-%%DATADIR%%/icons/digit_8.png
-%%DATADIR%%/icons/digit_9.png
-%%DATADIR%%/icons/digit_colon.png
-%%DATADIR%%/icons/digit_dot.png
-%%DATADIR%%/icons/digit_minus.png
-%%DATADIR%%/icons/display_mode_all.png
-%%DATADIR%%/icons/display_mode_all_rem.png
-%%DATADIR%%/icons/display_mode_none.png
-%%DATADIR%%/icons/display_mode_rem.png
-%%DATADIR%%/icons/down_16.png
-%%DATADIR%%/icons/drive_16.png
-%%DATADIR%%/icons/drive_error_16.png
-%%DATADIR%%/icons/drive_running_16.png
-%%DATADIR%%/icons/earth_16.png
-%%DATADIR%%/icons/eject_16.png
-%%DATADIR%%/icons/favourites_16.png
-%%DATADIR%%/icons/favourites_closed_16.png
-%%DATADIR%%/icons/favourites_open_16.png
-%%DATADIR%%/icons/filter_16.png
-%%DATADIR%%/icons/find_16.png
-%%DATADIR%%/icons/first_16.png
-%%DATADIR%%/icons/folder_closed_16.png
-%%DATADIR%%/icons/folder_new_16.png
-%%DATADIR%%/icons/folder_open_16.png
-%%DATADIR%%/icons/fullscreen_16.png
-%%DATADIR%%/icons/gmerlin.jpg
-%%DATADIR%%/icons/goto_current_16.png
-%%DATADIR%%/icons/hardware_16.png
-%%DATADIR%%/icons/help_16.png
-%%DATADIR%%/icons/image_16.png
-%%DATADIR%%/icons/incoming_closed_16.png
-%%DATADIR%%/icons/incoming_open_16.png
-%%DATADIR%%/icons/info_16.png
-%%DATADIR%%/icons/kbd_icon.png
-%%DATADIR%%/icons/last_16.png
-%%DATADIR%%/icons/left_16.png
-%%DATADIR%%/icons/lock_16.png
-%%DATADIR%%/icons/log_16.png
-%%DATADIR%%/icons/mixer_icon.png
-%%DATADIR%%/icons/mute_16.png
-%%DATADIR%%/icons/paste_16.png
-%%DATADIR%%/icons/player_icon.png
-%%DATADIR%%/icons/plugin_16.png
-%%DATADIR%%/icons/plugincfg_icon.png
-%%DATADIR%%/icons/quit_16.png
-%%DATADIR%%/icons/record_16.png
-%%DATADIR%%/icons/recorder_icon.png
-%%DATADIR%%/icons/refresh_16.png
-%%DATADIR%%/icons/rename_16.png
-%%DATADIR%%/icons/repeat_mode_1.png
-%%DATADIR%%/icons/repeat_mode_all.png
-%%DATADIR%%/icons/repeat_mode_none.png
-%%DATADIR%%/icons/right_16.png
-%%DATADIR%%/icons/run_16.png
-%%DATADIR%%/icons/save_16.png
-%%DATADIR%%/icons/snapshot_16.png
-%%DATADIR%%/icons/sort_16.png
-%%DATADIR%%/icons/state_buffering_1.png
-%%DATADIR%%/icons/state_buffering_2.png
-%%DATADIR%%/icons/state_buffering_3.png
-%%DATADIR%%/icons/state_buffering_4.png
-%%DATADIR%%/icons/state_buffering_5.png
-%%DATADIR%%/icons/state_changing.png
-%%DATADIR%%/icons/state_error.png
-%%DATADIR%%/icons/state_mute.png
-%%DATADIR%%/icons/state_paused.png
-%%DATADIR%%/icons/state_playing.png
-%%DATADIR%%/icons/state_seeking.png
-%%DATADIR%%/icons/state_stopped.png
-%%DATADIR%%/icons/stop_16.png
-%%DATADIR%%/icons/tab_close.png
-%%DATADIR%%/icons/tearoff_16.png
-%%DATADIR%%/icons/top_16.png
-%%DATADIR%%/icons/tracks_dnd_32.png
-%%DATADIR%%/icons/transcoder_icon.png
-%%DATADIR%%/icons/trash_16.png
-%%DATADIR%%/icons/tree_root_16.png
-%%DATADIR%%/icons/tuner_16.png
-%%DATADIR%%/icons/up_16.png
-%%DATADIR%%/icons/video_16.png
-%%DATADIR%%/icons/visualizer_icon.png
-%%DATADIR%%/icons/windowed_16.png
-%%DATADIR%%/osd/GmerlinOSD.afm
-%%DATADIR%%/osd/GmerlinOSD.pfb
-%%DATADIR%%/plugin.sym
-%%DATADIR%%/skins/Default/close_button.png
-%%DATADIR%%/skins/Default/close_button_cl.png
-%%DATADIR%%/skins/Default/close_button_hl.png
-%%DATADIR%%/skins/Default/mainwin.png
-%%DATADIR%%/skins/Default/mainwin_hl.png
-%%DATADIR%%/skins/Default/menu_button.png
-%%DATADIR%%/skins/Default/menu_button_cl.png
-%%DATADIR%%/skins/Default/menu_button_hl.png
-%%DATADIR%%/skins/Default/next_button.png
-%%DATADIR%%/skins/Default/next_button_cl.png
-%%DATADIR%%/skins/Default/next_button_hl.png
-%%DATADIR%%/skins/Default/pause_button.png
-%%DATADIR%%/skins/Default/pause_button_cl.png
-%%DATADIR%%/skins/Default/pause_button_hl.png
-%%DATADIR%%/skins/Default/play_button.png
-%%DATADIR%%/skins/Default/play_button_cl.png
-%%DATADIR%%/skins/Default/play_button_hl.png
-%%DATADIR%%/skins/Default/previous_button.png
-%%DATADIR%%/skins/Default/previous_button_cl.png
-%%DATADIR%%/skins/Default/previous_button_hl.png
-%%DATADIR%%/skins/Default/seek_bg.png
-%%DATADIR%%/skins/Default/seek_slider.png
-%%DATADIR%%/skins/Default/seek_slider_cl.png
-%%DATADIR%%/skins/Default/seek_slider_hl.png
-%%DATADIR%%/skins/Default/seek_slider_in.png
-%%DATADIR%%/skins/Default/skin.xml
-%%DATADIR%%/skins/Default/stop_button.png
-%%DATADIR%%/skins/Default/stop_button_cl.png
-%%DATADIR%%/skins/Default/stop_button_hl.png
-%%DATADIR%%/skins/Default/volume_bg.png
-%%DATADIR%%/skins/Default/volume_slider.png
-%%DATADIR%%/skins/Default/volume_slider_cl.png
-%%DATADIR%%/skins/Default/volume_slider_hl.png
-%%DATADIR%%/skins/Default/volume_slider_in.png
-share/icons/hicolor/48x48/apps/gmerlin-alsamixer.png
-share/icons/hicolor/48x48/apps/gmerlin-camelot.png
-share/icons/hicolor/48x48/apps/gmerlin-kbd.png
-share/icons/hicolor/48x48/apps/gmerlin-player.png
-share/icons/hicolor/48x48/apps/gmerlin-plugincfg.png
-share/icons/hicolor/48x48/apps/gmerlin-recorder.png
-share/icons/hicolor/48x48/apps/gmerlin-transcoder.png
-share/icons/hicolor/48x48/apps/gmerlin-visualizer.png
-share/locale/de/LC_MESSAGES/gmerlin.mo
diff --git a/multimedia/gmmlib/Makefile b/multimedia/gmmlib/Makefile
index 5dc91d5d00a4..258bf0af3961 100644
--- a/multimedia/gmmlib/Makefile
+++ b/multimedia/gmmlib/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gmmlib
DISTVERSIONPREFIX= intel-${PORTNAME}-
-DISTVERSION= 22.1.3
+DISTVERSION= 22.3.18
CATEGORIES= multimedia
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@@ -8,14 +8,15 @@ PATCHFILES+= f17dd87c7f57.patch:-p1 # https://github.com/intel/gmmlib/pull/67
PATCHFILES+= 4356a33c787c.patch:-p1 # https://github.com/intel/gmmlib/pull/68
PATCHFILES+= a75809957583.patch:-p1 # https://github.com/intel/gmmlib/pull/68
PATCHFILES+= 978f7d56f88a.patch:-p1 # https://github.com/intel/gmmlib/pull/68
-PATCHFILES+= c090ac40e189.patch:-p1 # https://github.com/intel/gmmlib/pull/68
+PATCHFILES+= 8ebe65625f71.patch:-p1 # https://github.com/intel/gmmlib/pull/68
PATCHFILES+= 072810163a05.patch:-p1 # https://github.com/intel/gmmlib/pull/68
PATCHFILES+= ab150305017a.patch:-p1 # https://github.com/intel/gmmlib/pull/68
PATCHFILES+= 0d45ab8163e7.patch:-p1 # https://github.com/intel/gmmlib/pull/68
PATCHFILES+= 4ae2fd0de966.patch:-p1 # https://github.com/intel/gmmlib/pull/68
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Intel Graphics Memory Management Library
+WWW= https://01.org/intel-media-for-linux
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.md
diff --git a/multimedia/gmmlib/distinfo b/multimedia/gmmlib/distinfo
index ec26684db232..d6267fa6b3d5 100644
--- a/multimedia/gmmlib/distinfo
+++ b/multimedia/gmmlib/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1651830706
-SHA256 (intel-gmmlib-intel-gmmlib-22.1.3_GH0.tar.gz) = 81dbb4ddec98bb18c3a038cd40222046ae7f5b24b2d5acbfb2400f39f02f2aaf
-SIZE (intel-gmmlib-intel-gmmlib-22.1.3_GH0.tar.gz) = 813386
+TIMESTAMP = 1710968459
+SHA256 (intel-gmmlib-intel-gmmlib-22.3.18_GH0.tar.gz) = 381f7ad104e3d0d8dd6c3ec0c8304e410a479c439e72db35c83fb7e2b0ec556f
+SIZE (intel-gmmlib-intel-gmmlib-22.3.18_GH0.tar.gz) = 846277
SHA256 (f17dd87c7f57.patch) = 0bdfd22e8f36a097c875796c7bbf7003a16cc7535fdf5d3caa3a7de9dc21c28e
SIZE (f17dd87c7f57.patch) = 1485
SHA256 (4356a33c787c.patch) = bfcb39e72f470bc695a6c356bc0ad06c7ac6b8f0f4b64b41deb3d0678ec29171
@@ -9,8 +9,8 @@ SHA256 (a75809957583.patch) = 96fe52e6c1f2c995a2c70b36dbe627cc1b7482c0f5a0ce4939
SIZE (a75809957583.patch) = 900
SHA256 (978f7d56f88a.patch) = fb290b8d6f2119ad032a445e717f3ce94bb91c2353dbd45ad522d0b3e1be3ef8
SIZE (978f7d56f88a.patch) = 731
-SHA256 (c090ac40e189.patch) = 63c3dd2806769f01a191b51f851a85cf6072b4bfc4396ad3b6e34bd4009f4acd
-SIZE (c090ac40e189.patch) = 3239
+SHA256 (8ebe65625f71.patch) = 497abaccf11ce380a05133ab22ab30261d49e08b118450287ff40d5ff2850349
+SIZE (8ebe65625f71.patch) = 3028
SHA256 (072810163a05.patch) = a803ac48e0b281adffd03977f9156477d89f8973d22ed5614fa494a7c485f671
SIZE (072810163a05.patch) = 18665
SHA256 (ab150305017a.patch) = ca80f780a84ee6f720181adac5bcfa593a2b452fe2b2f1f2319007457ecbb40c
diff --git a/multimedia/gmmlib/pkg-descr b/multimedia/gmmlib/pkg-descr
index 8770943b0164..4327ece045b3 100644
--- a/multimedia/gmmlib/pkg-descr
+++ b/multimedia/gmmlib/pkg-descr
@@ -1,5 +1,3 @@
The Intel Graphics Memory Management Library provides device specific
and buffer management for the Intel Graphics Compute Runtime for
OpenCL and the Intel Media Driver for VAAPI.
-
-WWW: https://01.org/intel-media-for-linux
diff --git a/multimedia/gmmlib/pkg-plist b/multimedia/gmmlib/pkg-plist
index 082ab9b472a5..34d111c5ef30 100644
--- a/multimedia/gmmlib/pkg-plist
+++ b/multimedia/gmmlib/pkg-plist
@@ -7,6 +7,7 @@ include/igdgmm/GmmLib/CachePolicy/GmmGen12CachePolicy.h
include/igdgmm/GmmLib/CachePolicy/GmmGen12dGPUCachePolicy.h
include/igdgmm/GmmLib/CachePolicy/GmmGen8CachePolicy.h
include/igdgmm/GmmLib/CachePolicy/GmmGen9CachePolicy.h
+include/igdgmm/GmmLib/CachePolicy/GmmXe_LPGCachePolicy.h
include/igdgmm/GmmLib/Platform/GmmPlatforms.h
include/igdgmm/GmmLib/Texture/GmmTexture.h
include/igdgmm/GmmLib/TranslationTable/GmmUmdTranslationTable.h
@@ -20,6 +21,7 @@ include/igdgmm/GmmLib/inc/External/Common/CachePolicy/GmmCachePolicyGen12.h
include/igdgmm/GmmLib/inc/External/Common/CachePolicy/GmmCachePolicyGen12dGPU.h
include/igdgmm/GmmLib/inc/External/Common/CachePolicy/GmmCachePolicyGen8.h
include/igdgmm/GmmLib/inc/External/Common/CachePolicy/GmmCachePolicyGen9.h
+include/igdgmm/GmmLib/inc/External/Common/CachePolicy/GmmCachePolicyXe_LPG.h
include/igdgmm/GmmLib/inc/External/Common/GmmCachePolicy.h
include/igdgmm/GmmLib/inc/External/Common/GmmCachePolicyCommon.h
include/igdgmm/GmmLib/inc/External/Common/GmmCachePolicyExt.h
@@ -61,5 +63,5 @@ include/igdgmm/util/g_gfxDebug.h
include/igdgmm/util/gfxDebug.h
lib/libigdgmm.so
lib/libigdgmm.so.12
-lib/libigdgmm.so.12.1.0
+lib/libigdgmm.so.12.3.0
libdata/pkgconfig/igdgmm.pc
diff --git a/multimedia/gmp-api/Makefile b/multimedia/gmp-api/Makefile
index 638dcea3eb3d..aea9f21dd414 100644
--- a/multimedia/gmp-api/Makefile
+++ b/multimedia/gmp-api/Makefile
@@ -1,10 +1,11 @@
PORTNAME= gmp-api
DISTVERSIONPREFIX= Firefox
-DISTVERSION= 92
+DISTVERSION= 114_2
CATEGORIES= multimedia
MAINTAINER= gecko@FreeBSD.org
COMMENT= Gecko Media Plugins API extracted from Firefox
+WWW= https://wiki.mozilla.org/GeckoMediaPlugins
LICENSE= APACHE20 BSD3CLAUSE
LICENSE_COMB= multi
diff --git a/multimedia/gmp-api/distinfo b/multimedia/gmp-api/distinfo
index 0c853ebaae7b..692c5538061c 100644
--- a/multimedia/gmp-api/distinfo
+++ b/multimedia/gmp-api/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1634069441
-SHA256 (mozilla-gmp-api-Firefox92_GH0.tar.gz) = 21fb6a8628b2cdcee2a34801d68a27dfecaa76d882843ebc4ee24c9249d45ff6
-SIZE (mozilla-gmp-api-Firefox92_GH0.tar.gz) = 10466
+TIMESTAMP = 1681927136
+SHA256 (mozilla-gmp-api-Firefox114_2_GH0.tar.gz) = c7fd4ae00dfa19bdc485fe6bfd08a337e245ec0f16a52891bcdede39aca8aed3
+SIZE (mozilla-gmp-api-Firefox114_2_GH0.tar.gz) = 10923
diff --git a/multimedia/gmp-api/pkg-descr b/multimedia/gmp-api/pkg-descr
index c836644d565a..ee28a0fc35d3 100644
--- a/multimedia/gmp-api/pkg-descr
+++ b/multimedia/gmp-api/pkg-descr
@@ -2,5 +2,3 @@ Gecko Media Plugins API is a special purpose extension point for
authorised 3rd party codecs and Encrypted Media Extensions Content
Decryption Modules. It's supported in applications like Firefox and
SeaMonkey as well as Firefox OS.
-
-WWW: https://wiki.mozilla.org/GeckoMediaPlugins
diff --git a/multimedia/gmtk/Makefile b/multimedia/gmtk/Makefile
index eea296694ee3..9cebd4acaeef 100644
--- a/multimedia/gmtk/Makefile
+++ b/multimedia/gmtk/Makefile
@@ -1,11 +1,12 @@
PORTNAME= gmtk
PORTVERSION= 1.0.9
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= multimedia gnome devel
MASTER_SITES= https://pkgs.rpmfusion.org/repo/pkgs/free/gmtk/gmtk-1.0.9.tar.gz/9184658014ca7b325b569ac7417e4860/
MAINTAINER= ports@FreeBSD.org
COMMENT= Library for gnome-mplayer and gecko-mediaplayer
+WWW= http://code.google.com/p/gmtk/
LICENSE= GPLv2
diff --git a/multimedia/gmtk/pkg-descr b/multimedia/gmtk/pkg-descr
index 4b8e56099a8c..28fc08b514ba 100644
--- a/multimedia/gmtk/pkg-descr
+++ b/multimedia/gmtk/pkg-descr
@@ -2,5 +2,3 @@ GNOME MPlayer Toolkit is a library for gnome-mplayer and gecko-mediaplayer.
libgmlib - a set of functions that support non-graphical operations
libgmtk - a set of gtk widgets to use with gnome-mplayer
-
-WWW: http://code.google.com/p/gmtk/
diff --git a/multimedia/gnome-mplayer/Makefile b/multimedia/gnome-mplayer/Makefile
index bc5a9aa28f10..8fa6c94e2d28 100644
--- a/multimedia/gnome-mplayer/Makefile
+++ b/multimedia/gnome-mplayer/Makefile
@@ -1,14 +1,13 @@
-# Created by: Alexander Logvinov <ports@logvinov.com>
-
PORTNAME= gnome-mplayer
PORTVERSION= 1.0.9
-PORTREVISION= 4
+PORTREVISION= 9
CATEGORIES= multimedia gnome
MASTER_SITES= https://launchpad.net/ubuntu/+archive/primary/+files/
DISTNAME= gnome-mplayer_1.0.9.orig
MAINTAINER= ports@FreeBSD.org
COMMENT= GNOME frontend for MPlayer
+WWW= http://kdekorte.googlepages.com/gnomemplayer
LICENSE= GPLv2
@@ -26,6 +25,7 @@ GLIB_SCHEMAS= apps.gecko-mediaplayer.preferences.gschema.xml \
apps.gnome-mplayer.preferences.gschema.xml
USE_XORG= x11 xscrnsaver
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_ARGS= --disable-nautilus \
--disable-nemo \
--disable-schemas-install \
diff --git a/multimedia/gnome-mplayer/pkg-descr b/multimedia/gnome-mplayer/pkg-descr
index 7a55663f906c..6b10f86f1dff 100644
--- a/multimedia/gnome-mplayer/pkg-descr
+++ b/multimedia/gnome-mplayer/pkg-descr
@@ -5,5 +5,3 @@ multiple instances of GNOME MPlayer from a single command.
The player can be used to play media on websites
when used with Gecko Mediaplayer
-
-WWW: http://kdekorte.googlepages.com/gnomemplayer
diff --git a/multimedia/gnome-mplayer/pkg-plist b/multimedia/gnome-mplayer/pkg-plist
index a6567ce196e5..d480c6645421 100644
--- a/multimedia/gnome-mplayer/pkg-plist
+++ b/multimedia/gnome-mplayer/pkg-plist
@@ -1,5 +1,5 @@
bin/gnome-mplayer
-man/man1/gnome-mplayer.1.gz
+share/man/man1/gnome-mplayer.1.gz
share/applications/gnome-mplayer.desktop
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
diff --git a/multimedia/gnome-twitch/Makefile b/multimedia/gnome-twitch/Makefile
deleted file mode 100644
index 3a8859afbabf..000000000000
--- a/multimedia/gnome-twitch/Makefile
+++ /dev/null
@@ -1,69 +0,0 @@
-PORTNAME= gnome-twitch
-DISTVERSIONPREFIX= v
-DISTVERSION= 0.4.1-155
-DISTVERSIONSUFFIX= -g8e774a0
-PORTREVISION= 2
-CATEGORIES= multimedia
-
-MAINTAINER= greg@unrelenting.technology
-COMMENT= GTK+ Twitch livestream player
-
-LICENSE= GPLv3+
-LICENSE_FILE= ${WRKSRC}/GPL3
-
-BROKEN= Doesn't work, multiple bug reports upstream
-DEPRECATED= Unmaintained, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= libjson-glib-1.0.so:devel/json-glib \
- libpeas-1.0.so:devel/libpeas \
- libsoup-2.4.so:devel/libsoup \
- libwebkit2gtk-4.0.so:www/webkit2-gtk3
-
-USES= compiler:c11 gettext gnome meson pkgconfig python:3.5+,build \
- tar:xz xorg
-USE_GITHUB= yes
-USE_LDCONFIG= yes
-USE_GNOME= gtk30
-USE_XORG= x11
-
-GH_ACCOUNT= vinszent
-GLIB_SCHEMAS= com.vinszent.GnomeTwitch.gschema.xml
-
-# for meson_post-install.py
-BINARY_ALIAS= python3=${PYTHON_CMD}
-# prevent stray USE_GNOME=gdkpixbuf2
-LDFLAGS+= -Wl,--as-needed
-MESON_ARGS= -Dbuild-player-backends=${PLAYER_BACKENDS:tl:S/_/-/:ts,}
-
-OPTIONS_MULTI= BACKEND
-OPTIONS_MULTI_BACKEND= GSTREAMER_CAIRO GSTREAMER_CLUTTER GSTREAMER_OPENGL \
- MPV_OPENGL
-OPTIONS_DEFAULT= MPV_OPENGL
-OPTIONS_SUB= yes
-
-GSTREAMER_CAIRO_DESC= GStreamer decoding + Cairo drawing backend
-GSTREAMER_OPENGL_DESC= GStreamer decoding + OpenGL drawing backend
-GSTREAMER_CLUTTER_DESC= GStreamer decoding + Clutter drawing backend
-MPV_OPENGL_DESC= MPV decoding + OpenGL drawing backend
-
-GSTREAMER_CAIRO_USES= gstreamer
-GSTREAMER_OPENGL_USES= gstreamer
-GSTREAMER_CLUTTER_USES= gstreamer
-
-GSTREAMER_CLUTTER_LIB_DEPENDS= libclutter-1.0.so:graphics/clutter \
- libclutter-gst-3.0.so:multimedia/clutter-gst3 \
- libclutter-gtk-1.0.so:graphics/clutter-gtk3
-GSTREAMER_CLUTTER_USE= GSTREAMER=hls
-
-GSTREAMER_CAIRO_USE= GSTREAMER=cairo,hls
-GSTREAMER_OPENGL_USE= GSTREAMER=hls
-
-MPV_OPENGL_LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
- libmpv.so:multimedia/mpv
-
-.for opt in ${OPTIONS_MULTI_BACKEND}
-${opt}_VARS= PLAYER_BACKENDS+=${opt}
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/gnome-twitch/distinfo b/multimedia/gnome-twitch/distinfo
deleted file mode 100644
index 497980d826c7..000000000000
--- a/multimedia/gnome-twitch/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1558380115
-SHA256 (vinszent-gnome-twitch-v0.4.1-155-g8e774a0_GH0.tar.gz) = a0cf299ed29ac04e60a70a2c8af3ed71172d1baf10478bce02b08cdbbe9d82ac
-SIZE (vinszent-gnome-twitch-v0.4.1-155-g8e774a0_GH0.tar.gz) = 1435834
diff --git a/multimedia/gnome-twitch/pkg-descr b/multimedia/gnome-twitch/pkg-descr
deleted file mode 100644
index 1e6f64d2119a..000000000000
--- a/multimedia/gnome-twitch/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-GTK based player for Twitch.tv online live video streams.
-
-WWW: http://gnome-twitch.vinszent.com
diff --git a/multimedia/gnome-twitch/pkg-plist b/multimedia/gnome-twitch/pkg-plist
deleted file mode 100644
index c9fcc9044c97..000000000000
--- a/multimedia/gnome-twitch/pkg-plist
+++ /dev/null
@@ -1,38 +0,0 @@
-bin/gnome-twitch
-include/gnome-twitch/gt-log.h
-include/gnome-twitch/gt-player-backend.h
-lib/girepository-1.0/GnomeTwitch-0.4.1.typelib
-%%GSTREAMER_CAIRO%%lib/gnome-twitch/player-backends/libplayer-backend-gstreamer-cairo.so
-%%GSTREAMER_CLUTTER%%lib/gnome-twitch/player-backends/libplayer-backend-gstreamer-clutter.so
-%%GSTREAMER_OPENGL%%lib/gnome-twitch/player-backends/libplayer-backend-gstreamer-opengl.so
-%%MPV_OPENGL%%lib/gnome-twitch/player-backends/libplayer-backend-mpv-opengl.so
-%%GSTREAMER_CAIRO%%lib/gnome-twitch/player-backends/player-backend-gstreamer-cairo.plugin
-%%GSTREAMER_CLUTTER%%lib/gnome-twitch/player-backends/player-backend-gstreamer-clutter.plugin
-%%GSTREAMER_OPENGL%%lib/gnome-twitch/player-backends/player-backend-gstreamer-opengl.plugin
-%%MPV_OPENGL%%lib/gnome-twitch/player-backends/player-backend-mpv-opengl.plugin
-lib/libgnome-twitch.so
-lib/libgnome-twitch.so.0
-lib/libgnome-twitch.so.0.4.1
-libdata/pkgconfig/gnome-twitch.pc
-share/gir-1.0/GnomeTwitch-0.4.1.gir
-share/applications/com.vinszent.GnomeTwitch.desktop
-share/icons/hicolor/16x16/apps/com.vinszent.GnomeTwitch.png
-share/icons/hicolor/24x24/apps/com.vinszent.GnomeTwitch.png
-share/icons/hicolor/256x256/apps/com.vinszent.GnomeTwitch.png
-share/icons/hicolor/32x32/apps/com.vinszent.GnomeTwitch.png
-share/icons/hicolor/48x48/apps/com.vinszent.GnomeTwitch.png
-share/icons/hicolor/512x512/apps/com.vinszent.GnomeTwitch.png
-share/icons/hicolor/scalable/apps/com.vinszent.GnomeTwitch.svg
-share/icons/hicolor/symbolic/apps/com.vinszent.GnomeTwitch-symbolic.svg
-share/locale/cs/LC_MESSAGES/gnome-twitch.mo
-share/locale/de/LC_MESSAGES/gnome-twitch.mo
-share/locale/es/LC_MESSAGES/gnome-twitch.mo
-share/locale/fr/LC_MESSAGES/gnome-twitch.mo
-share/locale/hu/LC_MESSAGES/gnome-twitch.mo
-share/locale/nl/LC_MESSAGES/gnome-twitch.mo
-share/locale/pl/LC_MESSAGES/gnome-twitch.mo
-share/locale/pt/LC_MESSAGES/gnome-twitch.mo
-share/locale/ru/LC_MESSAGES/gnome-twitch.mo
-share/locale/sr/LC_MESSAGES/gnome-twitch.mo
-share/locale/sv/LC_MESSAGES/gnome-twitch.mo
-share/metainfo/com.vinszent.GnomeTwitch.appdata.xml
diff --git a/multimedia/gpac-libgpac/Makefile b/multimedia/gpac-libgpac/Makefile
index 349b6968c4c4..bf4898320dd4 100644
--- a/multimedia/gpac-libgpac/Makefile
+++ b/multimedia/gpac-libgpac/Makefile
@@ -1,15 +1,14 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTNAME= gpac
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.0
-PORTREVISION= 1
+PORTREVISION= 3
PORTEPOCH= 1
CATEGORIES= multimedia
PKGNAMESUFFIX= -libgpac
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Gpac MPEG-4 Systems library and headers
+WWW= https://gpac.sourceforge.net/
LICENSE= LGPL21
@@ -57,7 +56,8 @@ PNG_CONFIGURE_OFF= --use-png=no
post-patch:
${REINPLACE_CMD} -e 's|s/\.\*\\(\[0-9\]\\)\\+\$$/\\1/|s/^[^0-9]*//| ;\
- /CFLAGS=/s/-O3//' ${WRKSRC}/configure
+ /CFLAGS=/s/-O3// ; s/-export-dynamic/-Wl,--export-dynamic/' \
+ ${WRKSRC}/configure
post-install:
${INSTALL_DATA} ${WRKSRC}/gpac.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig
diff --git a/multimedia/gpac-libgpac/files/patch-src_evg_raster__yuv.c b/multimedia/gpac-libgpac/files/patch-src_evg_raster__yuv.c
new file mode 100644
index 000000000000..1df26219359e
--- /dev/null
+++ b/multimedia/gpac-libgpac/files/patch-src_evg_raster__yuv.c
@@ -0,0 +1,11 @@
+--- src/evg/raster_yuv.c.orig 2022-12-08 16:12:27 UTC
++++ src/evg/raster_yuv.c
+@@ -1291,7 +1291,7 @@ GF_Err evg_surface_clear_yuyv(GF_EVGSurface *_surf, GF
+ #define set_u16_le(_ptr, val) { ((u8 *)_ptr)[0] = (val>>8)&0xFF; ((u8 *)_ptr)[1] = (val&0xFF); }
+ #define set_u16_be(_ptr, val) { *(u16 *) _ptr = (u16) val; }
+
+-#define get_u16_le(val, _ptr) { val = ((u32) (*(u8 *) ptr+1)<< 8) | *(u8 *) ptr; }
++#define get_u16_le(val, _ptr) { val = ((u32) (*(u8 *) _ptr+1)<< 8) | *(u8 *) _ptr; }
+ #define get_u16_be(val, _ptr) { val = *(u16 *) (_ptr); }
+
+ #else
diff --git a/multimedia/gpac-libgpac/pkg-descr b/multimedia/gpac-libgpac/pkg-descr
index bcbab0683696..34bc1b4a1224 100644
--- a/multimedia/gpac-libgpac/pkg-descr
+++ b/multimedia/gpac-libgpac/pkg-descr
@@ -1,3 +1 @@
Gpac MPEG-4 Systems library and headers
-
-WWW: http://gpac.sourceforge.net/
diff --git a/multimedia/gpac-mp4box/Makefile b/multimedia/gpac-mp4box/Makefile
index 133cd41de6e3..5f9120d9e63d 100644
--- a/multimedia/gpac-mp4box/Makefile
+++ b/multimedia/gpac-mp4box/Makefile
@@ -1,19 +1,21 @@
-# Created by: Pascal Vizeli <pvizeli@yahoo.de>
-
PORTNAME= mp4box
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.0
+PORTREVISION= 1
CATEGORIES= multimedia
PKGNAMEPREFIX= gpac-
MAINTAINER= ports@FreeBSD.org
COMMENT= Tool for merge mpg4 from Gpac
+WWW= https://gpac.sourceforge.net/
LICENSE= LGPL21
LIB_DEPENDS= libgpac.so:multimedia/gpac-libgpac
-USES= localbase:ldflags
+USES= cpe localbase:ldflags
+
+CPE_VENDOR= gpac
USE_GITHUB= yes
GH_ACCOUNT= gpac
@@ -22,7 +24,7 @@ GH_PROJECT= gpac
LDFLAGS+= -lgpac
WRKSRC_SUBDIR= applications/mp4box
-PLIST_FILES= bin/mp4box man/man1/mp4box.1.gz
+PLIST_FILES= bin/mp4box share/man/man1/mp4box.1.gz
do-build:
cd ${WRKSRC} && ${CC} ${CFLAGS} ${LDFLAGS} -o mp4box \
@@ -31,6 +33,6 @@ do-build:
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/mp4box ${STAGEDIR}${PREFIX}/bin/mp4box
${INSTALL_MAN} ${WRKSRC}/../../share/doc/man/mp4box.1 \
- ${STAGEDIR}${PREFIX}/man/man1/mp4box.1
+ ${STAGEDIR}${PREFIX}/share/man/man1/mp4box.1
.include <bsd.port.mk>
diff --git a/multimedia/gpac-mp4box/pkg-descr b/multimedia/gpac-mp4box/pkg-descr
index 3cd126d578fe..3ce363b3787a 100644
--- a/multimedia/gpac-mp4box/pkg-descr
+++ b/multimedia/gpac-mp4box/pkg-descr
@@ -2,5 +2,3 @@ mp4box is a mp4 container merge tool from gpac.
Documentation here:
http://gpac.sourceforge.net/doc_mp4box.php
-
-WWW: http://gpac.sourceforge.net/
diff --git a/multimedia/gpodder/Makefile b/multimedia/gpodder/Makefile
index 073491cea418..91d484ef5137 100644
--- a/multimedia/gpodder/Makefile
+++ b/multimedia/gpodder/Makefile
@@ -1,12 +1,11 @@
-# Created by: Chess Griffin <chess@chessgriffin.com>
-
PORTNAME= gpodder
-DISTVERSION= 3.10.17
+DISTVERSION= 3.11.4
PORTREVISION= 1
CATEGORIES= multimedia python
MAINTAINER= rm@FreeBSD.org
COMMENT= Media aggregator and podcast client
+WWW= https://gpodder.github.io/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -22,7 +21,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>=0:databases/py-sqlite3@${PY_FLAVOR}
yt-dlp:www/yt-dlp \
${PYTHON_PKGNAMEPREFIX}eyed3>=0:audio/py-eyed3@${PY_FLAVOR}
-USES= gettext gmake gnome python:3.5+ shebangfix
+USES= gettext gmake gnome python shebangfix
USE_GITHUB= yes
@@ -32,7 +31,7 @@ OPTIONS_SUB= yes
OPTIONS_EXCLUDE= NLS
ALL_TARGET= messages
-MAKE_ENV= PYTHON=${PYTHON_CMD} GPODDER_MANPATH_NO_SHARE="yes"
+MAKE_ENV= PYTHON=${PYTHON_CMD}
MAKEFILE= makefile
NO_ARCH= yes
diff --git a/multimedia/gpodder/distinfo b/multimedia/gpodder/distinfo
index 650fba3753fc..184c5326eb96 100644
--- a/multimedia/gpodder/distinfo
+++ b/multimedia/gpodder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1606379883
-SHA256 (gpodder-gpodder-3.10.17_GH0.tar.gz) = 36a04e4d6a81f50b50d1f7691955d4f460e72f71b9519dad42b805a987434210
-SIZE (gpodder-gpodder-3.10.17_GH0.tar.gz) = 1064129
+TIMESTAMP = 1700341691
+SHA256 (gpodder-gpodder-3.11.4_GH0.tar.gz) = 8022a6c29157dc287b5661f8915d04404767c33b6858e8d1a6c728904f8dae55
+SIZE (gpodder-gpodder-3.11.4_GH0.tar.gz) = 1183463
diff --git a/multimedia/gpodder/pkg-descr b/multimedia/gpodder/pkg-descr
index 90824f434374..f0ec3432f0fa 100644
--- a/multimedia/gpodder/pkg-descr
+++ b/multimedia/gpodder/pkg-descr
@@ -6,5 +6,3 @@ Listen directly on your computer or on your mobile devices.
* Synchronize between devices with full gpodder.net integration
* Easily customizable - support for user-defined hooks and plugins
* Open Source and Free Software (GPL v3 or later)
-
-WWW: https://gpodder.github.io/
diff --git a/multimedia/gpodder/pkg-plist b/multimedia/gpodder/pkg-plist
index 1e7a7012a32d..28e3b96e0511 100644
--- a/multimedia/gpodder/pkg-plist
+++ b/multimedia/gpodder/pkg-plist
@@ -1,164 +1,135 @@
bin/gpo
-man/man1/gpo.1.gz
-man/man1/gpodder-migrate2tres.1.gz
-%%GTK3%%man/man1/gpodder.1.gz
%%GTK3%%bin/gpodder
bin/gpodder-migrate2tres
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/build_info.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/build_info.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/common.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/common.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/core.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/core.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/coverart.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/coverart.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbsqlite.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbsqlite.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbusproxy.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbusproxy.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/deviceplaylist.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/deviceplaylist.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/directory.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/directory.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/download.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/download.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/escapist_videos.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/escapist_videos.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/extensions.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/extensions.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/feedcore.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/feedcore.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/jsonconfig.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/jsonconfig.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/log.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/log.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/minidb.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/minidb.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/my.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/my.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/opml.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/opml.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/player.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/player.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/query.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/query.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/registry.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/registry.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/schema.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/schema.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/services.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/services.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/sync.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/syncui.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/syncui.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/unittests.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/unittests.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32ctypes.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32ctypes.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32locale.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32locale.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/vimeo.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/vimeo.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/youtube.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/youtube.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder-%%PORTVERSION%%-py%%PYTHON_VER%%.egg-info
-%%PYTHON_SITELIBDIR%%/gpodder/build_info.py
-%%PYTHON_SITELIBDIR%%/gpodder/deviceplaylist.py
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/app.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/app.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/base.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/config.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/desktopfile.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/desktopfile.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/download.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/download.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/draw.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/draw.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/macosx.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/macosx.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/services.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/services.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/shownotes.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/shownotes.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/widgets.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/widgets.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/app.py
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/channel.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/channel.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/episodeselector.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/episodeselector.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/exportlocal.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/exportlocal.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/podcastdirectory.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/podcastdirectory.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/preferences.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/welcome.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/welcome.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/exportlocal.py
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/addpodcast.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/addpodcast.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/common.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/common.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/configeditor.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/configeditor.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/progress.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/searchtree.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/searchtree.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/tagcloud.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/tagcloud.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/soundcloud.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/soundcloud.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/syncui.py
-%%PYTHON_SITELIBDIR%%/gpodder/test/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/test/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/test/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/test/__pycache__/model.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/gpodder/utilwin32ctypes.py
-%%PYTHON_SITELIBDIR%%/gpodder/utilwin32locale.py
+%%PYTHON_SITELIBDIR%%/gpodder-%%PORTVERSION%%-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%PYTHON_SITELIBDIR%%/gpodder-%%PORTVERSION%%-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%PYTHON_SITELIBDIR%%/gpodder-%%PORTVERSION%%-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%PYTHON_SITELIBDIR%%/gpodder-%%PORTVERSION%%-py%%PYTHON_VER%%.egg-info/top_level.txt
%%PYTHON_SITELIBDIR%%/gpodder/__init__.py
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/build_info%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/build_info%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/common%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/config%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/core%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/core%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/coverart%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/coverart%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbsqlite%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbsqlite%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbusproxy%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/dbusproxy%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/deviceplaylist%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/deviceplaylist%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/directory%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/directory%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/download%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/download%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/extensions%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/extensions%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/feedcore%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/feedcore%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/jsonconfig%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/jsonconfig%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/libgpod_ctypes%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/libgpod_ctypes%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/log%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/log%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/minidb%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/minidb%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/model%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/model%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/my%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/my%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/opml%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/opml%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/player%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/player%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/query%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/query%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/registry%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/registry%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/schema%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/schema%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/services%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/services%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/sync%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/sync%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/syncui%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/syncui%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/util%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/util%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32ctypes%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32ctypes%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32locale%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/utilwin32locale%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/vimeo%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/vimeo%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/youtube%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/__pycache__/youtube%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/build_info.py
%%PYTHON_SITELIBDIR%%/gpodder/common.py
%%PYTHON_SITELIBDIR%%/gpodder/config.py
%%PYTHON_SITELIBDIR%%/gpodder/core.py
%%PYTHON_SITELIBDIR%%/gpodder/coverart.py
%%PYTHON_SITELIBDIR%%/gpodder/dbsqlite.py
%%PYTHON_SITELIBDIR%%/gpodder/dbusproxy.py
+%%PYTHON_SITELIBDIR%%/gpodder/deviceplaylist.py
%%PYTHON_SITELIBDIR%%/gpodder/directory.py
%%PYTHON_SITELIBDIR%%/gpodder/download.py
-%%PYTHON_SITELIBDIR%%/gpodder/escapist_videos.py
%%PYTHON_SITELIBDIR%%/gpodder/extensions.py
%%PYTHON_SITELIBDIR%%/gpodder/feedcore.py
-%%PYTHON_SITELIBDIR%%/gpodder/registry.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__init__.py
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/app%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/app%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/base%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/base%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/config%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/config%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/desktopfile%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/desktopfile%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/download%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/download%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/draw%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/draw%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/macosx%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/macosx%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/main%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/main%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/model%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/model%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/services%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/services%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/shownotes%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/shownotes%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/widgets%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/__pycache__/widgets%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/app.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/base.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/config.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__init__.py
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/channel%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/channel%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/episodeselector%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/episodeselector%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/exportlocal%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/exportlocal%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/podcastdirectory%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/podcastdirectory%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/preferences%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/preferences%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/welcome%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/__pycache__/welcome%%PYTHON_EXT_SUFFIX%%.pyc
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/channel.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/episodeselector.py
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/exportlocal.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/podcastdirectory.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/preferences.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/desktop/welcome.py
@@ -166,6 +137,20 @@ bin/gpodder-migrate2tres
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/download.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/draw.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__init__.py
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/addpodcast%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/addpodcast%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/common%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/common%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/configeditor%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/configeditor%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/progress%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/progress%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/searchtree%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/searchtree%%PYTHON_EXT_SUFFIX%%.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/tagcloud%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/__pycache__/tagcloud%%PYTHON_EXT_SUFFIX%%.pyc
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/addpodcast.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/common.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/interface/configeditor.py
@@ -179,6 +164,7 @@ bin/gpodder-migrate2tres
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/shownotes.py
%%GTK3%%%%PYTHON_SITELIBDIR%%/gpodder/gtkui/widgets.py
%%PYTHON_SITELIBDIR%%/gpodder/jsonconfig.py
+%%PYTHON_SITELIBDIR%%/gpodder/libgpod_ctypes.py
%%PYTHON_SITELIBDIR%%/gpodder/log.py
%%PYTHON_SITELIBDIR%%/gpodder/minidb.py
%%PYTHON_SITELIBDIR%%/gpodder/model.py
@@ -186,26 +172,33 @@ bin/gpodder-migrate2tres
%%PYTHON_SITELIBDIR%%/gpodder/opml.py
%%PYTHON_SITELIBDIR%%/gpodder/player.py
%%PYTHON_SITELIBDIR%%/gpodder/plugins/__init__.py
+%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/soundcloud%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gpodder/plugins/__pycache__/soundcloud%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/gpodder/plugins/soundcloud.py
%%PYTHON_SITELIBDIR%%/gpodder/query.py
+%%PYTHON_SITELIBDIR%%/gpodder/registry.py
%%PYTHON_SITELIBDIR%%/gpodder/schema.py
%%PYTHON_SITELIBDIR%%/gpodder/services.py
%%PYTHON_SITELIBDIR%%/gpodder/sync.py
-%%PYTHON_SITELIBDIR%%/gpodder/test/__init__.py
-%%PYTHON_SITELIBDIR%%/gpodder/test/model.py
-%%PYTHON_SITELIBDIR%%/gpodder/unittests.py
+%%PYTHON_SITELIBDIR%%/gpodder/syncui.py
%%PYTHON_SITELIBDIR%%/gpodder/util.py
+%%PYTHON_SITELIBDIR%%/gpodder/utilwin32ctypes.py
+%%PYTHON_SITELIBDIR%%/gpodder/utilwin32locale.py
%%PYTHON_SITELIBDIR%%/gpodder/vimeo.py
%%PYTHON_SITELIBDIR%%/gpodder/youtube.py
-%%GTK3%%share/applications/gpodder.desktop
%%GTK3%%share/applications/gpodder-url-handler.desktop
+%%GTK3%%share/applications/gpodder.desktop
%%GTK3%%share/dbus-1/services/org.gpodder.service
share/gpodder/examples/gpodder_mark_played.py
share/gpodder/examples/hello_world.py
share/gpodder/extensions/audio_converter.py
+share/gpodder/extensions/command_on_download.py
share/gpodder/extensions/concatenate_videos.py
share/gpodder/extensions/enqueue_in_mediaplayer.py
share/gpodder/extensions/episode_website_context_menu.py
+share/gpodder/extensions/filter.py
share/gpodder/extensions/gtk_statusicon.py
share/gpodder/extensions/minimize_on_start.py
share/gpodder/extensions/mpris-listener.py
@@ -238,19 +231,16 @@ share/gpodder/images/podcast-2.png
share/gpodder/images/podcast-3.png
share/gpodder/images/podcast-4.png
share/gpodder/images/podcast-all.png
-share/gpodder/extensions/command_on_download.py
-share/gpodder/extensions/filter.py
-%%GTK3%%share/gpodder/ui/gtk/gpodderexporttolocalfolder.ui
-%%GTK3%%share/gpodder/ui/gtk/menus.ui
-%%GTK3%%share/metainfo/org.gpodder.gpodder.appdata.xml
%%GTK3%%share/gpodder/ui/gtk/gpodder.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderaddpodcast.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderchannel.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderconfigeditor.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderepisodeselector.ui
+%%GTK3%%share/gpodder/ui/gtk/gpodderexporttolocalfolder.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderpodcastdirectory.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderpreferences.ui
%%GTK3%%share/gpodder/ui/gtk/gpodderwelcome.ui
+%%GTK3%%share/gpodder/ui/gtk/menus.ui
%%GTK3%%share/icons/hicolor/16x16/apps/gpodder.png
%%GTK3%%share/icons/hicolor/22x22/apps/gpodder.png
%%GTK3%%share/icons/hicolor/24x24/apps/gpodder.png
@@ -288,8 +278,12 @@ share/locale/pt/LC_MESSAGES/gpodder.mo
share/locale/pt_BR/LC_MESSAGES/gpodder.mo
share/locale/ro/LC_MESSAGES/gpodder.mo
share/locale/ru/LC_MESSAGES/gpodder.mo
+share/locale/sk/LC_MESSAGES/gpodder.mo
share/locale/sv/LC_MESSAGES/gpodder.mo
share/locale/tr/LC_MESSAGES/gpodder.mo
-share/locale/tr_TR/LC_MESSAGES/gpodder.mo
share/locale/uk/LC_MESSAGES/gpodder.mo
share/locale/zh_CN/LC_MESSAGES/gpodder.mo
+share/man/man1/gpo.1.gz
+share/man/man1/gpodder-migrate2tres.1.gz
+%%GTK3%%share/man/man1/gpodder.1.gz
+%%GTK3%%share/metainfo/org.gpodder.gpodder.appdata.xml
diff --git a/multimedia/grake/Makefile b/multimedia/grake/Makefile
deleted file mode 100644
index 96732eb67709..000000000000
--- a/multimedia/grake/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Created by: Pierre Guinoiseau <geekounet@poildetroll.net>
-
-PORTNAME= grake
-PORTVERSION= 0.1.0
-PORTREVISION= 1
-CATEGORIES= multimedia
-MASTER_SITES= https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/grake/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Command line tool for scanning webpages for Youtube links
-
-LICENSE= GPLv3+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BROKEN= Doesn't work
-DEPRECATED= Dead upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= p5-Getopt-ArgvFile>=1.11:devel/p5-Getopt-ArgvFile \
- p5-Umph-Prompt>=0:multimedia/p5-Umph-Prompt \
- p5-libwww>=5.835:www/p5-libwww
-RUN_DEPENDS= p5-Getopt-ArgvFile>=1.11:devel/p5-Getopt-ArgvFile \
- p5-Umph-Prompt>=0:multimedia/p5-Umph-Prompt \
- p5-libwww>=5.835:www/p5-libwww
-TEST_DEPENDS= p5-Test-Pod>=1:devel/p5-Test-Pod
-
-USES= perl5
-USE_PERL5= configure
-NO_ARCH= yes
-
-PLIST_FILES= bin/grake ${SITE_MAN1}/grake.1.gz
-
-.include <bsd.port.mk>
diff --git a/multimedia/grake/distinfo b/multimedia/grake/distinfo
deleted file mode 100644
index 84c80435adea..000000000000
--- a/multimedia/grake/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (grake-0.1.0.tar.gz) = a9286f5cf5696ca391e2b54dbb307fe1db58cd9449aa40f04523b24459f00639
-SIZE (grake-0.1.0.tar.gz) = 19336
diff --git a/multimedia/grake/pkg-descr b/multimedia/grake/pkg-descr
deleted file mode 100644
index d0df7f5fbbb7..000000000000
--- a/multimedia/grake/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-grake is a command line tool for scanning webpages for Youtube links.
-
-WWW: https://code.google.com/archive/p/grake/
diff --git a/multimedia/gst123/Makefile b/multimedia/gst123/Makefile
index 2ea008f699fc..a22feefd8b4e 100644
--- a/multimedia/gst123/Makefile
+++ b/multimedia/gst123/Makefile
@@ -1,13 +1,12 @@
-# Created by: Herbert J. Skuhra <h.skuhra@gmail.com>
-
PORTNAME= gst123
PORTVERSION= 0.3.3
-PORTREVISION= 3
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= http://space.twc.de/~stefan/gst123/
MAINTAINER= h.skuhra@gmail.com
COMMENT= Command-line tool to play audio and video files
+WWW= https://space.twc.de/~stefan/gst123.php
LICENSE= LGPL20
@@ -18,12 +17,12 @@ USE_GNOME= gtk20
CONFIGURE_ENV= NCURSES5_CONFIG=/usr/bin/true
LDFLAGS+= -ltinfo -lncurses
-PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1.gz
+PLIST_FILES= bin/${PORTNAME} share/man/man1/${PORTNAME}.1.gz
USE_GSTREAMER= good
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/src/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.mk>
diff --git a/multimedia/gst123/pkg-descr b/multimedia/gst123/pkg-descr
index 816cc206f50e..dde82a16dac5 100644
--- a/multimedia/gst123/pkg-descr
+++ b/multimedia/gst123/pkg-descr
@@ -3,5 +3,3 @@ ogg123 and mpg123, based on GStreamer. It plays all file formats GStreamer
understands, so if you have a music collection which contains different file
formats, like FLAC, Ogg, and MP3, you can use gst123 to play all your music
files.
-
-WWW: http://space.twc.de/~stefan/gst123.php
diff --git a/multimedia/gstreamer1-editing-services/Makefile b/multimedia/gstreamer1-editing-services/Makefile
index 70e33204d24b..edd00c0d9f00 100644
--- a/multimedia/gstreamer1-editing-services/Makefile
+++ b/multimedia/gstreamer1-editing-services/Makefile
@@ -1,28 +1,34 @@
-# Created by: Koop Mast <kwm@FreeBSD.org>
-
PORTNAME= gstreamer1-editing-services
-PORTVERSION= 1.16.2
-PORTREVISION= 2
+PORTVERSION= ${_GST_VERSION}
+PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= http://gstreamer.freedesktop.org/src/gstreamer-editing-services/
-DISTNAME= gstreamer-editing-services-${PORTVERSION}
+MASTER_SITES= https://gstreamer.freedesktop.org/src/gstreamer-editing-services/
+DISTNAME= gst-editing-services-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GStreamer editing services
+WWW= http://gstreamer.freedeskop.org
LICENSE= LGPL20
-USES= compiler:c11 gmake gnome gstreamer libtool pathfix perl5 python:3.6-3.9 pkgconfig tar:xz
+USES= bison compiler:c11 gnome gstreamer meson ninja python pkgconfig tar:xz
USE_LDCONFIG= yes
-USE_PERL5= build
-GNU_CONFIGURE= yes
USE_GNOME= glib20 introspection:build libxml2 pygobject3:build
-USE_GSTREAMER= good
-INSTALL_TARGET= install-strip
+USE_GSTREAMER= good bad
PORTSCOUT= limitw:1,even
-CONFIGURE_ARGS= --enable-introspection=yes \
- --with-bash-completion-dir=${PREFIX}/share/bash-completion/completions
-PLIST_SUB= VERSION=1.0 SOVERSION=0.1602.0
+CONFIGURE_ARGS= -Ddoc=disabled \
+ -Dvalidate=disabled \
+ -Dpygi-overrides-dir=${PYTHON_SITELIBDIR}/gstreamer-editing-services
+PLIST_SUB= VERSION=1.0 SOVERSION=0.2210.0
+
+BINARY_ALIAS= python3=${PYTHON_VERSION}
+
+OPTIONS_DEFINE= BASH
+OPTIONS_DEFAULT=BASH
+OPTIONS_SUB= yes
+
+BASH_BUILD_DEPENDS= bash-completion>0:shells/bash-completion
+BASH_MESON_ENABLED= bash-completion
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-editing-services/distinfo b/multimedia/gstreamer1-editing-services/distinfo
index 1c5761c4cc48..aa7c7f1d3992 100644
--- a/multimedia/gstreamer1-editing-services/distinfo
+++ b/multimedia/gstreamer1-editing-services/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575825901
-SHA256 (gstreamer-editing-services-1.16.2.tar.xz) = 0e06a6191a0c6c16e16272bf2573cecaeb245f10629486ad940a299bef700c16
-SIZE (gstreamer-editing-services-1.16.2.tar.xz) = 1086324
+TIMESTAMP = 1709533972
+SHA256 (gst-editing-services-1.22.10.tar.xz) = bfb1ee1b352dd4d929c3a5b7fe19071a6c62b4828bb70318ad44bcf06828e9f0
+SIZE (gst-editing-services-1.22.10.tar.xz) = 835084
diff --git a/multimedia/gstreamer1-editing-services/pkg-descr b/multimedia/gstreamer1-editing-services/pkg-descr
index 99a4e20bdf0a..010f0bd38062 100644
--- a/multimedia/gstreamer1-editing-services/pkg-descr
+++ b/multimedia/gstreamer1-editing-services/pkg-descr
@@ -1,4 +1,2 @@
GStreamer Editing Services (GES) is a high-level library for facilitating
the creation of audio/video non-linear editors.
-
-WWW: http://gstreamer.freedeskop.org
diff --git a/multimedia/gstreamer1-editing-services/pkg-plist b/multimedia/gstreamer1-editing-services/pkg-plist
index a3ac2aad5be9..823e247f3554 100644
--- a/multimedia/gstreamer1-editing-services/pkg-plist
+++ b/multimedia/gstreamer1-editing-services/pkg-plist
@@ -23,6 +23,7 @@ include/gstreamer-%%VERSION%%/ges/ges-gerror.h
include/gstreamer-%%VERSION%%/ges/ges-group.h
include/gstreamer-%%VERSION%%/ges/ges-image-source.h
include/gstreamer-%%VERSION%%/ges/ges-layer.h
+include/gstreamer-%%VERSION%%/ges/ges-marker-list.h
include/gstreamer-%%VERSION%%/ges/ges-meta-container.h
include/gstreamer-%%VERSION%%/ges/ges-multi-file-source.h
include/gstreamer-%%VERSION%%/ges/ges-operation-clip.h
@@ -34,15 +35,18 @@ include/gstreamer-%%VERSION%%/ges/ges-prelude.h
include/gstreamer-%%VERSION%%/ges/ges-project.h
include/gstreamer-%%VERSION%%/ges/ges-screenshot.h
include/gstreamer-%%VERSION%%/ges/ges-source-clip.h
+include/gstreamer-%%VERSION%%/ges/ges-source-clip-asset.h
include/gstreamer-%%VERSION%%/ges/ges-source.h
include/gstreamer-%%VERSION%%/ges/ges-test-clip.h
include/gstreamer-%%VERSION%%/ges/ges-text-overlay-clip.h
include/gstreamer-%%VERSION%%/ges/ges-text-overlay.h
+include/gstreamer-%%VERSION%%/ges/ges-time-overlay-clip.h
include/gstreamer-%%VERSION%%/ges/ges-timeline-element.h
include/gstreamer-%%VERSION%%/ges/ges-timeline.h
include/gstreamer-%%VERSION%%/ges/ges-title-clip.h
include/gstreamer-%%VERSION%%/ges/ges-title-source.h
include/gstreamer-%%VERSION%%/ges/ges-track-element-asset.h
+include/gstreamer-%%VERSION%%/ges/ges-track-element-deprecated.h
include/gstreamer-%%VERSION%%/ges/ges-track-element.h
include/gstreamer-%%VERSION%%/ges/ges-track.h
include/gstreamer-%%VERSION%%/ges/ges-transition-clip.h
@@ -60,15 +64,15 @@ include/gstreamer-%%VERSION%%/ges/ges-video-uri-source.h
include/gstreamer-%%VERSION%%/ges/ges-xml-formatter.h
include/gstreamer-%%VERSION%%/ges/ges.h
lib/girepository-1.0/GES-%%VERSION%%.typelib
+lib/gst-validate-launcher/python/launcher/apps/geslaunch.py
lib/gstreamer-%%VERSION%%/libgstges.so
lib/gstreamer-%%VERSION%%/libgstnle.so
lib/libges-%%VERSION%%.so
lib/libges-%%VERSION%%.so.0
lib/libges-%%VERSION%%.so.%%SOVERSION%%
%%PYTHON_SITELIBDIR%%/gstreamer-editing-services/GES.py
-%%PYTHON_SITELIBDIR%%/gstreamer-editing-services/__pycache__/GES.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/gstreamer-editing-services/__pycache__/GES.cpython-%%PYTHON_SUFFIX%%.pyc
libdata/pkgconfig/gst-editing-services-%%VERSION%%.pc
-man/man1/ges-launch-%%VERSION%%.1.gz
-share/bash-completion/completions/ges-launch-%%VERSION%%
+share/man/man1/ges-launch-%%VERSION%%.1.gz
+%%BASH%%share/bash-completion/completions/ges-launch-%%VERSION%%
share/gir-1.0/GES-%%VERSION%%.gir
+share/gstreamer-%%VERSION%%/validate/scenarios/ges-edit-clip-while-paused.scenario
diff --git a/multimedia/gstreamer1-libav/Makefile b/multimedia/gstreamer1-libav/Makefile
index 4b8e75596742..a3d0a8616b30 100644
--- a/multimedia/gstreamer1-libav/Makefile
+++ b/multimedia/gstreamer1-libav/Makefile
@@ -1,50 +1,28 @@
-# Created by: Koop Mast <kwm@rainbow-runner.nl>
-
PORTNAME= gstreamer1-libav
-PORTVERSION= 1.16.2
+DISTVERSION= ${_GST_VERSION}
CATEGORIES= multimedia
-MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-libav/
-DISTNAME= gst-libav-${PORTVERSION}
-
-PATCH_SITES= https://gitlab.freedesktop.org/gstreamer/gst-libav/-/commit/
-PATCHFILES+= 07b43c727c9a.patch:-p1 # https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/127
+MASTER_SITES= https://gstreamer.freedesktop.org/src/gst-libav/
+DISTNAME= gst-libav-${DISTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GStreamer plug-in with many audio/video decoders/encoders
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL20+
-LICENSE_FILE= ${WRKSRC}/COPYING.LIB
+LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= orc>=0.4.16:devel/orc
-LIB_DEPENDS= liborc-0.4.so:devel/orc
+LIB_DEPENDS= liborc-0.4.so:devel/orc \
+ libavcodec.so:multimedia/ffmpeg
PORTSCOUT= limitw:1,even
-USES= compiler:features gettext-runtime gmake gnome gstreamer libtool localbase \
- pkgconfig python:build tar:xz
-USE_LDCONFIG= yes
+USES= bison gettext-runtime gnome gstreamer libtool localbase \
+ meson ninja pkgconfig python:build shebangfix tar:xz
USE_GNOME= glib20
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-
-OPTIONS_DEFINE= FFMPEG
-OPTIONS_DEFAULT=FFMPEG
-
-FFMPEG_DESC?= Use system ffmpeg instead of internal libav
-FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-FFMPEG_CONFIGURE_WITH= system-libav
-FFMPEG_BUILD_DEPENDS_OFF= nasm:devel/nasm
-FFMPEG_MAKE_ENV_OFF= V=1
-FFMPEG_VARS_OFF+= NOPRECIOUSMAKEVARS=yes # ARCH
-
-.include <bsd.port.options.mk>
-
-.if empty(PORT_OPTIONS:MFFMPEG)
-LDFLAGS_aarch64= -Wl,-z,notext
-.endif
+SHEBANG_FILES= scripts/gen-changelog.py \
+ scripts/extract-release-date-from-doap-file.py
-post-patch:
- @${REINPLACE_CMD} -e 's|-Werror||g' \
- ${WRKSRC}/configure
+MESON_ARGS= -Ddoc=disabled
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-libav/distinfo b/multimedia/gstreamer1-libav/distinfo
index c2a3b536868f..8592aedaa1fd 100644
--- a/multimedia/gstreamer1-libav/distinfo
+++ b/multimedia/gstreamer1-libav/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1575825716
-SHA256 (gst-libav-1.16.2.tar.xz) = c724f612700c15a933c7356fbeabb0bb9571fb5538f8b1b54d4d2d94188deef2
-SIZE (gst-libav-1.16.2.tar.xz) = 9466288
-SHA256 (07b43c727c9a.patch) = a0331d46d744dba3885a3834457ed071111b49eccfda70ebada914090831f12b
-SIZE (07b43c727c9a.patch) = 1237
+TIMESTAMP = 1709533956
+SHA256 (gst-libav-1.22.10.tar.xz) = d6dda7aa38a44173278de675ccd92acff0abf473f7bc02e7d1cdd4ce0f3b7642
+SIZE (gst-libav-1.22.10.tar.xz) = 206616
diff --git a/multimedia/gstreamer1-libav/pkg-descr b/multimedia/gstreamer1-libav/pkg-descr
index 6077d7d3f496..9cdd0d013280 100644
--- a/multimedia/gstreamer1-libav/pkg-descr
+++ b/multimedia/gstreamer1-libav/pkg-descr
@@ -1,5 +1,3 @@
The GStreamer libav package provides mpeg support for GStreamer.
It includes codecs for most popular formats, and optimized
colourspace conversion.
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer1-libav/pkg-plist b/multimedia/gstreamer1-libav/pkg-plist
index e61456f3a70a..bedffff6e24c 100644
--- a/multimedia/gstreamer1-libav/pkg-plist
+++ b/multimedia/gstreamer1-libav/pkg-plist
@@ -1,23 +1 @@
lib/gstreamer-1.0/libgstlibav.so
-share/gtk-doc/html/gst-libav-plugins-1.0/ch01.html
-share/gtk-doc/html/gst-libav-plugins-1.0/ch02.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-1.0.devhelp2
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-GstFFMpegAudDec.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-GstFFMpegAudEnc.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-GstFFMpegVidDec.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-GstFFMpegVidEnc.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-gstav.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-gstavcfg.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-gstavcodecmap.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-gstavprotocol.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-gstavutils.html
-share/gtk-doc/html/gst-libav-plugins-1.0/gst-libav-plugins-plugin-libav.html
-share/gtk-doc/html/gst-libav-plugins-1.0/home.png
-share/gtk-doc/html/gst-libav-plugins-1.0/index.html
-share/gtk-doc/html/gst-libav-plugins-1.0/left-insensitive.png
-share/gtk-doc/html/gst-libav-plugins-1.0/left.png
-share/gtk-doc/html/gst-libav-plugins-1.0/right-insensitive.png
-share/gtk-doc/html/gst-libav-plugins-1.0/right.png
-share/gtk-doc/html/gst-libav-plugins-1.0/style.css
-share/gtk-doc/html/gst-libav-plugins-1.0/up-insensitive.png
-share/gtk-doc/html/gst-libav-plugins-1.0/up.png
diff --git a/multimedia/gstreamer1-plugins-all/Makefile b/multimedia/gstreamer1-plugins-all/Makefile
index 7e8d806965f6..721773f2aedf 100644
--- a/multimedia/gstreamer1-plugins-all/Makefile
+++ b/multimedia/gstreamer1-plugins-all/Makefile
@@ -1,23 +1,13 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTNAME= gstreamer1-plugins-all
-PORTVERSION= 1.16
-PORTREVISION= 2
+PORTVERSION= ${_GST_VERSION}
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Meta-port of all GStreamer 1.x plugins
+WWW= https://gstreamer.freedesktop.org/
USES= gstreamer metaport
-
-# Weed out gst-plugins that can not be packaged. or are broken.
-.if defined(PACKAGE_BUILDING)
-# FAAC: Mp4 Dolby license , no package
-# LAME: MP3 License , no package
-# VDPAU: Needs to be build agains running kernel
-USE_GSTREAMER= ${_GST_PLUGINS_VER:Nfaac:Nlame:Nvdpau}
-.else
USE_GSTREAMER= ${_GST_PLUGINS_VER}
-.endif
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-plugins-all/pkg-descr b/multimedia/gstreamer1-plugins-all/pkg-descr
index 6997bf57da7d..88a812c0106f 100644
--- a/multimedia/gstreamer1-plugins-all/pkg-descr
+++ b/multimedia/gstreamer1-plugins-all/pkg-descr
@@ -1,3 +1 @@
Meta-port of all gstreamer-plugins.
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer1-plugins-aom/Makefile b/multimedia/gstreamer1-plugins-aom/Makefile
index 6501591beca8..6a98c17e38aa 100644
--- a/multimedia/gstreamer1-plugins-aom/Makefile
+++ b/multimedia/gstreamer1-plugins-aom/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 17
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer (libaom) plugin
@@ -8,4 +8,8 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libaom.so:multimedia/aom
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-aom/pkg-plist b/multimedia/gstreamer1-plugins-aom/pkg-plist
new file mode 100644
index 000000000000..a7fc16b5a906
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-aom/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstaom.so
diff --git a/multimedia/gstreamer1-plugins-assrender/Makefile b/multimedia/gstreamer1-plugins-assrender/Makefile
index a152852e391c..4c5ab20a7fbe 100644
--- a/multimedia/gstreamer1-plugins-assrender/Makefile
+++ b/multimedia/gstreamer1-plugins-assrender/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer ASS/SSA text renderer plugin
@@ -8,4 +8,10 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libass.so:multimedia/libass
+
.include "${MASTERDIR}/Makefile"
+
+USES+= compiler:c11
diff --git a/multimedia/gstreamer1-plugins-assrender/pkg-plist b/multimedia/gstreamer1-plugins-assrender/pkg-plist
new file mode 100644
index 000000000000..675f908991c1
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-assrender/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstassrender.so
diff --git a/multimedia/gstreamer1-plugins-bad/Makefile b/multimedia/gstreamer1-plugins-bad/Makefile
index 3094d1c9c108..0674a2a288f6 100644
--- a/multimedia/gstreamer1-plugins-bad/Makefile
+++ b/multimedia/gstreamer1-plugins-bad/Makefile
@@ -1,5 +1,3 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTREVISION= 2
CATEGORIES= multimedia
@@ -8,25 +6,113 @@ COMMENT= GStreamer-plugins that need more quality, testing or documentation
GST_PLUGIN= bad
GST_PLUGIN_SUFFIX= -bad
-MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+USES+= xorg
+USE_XORG+=x11
-BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat
+MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
DIST= bad
-BAD_GST_DIRS= gst-libs sys gst po pkgconfig
-# "extra" plugins enabled by default in Makefile.common
-BAD_GST_DIRS+= ext/bz2
+BAD_GST_ENABLED_PLUGINS=accurip \
+ adaptivedemux \
+ adpcmdec \
+ adpcmenc \
+ aes \
+ aiff \
+ asfmux \
+ audio \
+ audiobuffersplit \
+ audiofxbad \
+ audiolatency \
+ audiomixmatrix \
+ audiovisualizers \
+ autoconvert \
+ basecamerabinsrc \
+ bayer \
+ bz2 \
+ camerabin2 \
+ codecalpha \
+ codecparsers \
+ codecs \
+ codectimestamper \
+ coloreffects \
+ data \
+ debugutils \
+ dvbsubenc \
+ dvbsuboverlay \
+ dvdspu \
+ examples \
+ faceoverlay \
+ festival \
+ fieldanalysis \
+ freeverb \
+ frei0r \
+ gaudieffects \
+ gdp \
+ geometrictransform \
+ id3tag \
+ insertbin \
+ inter \
+ interfaces \
+ interlace \
+ ipcpipeline \
+ isoff \
+ ivfparse \
+ ivtc \
+ jp2kdecimator \
+ jpegformat \
+ librfb \
+ midi \
+ mpegdemux \
+ mpegpsmux \
+ mpegts \
+ mpegtsdemux \
+ mpegtsmux \
+ mxf \
+ netsim \
+ nls \
+ onvif \
+ pcapparse \
+ pkgconfig \
+ play \
+ player \
+ pnm \
+ proxy \
+ rawparse \
+ removesilence \
+ rist \
+ rtmp2 \
+ rtp \
+ sctp \
+ sdp \
+ segmentclip \
+ shm \
+ siren \
+ smooth \
+ speed \
+ subenc \
+ switchbin \
+ timecode \
+ transcode \
+ transcoder \
+ uridownloader \
+ videofilters \
+ videoframe_audiolevel \
+ videoparsers \
+ videosignal \
+ vmnc \
+ webrtc \
+ y4m
+
NO_GSTREAMER_COMMON= yes
PLIST= ${.CURDIR}/pkg-plist
-do-build:
-.for dir in ${BAD_GST_DIRS}
- @(cd ${BUILD_WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET})
-.endfor
-
-do-install:
-.for dir in ${BAD_GST_DIRS}
- @(cd ${INSTALL_WRKSRC}/${dir} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
-.endfor
+USES+=ssl
.include "${MASTERDIR}/Makefile"
+
+USE_GNOME+= glib20 gtk30
+
+BUILD_DEPENDS+= v4l_compat>=1.0.20100321:multimedia/v4l_compat \
+ gtk3>=3.10:x11-toolkits/gtk30
+
+LIB_DEPENDS+=libnice.so:net-im/libnice
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
new file mode 100644
index 000000000000..e3eefedf06b9
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-data_meson.build
@@ -0,0 +1,12 @@
+--- data/meson.build.orig 2023-01-23 19:29:34 UTC
++++ data/meson.build
+@@ -1,3 +1,4 @@
++if get_option('data').enabled()
+ encoding_targetsdir = join_paths(get_option('datadir'),
+ 'gstreamer-' + api_version, 'encoding-profiles')
+
+@@ -28,3 +29,4 @@ meson.add_devenv(env)
+ env = environment()
+ env.prepend('GST_ENCODING_TARGET_PATH', srcdirs)
+ meson.add_devenv(env)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build
new file mode 100644
index 000000000000..da6913ecbf4c
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_dash_meson.build
@@ -0,0 +1,21 @@
+--- ext/dash/meson.build.orig 2022-09-13 21:07:32 UTC
++++ ext/dash/meson.build
+@@ -45,9 +45,15 @@ if xml2_dep.found()
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ link_args : noseh_link_args,
+ include_directories : [configinc, libsinc],
+- dependencies : [gstadaptivedemux_dep, gsturidownloader_dep, gsttag_dep,
+- gstnet_dep, gstpbutils_dep, gstbase_dep, gstisoff_dep,
+- gio_dep, xml2_dep],
++ dependencies : [cc.find_library('gstadaptivedemux-1.0', required : true),
++ cc.find_library('gsturidownloader-1.0', required : true),
++ dependency('gstreamer-tag-1.0'),
++ dependency('gstreamer-net-1.0'),
++ dependency('gstreamer-pbutils-1.0'),
++ gstbase_dep,
++ cc.find_library('gstisoff-1.0', required : true),
++ gio_dep,
++ xml2_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build
new file mode 100644
index 000000000000..cc1e561b6d3d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_hls_meson.build
@@ -0,0 +1,12 @@
+--- ext/hls/meson.build.orig 2022-09-16 17:38:38 UTC
++++ ext/hls/meson.build
+@@ -58,7 +58,8 @@ gsthls = library('gsthls',
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gstpbutils_dep, gsttag_dep, gstvideo_dep,
+- gstadaptivedemux_dep, gsturidownloader_dep,
++ cc.find_library('gstadaptivedemux-1.0', required: true),
++ cc.find_library('gsturidownloader-1.0', required: true),
+ hls_crypto_dep, gio_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp b/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp
deleted file mode 100644
index 632a5b18225a..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-ext_opencv_gstcvdilateerode.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- ext/opencv/gstcvdilateerode.cpp.orig 2021-08-02 14:37:33 UTC
-+++ ext/opencv/gstcvdilateerode.cpp
-@@ -89,7 +89,7 @@ gst_cv_dilate_erode_get_type (void)
- {
- static volatile gsize opencv_dilate_erode_type = 0;
-
-- if (g_once_init_enter (&opencv_dilate_erode_type)) {
-+ if (g_once_init_enter ((unsigned long *)&opencv_dilate_erode_type)) {
- GType _type;
- static const GTypeInfo opencv_dilate_erode_info = {
- sizeof (GstCvDilateErodeClass),
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build
new file mode 100644
index 000000000000..91d6ee280f39
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openjpeg_meson.build
@@ -0,0 +1,11 @@
+--- ext/openjpeg/meson.build.orig 2022-09-12 08:53:57 UTC
++++ ext/openjpeg/meson.build
+@@ -18,7 +18,7 @@ if openjpeg_dep.found()
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+ dependencies : [gst_dep, gstvideo_dep, openjpeg_dep,
+- gstcodecparsers_dep, libm],
++ dependency('gstreamer-codecparsers-1.0'), libm],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build
new file mode 100644
index 000000000000..f7b9a0e82bc5
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_openmpt_meson.build
@@ -0,0 +1,11 @@
+--- ext/openmpt/meson.build.orig 2022-06-15 22:36:22 UTC
++++ ext/openmpt/meson.build
+@@ -4,7 +4,7 @@ if openmpt_dep.found()
+ 'gstopenmptdec.c', 'plugin.c',
+ c_args: gst_plugins_bad_args,
+ include_directories: [configinc],
+- dependencies: [gstbadaudio_dep, gstaudio_dep, openmpt_dep],
++ dependencies: [dependency('gstreamer-bad-audio-1.0'), dependency('gstreamer-audio-1.0'), openmpt_dep],
+ install: true,
+ install_dir: plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build
new file mode 100644
index 000000000000..53ad3bf562e7
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_smoothstreaming_meson.build
@@ -0,0 +1,17 @@
+--- ext/smoothstreaming/meson.build.orig 2022-09-16 20:01:19 UTC
++++ ext/smoothstreaming/meson.build
+@@ -13,8 +13,12 @@ if xml28_dep.found()
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ link_args : noseh_link_args,
+ include_directories : [configinc, libsinc],
+- dependencies : [gst_dep, gstadaptivedemux_dep, gstcodecparsers_dep,
+- gsturidownloader_dep, gstisoff_dep, xml28_dep, gio_dep],
++ dependencies : [gst_dep,
++ cc.find_library('gstadaptivedemux-1.0', required : true),
++ dependency('gstreamer-codecparsers-1.0', required : true),
++ cc.find_library('gsturidownloader-1.0', required : true),
++ cc.find_library('gstisoff-1.0', required : true),
++ xml28_dep, gio_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h b/multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h
new file mode 100644
index 000000000000..1ecaa7622f5c
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_spandsp_gstspanplc.h
@@ -0,0 +1,10 @@
+--- ext/spandsp/gstspanplc.h.orig 2022-09-16 22:58:32 UTC
++++ ext/spandsp/gstspanplc.h
+@@ -22,6 +22,7 @@
+
+ #include <gst/gst.h>
+
++#include <spandsp/private/plc.h>
+ #include <spandsp.h>
+
+ G_BEGIN_DECLS
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build
new file mode 100644
index 000000000000..ae302fcad5b1
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtc_meson.build
@@ -0,0 +1,13 @@
+--- ext/webrtc/meson.build.orig 2023-01-23 19:29:34 UTC
++++ ext/webrtc/meson.build
+@@ -12,6 +12,10 @@ webrtc_sources = [
+ 'webrtcdatachannel.c',
+ ]
+
++if not is_variable('libgstwebrtcnice_dep')
++ libgstwebrtcnice_dep=cc.find_library('gstwebrtcnice-1.0', required : true)
++endif
++
+ webrtc_option = get_option('webrtc').require(
+ libgstwebrtcnice_dep.found(), error_message: 'webrtc plugin requires libgstwebrtcnice.')
+ if webrtc_option.disabled()
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build
new file mode 100644
index 000000000000..10e6460bbda0
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-ext_webrtcdsp_meson.build
@@ -0,0 +1,11 @@
+--- ext/webrtcdsp/meson.build.orig 2022-09-07 19:55:24 UTC
++++ ext/webrtcdsp/meson.build
+@@ -17,7 +17,7 @@ if webrtc_dep.found() and gnustl_dep.found()
+ cpp_args : gst_plugins_bad_args,
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+- dependencies : [gstbase_dep, gstaudio_dep, gstbadaudio_dep, webrtc_dep, gnustl_dep],
++ dependencies : [gstbase_dep, gstaudio_dep, dependency('gstreamer-bad-audio-1.0'), webrtc_dep, gnustl_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ override_options : ['cpp_std=c++11'],
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d b/multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d
deleted file mode 100644
index dda40dab4b28..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_a0cd455d
+++ /dev/null
@@ -1,142 +0,0 @@
-From a0cd455dd0e0375c6395fe732173225ea7e18562 Mon Sep 17 00:00:00 2001
-From: Debarshi Ray <rishi@gnu.org>
-Date: Fri, 20 Mar 2020 15:49:06 +0100
-Subject: [PATCH] lv2: Make it build with -fno-common
-
-GCC 10 defaults to -fno-common. This means that global variables shared
-across multiple translation units should be declared as 'extern' in
-header files and defined in exactly one C file. See:
-https://gcc.gnu.org/gcc-10/porting_to.html
-
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125
-
-Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1125>
----
- ext/lv2/gstlv2.c | 33 ++++++++++++++++++++++++++
- ext/lv2/gstlv2.h | 62 ++++++++++++++++++++++++------------------------
- 2 files changed, 64 insertions(+), 31 deletions(-)
-
-diff --git a/ext/lv2/gstlv2.c b/ext/lv2/gstlv2.c
-index 60d502f41a..7feeee1921 100644
---- ext/lv2/gstlv2.c
-+++ ext/lv2/gstlv2.c
-@@ -69,6 +69,39 @@ GST_DEBUG_CATEGORY (lv2_debug);
- #error "Unsupported OS"
- #endif
-
-+LilvWorld *world = NULL;
-+LilvNode *atom_class = NULL;
-+LilvNode *audio_class = NULL;
-+LilvNode *control_class = NULL;
-+LilvNode *cv_class = NULL;
-+LilvNode *event_class = NULL;
-+LilvNode *input_class = NULL;
-+LilvNode *output_class = NULL;
-+LilvNode *preset_class = NULL;
-+LilvNode *state_iface = NULL;
-+LilvNode *state_uri = NULL;
-+
-+LilvNode *integer_prop = NULL;
-+LilvNode *toggled_prop = NULL;
-+LilvNode *designation_pred = NULL;
-+LilvNode *in_place_broken_pred = NULL;
-+LilvNode *optional_pred = NULL;
-+LilvNode *group_pred = NULL;
-+LilvNode *supports_event_pred = NULL;
-+LilvNode *label_pred = NULL;
-+
-+LilvNode *center_role = NULL;
-+LilvNode *left_role = NULL;
-+LilvNode *right_role = NULL;
-+LilvNode *rear_center_role = NULL;
-+LilvNode *rear_left_role = NULL;
-+LilvNode *rear_right_role = NULL;
-+LilvNode *lfe_role = NULL;
-+LilvNode *center_left_role = NULL;
-+LilvNode *center_right_role = NULL;
-+LilvNode *side_left_role = NULL;
-+LilvNode *side_right_role = NULL;
-+
- GstStructure *lv2_meta_all = NULL;
-
- static void
-diff --git a/ext/lv2/gstlv2.h b/ext/lv2/gstlv2.h
-index 177f9b2c19..9f72582294 100644
---- ext/lv2/gstlv2.h
-+++ ext/lv2/gstlv2.h
-@@ -28,40 +28,40 @@
-
- #include "gstlv2utils.h"
-
--LilvWorld *world;
--LilvNode *atom_class;
--LilvNode *audio_class;
--LilvNode *control_class;
--LilvNode *cv_class;
--LilvNode *event_class;
--LilvNode *input_class;
--LilvNode *output_class;
--LilvNode *preset_class;
--LilvNode *state_iface;
--LilvNode *state_uri;
-+extern LilvWorld *world;
-+extern LilvNode *atom_class;
-+extern LilvNode *audio_class;
-+extern LilvNode *control_class;
-+extern LilvNode *cv_class;
-+extern LilvNode *event_class;
-+extern LilvNode *input_class;
-+extern LilvNode *output_class;
-+extern LilvNode *preset_class;
-+extern LilvNode *state_iface;
-+extern LilvNode *state_uri;
-
--LilvNode *integer_prop;
--LilvNode *toggled_prop;
--LilvNode *designation_pred;
--LilvNode *in_place_broken_pred;
--LilvNode *optional_pred;
--LilvNode *group_pred;
--LilvNode *supports_event_pred;
--LilvNode *label_pred;
-+extern LilvNode *integer_prop;
-+extern LilvNode *toggled_prop;
-+extern LilvNode *designation_pred;
-+extern LilvNode *in_place_broken_pred;
-+extern LilvNode *optional_pred;
-+extern LilvNode *group_pred;
-+extern LilvNode *supports_event_pred;
-+extern LilvNode *label_pred;
-
--LilvNode *center_role;
--LilvNode *left_role;
--LilvNode *right_role;
--LilvNode *rear_center_role;
--LilvNode *rear_left_role;
--LilvNode *rear_right_role;
--LilvNode *lfe_role;
--LilvNode *center_left_role;
--LilvNode *center_right_role;
--LilvNode *side_left_role;
--LilvNode *side_right_role;
-+extern LilvNode *center_role;
-+extern LilvNode *left_role;
-+extern LilvNode *right_role;
-+extern LilvNode *rear_center_role;
-+extern LilvNode *rear_left_role;
-+extern LilvNode *rear_right_role;
-+extern LilvNode *lfe_role;
-+extern LilvNode *center_left_role;
-+extern LilvNode *center_right_role;
-+extern LilvNode *side_left_role;
-+extern LilvNode *side_right_role;
-
--GstStructure *lv2_meta_all;
-+extern GstStructure *lv2_meta_all;
-
- void gst_lv2_filter_register_element (GstPlugin *plugin,
- GstStructure * lv2_meta);
---
-GitLab
-
-
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb70 b/multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb70
deleted file mode 100644
index 536a69bcbbd3..000000000000
--- a/multimedia/gstreamer1-plugins-bad/files/patch-git_dc57fb70
+++ /dev/null
@@ -1,26 +0,0 @@
-https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1255
-
-vkerror.c:66:16: error: use of undeclared identifier 'VK_RESULT_BEGIN_RANGE'
- if (result < VK_RESULT_BEGIN_RANGE)
- ^
-
---- ext/vulkan/vkerror.c.orig 2019-04-19 09:16:36 UTC
-+++ ext/vulkan/vkerror.c
-@@ -27,7 +27,7 @@
- #include "vkerror.h"
-
- /* *INDENT-OFF* */
--static const struct
-+static const struct
- {
- VkResult result;
- const char *str;
-@@ -63,8 +63,6 @@ _vk_result_to_string (VkResult result)
-
- if (result >= 0)
- return NULL;
-- if (result < VK_RESULT_BEGIN_RANGE)
-- return "Unknown Error";
-
- for (i = 0; i < G_N_ELEMENTS (vk_result_string_map); i++) {
- if (result == vk_result_string_map[i].result)
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build
new file mode 100644
index 000000000000..99a8f3eafb3e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_adaptivedemux_meson.build
@@ -0,0 +1,20 @@
+--- gst-libs/gst/adaptivedemux/meson.build.orig 2022-09-05 19:47:37 UTC
++++ gst-libs/gst/adaptivedemux/meson.build
+@@ -1,5 +1,8 @@
++if get_option('adaptivedemux').enabled()
+ adaptivedemux_sources = files('gstadaptivedemux.c')
+-adaptivedemux_headers = files('gstadaptivedemux.h')
++adaptivedemux_headers = files('gstadaptivedemux.h',
++ 'adaptive-demux-prelude.h')
++install_headers(adaptivedemux_headers, subdir : 'gstreamer-1.0/gst/adaptivedemux')
+
+ pkg_name = 'gstreamer-adaptivedemux-1.0'
+ gstadaptivedemux = library('gstadaptivedemux-' + api_version,
+@@ -18,4 +21,5 @@ gstadaptivedemux_dep = declare_dependency(link_with :
+ include_directories : [libsinc],
+ dependencies : [gstbase_dep, gsturidownloader_dep])
+
+-meson.override_dependency(pkg_name, gstadaptivedemux_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, gstadaptivedemux_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build
new file mode 100644
index 000000000000..87d10befb10e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_audio_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/audio/meson.build.orig 2022-09-05 20:33:42 UTC
++++ gst-libs/gst/audio/meson.build
+@@ -1,3 +1,4 @@
++if get_option('audio').enabled()
+ badaudio_sources = files('gstnonstreamaudiodecoder.c', 'gstplanaraudioadapter.c')
+ badaudio_headers = files('gstnonstreamaudiodecoder.h', 'audio-bad-prelude.h', 'gstplanaraudioadapter.h')
+ install_headers(badaudio_headers, subdir : 'gstreamer-1.0/gst/audio')
+@@ -52,3 +53,4 @@ gstbadaudio_dep = declare_dependency(link_with : gstba
+ dependencies : [gstaudio_dep, gstbase_dep])
+
+ meson.override_dependency(pkg_name, gstbadaudio_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build
new file mode 100644
index 000000000000..bf9ed256ab87
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_basecamerabinsrc_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/basecamerabinsrc/meson.build.orig 2022-09-05 21:00:40 UTC
++++ gst-libs/gst/basecamerabinsrc/meson.build
+@@ -1,3 +1,4 @@
++if get_option('basecamerabinsrc').enabled()
+ camerabin_sources = files(
+ 'gstcamerabin-enum.c',
+ 'gstcamerabinpreview.c',
+@@ -51,3 +52,4 @@ gstbasecamerabin_dep = declare_dependency(link_with :
+ sources: gen_sources,
+ dependencies : [gstapp_dep])
+ meson.override_dependency(pkg_name, gstbasecamerabin_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
new file mode 100644
index 000000000000..ef3812765c93
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecparsers_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/codecparsers/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/codecparsers/meson.build
+@@ -1,3 +1,4 @@
++if get_option('codecparsers').enabled()
+ codecparser_sources = files([
+ 'gstjpeg2000sampling.c',
+ 'gstjpegparser.c',
+@@ -71,3 +72,4 @@ meson.override_dependency(pkg_name, gstcodecparsers_de
+
+ gst_libraries += [[pkg_name, {'lib': gstcodecparsers}]]
+ meson.override_dependency(pkg_name, gstcodecparsers_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build
new file mode 100644
index 000000000000..b02b8b43b1c8
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_codecs_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/codecs/meson.build.orig 2022-09-05 20:49:44 UTC
++++ gst-libs/gst/codecs/meson.build
+@@ -1,3 +1,4 @@
++if get_option('codecs').enabled()
+ codecs_sources = files(
+ 'gsth264decoder.c',
+ 'gsth264picture.c',
+@@ -81,4 +82,5 @@ gstcodecs_dep = declare_dependency(link_with : gstcode
+ include_directories : [libsinc],
+ sources: gen_sources,
+ dependencies : [gstvideo_dep, gstcodecparsers_dep])
+-meson.override_dependency(pkg_name, gstcodecs_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, gstcodecs_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build
new file mode 100644
index 000000000000..a3823ab4e9a7
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_insertbin_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/insertbin/meson.build.orig 2022-09-05 21:06:02 UTC
++++ gst-libs/gst/insertbin/meson.build
+@@ -1,3 +1,4 @@
++if get_option('insertbin').enabled()
+ insert_sources = files('gstinsertbin.c')
+ insert_headers = files('gstinsertbin.h')
+ install_headers(insert_headers, subdir : 'gstreamer-1.0/gst/insertbin')
+@@ -51,3 +52,4 @@ gstinsertbin_dep = declare_dependency(link_with : gsti
+ dependencies : [gst_dep])
+
+ meson.override_dependency(pkg_name, gstinsertbin_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
new file mode 100644
index 000000000000..05d78c425a45
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_interfaces_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/interfaces/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/interfaces/meson.build
+@@ -1,3 +1,4 @@
++if get_option('interfaces').enabled()
+ photography_sources = ['photography.c']
+ photo_headers = ['photography.h', 'photography-prelude.h']
+ install_headers(photo_headers, subdir : 'gstreamer-1.0/gst/interfaces')
+@@ -40,3 +41,4 @@ meson.override_dependency(pkg_name, gstphotography_dep
+
+ gst_libraries += [[pkg_name, {'lib': gstphotography}]]
+ meson.override_dependency(pkg_name, gstphotography_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build
new file mode 100644
index 000000000000..47a492a31c64
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_isoff_meson.build
@@ -0,0 +1,21 @@
+--- gst-libs/gst/isoff/meson.build.orig 2022-09-15 15:00:43 UTC
++++ gst-libs/gst/isoff/meson.build
+@@ -1,3 +1,4 @@
++if get_option('isoff').enabled()
+ isoff_sources = [
+ 'gstisoff.c',
+ ]
+@@ -6,6 +7,8 @@ isoff_headers = [
+ ]
+ install_headers(isoff_headers, subdir : 'gstreamer-1.0/gst/isoff')
+
++pkg_name = 'gstreamer-isoff-1.0'
++
+ gstisoff = library('gstisoff-' + api_version,
+ isoff_sources,
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_ISOFF', '-DG_LOG_DOMAIN="GStreamer-ISOFF"'],
+@@ -20,3 +23,4 @@ gstisoff = library('gstisoff-' + api_version,
+ gstisoff_dep = declare_dependency(link_with : gstisoff,
+ include_directories : [libsinc],
+ dependencies : [gstbase_dep])
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build
new file mode 100644
index 000000000000..4cc1d85948f8
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_mpegts_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/mpegts/meson.build.orig 2022-09-05 21:11:41 UTC
++++ gst-libs/gst/mpegts/meson.build
+@@ -1,3 +1,4 @@
++if get_option('mpegts').enabled()
+ mpegts_sources = files(
+ 'mpegts.c',
+ 'gstmpegtssection.c',
+@@ -82,3 +83,4 @@ gstmpegts_dep = declare_dependency(link_with : gstmpeg
+ dependencies : [gst_dep],
+ sources : gen_sources)
+ meson.override_dependency(pkg_name, gstmpegts_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build
new file mode 100644
index 000000000000..57c62c02d424
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_play_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/play/meson.build.orig 2022-09-05 21:13:21 UTC
++++ gst-libs/gst/play/meson.build
+@@ -1,3 +1,4 @@
++if get_option('play').enabled()
+ gstplay_sources = files(
+ 'gstplay.c',
+ 'gstplay-signal-adapter.c',
+@@ -74,3 +75,4 @@ gstplay_dep = declare_dependency(link_with : gstplay,
+ gsttag_dep, gstpbutils_dep])
+
+ meson.override_dependency(pkg_name, gstplay_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build
new file mode 100644
index 000000000000..807a3448ee44
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_player_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/player/meson.build.orig 2022-09-05 21:14:52 UTC
++++ gst-libs/gst/player/meson.build
+@@ -1,3 +1,4 @@
++if get_option('player').enabled()
+ gstplayer_sources = files([
+ 'gstplayer.c',
+ 'gstplayer-signal-dispatcher.c',
+@@ -77,3 +78,4 @@ gstplayer_dep = declare_dependency(link_with : gstplay
+ gsttag_dep, gstpbutils_dep])
+
+ meson.override_dependency(pkg_name, gstplayer_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build
new file mode 100644
index 000000000000..c97c79c7eb54
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_sctp_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/sctp/meson.build.orig 2022-09-05 21:16:11 UTC
++++ gst-libs/gst/sctp/meson.build
+@@ -1,3 +1,4 @@
++if get_option('sctp').enabled()
+ sctp_sources = [
+ 'sctpreceivemeta.c',
+ 'sctpsendmeta.c',
+@@ -36,3 +37,4 @@ gstsctp_dep = declare_dependency(link_with : libgstsct
+ dependencies : [gstbase_dep])
+
+ meson.override_dependency(pkg_name, gstsctp_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build
new file mode 100644
index 000000000000..a6f42c3067bd
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_transcoder_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/transcoder/meson.build.orig 2022-09-05 21:18:30 UTC
++++ gst-libs/gst/transcoder/meson.build
+@@ -1,3 +1,4 @@
++if get_option('transcoder').enabled()
+ sources = files(['gsttranscoder.c', 'gsttranscoder-signal-adapter.c'])
+ headers = files(['gsttranscoder.h', 'transcoder-prelude.h', 'gsttranscoder-signal-adapter.h'])
+
+@@ -64,3 +65,4 @@ gst_transcoder_dep = declare_dependency(link_with: gst
+ include_directories : [libsinc]
+ )
+ meson.override_dependency(pkg_name, gst_transcoder_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
new file mode 100644
index 000000000000..2bd58ed8b5fd
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_uridownloader_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/uridownloader/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/uridownloader/meson.build
+@@ -1,3 +1,4 @@
++if get_option('uridownloader').enabled()
+ urid_sources = [
+ 'gstfragment.c',
+ 'gsturidownloader.c',
+@@ -27,4 +28,5 @@ gst_libraries += [[pkg_name, {'lib': gsturidownloader}
+ dependencies : [gstbase_dep])
+
+ gst_libraries += [[pkg_name, {'lib': gsturidownloader}]]
+-meson.override_dependency(pkg_name, gsturidownloader_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, gsturidownloader_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build
new file mode 100644
index 000000000000..51b56b1d3936
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_va_meson.build
@@ -0,0 +1,11 @@
+--- gst-libs/gst/va/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/va/meson.build
+@@ -27,7 +27,7 @@ gstva_dep = dependency('', required : false)
+
+ gstva_dep = dependency('', required : false)
+
+-if host_system != 'linux'
++if get_option('skip_gstva')
+ subdir_done()
+ endif
+
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
new file mode 100644
index 000000000000..a41bf710c35a
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst-libs_gst_webrtc_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/webrtc/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/webrtc/meson.build
+@@ -1,3 +1,4 @@
++if get_option('webrtc').enabled()
+ webrtc_sources = files([
+ 'dtlstransport.c',
+ 'ice.c',
+@@ -102,4 +103,5 @@ meson.override_dependency(pkg_name, gstwebrtc_dep)
+
+ meson.override_dependency(pkg_name, gstwebrtc_dep)
+
+-subdir('nice')
+\ No newline at end of file
++subdir('nice')
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build
new file mode 100644
index 000000000000..3528291dedf8
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-gst_codectimestamper_meson.build
@@ -0,0 +1,12 @@
+--- gst/codectimestamper/meson.build.orig 2023-02-28 08:03:28 UTC
++++ gst/codectimestamper/meson.build
+@@ -9,7 +9,8 @@ gstcodectimestamper = library('gstcodectimestamper',
+ codectimestamper_sources,
+ c_args : gst_plugins_bad_args + [ '-DGST_USE_UNSTABLE_API' ],
+ include_directories : [configinc],
+- dependencies : [gstcodecparsers_dep, gstbase_dep, gstvideo_dep],
++ dependencies : [dependency('gstreamer-codecparsers-1.0', required : true),
++ gstbase_dep, gstvideo_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-meson.build
new file mode 100644
index 000000000000..9fa7faba7c08
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-meson.build
@@ -0,0 +1,18 @@
+--- meson.build.orig 2022-09-04 20:06:36 UTC
++++ meson.build
+@@ -498,6 +498,7 @@ pkgconfig_variables = ['exec_prefix=${prefix}',
+
+ pkgconfig_subdirs = ['gstreamer-1.0']
+
++if get_option('pkgconfig').enabled()
+ pkgconfig.generate(
+ libraries : [gst_dep],
+ variables : pkgconfig_variables,
+@@ -505,6 +506,7 @@ pkgconfig.generate(
+ name : 'gstreamer-plugins-bad-1.0',
+ description : 'Streaming media framework, bad plugins libraries',
+ )
++endif
+
+ gpl_allowed = get_option('gpl').allowed()
+
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt b/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
new file mode 100644
index 000000000000..e68d99888782
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-meson__options.txt
@@ -0,0 +1,44 @@
+--- meson_options.txt.orig 2023-01-23 19:29:34 UTC
++++ meson_options.txt
+@@ -1,5 +1,41 @@ option('gst_play_tests', type: 'boolean', value: false
+ option('gst_play_tests', type: 'boolean', value: false,
+ description: 'Enable GstPlay tests that need network access')
++option('adaptivedemux', type: 'feature', value: 'auto',
++ description: 'adaptivedemux lib')
++option('audio', type: 'feature', value: 'auto',
++ description: 'audio lib')
++option('codecparsers', type: 'feature', value: 'auto',
++ description: 'codecparsers lib')
++option('codecs', type: 'feature', value: 'auto',
++ description: 'codecs lib')
++option('basecamerabinsrc', type: 'feature', value: 'auto',
++ description: 'basecamerabinsrc lib')
++option('insertbin', type: 'feature', value: 'auto',
++ description: 'insertbin lib')
++option('interfaces', type: 'feature', value: 'auto',
++ description: 'interfaces lib')
++option('isoff', type: 'feature', value: 'auto',
++ description: 'isoff lib')
++option('mpegts', type: 'feature', value: 'auto',
++ description: 'mpegts lib')
++option('play', type: 'feature', value: 'auto',
++ description: 'play lib')
++option('player', type: 'feature', value: 'auto',
++ description: 'player lib')
++option('transcoder', type: 'feature', value: 'auto',
++ description: 'transcoder lib')
++option('uridownloader', type: 'feature', value: 'auto',
++ description: 'uridownloader lib')
++option('webrtc', type: 'feature', value: 'auto',
++ description: 'webrtc lib')
++option('tools', type: 'feature', value: 'auto',
++ description: 'tools lib')
++option('data', type: 'feature', value: 'auto',
++ description: 'data lib')
++option('pkgconfig', type: 'feature', value: 'auto',
++ description: 'pkgconfig lib')
++option('skip_gstva', type: 'boolean', value: true,
++ description: 'skip building gst-libs/gst/va, used for multimedia/gstreamer1-vaapi')
+
+ # Feature options for plugins without external deps
+ option('accurip', type : 'feature', value : 'auto')
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build
new file mode 100644
index 000000000000..eba4af58db21
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-sys_kms_meson.build
@@ -0,0 +1,13 @@
+--- sys/kms/meson.build.orig 2022-09-12 09:58:35 UTC
++++ sys/kms/meson.build
+@@ -5,10 +5,6 @@ kmssink_sources = [
+ 'gstkmsutils.c',
+ ]
+
+-if host_system != 'linux'
+- subdir_done()
+-endif
+-
+ libdrm_dep = dependency('libdrm', version : '>= 2.4.98',
+ required : get_option('kms'),
+ fallback: ['libdrm', 'ext_libdrm'])
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build
new file mode 100644
index 000000000000..625d4e8742ed
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-sys_msdk_meson.build
@@ -0,0 +1,16 @@
+--- sys/msdk/meson.build.orig 2022-09-16 08:39:55 UTC
++++ sys/msdk/meson.build
+@@ -169,7 +169,12 @@ if msdk_deps_found
+ msdk_sources,
+ c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API'],
+ include_directories : [configinc, mfx_inc],
+- dependencies : [gstbase_dep, gstvideo_dep, gstpbutils_dep, gstallocators_dep, gstcodecparsers_dep, mfx_dep, msdk_deps],
++ dependencies : [gstbase_dep,
++ dependency('gstreamer-video-1.0', required : true),
++ dependency('gstreamer-pbutils-1.0', required : true),
++ dependency('gstreamer-allocators-1.0', required : true),
++ dependency('gstreamer-codecparsers-1.0', required : true),
++ mfx_dep, msdk_deps],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
new file mode 100644
index 000000000000..98794affdb99
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-tests_examples_meson.build
@@ -0,0 +1,90 @@
+--- tests/examples/meson.build.orig 2023-01-23 19:29:34 UTC
++++ tests/examples/meson.build
+@@ -1,24 +1,66 @@
+-subdir('audiomixmatrix')
+-subdir('avsamplesink')
+-subdir('camerabin2')
+-subdir('codecparsers')
+-subdir('codecs')
+-subdir('d3d11')
+-subdir('directfb')
+-subdir('gtk')
+-subdir('ipcpipeline')
+-subdir('mediafoundation')
+-subdir('mpegts')
+-subdir('msdk')
+-subdir('mxf')
+-subdir('nvcodec')
+-subdir('opencv', if_found: opencv_dep)
+-subdir('qsv')
+-subdir('uvch264')
+-subdir('va')
+-subdir('waylandsink')
+-subdir('webrtc')
+-subdir('wpe')
++if get_option('audiomixmatrix').enabled()
++ subdir('audiomixmatrix')
++endif
++if get_option('applemedia').enabled()
++ subdir('avsamplesink')
++endif
++if get_option('camerabin2').enabled()
++ subdir('camerabin2')
++endif
++if get_option('codecparsers').enabled()
++ subdir('codecparsers')
++endif
++if get_option('codecs').enabled()
++ subdir('codecs')
++endif
++if get_option('d3d11').enabled()
++ subdir('d3d11')
++endif
++if get_option('directfb').enabled()
++ subdir('directfb')
++endif
++if get_option('gtk3').enabled()
++ subdir('gtk')
++endif
++if get_option('ipcpipeline').enabled()
++ subdir('ipcpipeline')
++endif
++if get_option('mediafoundation').enabled()
++ subdir('mediafoundation')
++endif
++if get_option('mpegts').enabled()
++ subdir('mpegts')
++endif
++if get_option('msdk').enabled()
++ subdir('msdk')
++endif
++if get_option('mxf').enabled()
++ subdir('mxf')
++endif
++if get_option('nvcodec').enabled()
++ subdir('nvcodec')
++endif
++if get_option('opencv').enabled()
++ subdir('opencv', if_found: opencv_dep)
++endif
++if get_option('qsv').enabled()
++ subdir('qsv')
++endif
++if get_option('uvch264').enabled()
++ subdir('uvch264')
++endif
++if get_option('va').enabled()
++ subdir('va')
++endif
++if get_option('wayland').enabled()
++ subdir('waylandsink')
++endif
++if get_option('webrtc').enabled()
++ subdir('webrtc')
++endif
++if get_option('wpe').enabled()
++ subdir('wpe')
++endif
+
+ executable('playout',
+ 'playout.c',
diff --git a/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build b/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
new file mode 100644
index 000000000000..8655ba57e242
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-bad/files/patch-tools_meson.build
@@ -0,0 +1,12 @@
+--- tools/meson.build.orig 2023-01-23 19:29:34 UTC
++++ tools/meson.build
+@@ -1,3 +1,4 @@
++if get_option('tools').enabled()
+ executable('gst-transcoder-' + api_version,
+ 'gst-transcoder.c', 'utils.c',
+ install : true,
+@@ -5,3 +6,4 @@ executable('gst-transcoder-' + api_version,
+ dependencies : [gst_dep, gstpbutils_dep, gst_transcoder_dep],
+ c_args: ['-DG_LOG_DOMAIN="gst-transcoder-@0@"'.format(api_version)],
+ )
++endif
diff --git a/multimedia/gstreamer1-plugins-bad/pkg-plist b/multimedia/gstreamer1-plugins-bad/pkg-plist
index 4e41315a3fa0..4540b13ddfe8 100644
--- a/multimedia/gstreamer1-plugins-bad/pkg-plist
+++ b/multimedia/gstreamer1-plugins-bad/pkg-plist
@@ -1,3 +1,6 @@
+bin/playout
+include/gstreamer-%%VERSION%%/gst/adaptivedemux/gstadaptivedemux.h
+include/gstreamer-%%VERSION%%/gst/adaptivedemux/adaptive-demux-prelude.h
include/gstreamer-%%VERSION%%/gst/audio/audio-bad-prelude.h
include/gstreamer-%%VERSION%%/gst/audio/gstnonstreamaudiodecoder.h
include/gstreamer-%%VERSION%%/gst/audio/gstplanaraudioadapter.h
@@ -6,6 +9,7 @@ include/gstreamer-%%VERSION%%/gst/basecamerabinsrc/gstbasecamerasrc.h
include/gstreamer-%%VERSION%%/gst/basecamerabinsrc/gstcamerabin-enum.h
include/gstreamer-%%VERSION%%/gst/basecamerabinsrc/gstcamerabinpreview.h
include/gstreamer-%%VERSION%%/gst/codecparsers/codecparsers-prelude.h
+include/gstreamer-%%VERSION%%/gst/codecparsers/gstav1parser.h
include/gstreamer-%%VERSION%%/gst/codecparsers/gsth264parser.h
include/gstreamer-%%VERSION%%/gst/codecparsers/gsth265parser.h
include/gstreamer-%%VERSION%%/gst/codecparsers/gstjpeg2000sampling.h
@@ -22,15 +26,27 @@ include/gstreamer-%%VERSION%%/gst/interfaces/photography-enumtypes.h
include/gstreamer-%%VERSION%%/gst/interfaces/photography-prelude.h
include/gstreamer-%%VERSION%%/gst/interfaces/photography.h
include/gstreamer-%%VERSION%%/gst/isoff/gstisoff.h
+include/gstreamer-%%VERSION%%/gst/mpegts/gst-atsc-descriptor.h
include/gstreamer-%%VERSION%%/gst/mpegts/gst-atsc-section.h
include/gstreamer-%%VERSION%%/gst/mpegts/gst-dvb-descriptor.h
include/gstreamer-%%VERSION%%/gst/mpegts/gst-dvb-section.h
+include/gstreamer-%%VERSION%%/gst/mpegts/gst-hdmv-section.h
+include/gstreamer-%%VERSION%%/gst/mpegts/gst-isdb-descriptor.h
include/gstreamer-%%VERSION%%/gst/mpegts/gst-scte-section.h
include/gstreamer-%%VERSION%%/gst/mpegts/gstmpegts-enumtypes.h
include/gstreamer-%%VERSION%%/gst/mpegts/gstmpegtsdescriptor.h
include/gstreamer-%%VERSION%%/gst/mpegts/gstmpegtssection.h
include/gstreamer-%%VERSION%%/gst/mpegts/mpegts-prelude.h
include/gstreamer-%%VERSION%%/gst/mpegts/mpegts.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay-media-info.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay-signal-adapter.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay-types.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay-video-overlay-video-renderer.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay-video-renderer.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay-visualization.h
+include/gstreamer-%%VERSION%%/gst/play/gstplay.h
+include/gstreamer-%%VERSION%%/gst/play/play-prelude.h
+include/gstreamer-%%VERSION%%/gst/play/play.h
include/gstreamer-%%VERSION%%/gst/player/gstplayer-g-main-context-signal-dispatcher.h
include/gstreamer-%%VERSION%%/gst/player/gstplayer-media-info.h
include/gstreamer-%%VERSION%%/gst/player/gstplayer-signal-dispatcher.h
@@ -44,26 +60,43 @@ include/gstreamer-%%VERSION%%/gst/player/player.h
include/gstreamer-%%VERSION%%/gst/sctp/sctp-prelude.h
include/gstreamer-%%VERSION%%/gst/sctp/sctpreceivemeta.h
include/gstreamer-%%VERSION%%/gst/sctp/sctpsendmeta.h
+include/gstreamer-%%VERSION%%/gst/transcoder/gsttranscoder-signal-adapter.h
+include/gstreamer-%%VERSION%%/gst/transcoder/gsttranscoder.h
+include/gstreamer-%%VERSION%%/gst/transcoder/transcoder-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/transcoder/transcoder-prelude.h
include/gstreamer-%%VERSION%%/gst/uridownloader/gstfragment.h
include/gstreamer-%%VERSION%%/gst/uridownloader/gsturidownloader.h
include/gstreamer-%%VERSION%%/gst/uridownloader/gsturidownloader_debug.h
include/gstreamer-%%VERSION%%/gst/uridownloader/uridownloader-prelude.h
+include/gstreamer-%%VERSION%%/gst/webrtc/datachannel.h
include/gstreamer-%%VERSION%%/gst/webrtc/dtlstransport.h
+include/gstreamer-%%VERSION%%/gst/webrtc/ice.h
+include/gstreamer-%%VERSION%%/gst/webrtc/icestream.h
include/gstreamer-%%VERSION%%/gst/webrtc/icetransport.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nice.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nice_fwd.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nicestream.h
+include/gstreamer-%%VERSION%%/gst/webrtc/nice/nicetransport.h
include/gstreamer-%%VERSION%%/gst/webrtc/rtcsessiondescription.h
include/gstreamer-%%VERSION%%/gst/webrtc/rtpreceiver.h
include/gstreamer-%%VERSION%%/gst/webrtc/rtpsender.h
include/gstreamer-%%VERSION%%/gst/webrtc/rtptransceiver.h
+include/gstreamer-%%VERSION%%/gst/webrtc/sctptransport.h
include/gstreamer-%%VERSION%%/gst/webrtc/webrtc-enumtypes.h
include/gstreamer-%%VERSION%%/gst/webrtc/webrtc.h
include/gstreamer-%%VERSION%%/gst/webrtc/webrtc_fwd.h
-lib/girepository-1.0/GstInsertBin-%%VERSION%%.typelib
-lib/girepository-1.0/GstMpegts-%%VERSION%%.typelib
-lib/girepository-1.0/GstPlayer-%%VERSION%%.typelib
-lib/girepository-1.0/GstWebRTC-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstBadAudio-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstCodecs-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstInsertBin-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstMpegts-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstPlay-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstPlayer-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstTranscoder-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstWebRTC-%%VERSION%%.typelib
lib/gstreamer-%%VERSION%%/libgstaccurip.so
lib/gstreamer-%%VERSION%%/libgstadpcmdec.so
lib/gstreamer-%%VERSION%%/libgstadpcmenc.so
+lib/gstreamer-%%VERSION%%/libgstaes.so
lib/gstreamer-%%VERSION%%/libgstaiff.so
lib/gstreamer-%%VERSION%%/libgstasfmux.so
lib/gstreamer-%%VERSION%%/libgstaudiobuffersplit.so
@@ -75,9 +108,11 @@ lib/gstreamer-%%VERSION%%/libgstautoconvert.so
lib/gstreamer-%%VERSION%%/libgstbayer.so
lib/gstreamer-%%VERSION%%/libgstbz2.so
lib/gstreamer-%%VERSION%%/libgstcamerabin.so
+lib/gstreamer-%%VERSION%%/libgstcodecalpha.so
+lib/gstreamer-%%VERSION%%/libgstcodectimestamper.so
lib/gstreamer-%%VERSION%%/libgstcoloreffects.so
lib/gstreamer-%%VERSION%%/libgstdebugutilsbad.so
-lib/gstreamer-%%VERSION%%/libgstdvb.so
+lib/gstreamer-%%VERSION%%/libgstdvbsubenc.so
lib/gstreamer-%%VERSION%%/libgstdvbsuboverlay.so
lib/gstreamer-%%VERSION%%/libgstdvdspu.so
lib/gstreamer-%%VERSION%%/libgstfaceoverlay.so
@@ -109,7 +144,11 @@ lib/gstreamer-%%VERSION%%/libgstpnm.so
lib/gstreamer-%%VERSION%%/libgstproxy.so
lib/gstreamer-%%VERSION%%/libgstremovesilence.so
lib/gstreamer-%%VERSION%%/libgstrfbsrc.so
+lib/gstreamer-%%VERSION%%/libgstrist.so
+lib/gstreamer-%%VERSION%%/libgstrtmp2.so
+lib/gstreamer-%%VERSION%%/libgstrtpmanagerbad.so
lib/gstreamer-%%VERSION%%/libgstrtponvif.so
+lib/gstreamer-%%VERSION%%/libgstsctp.so
lib/gstreamer-%%VERSION%%/libgstsdpelem.so
lib/gstreamer-%%VERSION%%/libgstsegmentclip.so
lib/gstreamer-%%VERSION%%/libgstshm.so
@@ -117,14 +156,16 @@ lib/gstreamer-%%VERSION%%/libgstsiren.so
lib/gstreamer-%%VERSION%%/libgstsmooth.so
lib/gstreamer-%%VERSION%%/libgstspeed.so
lib/gstreamer-%%VERSION%%/libgstsubenc.so
+lib/gstreamer-%%VERSION%%/libgstswitchbin.so
lib/gstreamer-%%VERSION%%/libgsttimecode.so
+lib/gstreamer-%%VERSION%%/libgsttranscode.so
lib/gstreamer-%%VERSION%%/libgstvideofiltersbad.so
lib/gstreamer-%%VERSION%%/libgstvideoframe_audiolevel.so
lib/gstreamer-%%VERSION%%/libgstvideoparsersbad.so
lib/gstreamer-%%VERSION%%/libgstvideosignal.so
+lib/gstreamer-%%VERSION%%/libgstwebrtc.so
lib/gstreamer-%%VERSION%%/libgstvmnc.so
lib/gstreamer-%%VERSION%%/libgsty4mdec.so
-lib/gstreamer-%%VERSION%%/libgstyadif.so
lib/libgstadaptivedemux-%%VERSION%%.so
lib/libgstadaptivedemux-%%VERSION%%.so.0
lib/libgstadaptivedemux-%%VERSION%%.so.%%SOVERSION%%
@@ -137,6 +178,9 @@ lib/libgstbasecamerabinsrc-%%VERSION%%.so.%%SOVERSION%%
lib/libgstcodecparsers-%%VERSION%%.so
lib/libgstcodecparsers-%%VERSION%%.so.0
lib/libgstcodecparsers-%%VERSION%%.so.%%SOVERSION%%
+lib/libgstcodecs-%%VERSION%%.so
+lib/libgstcodecs-%%VERSION%%.so.0
+lib/libgstcodecs-%%VERSION%%.so.%%SOVERSION%%
lib/libgstinsertbin-%%VERSION%%.so
lib/libgstinsertbin-%%VERSION%%.so.0
lib/libgstinsertbin-%%VERSION%%.so.%%SOVERSION%%
@@ -149,30 +193,57 @@ lib/libgstmpegts-%%VERSION%%.so.%%SOVERSION%%
lib/libgstphotography-%%VERSION%%.so
lib/libgstphotography-%%VERSION%%.so.0
lib/libgstphotography-%%VERSION%%.so.%%SOVERSION%%
+lib/libgstplay-%%VERSION%%.so
+lib/libgstplay-%%VERSION%%.so.0
+lib/libgstplay-%%VERSION%%.so.%%SOVERSION%%
lib/libgstplayer-%%VERSION%%.so
lib/libgstplayer-%%VERSION%%.so.0
lib/libgstplayer-%%VERSION%%.so.%%SOVERSION%%
lib/libgstsctp-%%VERSION%%.so
lib/libgstsctp-%%VERSION%%.so.0
lib/libgstsctp-%%VERSION%%.so.%%SOVERSION%%
+lib/libgsttranscoder-%%VERSION%%.so
+lib/libgsttranscoder-%%VERSION%%.so.0
lib/libgsturidownloader-%%VERSION%%.so
lib/libgsturidownloader-%%VERSION%%.so.0
lib/libgsturidownloader-%%VERSION%%.so.%%SOVERSION%%
lib/libgstwebrtc-%%VERSION%%.so
lib/libgstwebrtc-%%VERSION%%.so.0
lib/libgstwebrtc-%%VERSION%%.so.%%SOVERSION%%
+lib/libgstwebrtcnice-%%VERSION%%.so
+lib/libgstwebrtcnice-%%VERSION%%.so.0
+lib/libgstwebrtcnice-%%VERSION%%.so.%%SOVERSION%%
libdata/pkgconfig/gstreamer-bad-audio-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-codecparsers-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-insertbin-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-mpegts-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-photography-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-play-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-player-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-plugins-bad-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-sctp-%%VERSION%%.pc
+libdata/pkgconfig/gstreamer-transcoder-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-webrtc-%%VERSION%%.pc
-share/gir-1.0/GstInsertBin-%%VERSION%%.gir
-share/gir-1.0/GstMpegts-%%VERSION%%.gir
-share/gir-1.0/GstPlayer-%%VERSION%%.gir
-share/gir-1.0/GstWebRTC-%%VERSION%%.gir
+libdata/pkgconfig/gstreamer-webrtc-nice-%%VERSION%%.pc
+share/gir-%%VERSION%%/GstBadAudio-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstCodecs-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstInsertBin-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstMpegts-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstPlay-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstPlayer-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstTranscoder-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstWebRTC-%%VERSION%%.gir
+%%DATADIR%%-%%VERSION%%/encoding-profiles/device/dvd.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/avi.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/flv.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/mkv.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/mp3.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/mp4.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/oga.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/ogv.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/ts.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/file-extension/webm.gep
+%%DATADIR%%-%%VERSION%%/encoding-profiles/online-services/youtube.gep
%%DATADIR%%-%%VERSION%%/presets/GstFreeverb.prs
share/locale/af/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/ast/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
@@ -196,6 +267,7 @@ share/locale/hu/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/id/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/it/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/ja/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
+share/locale/ka/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/ky/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/lt/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/lv/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
@@ -216,3 +288,4 @@ share/locale/tr/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/uk/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/vi/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
share/locale/zh_CN/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
+share/locale/zh_TW/LC_MESSAGES/gst-plugins-bad-%%VERSION%%.mo
diff --git a/multimedia/gstreamer1-plugins-core/Makefile b/multimedia/gstreamer1-plugins-core/Makefile
index 0ae0f0df90bd..7dd1fe0310c8 100644
--- a/multimedia/gstreamer1-plugins-core/Makefile
+++ b/multimedia/gstreamer1-plugins-core/Makefile
@@ -1,7 +1,5 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTNAME= gstreamer1-plugins-core
-PORTVERSION= 1.16
+PORTVERSION= ${_GST_VERSION}
CATEGORIES= multimedia audio
MASTER_SITES= # empty
DISTFILES= # empty
@@ -9,6 +7,7 @@ EXTRACT_ONLY= # empty
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Core set of typical audio and video GStreamer plugins
+WWW= http://gstreamer.net
NO_ARCH= yes
NO_BUILD= yes
diff --git a/multimedia/gstreamer1-plugins-core/pkg-descr b/multimedia/gstreamer1-plugins-core/pkg-descr
index 37dc72d27fc5..6e0c3aa2e1c6 100644
--- a/multimedia/gstreamer1-plugins-core/pkg-descr
+++ b/multimedia/gstreamer1-plugins-core/pkg-descr
@@ -1,3 +1 @@
Meta-port to core "typical" gstreamer-plugins
-
-WWW: http://gstreamer.net
diff --git a/multimedia/gstreamer1-plugins-dash/Makefile b/multimedia/gstreamer1-plugins-dash/Makefile
index 2418df2f162f..1e63c41319cb 100644
--- a/multimedia/gstreamer1-plugins-dash/Makefile
+++ b/multimedia/gstreamer1-plugins-dash/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer Dynamic Adaptive Streaming over HTTP demuxer plugin
@@ -6,13 +6,10 @@ COMMENT= GStreamer Dynamic Adaptive Streaming over HTTP demuxer plugin
GST_PLUGIN= dash
DIST= bad
-DASH_GST_DIRS= gst-libs/gst/isoff
-
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
-pre-build:
-.for dir in ${DASH_GST_DIRS}
- @(cd ${BUILD_WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET})
-.endfor
+PLIST= ${.CURDIR}/pkg-plist
+
+USE_GNOME= libxml2
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-dash/pkg-plist b/multimedia/gstreamer1-plugins-dash/pkg-plist
new file mode 100644
index 000000000000..575735fb048d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-dash/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstdash.so
diff --git a/multimedia/gstreamer1-plugins-dts/Makefile b/multimedia/gstreamer1-plugins-dts/Makefile
index 9cc305dd5936..eec99eb14858 100644
--- a/multimedia/gstreamer1-plugins-dts/Makefile
+++ b/multimedia/gstreamer1-plugins-dts/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer dts audio decode plugin
@@ -8,4 +8,10 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libdca.so:multimedia/libdca
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-dts/pkg-plist b/multimedia/gstreamer1-plugins-dts/pkg-plist
new file mode 100644
index 000000000000..95cfe9ccc02d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-dts/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstdtsdec.so
diff --git a/multimedia/gstreamer1-plugins-dv/Makefile b/multimedia/gstreamer1-plugins-dv/Makefile
index 4be9b3b4481d..206cc39ef34d 100644
--- a/multimedia/gstreamer1-plugins-dv/Makefile
+++ b/multimedia/gstreamer1-plugins-dv/Makefile
@@ -1,12 +1,16 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
PKGNAMESUFFIX= 1-plugins-dv
COMMENT= GStreamer dv demux and decoder plugin based on libdv
-GST_PLUGIN= libdv
+GST_PLUGIN= dv
DIST= good
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libdv.so:multimedia/libdv
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-dv/pkg-plist b/multimedia/gstreamer1-plugins-dv/pkg-plist
new file mode 100644
index 000000000000..e8f6fd5b9a57
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-dv/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstdv.so
diff --git a/multimedia/gstreamer1-plugins-dvdread/Makefile b/multimedia/gstreamer1-plugins-dvdread/Makefile
index d7a213275294..734d8afd1eae 100644
--- a/multimedia/gstreamer1-plugins-dvdread/Makefile
+++ b/multimedia/gstreamer1-plugins-dvdread/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 4
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer DVD access plugin with libdvdread
@@ -8,4 +8,10 @@ DIST= ugly
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS=libdvdread.so:multimedia/libdvdread
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-dvdread/pkg-plist b/multimedia/gstreamer1-plugins-dvdread/pkg-plist
new file mode 100644
index 000000000000..33d2b24fd25d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-dvdread/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstdvdread.so
diff --git a/multimedia/gstreamer1-plugins-gnonlin/Makefile b/multimedia/gstreamer1-plugins-gnonlin/Makefile
index f270668a00f4..1dd7de8be1fa 100644
--- a/multimedia/gstreamer1-plugins-gnonlin/Makefile
+++ b/multimedia/gstreamer1-plugins-gnonlin/Makefile
@@ -1,15 +1,16 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTNAME= gstreamer1-plugins-gnonlin
PORTVERSION= 1.4.0
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= http://gstreamer.freedesktop.org/src/gnonlin/
DISTNAME= gnonlin-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GStreamer library for writing non-linear audio and video
+WWW= http://gstreamer.net
-USES= gstreamer libtool pkgconfig python:3.4+,build tar:xz
+USES= gettext-runtime gnome gstreamer libtool pkgconfig python:build tar:xz
+USE_GNOME= glib20
GNU_CONFIGURE= yes
USE_GSTREAMER= good
INSTALL_TARGET= install-strip
diff --git a/multimedia/gstreamer1-plugins-gnonlin/pkg-descr b/multimedia/gstreamer1-plugins-gnonlin/pkg-descr
index d1db76f156b0..1bbad94c6d98 100644
--- a/multimedia/gstreamer1-plugins-gnonlin/pkg-descr
+++ b/multimedia/gstreamer1-plugins-gnonlin/pkg-descr
@@ -1,3 +1 @@
Gstreamer library for writing non-linear audio and video
-
-WWW: http://gstreamer.net
diff --git a/multimedia/gstreamer1-plugins-good/Makefile b/multimedia/gstreamer1-plugins-good/Makefile
index 1cd190e29013..caf0e4d1e22f 100644
--- a/multimedia/gstreamer1-plugins-good/Makefile
+++ b/multimedia/gstreamer1-plugins-good/Makefile
@@ -1,6 +1,4 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer-plugins good-quality plug-ins
@@ -11,21 +9,59 @@ GST_PLUGIN_SUFFIX= -good
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
DIST= good
-GOOD_GST_DIRS= gst sys po
PLIST= ${.CURDIR}/pkg-plist
-FILESDIR= ${.CURDIR}/files
PATCHDIR= ${.CURDIR}/files
NO_GSTREAMER_COMMON= yes
-do-build:
-.for dir in ${GOOD_GST_DIRS}
- @(cd ${BUILD_WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET})
-.endfor
-
-do-install:
-.for dir in ${GOOD_GST_DIRS}
- @(cd ${INSTALL_WRKSRC}/${dir} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
-.endfor
+GOOD_GST_ENABLED_PLUGINS= adaptivedemux2 \
+ alpha \
+ apetag \
+ audiofx \
+ audioparsers \
+ auparse \
+ autodetect \
+ avi \
+ cutter \
+ deinterlace \
+ debugutils \
+ dtmf \
+ effectv \
+ equalizer \
+ flv \
+ flx \
+ goom \
+ goom2k1 \
+ icydemux \
+ id3demux \
+ imagefreeze \
+ interleave \
+ isomp4 \
+ law \
+ level \
+ matroska \
+ monoscope \
+ multifile \
+ multipart \
+ nls \
+ oss \
+ oss4 \
+ replaygain \
+ rtp \
+ rtpmanager \
+ rtsp \
+ shapewipe \
+ smpte \
+ spectrum \
+ tests \
+ udp \
+ videobox \
+ videocrop \
+ videofilter \
+ videomixer \
+ wavenc \
+ wavparse \
+ xingmux \
+ y4m
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqsgtexture.cc b/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqsgtexture.cc
deleted file mode 100644
index 04beb939a5af..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqsgtexture.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ext/qt/gstqsgtexture.cc.orig 2021-08-02 23:41:35 UTC
-+++ ext/qt/gstqsgtexture.cc
-@@ -39,7 +39,7 @@ GstQSGTexture::GstQSGTexture ()
-
- initializeOpenGLFunctions();
-
-- if (g_once_init_enter (&_debug)) {
-+ if (g_once_init_enter ((unsigned long *)&_debug)) {
- GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtqsgtexture", 0,
- "Qt Scenegraph Texture");
- g_once_init_leave (&_debug, 1);
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqtglutility.cc b/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqtglutility.cc
deleted file mode 100644
index 5f8a46fa4fbb..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_gstqtglutility.cc
+++ /dev/null
@@ -1,15 +0,0 @@
---- ext/qt/gstqtglutility.cc.orig 2021-08-02 23:37:36 UTC
-+++ ext/qt/gstqtglutility.cc
-@@ -62,10 +62,10 @@ gst_qt_get_gl_display ()
-
- g_assert (app != NULL);
-
-- if (g_once_init_enter (&_debug)) {
-+ if (g_once_init_enter ((unsigned long *)&_debug)) {
- GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglutility", 0,
- "Qt gl utility functions");
-- g_once_init_leave (&_debug, 1);
-+ g_once_init_leave ((unsigned long *)&_debug, 1);
- }
- GST_INFO ("QGuiApplication::instance()->platformName() %s", app->platformName().toUtf8().data());
-
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtitem.cc b/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtitem.cc
deleted file mode 100644
index de63d41826cb..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtitem.cc
+++ /dev/null
@@ -1,11 +0,0 @@
---- ext/qt/qtitem.cc.orig 2021-08-02 23:44:43 UTC
-+++ ext/qt/qtitem.cc
-@@ -104,7 +104,7 @@ QtGLVideoItem::QtGLVideoItem()
- {
- static volatile gsize _debug;
-
-- if (g_once_init_enter (&_debug)) {
-+ if (g_once_init_enter ((unsigned long *)&_debug)) {
- GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget");
- g_once_init_leave (&_debug, 1);
- }
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtwindow.cc b/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtwindow.cc
deleted file mode 100644
index 42703a0fc2bb..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-ext_qt_qtwindow.cc
+++ /dev/null
@@ -1,20 +0,0 @@
---- ext/qt/qtwindow.cc.orig 2021-08-02 23:46:48 UTC
-+++ ext/qt/qtwindow.cc
-@@ -107,7 +107,7 @@ QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindo
-
- g_assert (app != NULL);
-
-- if (g_once_init_enter (&_debug)) {
-+ if (g_once_init_enter ((unsigned long *)&_debug)) {
- GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwindow", 0, "Qt GL QuickWindow");
- g_once_init_leave (&_debug, 1);
- }
-@@ -153,7 +153,7 @@ QtGLWindow::beforeRendering()
- g_mutex_lock (&this->priv->lock);
-
- static volatile gsize once = 0;
-- if (g_once_init_enter(&once)) {
-+ if (g_once_init_enter((unsigned long *)&once)) {
- this->priv->start = QDateTime::currentDateTime().toMSecsSinceEpoch();
- g_once_init_leave(&once,1);
- }
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c b/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
deleted file mode 100644
index c5790c08eb8d..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosshelper.c
+++ /dev/null
@@ -1,82 +0,0 @@
---- sys/oss/gstosshelper.c.orig 2014-07-21 10:24:27.000000000 +0200
-+++ sys/oss/gstosshelper.c 2014-10-12 18:13:53.847663389 +0200
-@@ -82,9 +82,9 @@
- gst_oss_helper_probe_caps (gint fd)
- {
- #if G_BYTE_ORDER == G_LITTLE_ENDIAN
-- const guint probe_formats[] = { AFMT_S16_LE, AFMT_U16_LE, AFMT_U8, AFMT_S8 };
-+ const guint probe_formats[] = { AFMT_U32_LE, AFMT_S32_LE, AFMT_U24_LE, AFMT_S24_LE, AFMT_S16_LE, AFMT_U16_LE, AFMT_U8, AFMT_S8 };
- #else
-- const guint probe_formats[] = { AFMT_S16_BE, AFMT_U16_BE, AFMT_U8, AFMT_S8 };
-+ const guint probe_formats[] = { AFMT_U32_BE, AFMT_S32_BE, AFMT_U24_BE, AFMT_S24_BE, AFMT_S16_BE, AFMT_U16_BE, AFMT_U8, AFMT_S8 };
- #endif
- GstOssProbe *probe;
- int i, f;
-@@ -165,6 +165,9 @@
- const gchar *format;
-
- switch (format_bit) {
-+ case AFMT_S8:
-+ format = "S8";
-+ break;
- case AFMT_U8:
- format = "U8";
- break;
-@@ -174,15 +177,36 @@
- case AFMT_S16_BE:
- format = "S16BE";
- break;
-- case AFMT_S8:
-- format = "S8";
-- break;
- case AFMT_U16_LE:
- format = "U16LE";
- break;
- case AFMT_U16_BE:
- format = "U16BE";
- break;
-+ case AFMT_S24_LE:
-+ format = "S24LE";
-+ break;
-+ case AFMT_S24_BE:
-+ format = "S24BE";
-+ break;
-+ case AFMT_U24_LE:
-+ format = "U24LE";
-+ break;
-+ case AFMT_U24_BE:
-+ format = "U24BE";
-+ break;
-+ case AFMT_S32_LE:
-+ format = "S32LE";
-+ break;
-+ case AFMT_S32_BE:
-+ format = "S32BE";
-+ break;
-+ case AFMT_U32_LE:
-+ format = "U32LE";
-+ break;
-+ case AFMT_U32_BE:
-+ format = "U32BE";
-+ break;
- default:
- g_assert_not_reached ();
- return NULL;
-@@ -320,13 +344,17 @@
- int format;
- int n_channels;
- int ret;
-+ int rst;
-
- rate = irate;
- format = probe->format;
- n_channels = probe->n_channels;
-+ rst = 4000; /* XXX Lowest supported rate for FreeBSD. */
-
- GST_LOG ("checking format %d, channels %d, rate %d",
- format, n_channels, rate);
-+ /* Reset rate to lowest supported rate. */
-+ ioctl (probe->fd, SNDCTL_DSP_SPEED, &rst);
- ret = ioctl (probe->fd, SNDCTL_DSP_SETFMT, &format);
- if (ret < 0 || format != probe->format) {
- GST_DEBUG ("unsupported format: %d (%d)", probe->format, format);
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssink.c b/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssink.c
deleted file mode 100644
index 3b0a46ab7303..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssink.c
+++ /dev/null
@@ -1,73 +0,0 @@
---- sys/oss/gstosssink.c.orig 2013-09-24 15:05:22.000000000 +0200
-+++ sys/oss/gstosssink.c 2014-09-11 09:10:55.116013220 +0200
-@@ -106,7 +106,10 @@
- PROP_DEVICE,
- };
-
--#define FORMATS "{" GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }"
-+#define FORMATS "{" GST_AUDIO_NE(S32)","GST_AUDIO_NE(U32)"," \
-+ GST_AUDIO_NE(S24)","GST_AUDIO_NE(U24)"," \
-+ GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)"," \
-+ "S8, U8 }"
-
- static GstStaticPadTemplate osssink_sink_factory =
- GST_STATIC_PAD_TEMPLATE ("sink",
-@@ -321,6 +324,9 @@
- case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW:
- {
- switch (rfmt) {
-+ case GST_AUDIO_FORMAT_S8:
-+ result = AFMT_S8;
-+ break;
- case GST_AUDIO_FORMAT_U8:
- result = AFMT_U8;
- break;
-@@ -330,15 +336,36 @@
- case GST_AUDIO_FORMAT_S16BE:
- result = AFMT_S16_BE;
- break;
-- case GST_AUDIO_FORMAT_S8:
-- result = AFMT_S8;
-- break;
- case GST_AUDIO_FORMAT_U16LE:
- result = AFMT_U16_LE;
- break;
- case GST_AUDIO_FORMAT_U16BE:
- result = AFMT_U16_BE;
- break;
-+ case GST_AUDIO_FORMAT_S24LE:
-+ result = AFMT_S24_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_S24BE:
-+ result = AFMT_S24_BE;
-+ break;
-+ case GST_AUDIO_FORMAT_U24LE:
-+ result = AFMT_U24_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_U24BE:
-+ result = AFMT_U24_BE;
-+ break;
-+ case GST_AUDIO_FORMAT_S32LE:
-+ result = AFMT_S32_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_S32BE:
-+ result = AFMT_S32_BE;
-+ break;
-+ case GST_AUDIO_FORMAT_U32LE:
-+ result = AFMT_U32_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_U32BE:
-+ result = AFMT_U32_BE;
-+ break;
- default:
- result = 0;
- break;
-@@ -441,7 +468,7 @@
- rate = GST_AUDIO_INFO_RATE (&spec->info);
- channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
-
-- if (width != 16 && width != 8)
-+ if (width != 32 && width != 24 && width != 16 && width != 8)
- goto dodgy_width;
-
- SET_PARAM (oss, SNDCTL_DSP_SETFMT, tmp, "SETFMT");
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssrc.c b/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssrc.c
deleted file mode 100644
index 0709d8abc5a1..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-sys_oss_gstosssrc.c
+++ /dev/null
@@ -1,73 +0,0 @@
---- sys/oss/gstosssrc.c.orig 2013-09-24 15:05:22.000000000 +0200
-+++ sys/oss/gstosssrc.c 2014-09-11 09:10:55.116013220 +0200
-@@ -100,7 +100,10 @@
- static guint gst_oss_src_delay (GstAudioSrc * asrc);
- static void gst_oss_src_reset (GstAudioSrc * asrc);
-
--#define FORMATS "{" GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)", S8, U8 }"
-+#define FORMATS "{" GST_AUDIO_NE(S32)","GST_AUDIO_NE(U32)"," \
-+ GST_AUDIO_NE(S24)","GST_AUDIO_NE(U24)"," \
-+ GST_AUDIO_NE(S16)","GST_AUDIO_NE(U16)"," \
-+ "S8, U8 }"
-
- static GstStaticPadTemplate osssrc_src_factory = GST_STATIC_PAD_TEMPLATE ("src",
- GST_PAD_SRC,
-@@ -314,6 +317,9 @@
- case GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW:
- {
- switch (rfmt) {
-+ case GST_AUDIO_FORMAT_S8:
-+ result = AFMT_S8;
-+ break;
- case GST_AUDIO_FORMAT_U8:
- result = AFMT_U8;
- break;
-@@ -323,15 +329,36 @@
- case GST_AUDIO_FORMAT_S16BE:
- result = AFMT_S16_BE;
- break;
-- case GST_AUDIO_FORMAT_S8:
-- result = AFMT_S8;
-- break;
- case GST_AUDIO_FORMAT_U16LE:
- result = AFMT_U16_LE;
- break;
- case GST_AUDIO_FORMAT_U16BE:
- result = AFMT_U16_BE;
- break;
-+ case GST_AUDIO_FORMAT_S24LE:
-+ result = AFMT_S24_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_S24BE:
-+ result = AFMT_S24_BE;
-+ break;
-+ case GST_AUDIO_FORMAT_U24LE:
-+ result = AFMT_U24_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_U24BE:
-+ result = AFMT_U24_BE;
-+ break;
-+ case GST_AUDIO_FORMAT_S32LE:
-+ result = AFMT_S32_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_S32BE:
-+ result = AFMT_S32_BE;
-+ break;
-+ case GST_AUDIO_FORMAT_U32LE:
-+ result = AFMT_U32_LE;
-+ break;
-+ case GST_AUDIO_FORMAT_U32BE:
-+ result = AFMT_U32_BE;
-+ break;
- default:
- result = 0;
- break;
-@@ -428,7 +455,7 @@
- rate = GST_AUDIO_INFO_RATE (&spec->info);
- channels = GST_AUDIO_INFO_CHANNELS (&spec->info);
-
-- if (width != 16 && width != 8)
-+ if (width != 32 && width != 24 && width != 16 && width != 8)
- goto dodgy_width;
-
- tmp = ilog2 (spec->segsize);
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_gstv4l2object.c b/multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_gstv4l2object.c
deleted file mode 100644
index 736cd618765c..000000000000
--- a/multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_gstv4l2object.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- sys/v4l2/gstv4l2object.c.orig 2020-04-06 14:45:19 UTC
-+++ sys/v4l2/gstv4l2object.c
-@@ -2891,8 +2891,9 @@ gst_v4l2_object_is_dmabuf_supported (GstV4l2Object * v
- }
-
- /* Expected to fail, but ENOTTY tells us that it is not implemented. */
-+ /* FreeBSD cuse sends EINVAL? */
- v4l2object->ioctl (v4l2object->video_fd, VIDIOC_EXPBUF, &expbuf);
-- if (errno == ENOTTY)
-+ if (errno == ENOTTY || errno == EINVAL)
- ret = FALSE;
-
- return ret;
diff --git a/multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_v4l2__calls.c b/multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_v4l2__calls.c
new file mode 100644
index 000000000000..94d86410cf1d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-good/files/patch-sys_v4l2_v4l2__calls.c
@@ -0,0 +1,15 @@
+--- sys/v4l2/v4l2_calls.c.orig 2022-09-13 20:56:55 UTC
++++ sys/v4l2/v4l2_calls.c
+@@ -1329,10 +1329,12 @@ gst_v4l2_query_dv_timings (GstV4l2Object * v4l2object,
+
+ if (ret < 0) {
+ switch (errno) {
++#ifdef ENODATA
+ case ENODATA:
+ GST_DEBUG_OBJECT (v4l2object->dbg_obj,
+ "QUERY_DV_TIMINGS not supported for this input/output");
+ break;
++#endif
+ case ENOLINK:
+ GST_DEBUG_OBJECT (v4l2object->dbg_obj,
+ "No timings could be detected because no signal was found.");
diff --git a/multimedia/gstreamer1-plugins-good/pkg-plist b/multimedia/gstreamer1-plugins-good/pkg-plist
index 319189859dad..b38508455883 100644
--- a/multimedia/gstreamer1-plugins-good/pkg-plist
+++ b/multimedia/gstreamer1-plugins-good/pkg-plist
@@ -1,3 +1,4 @@
+lib/gstreamer-%%VERSION%%/libgstadaptivedemux2.so
lib/gstreamer-%%VERSION%%/libgstalaw.so
lib/gstreamer-%%VERSION%%/libgstalpha.so
lib/gstreamer-%%VERSION%%/libgstalphacolor.so
@@ -24,6 +25,7 @@ lib/gstreamer-%%VERSION%%/libgstinterleave.so
lib/gstreamer-%%VERSION%%/libgstisomp4.so
lib/gstreamer-%%VERSION%%/libgstlevel.so
lib/gstreamer-%%VERSION%%/libgstmatroska.so
+lib/gstreamer-%%VERSION%%/libgstmonoscope.so
lib/gstreamer-%%VERSION%%/libgstmulaw.so
lib/gstreamer-%%VERSION%%/libgstmultifile.so
lib/gstreamer-%%VERSION%%/libgstmultipart.so
@@ -44,6 +46,7 @@ lib/gstreamer-%%VERSION%%/libgstvideofilter.so
lib/gstreamer-%%VERSION%%/libgstvideomixer.so
lib/gstreamer-%%VERSION%%/libgstwavenc.so
lib/gstreamer-%%VERSION%%/libgstwavparse.so
+lib/gstreamer-%%VERSION%%/libgstxingmux.so
lib/gstreamer-%%VERSION%%/libgsty4menc.so
%%DATADIR%%-%%VERSION%%/presets/GstIirEqualizer10Bands.prs
%%DATADIR%%-%%VERSION%%/presets/GstIirEqualizer3Bands.prs
@@ -69,6 +72,7 @@ share/locale/hu/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
share/locale/id/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
share/locale/it/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
share/locale/ja/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
+share/locale/ka/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
share/locale/ky/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
share/locale/lt/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
share/locale/lv/LC_MESSAGES/gst-plugins-good-%%VERSION%%.mo
diff --git a/multimedia/gstreamer1-plugins-hls/Makefile b/multimedia/gstreamer1-plugins-hls/Makefile
index 331317517ba5..b1864dbf29eb 100644
--- a/multimedia/gstreamer1-plugins-hls/Makefile
+++ b/multimedia/gstreamer1-plugins-hls/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 3
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer HTTP Live Streaming (HLS) plugin
@@ -8,4 +8,8 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libnettle.so:security/nettle
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-hls/pkg-plist b/multimedia/gstreamer1-plugins-hls/pkg-plist
new file mode 100644
index 000000000000..47ff89a96e42
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-hls/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgsthls.so
diff --git a/multimedia/gstreamer1-plugins-kate/Makefile b/multimedia/gstreamer1-plugins-kate/Makefile
deleted file mode 100644
index 795126ecc38a..000000000000
--- a/multimedia/gstreamer1-plugins-kate/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-PORTREVISION= 2
-CATEGORIES= multimedia
-
-COMMENT= GStreamer kate codec plugin
-
-GST_PLUGIN= kate
-DIST= bad
-
-MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-libde265/Makefile b/multimedia/gstreamer1-plugins-libde265/Makefile
index 966adfd4013b..91d9628ab950 100644
--- a/multimedia/gstreamer1-plugins-libde265/Makefile
+++ b/multimedia/gstreamer1-plugins-libde265/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer HEVC/H.265 decoder (libde265) plugin
@@ -8,4 +8,8 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libde265.so:multimedia/libde265
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-libde265/pkg-plist b/multimedia/gstreamer1-plugins-libde265/pkg-plist
new file mode 100644
index 000000000000..ae2a674e4dd3
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-libde265/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstde265.so
diff --git a/multimedia/gstreamer1-plugins-mpeg2dec/Makefile b/multimedia/gstreamer1-plugins-mpeg2dec/Makefile
index 7deb6eee1a67..e9ac110b1402 100644
--- a/multimedia/gstreamer1-plugins-mpeg2dec/Makefile
+++ b/multimedia/gstreamer1-plugins-mpeg2dec/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer mpeg decode plugin
@@ -8,4 +8,10 @@ DIST= ugly
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libmpeg2.so:multimedia/libmpeg2
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-mpeg2dec/pkg-plist b/multimedia/gstreamer1-plugins-mpeg2dec/pkg-plist
new file mode 100644
index 000000000000..b1f9d7d9a583
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-mpeg2dec/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstmpeg2dec.so
diff --git a/multimedia/gstreamer1-plugins-mpeg2enc/Makefile b/multimedia/gstreamer1-plugins-mpeg2enc/Makefile
index f6c265d3f944..e53d5bfe1ecf 100644
--- a/multimedia/gstreamer1-plugins-mpeg2enc/Makefile
+++ b/multimedia/gstreamer1-plugins-mpeg2enc/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer mpeg encoder plugin
@@ -11,4 +11,10 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libmjpegutils.so:multimedia/mjpegtools
+
+MESON_ARGS+= -Dgpl=enabled
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-mpeg2enc/pkg-plist b/multimedia/gstreamer1-plugins-mpeg2enc/pkg-plist
new file mode 100644
index 000000000000..1e0053210a0a
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-mpeg2enc/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstmpeg2enc.so
diff --git a/multimedia/gstreamer1-plugins-mplex/Makefile b/multimedia/gstreamer1-plugins-mplex/Makefile
index 95fcba0bf6d3..eee543899918 100644
--- a/multimedia/gstreamer1-plugins-mplex/Makefile
+++ b/multimedia/gstreamer1-plugins-mplex/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer mplex plugin
@@ -11,4 +11,10 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libmplex2.so:multimedia/mjpegtools
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-mplex/pkg-plist b/multimedia/gstreamer1-plugins-mplex/pkg-plist
new file mode 100644
index 000000000000..ac7fcf1afa5e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-mplex/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstmplex.so
diff --git a/multimedia/gstreamer1-plugins-msdk/Makefile b/multimedia/gstreamer1-plugins-msdk/Makefile
index 01fe796c473f..5f823f95bf63 100644
--- a/multimedia/gstreamer1-plugins-msdk/Makefile
+++ b/multimedia/gstreamer1-plugins-msdk/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer (Intel MediaSDK) plugin
@@ -6,6 +6,15 @@ COMMENT= GStreamer (Intel MediaSDK) plugin
GST_PLUGIN= msdk
DIST= bad
+CONFIGURE_ARGS= -Dskip_gstva=false
+
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libgudev-1.0.so:devel/libgudev \
+ libmfx.so:multimedia/intel-media-sdk \
+ libva-drm.so:multimedia/libva \
+ libdrm.so:graphics/libdrm
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-msdk/pkg-plist b/multimedia/gstreamer1-plugins-msdk/pkg-plist
new file mode 100644
index 000000000000..f03e3b0df527
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-msdk/pkg-plist
@@ -0,0 +1,17 @@
+include/gstreamer-%%VERSION%%/gst/va/gstva.h
+include/gstreamer-%%VERSION%%/gst/va/gstvaallocator.h
+include/gstreamer-%%VERSION%%/gst/va/gstvadisplay.h
+include/gstreamer-%%VERSION%%/gst/va/gstvadisplay_drm.h
+include/gstreamer-%%VERSION%%/gst/va/gstvadisplay_wrapped.h
+include/gstreamer-%%VERSION%%/gst/va/gstvapool.h
+include/gstreamer-%%VERSION%%/gst/va/gstvautils.h
+include/gstreamer-%%VERSION%%/gst/va/va-enumtypes.h
+include/gstreamer-%%VERSION%%/gst/va/va-prelude.h
+include/gstreamer-%%VERSION%%/gst/va/va_fwd.h
+lib/girepository-%%VERSION%%/GstVa-%%VERSION%%.typelib
+lib/gstreamer-%%VERSION%%/libgstmsdk.so
+lib/libgstva-%%VERSION%%.so
+lib/libgstva-%%VERSION%%.so.0
+lib/libgstva-%%VERSION%%.so.%%SOVERSION%%
+libdata/pkgconfig/gstreamer-va-%%VERSION%%.pc
+share/gir-%%VERSION%%/GstVa-%%VERSION%%.gir
diff --git a/multimedia/gstreamer1-plugins-openh264/Makefile b/multimedia/gstreamer1-plugins-openh264/Makefile
index 7698c7b4bd3b..40d8968dacd7 100644
--- a/multimedia/gstreamer1-plugins-openh264/Makefile
+++ b/multimedia/gstreamer1-plugins-openh264/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 3
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer (openh264) plugin
@@ -8,4 +8,8 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libopenh264.so:multimedia/openh264
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-openh264/pkg-plist b/multimedia/gstreamer1-plugins-openh264/pkg-plist
new file mode 100644
index 000000000000..e031f2999255
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-openh264/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstopenh264.so
diff --git a/multimedia/gstreamer1-plugins-resindvd/Makefile b/multimedia/gstreamer1-plugins-resindvd/Makefile
index e30cf054923c..7ea64d09ed3c 100644
--- a/multimedia/gstreamer1-plugins-resindvd/Makefile
+++ b/multimedia/gstreamer1-plugins-resindvd/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 4
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer resindvd DVD playback plugin
@@ -8,4 +8,12 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+BUILD_DEPENDS+= libdvdnav>=4.1.2:multimedia/libdvdnav
+LIB_DEPENDS+= libdvdread.so:multimedia/libdvdread
+RUN_DEPENDS+= libdvdnav>=4.1.2:multimedia/libdvdnav
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-resindvd/pkg-plist b/multimedia/gstreamer1-plugins-resindvd/pkg-plist
new file mode 100644
index 000000000000..07fdaf1b4561
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-resindvd/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstresindvd.so
diff --git a/multimedia/gstreamer1-plugins-rtmp/Makefile b/multimedia/gstreamer1-plugins-rtmp/Makefile
deleted file mode 100644
index 7510f0ab600a..000000000000
--- a/multimedia/gstreamer1-plugins-rtmp/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-PORTREVISION= 2
-CATEGORIES= multimedia
-
-COMMENT= GStreamer RTMP stream source and sink plugin
-
-GST_PLUGIN= rtmp
-DIST= bad
-
-MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-rust/Makefile b/multimedia/gstreamer1-plugins-rust/Makefile
index 75c1f18f5c63..b9f2d7e901e7 100644
--- a/multimedia/gstreamer1-plugins-rust/Makefile
+++ b/multimedia/gstreamer1-plugins-rust/Makefile
@@ -1,10 +1,12 @@
PORTNAME= gstreamer1-plugins-rust
-DISTVERSION= 0.7.2
-PORTREVISION= 8
+DISTVERSION= 0.11.1
+DISTVERSIONSUFFIX= +fixup
+PORTREVISION= 5
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Various GStreamer plugins written in Rust
+WWW= https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs
LICENSE= LGPL21+ MIT
LICENSE_COMB= multi
@@ -13,425 +15,76 @@ LICENSE_FILE_LGPL21+ = ${WRKSRC}/LICENSE-LGPLv2
BUILD_DEPENDS= cargo-cbuild:devel/cargo-c
-USES= cargo gnome gstreamer meson pkgconfig ssl
+USES= cargo gnome gstreamer meson pkgconfig python:build shebangfix ssl
USE_GITLAB= yes
USE_GNOME= glib20
+USE_GSTREAMER= bad # webrtc
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= gstreamer
GL_PROJECT= gst-plugins-rs
-GL_COMMIT= d0466b3eee114207f851b37cae0015c0e718f021
+SHEBANG_FILES= dependencies.py
+MESON_ARGS= -Ddoc=disabled
MAKE_ENV= ${CARGO_ENV}
-
-CARGO_CRATES= adler-1.0.2 \
- adler32-1.2.0 \
- aho-corasick-0.7.18 \
- ansi_term-0.11.0 \
- ansi_term-0.12.1 \
- anyhow-1.0.43 \
- arbitrary-0.4.7 \
- arg_enum_proc_macro-0.3.1 \
- array-init-2.0.0 \
- arrayvec-0.5.2 \
- async-compression-0.3.8 \
- async-trait-0.1.51 \
- async-tungstenite-0.14.0 \
- atk-0.14.0 \
- atk-sys-0.14.0 \
- atomic_refcell-0.1.7 \
- atty-0.2.14 \
- autocfg-1.0.1 \
- base-x-0.2.8 \
- base64-0.13.0 \
- bincode-1.3.3 \
- bindgen-0.58.1 \
- bitflags-1.3.2 \
- bitstream-io-1.2.0 \
- bitvec-0.19.5 \
- block-buffer-0.9.0 \
- bumpalo-3.7.0 \
- byte-slice-cast-1.0.0 \
- bytemuck-1.7.2 \
- byteorder-1.4.3 \
- bytes-0.5.6 \
- bytes-1.1.0 \
- cairo-rs-0.14.3 \
- cairo-sys-rs-0.14.0 \
- cc-1.0.69 \
- cdg-0.1.0 \
- cdg_renderer-0.6.0 \
- cexpr-0.4.0 \
- cfg-expr-0.7.4 \
- cfg-if-0.1.10 \
- cfg-if-1.0.0 \
- chrono-0.4.19 \
- clang-sys-1.2.1 \
- clap-2.33.3 \
- claxon-0.4.3 \
- color_quant-1.1.0 \
- const_fn-0.4.8 \
- cookie-0.14.4 \
- cookie_store-0.12.0 \
- core-foundation-0.9.1 \
- core-foundation-sys-0.8.2 \
- cpufeatures-0.2.1 \
- crc-2.0.0 \
- crc-catalog-1.1.1 \
- crc32fast-1.2.1 \
- crossbeam-channel-0.5.1 \
- crossbeam-deque-0.8.1 \
- crossbeam-epoch-0.9.5 \
- crossbeam-utils-0.8.5 \
- crypto-mac-0.11.1 \
- csound-0.1.8 \
- csound-sys-0.1.2 \
- ctor-0.1.20 \
- dasp_frame-0.11.0 \
- dasp_sample-0.11.0 \
- dav1d-0.6.0 \
- dav1d-sys-0.3.4 \
- deflate-0.9.1 \
- diff-0.1.12 \
- digest-0.9.0 \
- dirs-next-2.0.0 \
- dirs-sys-next-0.1.2 \
- discard-1.0.4 \
- ebur128-0.1.6 \
- ed25519-1.2.0 \
- either-1.6.1 \
- encoding_rs-0.8.28 \
- env_logger-0.8.4 \
- field-offset-0.3.4 \
- flate2-1.0.20 \
- fnv-1.0.7 \
- foreign-types-0.3.2 \
- foreign-types-shared-0.1.1 \
- form_urlencoded-1.0.1 \
- fst-0.4.7 \
- fuchsia-zircon-0.3.3 \
- fuchsia-zircon-sys-0.3.3 \
- funty-1.1.0 \
- futures-0.3.16 \
- futures-channel-0.3.16 \
- futures-core-0.3.16 \
- futures-executor-0.3.16 \
- futures-io-0.3.16 \
- futures-macro-0.3.16 \
- futures-sink-0.3.16 \
- futures-task-0.3.16 \
- futures-util-0.3.16 \
- gdk-0.14.0 \
- gdk-pixbuf-0.14.0 \
- gdk-pixbuf-sys-0.14.0 \
- gdk-sys-0.14.0 \
- generic-array-0.14.4 \
- getrandom-0.2.3 \
- gif-0.11.2 \
- gio-0.14.3 \
- gio-sys-0.14.0 \
- glib-0.14.4 \
- glib-macros-0.14.1 \
- glib-sys-0.14.0 \
- glob-0.3.0 \
- gobject-sys-0.14.0 \
- gstreamer-0.17.3 \
- gstreamer-app-0.17.2 \
- gstreamer-app-sys-0.17.0 \
- gstreamer-audio-0.17.2 \
- gstreamer-audio-sys-0.17.0 \
- gstreamer-base-0.17.2 \
- gstreamer-base-sys-0.17.0 \
- gstreamer-check-0.17.0 \
- gstreamer-check-sys-0.17.0 \
- gstreamer-net-0.17.0 \
- gstreamer-net-sys-0.17.0 \
- gstreamer-rtp-0.17.0 \
- gstreamer-rtp-sys-0.17.0 \
- gstreamer-sys-0.17.3 \
- gstreamer-video-0.17.2 \
- gstreamer-video-sys-0.17.0 \
- gtk-0.14.1 \
- gtk-sys-0.14.0 \
- gtk3-macros-0.14.0 \
- h2-0.3.4 \
- hashbrown-0.11.2 \
- headers-0.3.4 \
- headers-core-0.2.0 \
- heck-0.3.3 \
- hermit-abi-0.1.19 \
- hex-0.4.3 \
- hmac-0.11.0 \
- http-0.2.4 \
- http-body-0.4.3 \
- httparse-1.5.1 \
- httpdate-1.0.1 \
- humantime-2.1.0 \
- hyper-0.14.12 \
- hyper-tls-0.5.0 \
- hyphenation-0.8.4 \
- hyphenation_commons-0.8.4 \
- idna-0.2.3 \
- image-0.23.14 \
- indexmap-1.7.0 \
- input_buffer-0.4.0 \
- instant-0.1.10 \
- interpolate_name-0.2.3 \
- iovec-0.1.4 \
- ipnet-2.3.1 \
- itertools-0.10.1 \
- itoa-0.4.8 \
- js-sys-0.3.53 \
- kernel32-sys-0.2.2 \
- lazy_static-1.4.0 \
- lazycell-1.3.0 \
- lewton-0.10.2 \
- lexical-core-0.7.6 \
- libc-0.2.101 \
- libfuzzer-sys-0.3.5 \
- libloading-0.7.0 \
- libsodium-sys-0.2.7 \
- libwebp-sys2-0.1.2 \
- lock_api-0.4.5 \
- log-0.4.14 \
- matches-0.1.9 \
- md-5-0.9.1 \
- memchr-2.4.1 \
- memoffset-0.6.4 \
- mime-0.3.16 \
- minimal-lexical-0.1.2 \
- miniz_oxide-0.4.4 \
- mio-0.6.23 \
- mio-0.7.13 \
- miow-0.2.2 \
- miow-0.3.7 \
- muldiv-1.0.0 \
- native-tls-0.2.8 \
- net2-0.2.37 \
- nnnoiseless-0.3.2 \
- nom-5.1.2 \
- nom-6.1.2 \
- nom-7.0.0 \
- noop_proc_macro-0.3.0 \
- ntapi-0.3.6 \
- num-0.4.0 \
- num-bigint-0.4.1 \
- num-complex-0.3.1 \
- num-complex-0.4.0 \
- num-derive-0.3.3 \
- num-integer-0.1.44 \
- num-iter-0.1.42 \
- num-rational-0.3.2 \
- num-rational-0.4.0 \
- num-traits-0.2.14 \
- num_cpus-1.13.0 \
- once_cell-1.8.0 \
- opaque-debug-0.3.0 \
- openssl-0.10.36 \
- openssl-probe-0.1.4 \
- openssl-sys-0.9.66 \
- output_vt100-0.1.2 \
- pango-0.14.3 \
- pango-sys-0.14.0 \
- pangocairo-0.14.0 \
- pangocairo-sys-0.14.0 \
- parking_lot-0.11.2 \
- parking_lot_core-0.8.5 \
- paste-1.0.5 \
- peeking_take_while-0.1.2 \
- percent-encoding-2.1.0 \
- pest-2.1.3 \
- pin-project-1.0.8 \
- pin-project-internal-1.0.8 \
- pin-project-lite-0.1.12 \
- pin-project-lite-0.2.7 \
- pin-utils-0.1.0 \
- pkg-config-0.3.19 \
- png-0.17.1 \
- pocket-resources-0.3.2 \
- ppv-lite86-0.2.10 \
- pretty-hex-0.2.1 \
- pretty_assertions-0.7.2 \
- primal-check-0.3.1 \
- proc-macro-crate-1.0.0 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
- proc-macro-hack-0.5.19 \
- proc-macro-nested-0.1.7 \
- proc-macro2-1.0.28 \
- publicsuffix-1.5.6 \
- quote-1.0.9 \
- radium-0.5.3 \
- rand-0.8.4 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- rand_hc-0.3.1 \
- rav1e-0.4.1 \
- rayon-1.5.1 \
- rayon-core-1.9.1 \
- redox_syscall-0.2.10 \
- redox_users-0.4.0 \
- regex-1.5.4 \
- regex-syntax-0.6.25 \
- remove_dir_all-0.5.3 \
- reqwest-0.11.4 \
- rusoto_core-0.47.0 \
- rusoto_credential-0.47.0 \
- rusoto_s3-0.47.0 \
- rusoto_signature-0.47.0 \
- rust_hawktracer-0.7.0 \
- rust_hawktracer_normal_macro-0.4.1 \
- rust_hawktracer_proc_macro-0.4.1 \
- rustc-hash-1.1.0 \
- rustc_version-0.2.3 \
- rustc_version-0.3.3 \
- rustc_version-0.4.0 \
- rustfft-5.1.1 \
- ryu-1.0.5 \
- same-file-1.0.6 \
- schannel-0.1.19 \
- scopeguard-1.1.0 \
- security-framework-2.4.1 \
- security-framework-sys-2.4.1 \
- semver-0.9.0 \
- semver-0.11.0 \
- semver-1.0.4 \
- semver-parser-0.7.0 \
- semver-parser-0.10.2 \
- serde-1.0.130 \
- serde_bytes-0.11.5 \
- serde_derive-1.0.130 \
- serde_json-1.0.67 \
- serde_urlencoded-0.7.0 \
- sha-1-0.9.8 \
- sha1-0.6.0 \
- sha2-0.9.6 \
- shlex-1.1.0 \
- signal-hook-registry-1.4.0 \
- signature-1.3.1 \
- simd_helpers-0.1.0 \
- slab-0.4.4 \
- smallvec-1.6.1 \
- smawk-0.3.1 \
- socket2-0.4.1 \
- sodiumoxide-0.2.7 \
- standback-0.2.17 \
- static_assertions-1.1.0 \
- stdweb-0.4.20 \
- stdweb-derive-0.5.3 \
- stdweb-internal-macros-0.2.9 \
- stdweb-internal-runtime-0.1.5 \
- strength_reduce-0.2.3 \
- strsim-0.8.0 \
- strum-0.21.0 \
- strum_macros-0.21.1 \
- subtle-2.4.1 \
- syn-1.0.75 \
- system-deps-3.1.2 \
- tap-1.0.1 \
- tempfile-3.2.0 \
- termcolor-1.1.2 \
- textwrap-0.11.0 \
- textwrap-0.14.2 \
- thiserror-1.0.28 \
- thiserror-impl-1.0.28 \
- time-0.1.43 \
- time-0.2.27 \
- time-macros-0.1.1 \
- time-macros-impl-0.1.2 \
- tinyvec-1.3.1 \
- tinyvec_macros-0.1.0 \
- tokio-1.10.1 \
- tokio-macros-1.3.0 \
- tokio-native-tls-0.3.0 \
- tokio-util-0.6.7 \
- toml-0.5.8 \
- tower-service-0.3.1 \
- tracing-0.1.26 \
- tracing-core-0.1.19 \
- transpose-0.2.1 \
- try-lock-0.2.3 \
- tungstenite-0.13.0 \
- typenum-1.13.0 \
- ucd-trie-0.1.3 \
- unicode-bidi-0.3.6 \
- unicode-linebreak-0.1.2 \
- unicode-normalization-0.1.19 \
- unicode-segmentation-1.8.0 \
- unicode-width-0.1.8 \
- unicode-xid-0.2.2 \
- url-2.2.2 \
- utf-8-0.7.6 \
- uuid-0.8.2 \
- v_frame-0.2.2 \
- va_list-0.1.3 \
- vcpkg-0.2.15 \
- vec_map-0.8.2 \
- vergen-3.2.0 \
- version-compare-0.0.11 \
- version_check-0.9.3 \
- walkdir-2.3.2 \
- want-0.3.0 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.76 \
- wasm-bindgen-backend-0.2.76 \
- wasm-bindgen-futures-0.4.26 \
- wasm-bindgen-macro-0.2.76 \
- wasm-bindgen-macro-support-0.2.76 \
- wasm-bindgen-shared-0.2.76 \
- web-sys-0.3.53 \
- weezl-0.1.5 \
- which-3.1.1 \
- winapi-0.2.8 \
- winapi-0.3.9 \
- winapi-build-0.1.1 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- winreg-0.7.0 \
- ws2_32-sys-0.2.1 \
- wyz-0.2.0 \
- xml-rs-0.8.4 \
- zeroize-1.4.1 \
- tokio,tokio-macros@git+https://github.com/fengalin/tokio\#2fd1551867c145cabe4548da2e37adc3bdf457a4 \
- flavors@git+https://github.com/rust-av/flavors\#ceb65b8ce94e183c4cf4011da0a40e3a4892c2c0
CARGO_BUILD= no
CARGO_INSTALL= no
CARGO_TEST= no
-OPTIONS_DEFINE= CSOUND DAV1D PANGO SODIUM
-OPTIONS_DEFAULT=CSOUND DAV1D PANGO SODIUM
+.if ${MACHINE_ARCH} == i386 || "${MACHINE_ARCH:Marmv?}" != ""
+# https://github.com/rust-lang/rust/issues/85598
+LTO_UNSAFE= yes
+CARGO_ENV+= CARGO_PROFILE_RELEASE_LTO=false
+.endif
+
+OPTIONS_DEFINE= ASM CAIRO CSOUND DAV1D GTK4 PANGO SODIUM WEBP
+OPTIONS_DEFAULT=ASM CAIRO CSOUND DAV1D GTK4 PANGO SODIUM WEBP
OPTIONS_EXCLUDE_aarch64= CSOUND # https://github.com/neithanmo/csound-rs/commit/8962b89d7bda
+OPTIONS_EXCLUDE_armv7= CSOUND # https://github.com/neithanmo/csound-rs/commit/8962b89d7bda
OPTIONS_EXCLUDE_powerpc64le= CSOUND
OPTIONS_EXCLUDE_powerpc64= CSOUND
OPTIONS_EXCLUDE_powerpc= CSOUND DAV1D
OPTIONS_SUB= yes
+ASM_BUILD_DEPENDS= nasm:devel/nasm
+
+CAIRO_USE= GNOME=cairo
+CAIRO_MESON_ENABLED= videofx
+
CSOUND_DESC= Audio filtering via Csound
CSOUND_LIB_DEPENDS= libcsound64.so:audio/csound
CSOUND_CONFIGURE_ENV= CSOUND_LIB_DIR="${LOCALBASE}/lib"
CSOUND_MESON_ENABLED= csound
DAV1D_DESC= AV1 video decoding via libdav1d
-DAV1D_BUILD_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT}
DAV1D_LIB_DEPENDS= libdav1d.so:multimedia/dav1d
DAV1D_MESON_ENABLED= dav1d
+GTK4_LIB_DEPENDS= libgraphene-1.0.so:graphics/graphene
+GTK4_USE= GNOME=gtk40 GSTREAMER=gl
+GTK4_MESON_ENABLED= gtk4
+
PANGO_USE= GNOME=cairo,pango
-PANGO_MESON_ENABLED= closedcaption
+PANGO_MESON_ENABLED= closedcaption onvif
SODIUM_DESC= File encryption and decryption via libsodium
SODIUM_LIB_DEPENDS= libsodium.so:security/libsodium
-SODIUM_MESON_ON= -Dsodium=system
-SODIUM_MESON_OFF= -Dsodium=disabled
+SODIUM_MESON_ENABLED= sodium
+SODIUM_MESON_ON= -Dsodium-source=system
+
+WEBP_LIB_DEPENDS= libwebpdemux.so:graphics/webp
+WEBP_MESON_ENABLED= webp
post-patch:
- @${REINPLACE_CMD} -e 's,"llvm-config,&${LLVM_DEFAULT},' \
- ${WRKSRC}/cargo-crates/clang-sys-*/build/common.rs \
- ${WRKSRC}/cargo-crates/clang-sys-*/src/support.rs
# Make each cargo subcommand very verbose
- @${REINPLACE_CMD} -e "/'cargo'/s/, '--/&verbose'&verbose'&/" \
+ @${REINPLACE_CMD} -Ee "/cargo.*'c?(build|test)'/s/]/, '--verbose', '--verbose'&/" \
${WRKSRC}/cargo_wrapper.py
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/gstreamer-1.0/*.so
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 31100
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}tomli>0:textproc/py-tomli@${PY_FLAVOR}
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer1-plugins-rust/Makefile.crates b/multimedia/gstreamer1-plugins-rust/Makefile.crates
new file mode 100644
index 000000000000..d27d1587c67b
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-rust/Makefile.crates
@@ -0,0 +1,485 @@
+CARGO_CRATES= addr2line-0.21.0 \
+ adler-1.0.2 \
+ aes-0.6.0 \
+ aes-ctr-0.6.0 \
+ aes-soft-0.6.4 \
+ aesni-0.10.0 \
+ aho-corasick-1.1.1 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anstream-0.6.4 \
+ anstyle-1.0.4 \
+ anstyle-parse-0.2.2 \
+ anstyle-query-1.0.0 \
+ anstyle-wincon-3.0.1 \
+ anyhow-1.0.75 \
+ arbitrary-0.4.7 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.4 \
+ async-compression-0.4.3 \
+ async-recursion-1.0.5 \
+ async-stream-0.3.5 \
+ async-stream-impl-0.3.5 \
+ async-task-4.4.1 \
+ async-trait-0.1.73 \
+ async-tungstenite-0.23.0 \
+ atomic_refcell-0.1.12 \
+ atty-0.2.14 \
+ autocfg-1.1.0 \
+ av1-grain-0.2.2 \
+ aws-config-0.56.1 \
+ aws-credential-types-0.56.1 \
+ aws-http-0.56.1 \
+ aws-runtime-0.56.1 \
+ aws-sdk-kinesisvideo-0.31.2 \
+ aws-sdk-kinesisvideosignaling-0.31.1 \
+ aws-sdk-s3-0.31.2 \
+ aws-sdk-sso-0.30.0 \
+ aws-sdk-sts-0.30.0 \
+ aws-sdk-transcribestreaming-0.31.1 \
+ aws-sdk-translate-0.31.1 \
+ aws-sig-auth-0.56.1 \
+ aws-sigv4-0.56.1 \
+ aws-smithy-async-0.56.1 \
+ aws-smithy-checksums-0.56.1 \
+ aws-smithy-client-0.56.1 \
+ aws-smithy-eventstream-0.56.1 \
+ aws-smithy-http-0.56.1 \
+ aws-smithy-http-tower-0.56.1 \
+ aws-smithy-json-0.56.1 \
+ aws-smithy-query-0.56.1 \
+ aws-smithy-runtime-0.56.1 \
+ aws-smithy-runtime-api-0.56.1 \
+ aws-smithy-types-0.56.1 \
+ aws-smithy-xml-0.56.1 \
+ aws-types-0.56.1 \
+ backtrace-0.3.69 \
+ base32-0.4.0 \
+ base64-0.13.1 \
+ base64-0.21.4 \
+ base64-serde-0.7.0 \
+ base64-simd-0.8.0 \
+ bincode-1.3.3 \
+ bitflags-1.3.2 \
+ bitflags-2.4.0 \
+ bitstream-io-1.7.0 \
+ block-buffer-0.9.0 \
+ block-buffer-0.10.4 \
+ build_const-0.2.2 \
+ built-0.5.2 \
+ bumpalo-3.14.0 \
+ byte-slice-cast-1.2.2 \
+ bytemuck-1.14.0 \
+ byteorder-1.4.3 \
+ bytes-1.5.0 \
+ bytes-utils-0.1.3 \
+ cargo-lock-8.0.3 \
+ cc-1.0.83 \
+ cdg-0.1.0 \
+ cdg_renderer-0.7.1 \
+ cea708-types-0.1.0 \
+ cfg-expr-0.15.5 \
+ cfg-if-1.0.0 \
+ chrono-0.4.31 \
+ cipher-0.2.5 \
+ clap-4.4.6 \
+ clap_builder-4.4.6 \
+ clap_derive-4.4.2 \
+ clap_lex-0.5.1 \
+ claxon-0.4.3 \
+ color-name-1.1.0 \
+ color-thief-0.2.2 \
+ color_quant-1.1.0 \
+ colorchoice-1.0.0 \
+ concurrent-queue-2.3.0 \
+ cookie-0.16.2 \
+ cookie_store-0.16.2 \
+ core-foundation-0.9.3 \
+ core-foundation-sys-0.8.4 \
+ cpufeatures-0.2.9 \
+ crc-1.8.1 \
+ crc32c-0.6.4 \
+ crc32fast-1.3.2 \
+ crossbeam-deque-0.8.3 \
+ crossbeam-epoch-0.9.15 \
+ crossbeam-utils-0.8.16 \
+ crypto-common-0.1.6 \
+ crypto-mac-0.11.1 \
+ csound-0.1.8 \
+ csound-sys-0.1.2 \
+ ctr-0.6.0 \
+ darling-0.20.3 \
+ darling_core-0.20.3 \
+ darling_macro-0.20.3 \
+ dash-mpd-0.14.1 \
+ dasp_frame-0.11.0 \
+ dasp_sample-0.11.0 \
+ data-encoding-2.4.0 \
+ dav1d-0.9.4 \
+ dav1d-sys-0.7.1 \
+ deranged-0.3.8 \
+ diff-0.1.13 \
+ digest-0.9.0 \
+ digest-0.10.7 \
+ dssim-core-3.2.7 \
+ ebur128-0.1.8 \
+ ed25519-1.5.3 \
+ either-1.9.0 \
+ encoding_rs-0.8.33 \
+ env_logger-0.9.3 \
+ env_logger-0.10.0 \
+ equivalent-1.0.1 \
+ errno-0.3.4 \
+ errno-dragonfly-0.1.2 \
+ fastrand-2.0.1 \
+ fdeflate-0.3.0 \
+ field-offset-0.3.6 \
+ fixedbitset-0.4.2 \
+ flate2-1.0.27 \
+ flume-0.11.0 \
+ fnv-1.0.7 \
+ foreign-types-0.3.2 \
+ foreign-types-shared-0.1.1 \
+ form_urlencoded-1.2.0 \
+ fs-err-2.9.0 \
+ fst-0.4.7 \
+ futures-0.3.28 \
+ futures-channel-0.3.28 \
+ futures-core-0.3.28 \
+ futures-executor-0.3.28 \
+ futures-io-0.3.28 \
+ futures-macro-0.3.28 \
+ futures-sink-0.3.28 \
+ futures-task-0.3.28 \
+ futures-util-0.3.28 \
+ generic-array-0.14.7 \
+ getopts-0.2.21 \
+ getrandom-0.2.10 \
+ gif-0.12.0 \
+ gimli-0.28.0 \
+ glob-0.3.1 \
+ h2-0.3.21 \
+ hashbrown-0.12.3 \
+ hashbrown-0.14.1 \
+ headers-0.3.9 \
+ headers-core-0.2.0 \
+ heck-0.4.1 \
+ hermit-abi-0.1.19 \
+ hermit-abi-0.3.3 \
+ hex-0.4.3 \
+ hmac-0.11.0 \
+ hmac-0.12.1 \
+ hostname-0.3.1 \
+ hrtf-0.8.0 \
+ http-0.2.9 \
+ http-body-0.4.5 \
+ httparse-1.8.0 \
+ httpdate-1.0.3 \
+ human_bytes-0.4.3 \
+ humantime-2.1.0 \
+ hyper-0.14.27 \
+ hyper-proxy-0.9.1 \
+ hyper-rustls-0.24.1 \
+ hyper-tls-0.5.0 \
+ hyphenation-0.8.4 \
+ hyphenation_commons-0.8.4 \
+ iana-time-zone-0.1.57 \
+ iana-time-zone-haiku-0.1.2 \
+ ident_case-1.0.1 \
+ idna-0.2.3 \
+ idna-0.3.0 \
+ idna-0.4.0 \
+ if-addrs-0.7.0 \
+ image-0.24.7 \
+ image_hasher-1.2.0 \
+ imgref-1.9.4 \
+ indexmap-1.9.3 \
+ indexmap-2.0.2 \
+ interpolate_name-0.2.4 \
+ ipnet-2.8.0 \
+ is-terminal-0.4.9 \
+ iso8601-0.6.1 \
+ itertools-0.10.5 \
+ itertools-0.11.0 \
+ itoa-1.0.9 \
+ jobserver-0.1.26 \
+ js-sys-0.3.64 \
+ jsonwebtoken-8.3.0 \
+ khronos-egl-5.0.0 \
+ lazy_static-1.4.0 \
+ lewton-0.10.2 \
+ libc-0.2.148 \
+ libfuzzer-sys-0.3.5 \
+ libloading-0.8.1 \
+ libm-0.2.7 \
+ libmdns-0.7.5 \
+ librespot-0.4.2 \
+ librespot-audio-0.4.2 \
+ librespot-connect-0.4.2 \
+ librespot-core-0.4.2 \
+ librespot-discovery-0.4.2 \
+ librespot-metadata-0.4.2 \
+ librespot-playback-0.4.2 \
+ librespot-protocol-0.4.2 \
+ libsodium-sys-0.2.7 \
+ libwebp-sys2-0.1.9 \
+ linux-raw-sys-0.4.8 \
+ livekit-api-0.1.3 \
+ livekit-protocol-0.1.3 \
+ lock_api-0.4.10 \
+ log-0.4.20 \
+ m3u8-rs-5.0.4 \
+ match_cfg-0.1.0 \
+ matchers-0.1.0 \
+ matches-0.1.10 \
+ maybe-rayon-0.1.1 \
+ md-5-0.10.6 \
+ memchr-2.6.4 \
+ memoffset-0.6.5 \
+ memoffset-0.9.0 \
+ mime-0.3.17 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.7.1 \
+ mio-0.8.8 \
+ more-asserts-0.3.1 \
+ muldiv-1.0.1 \
+ multimap-0.8.3 \
+ nanorand-0.7.0 \
+ nasm-rs-0.2.5 \
+ native-tls-0.2.11 \
+ new_debug_unreachable-1.0.4 \
+ nix-0.23.2 \
+ nnnoiseless-0.5.1 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ nu-ansi-term-0.46.0 \
+ num-bigint-0.4.4 \
+ num-complex-0.4.4 \
+ num-derive-0.3.3 \
+ num-derive-0.4.0 \
+ num-integer-0.1.45 \
+ num-rational-0.4.1 \
+ num-traits-0.2.16 \
+ num_cpus-1.16.0 \
+ object-0.32.1 \
+ ogg-0.8.0 \
+ once_cell-1.18.0 \
+ opaque-debug-0.3.0 \
+ openssl-0.10.57 \
+ openssl-macros-0.1.1 \
+ openssl-probe-0.1.5 \
+ openssl-sys-0.9.93 \
+ option-operations-0.5.0 \
+ outref-0.5.1 \
+ overload-0.1.1 \
+ parking_lot-0.12.1 \
+ parking_lot_core-0.9.8 \
+ parse_link_header-0.3.3 \
+ paste-1.0.14 \
+ pbkdf2-0.8.0 \
+ percent-encoding-2.3.0 \
+ petgraph-0.6.4 \
+ pin-project-1.1.3 \
+ pin-project-internal-1.1.3 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ pkg-config-0.3.27 \
+ png-0.17.10 \
+ pocket-resources-0.3.2 \
+ polling-3.2.0 \
+ ppv-lite86-0.2.17 \
+ pretty-hex-0.3.0 \
+ pretty_assertions-1.4.0 \
+ primal-check-0.3.3 \
+ priority-queue-1.3.2 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro2-1.0.67 \
+ prost-0.11.9 \
+ prost-derive-0.11.9 \
+ prost-types-0.11.9 \
+ protobuf-2.28.0 \
+ protobuf-codegen-2.28.0 \
+ protobuf-codegen-pure-2.28.0 \
+ psl-types-2.0.11 \
+ publicsuffix-2.2.3 \
+ quick-xml-0.30.0 \
+ quote-1.0.33 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rand_distr-0.4.3 \
+ raptorq-1.7.0 \
+ rav1e-0.6.6 \
+ rayon-1.8.0 \
+ rayon-core-1.12.0 \
+ realfft-2.0.1 \
+ redox_syscall-0.2.16 \
+ redox_syscall-0.3.5 \
+ regex-1.9.6 \
+ regex-automata-0.1.10 \
+ regex-automata-0.3.9 \
+ regex-syntax-0.6.29 \
+ regex-syntax-0.7.5 \
+ reqwest-0.11.22 \
+ rgb-0.8.36 \
+ ring-0.16.20 \
+ rpassword-6.0.1 \
+ rubato-0.10.1 \
+ rust_hawktracer-0.7.0 \
+ rust_hawktracer_normal_macro-0.4.1 \
+ rust_hawktracer_proc_macro-0.4.1 \
+ rustc-demangle-0.1.23 \
+ rustc_version-0.4.0 \
+ rustdct-0.7.1 \
+ rustfft-6.1.0 \
+ rustix-0.38.15 \
+ rustls-0.21.7 \
+ rustls-native-certs-0.6.3 \
+ rustls-pemfile-1.0.3 \
+ rustls-webpki-0.101.6 \
+ ryu-1.0.15 \
+ same-file-1.0.6 \
+ schannel-0.1.22 \
+ scopeguard-1.2.0 \
+ sct-0.7.0 \
+ security-framework-2.9.2 \
+ security-framework-sys-2.9.1 \
+ semver-1.0.19 \
+ serde-1.0.188 \
+ serde_bytes-0.11.12 \
+ serde_derive-1.0.188 \
+ serde_json-1.0.107 \
+ serde_spanned-0.6.3 \
+ serde_urlencoded-0.7.1 \
+ serde_with-3.3.0 \
+ serde_with_macros-3.3.0 \
+ sha-1-0.9.8 \
+ sha1-0.10.6 \
+ sha2-0.10.8 \
+ shannon-0.2.0 \
+ sharded-slab-0.1.6 \
+ shell-words-1.1.0 \
+ signal-hook-0.3.17 \
+ signal-hook-registry-1.4.1 \
+ signature-1.6.4 \
+ simd-adler32-0.3.7 \
+ simd_helpers-0.1.0 \
+ slab-0.4.9 \
+ smallvec-1.11.1 \
+ smawk-0.3.2 \
+ socket2-0.4.9 \
+ socket2-0.5.4 \
+ sodiumoxide-0.2.7 \
+ spin-0.5.2 \
+ spin-0.9.8 \
+ strength_reduce-0.2.4 \
+ strsim-0.10.0 \
+ subtle-2.4.1 \
+ syn-1.0.109 \
+ syn-2.0.37 \
+ system-configuration-0.5.1 \
+ system-configuration-sys-0.5.0 \
+ system-deps-6.1.2 \
+ target-lexicon-0.12.11 \
+ tempfile-3.8.0 \
+ termcolor-1.3.0 \
+ test-log-0.2.12 \
+ test-with-0.10.4 \
+ textwrap-0.16.0 \
+ thiserror-1.0.49 \
+ thiserror-impl-1.0.49 \
+ thread-id-4.2.0 \
+ thread_local-1.1.7 \
+ time-0.3.29 \
+ time-core-0.1.2 \
+ time-macros-0.2.15 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.32.0 \
+ tokio-macros-2.1.0 \
+ tokio-native-tls-0.3.1 \
+ tokio-rustls-0.24.1 \
+ tokio-stream-0.1.14 \
+ tokio-tungstenite-0.19.0 \
+ tokio-util-0.7.9 \
+ toml-0.5.11 \
+ toml-0.8.2 \
+ toml_datetime-0.6.3 \
+ toml_edit-0.19.15 \
+ toml_edit-0.20.2 \
+ tower-0.4.13 \
+ tower-layer-0.3.2 \
+ tower-service-0.3.2 \
+ tracing-0.1.37 \
+ tracing-attributes-0.1.26 \
+ tracing-core-0.1.31 \
+ tracing-log-0.1.3 \
+ tracing-subscriber-0.3.17 \
+ transpose-0.2.2 \
+ try-lock-0.2.4 \
+ tungstenite-0.19.0 \
+ tungstenite-0.20.1 \
+ typenum-1.17.0 \
+ unicode-bidi-0.3.13 \
+ unicode-ident-1.0.12 \
+ unicode-linebreak-0.1.5 \
+ unicode-normalization-0.1.22 \
+ unicode-width-0.1.11 \
+ untrusted-0.7.1 \
+ url-2.4.1 \
+ url-escape-0.1.1 \
+ urlencoding-2.1.3 \
+ utf-8-0.7.6 \
+ utf8parse-0.2.1 \
+ uuid-1.4.1 \
+ v_frame-0.3.6 \
+ va_list-0.1.4 \
+ valuable-0.1.0 \
+ vcpkg-0.2.15 \
+ vergen-3.2.0 \
+ version-compare-0.1.1 \
+ version_check-0.9.4 \
+ vsimd-0.8.0 \
+ waker-fn-1.1.1 \
+ walkdir-2.4.0 \
+ want-0.3.1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.87 \
+ wasm-bindgen-backend-0.2.87 \
+ wasm-bindgen-futures-0.4.37 \
+ wasm-bindgen-macro-0.2.87 \
+ wasm-bindgen-macro-support-0.2.87 \
+ wasm-bindgen-shared-0.2.87 \
+ web-sys-0.3.64 \
+ weezl-0.1.7 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.6 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-0.48.0 \
+ windows-sys-0.48.0 \
+ windows-targets-0.48.5 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_msvc-0.48.5 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_msvc-0.48.5 \
+ winnow-0.5.15 \
+ winreg-0.50.0 \
+ xattr-1.0.1 \
+ xml-rs-0.8.19 \
+ xmlparser-0.13.6 \
+ xmltree-0.10.3 \
+ yansi-0.5.1 \
+ zerocopy-0.6.4 \
+ zerocopy-derive-0.6.4 \
+ zeroize-1.6.0 \
+ flavors@git+https://github.com/rust-av/flavors\#833508af656d298c269f2397c8541a084264d992 \
+ gstreamer,gstreamer-app,gstreamer-app-sys,gstreamer-audio,gstreamer-audio-sys,gstreamer-base,gstreamer-base-sys,gstreamer-check,gstreamer-check-sys,gstreamer-gl,gstreamer-gl-egl,gstreamer-gl-egl-sys,gstreamer-gl-sys,gstreamer-gl-wayland,gstreamer-gl-wayland-sys,gstreamer-gl-x11,gstreamer-gl-x11-sys,gstreamer-net,gstreamer-net-sys,gstreamer-pbutils,gstreamer-pbutils-sys,gstreamer-rtp,gstreamer-rtp-sys,gstreamer-sdp,gstreamer-sdp-sys,gstreamer-sys,gstreamer-utils,gstreamer-video,gstreamer-video-sys,gstreamer-webrtc,gstreamer-webrtc-sys@git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs?branch=0.21\#71bbcc00e2c515824d13d517fab26b19b9a4c2f9 \
+ gdk4,gdk4-sys,gdk4-wayland,gdk4-wayland-sys,gdk4-win32,gdk4-win32-sys,gdk4-x11,gdk4-x11-sys,gsk4,gsk4-sys,gtk4,gtk4-macros,gtk4-sys@git+https://github.com/gtk-rs/gtk4-rs?branch=0.7\#cb4dde9bc2455c66aa86df6fbcd71a9f155097ea \
+ ffv1@git+https://github.com/rust-av/ffv1.git?rev=2afb025a327173ce891954c052e804d0f880368a\#2afb025a327173ce891954c052e804d0f880368a \
+ cairo-rs,cairo-sys-rs,gdk-pixbuf,gdk-pixbuf-sys,gio,gio-sys,glib,glib-macros,glib-sys,gobject-sys,graphene-rs,graphene-sys,pango,pango-sys,pangocairo,pangocairo-sys@git+https://github.com/gtk-rs/gtk-rs-core?branch=0.18\#1ce51ac2eb3e11c34088a7249a17e767e63ee0d9
diff --git a/multimedia/gstreamer1-plugins-rust/distinfo b/multimedia/gstreamer1-plugins-rust/distinfo
index ada019e34bb8..8b0a612e38c8 100644
--- a/multimedia/gstreamer1-plugins-rust/distinfo
+++ b/multimedia/gstreamer1-plugins-rust/distinfo
@@ -1,745 +1,973 @@
-TIMESTAMP = 1630388958
+TIMESTAMP = 1696842425
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
SIZE (rust/crates/adler-1.0.2.crate) = 12778
-SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
-SIZE (rust/crates/adler32-1.2.0.crate) = 6411
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
-SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
-SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
-SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
-SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
-SHA256 (rust/crates/anyhow-1.0.43.crate) = 28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf
-SIZE (rust/crates/anyhow-1.0.43.crate) = 34968
+SHA256 (rust/crates/aes-0.6.0.crate) = 884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561
+SIZE (rust/crates/aes-0.6.0.crate) = 86774
+SHA256 (rust/crates/aes-ctr-0.6.0.crate) = 7729c3cde54d67063be556aeac75a81330d802f0259500ca40cb52967f975763
+SIZE (rust/crates/aes-ctr-0.6.0.crate) = 13217
+SHA256 (rust/crates/aes-soft-0.6.4.crate) = be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072
+SIZE (rust/crates/aes-soft-0.6.4.crate) = 99980
+SHA256 (rust/crates/aesni-0.10.0.crate) = ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce
+SIZE (rust/crates/aesni-0.10.0.crate) = 100248
+SHA256 (rust/crates/aho-corasick-1.1.1.crate) = ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab
+SIZE (rust/crates/aho-corasick-1.1.1.crate) = 182812
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anstream-0.6.4.crate) = 2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44
+SIZE (rust/crates/anstream-0.6.4.crate) = 20593
+SHA256 (rust/crates/anstyle-1.0.4.crate) = 7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87
+SIZE (rust/crates/anstyle-1.0.4.crate) = 13998
+SHA256 (rust/crates/anstyle-parse-0.2.2.crate) = 317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140
+SIZE (rust/crates/anstyle-parse-0.2.2.crate) = 24696
+SHA256 (rust/crates/anstyle-query-1.0.0.crate) = 5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b
+SIZE (rust/crates/anstyle-query-1.0.0.crate) = 8620
+SHA256 (rust/crates/anstyle-wincon-3.0.1.crate) = f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628
+SIZE (rust/crates/anstyle-wincon-3.0.1.crate) = 11279
+SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
+SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
SHA256 (rust/crates/arbitrary-0.4.7.crate) = db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569
SIZE (rust/crates/arbitrary-0.4.7.crate) = 26282
-SHA256 (rust/crates/arg_enum_proc_macro-0.3.1.crate) = 7c8e0146624e9b300cfeb394a758bd23e2fe494579c6363413354f04e8b49261
-SIZE (rust/crates/arg_enum_proc_macro-0.3.1.crate) = 4687
-SHA256 (rust/crates/array-init-2.0.0.crate) = 6945cc5422176fc5e602e590c2878d2c2acd9a4fe20a4baa7c28022521698ec6
-SIZE (rust/crates/array-init-2.0.0.crate) = 10685
-SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
-SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
-SHA256 (rust/crates/async-compression-0.3.8.crate) = 5443ccbb270374a2b1055fc72da40e1f237809cd6bb0e97e66d264cd138473a6
-SIZE (rust/crates/async-compression-0.3.8.crate) = 57977
-SHA256 (rust/crates/async-trait-0.1.51.crate) = 44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e
-SIZE (rust/crates/async-trait-0.1.51.crate) = 25531
-SHA256 (rust/crates/async-tungstenite-0.14.0.crate) = 8645e929ec7964448a901db9da30cd2ae8c7fecf4d6176af427837531dbbb63b
-SIZE (rust/crates/async-tungstenite-0.14.0.crate) = 41737
-SHA256 (rust/crates/atk-0.14.0.crate) = a83b21d2aa75e464db56225e1bda2dd5993311ba1095acaa8fa03d1ae67026ba
-SIZE (rust/crates/atk-0.14.0.crate) = 35031
-SHA256 (rust/crates/atk-sys-0.14.0.crate) = badcf670157c84bb8b1cf6b5f70b650fed78da2033c9eed84c4e49b11cbe83ea
-SIZE (rust/crates/atk-sys-0.14.0.crate) = 21815
-SHA256 (rust/crates/atomic_refcell-0.1.7.crate) = 681b971236e0f76b20fcafca0236b8718c9186ee778d67cd78bd5f28fd85427f
-SIZE (rust/crates/atomic_refcell-0.1.7.crate) = 5896
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
+SHA256 (rust/crates/async-compression-0.4.3.crate) = bb42b2197bf15ccb092b62c74515dbd8b86d0effd934795f6687c93b6e679a2c
+SIZE (rust/crates/async-compression-0.4.3.crate) = 98930
+SHA256 (rust/crates/async-recursion-1.0.5.crate) = 5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0
+SIZE (rust/crates/async-recursion-1.0.5.crate) = 11890
+SHA256 (rust/crates/async-stream-0.3.5.crate) = cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51
+SIZE (rust/crates/async-stream-0.3.5.crate) = 11916
+SHA256 (rust/crates/async-stream-impl-0.3.5.crate) = 16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193
+SIZE (rust/crates/async-stream-impl-0.3.5.crate) = 4173
+SHA256 (rust/crates/async-task-4.4.1.crate) = b9441c6b2fe128a7c2bf680a44c34d0df31ce09e5b7e401fcca3faa483dbc921
+SIZE (rust/crates/async-task-4.4.1.crate) = 36349
+SHA256 (rust/crates/async-trait-0.1.73.crate) = bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0
+SIZE (rust/crates/async-trait-0.1.73.crate) = 28654
+SHA256 (rust/crates/async-tungstenite-0.23.0.crate) = a1e9efbe14612da0a19fb983059a0b621e9cf6225d7018ecab4f9988215540dc
+SIZE (rust/crates/async-tungstenite-0.23.0.crate) = 39510
+SHA256 (rust/crates/atomic_refcell-0.1.12.crate) = 76f2bfe491d41d45507b8431da8274f7feeca64a49e86d980eed2937ec2ff020
+SIZE (rust/crates/atomic_refcell-0.1.12.crate) = 11526
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (rust/crates/base-x-0.2.8.crate) = a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b
-SIZE (rust/crates/base-x-0.2.8.crate) = 10614
-SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
-SIZE (rust/crates/base64-0.13.0.crate) = 62070
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/av1-grain-0.2.2.crate) = 6f6ca6f0c18c02c2fbfc119df551b8aeb8a385f6d5980f1475ba0255f1e97f1e
+SIZE (rust/crates/av1-grain-0.2.2.crate) = 33763
+SHA256 (rust/crates/aws-config-0.56.1.crate) = fc6b3804dca60326e07205179847f17a4fce45af3a1106939177ad41ac08a6de
+SIZE (rust/crates/aws-config-0.56.1.crate) = 115136
+SHA256 (rust/crates/aws-credential-types-0.56.1.crate) = 70a66ac8ef5fa9cf01c2d999f39d16812e90ec1467bd382cbbb74ba23ea86201
+SIZE (rust/crates/aws-credential-types-0.56.1.crate) = 17965
+SHA256 (rust/crates/aws-http-0.56.1.crate) = 3e626370f9ba806ae4c439e49675fd871f5767b093075cdf4fef16cac42ba900
+SIZE (rust/crates/aws-http-0.56.1.crate) = 23104
+SHA256 (rust/crates/aws-runtime-0.56.1.crate) = 07ac5cf0ff19c1bca0cea7932e11b239d1025a45696a4f44f72ea86e2b8bdd07
+SIZE (rust/crates/aws-runtime-0.56.1.crate) = 20859
+SHA256 (rust/crates/aws-sdk-kinesisvideo-0.31.2.crate) = 6f913b0a0ee9b53aaffefffb2013c9b137726e84e3f7199717ecd70301449e5c
+SIZE (rust/crates/aws-sdk-kinesisvideo-0.31.2.crate) = 274753
+SHA256 (rust/crates/aws-sdk-kinesisvideosignaling-0.31.1.crate) = 8c05873592e2a2f5a5a78df55429e623239db13d5416224afb17d48e344f9993
+SIZE (rust/crates/aws-sdk-kinesisvideosignaling-0.31.1.crate) = 54032
+SHA256 (rust/crates/aws-sdk-s3-0.31.2.crate) = c681fef332c3462634cd97fced8d1ac3cfdf790829bd7bfb4006cfba76712053
+SIZE (rust/crates/aws-sdk-s3-0.31.2.crate) = 1100988
+SHA256 (rust/crates/aws-sdk-sso-0.30.0.crate) = 903f888ff190e64f6f5c83fb0f8d54f9c20481f1dc26359bb8896f5d99908949
+SIZE (rust/crates/aws-sdk-sso-0.30.0.crate) = 65235
+SHA256 (rust/crates/aws-sdk-sts-0.30.0.crate) = a47ad6bf01afc00423d781d464220bf69fb6a674ad6629cbbcb06d88cdc2be82
+SIZE (rust/crates/aws-sdk-sts-0.30.0.crate) = 138336
+SHA256 (rust/crates/aws-sdk-transcribestreaming-0.31.1.crate) = 5232c9b753b5d39199d6a1842d100700b9eee80042da9d76fcc7a5ebf3431456
+SIZE (rust/crates/aws-sdk-transcribestreaming-0.31.1.crate) = 287920
+SHA256 (rust/crates/aws-sdk-translate-0.31.1.crate) = fd7d2040b265d67dc1c52684211eff65632cb2af76b7553b872f525cb279db09
+SIZE (rust/crates/aws-sdk-translate-0.31.1.crate) = 207948
+SHA256 (rust/crates/aws-sig-auth-0.56.1.crate) = 54bdd56437a3f6bd3f5d16d5ba0532e90e6c9371b8274cd97a55a2f2c3e44efb
+SIZE (rust/crates/aws-sig-auth-0.56.1.crate) = 13459
+SHA256 (rust/crates/aws-sigv4-0.56.1.crate) = b7b28f4910bb956b7ab320b62e98096402354eca976c587d1eeccd523d9bac03
+SIZE (rust/crates/aws-sigv4-0.56.1.crate) = 28766
+SHA256 (rust/crates/aws-smithy-async-0.56.1.crate) = 2cdb73f85528b9d19c23a496034ac53703955a59323d581c06aa27b4e4e247af
+SIZE (rust/crates/aws-smithy-async-0.56.1.crate) = 16205
+SHA256 (rust/crates/aws-smithy-checksums-0.56.1.crate) = afb15946af1b8d3beeff53ad991d9bff68ac22426b6d40372b958a75fa61eaed
+SIZE (rust/crates/aws-smithy-checksums-0.56.1.crate) = 11747
+SHA256 (rust/crates/aws-smithy-client-0.56.1.crate) = c27b2756264c82f830a91cb4d2d485b2d19ad5bea476d9a966e03d27f27ba59a
+SIZE (rust/crates/aws-smithy-client-0.56.1.crate) = 50533
+SHA256 (rust/crates/aws-smithy-eventstream-0.56.1.crate) = 850233feab37b591b7377fd52063aa37af615687f5896807abe7f49bd4e1d25b
+SIZE (rust/crates/aws-smithy-eventstream-0.56.1.crate) = 18280
+SHA256 (rust/crates/aws-smithy-http-0.56.1.crate) = 54cdcf365d8eee60686885f750a34c190e513677db58bbc466c44c588abf4199
+SIZE (rust/crates/aws-smithy-http-0.56.1.crate) = 54731
+SHA256 (rust/crates/aws-smithy-http-tower-0.56.1.crate) = 822de399d0ce62829a69dfa8c5cd08efdbe61a7426b953e2268f8b8b52a607bd
+SIZE (rust/crates/aws-smithy-http-tower-0.56.1.crate) = 8854
+SHA256 (rust/crates/aws-smithy-json-0.56.1.crate) = 4fb1e7ab8fa7ad10c193af7ae56d2420989e9f4758bf03601a342573333ea34f
+SIZE (rust/crates/aws-smithy-json-0.56.1.crate) = 22929
+SHA256 (rust/crates/aws-smithy-query-0.56.1.crate) = 28556a3902091c1f768a34f6c998028921bdab8d47d92586f363f14a4a32d047
+SIZE (rust/crates/aws-smithy-query-0.56.1.crate) = 7305
+SHA256 (rust/crates/aws-smithy-runtime-0.56.1.crate) = 745e096b3553e7e0f40622aa04971ce52765af82bebdeeac53aa6fc82fe801e6
+SIZE (rust/crates/aws-smithy-runtime-0.56.1.crate) = 46192
+SHA256 (rust/crates/aws-smithy-runtime-api-0.56.1.crate) = 93d0ae0c9cfd57944e9711ea610b48a963fb174a53aabacc08c5794a594b1d02
+SIZE (rust/crates/aws-smithy-runtime-api-0.56.1.crate) = 34080
+SHA256 (rust/crates/aws-smithy-types-0.56.1.crate) = d90dbc8da2f6be461fa3c1906b20af8f79d14968fe47f2b7d29d086f62a51728
+SIZE (rust/crates/aws-smithy-types-0.56.1.crate) = 58433
+SHA256 (rust/crates/aws-smithy-xml-0.56.1.crate) = e01d2dedcdd8023043716cfeeb3c6c59f2d447fce365d8e194838891794b23b6
+SIZE (rust/crates/aws-smithy-xml-0.56.1.crate) = 15661
+SHA256 (rust/crates/aws-types-0.56.1.crate) = 85aa0451bf8af1bf22a4f028d5d28054507a14be43cb8ac0597a8471fba9edfe
+SIZE (rust/crates/aws-types-0.56.1.crate) = 14839
+SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
+SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
+SHA256 (rust/crates/base32-0.4.0.crate) = 23ce669cd6c8588f79e15cf450314f9638f967fc5770ff1c7c1deb0925ea7cfa
+SIZE (rust/crates/base32-0.4.0.crate) = 7791
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/base64-0.21.4.crate) = 9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2
+SIZE (rust/crates/base64-0.21.4.crate) = 77029
+SHA256 (rust/crates/base64-serde-0.7.0.crate) = ba368df5de76a5bea49aaf0cf1b39ccfbbef176924d1ba5db3e4135216cbe3c7
+SIZE (rust/crates/base64-serde-0.7.0.crate) = 7989
+SHA256 (rust/crates/base64-simd-0.8.0.crate) = 339abbe78e73178762e23bea9dfd08e697eb3f3301cd4be981c0f78ba5859195
+SIZE (rust/crates/base64-simd-0.8.0.crate) = 12531
SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
SIZE (rust/crates/bincode-1.3.3.crate) = 28958
-SHA256 (rust/crates/bindgen-0.58.1.crate) = 0f8523b410d7187a43085e7e064416ea32ded16bd0a4e6fc025e21616d01258f
-SIZE (rust/crates/bindgen-0.58.1.crate) = 201394
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitstream-io-1.2.0.crate) = 521f9cfb75191e53bc98586398c3104a2b10812475930f09eeccb5144fc3e68b
-SIZE (rust/crates/bitstream-io-1.2.0.crate) = 27108
-SHA256 (rust/crates/bitvec-0.19.5.crate) = 8942c8d352ae1838c9dda0b0ca2ab657696ef2232a20147cf1b30ae1a9cb4321
-SIZE (rust/crates/bitvec-0.19.5.crate) = 148200
+SHA256 (rust/crates/bitflags-2.4.0.crate) = b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635
+SIZE (rust/crates/bitflags-2.4.0.crate) = 36954
+SHA256 (rust/crates/bitstream-io-1.7.0.crate) = 82704769cb85a22df2c54d6bdd6a158b7931d256cf3248a07d6ecbe9d58b31d7
+SIZE (rust/crates/bitstream-io-1.7.0.crate) = 32700
SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4
SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108
-SHA256 (rust/crates/bumpalo-3.7.0.crate) = 9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631
-SIZE (rust/crates/bumpalo-3.7.0.crate) = 134261
-SHA256 (rust/crates/byte-slice-cast-1.0.0.crate) = 65c1bf4a04a88c54f589125563643d773f3254b5c38571395e2b591c693bbc81
-SIZE (rust/crates/byte-slice-cast-1.0.0.crate) = 6798
-SHA256 (rust/crates/bytemuck-1.7.2.crate) = 72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b
-SIZE (rust/crates/bytemuck-1.7.2.crate) = 27489
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/build_const-0.2.2.crate) = b4ae4235e6dac0694637c763029ecea1a2ec9e4e06ec2729bd21ba4d9c863eb7
+SIZE (rust/crates/build_const-0.2.2.crate) = 4511
+SHA256 (rust/crates/built-0.5.2.crate) = 5b9c056b9ed43aee5e064b683aa1ec783e19c6acec7559e3ae931b7490472fbe
+SIZE (rust/crates/built-0.5.2.crate) = 17621
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/byte-slice-cast-1.2.2.crate) = c3ac9f8b63eca6fd385229b3675f6cc0dc5c8a5c8a54a59d4f52ffd670d87b0c
+SIZE (rust/crates/byte-slice-cast-1.2.2.crate) = 7276
+SHA256 (rust/crates/bytemuck-1.14.0.crate) = 374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6
+SIZE (rust/crates/bytemuck-1.14.0.crate) = 44933
SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (rust/crates/bytes-0.5.6.crate) = 0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38
-SIZE (rust/crates/bytes-0.5.6.crate) = 46291
-SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
-SIZE (rust/crates/bytes-1.1.0.crate) = 49640
-SHA256 (rust/crates/cairo-rs-0.14.3.crate) = f859ade407c19810ae920b4fafab92189ed312adad490d08fb16b5f49f1e2207
-SIZE (rust/crates/cairo-rs-0.14.3.crate) = 48402
-SHA256 (rust/crates/cairo-sys-rs-0.14.0.crate) = d7c9c3928781e8a017ece15eace05230f04b647457d170d2d9641c94a444ff80
-SIZE (rust/crates/cairo-sys-rs-0.14.0.crate) = 10560
-SHA256 (rust/crates/cc-1.0.69.crate) = e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2
-SIZE (rust/crates/cc-1.0.69.crate) = 56044
+SHA256 (rust/crates/bytes-1.5.0.crate) = a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223
+SIZE (rust/crates/bytes-1.5.0.crate) = 58909
+SHA256 (rust/crates/bytes-utils-0.1.3.crate) = e47d3a8076e283f3acd27400535992edb3ba4b5bb72f8891ad8fbe7932a7d4b9
+SIZE (rust/crates/bytes-utils-0.1.3.crate) = 20252
+SHA256 (rust/crates/cargo-lock-8.0.3.crate) = 031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996
+SIZE (rust/crates/cargo-lock-8.0.3.crate) = 39302
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
SHA256 (rust/crates/cdg-0.1.0.crate) = d254b2c9fc971518da5d652aee7edc6b9bb96fa32de28f166895faf69d9926e6
SIZE (rust/crates/cdg-0.1.0.crate) = 4430
-SHA256 (rust/crates/cdg_renderer-0.6.0.crate) = 8eb5be1407b158062f6a0e696d94ea5074e7638359d357b6d3fc2ffaa1ab5730
-SIZE (rust/crates/cdg_renderer-0.6.0.crate) = 4915
-SHA256 (rust/crates/cexpr-0.4.0.crate) = f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27
-SIZE (rust/crates/cexpr-0.4.0.crate) = 18023
-SHA256 (rust/crates/cfg-expr-0.7.4.crate) = 30aa9e2ffbb838c6b451db14f3cd8e63ed622bf859f9956bc93845a10fafc26a
-SIZE (rust/crates/cfg-expr-0.7.4.crate) = 34162
-SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cdg_renderer-0.7.1.crate) = 3753104c2ef8672021f3355a59ab5944d7aa5472f970b5d97e93bd741d79af96
+SIZE (rust/crates/cdg_renderer-0.7.1.crate) = 4783
+SHA256 (rust/crates/cea708-types-0.1.0.crate) = 3a23ec736ab2aafb861ef6f22c662cbc18c85e73945f86bd9e936a20be7cc958
+SIZE (rust/crates/cea708-types-0.1.0.crate) = 23071
+SHA256 (rust/crates/cfg-expr-0.15.5.crate) = 03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3
+SIZE (rust/crates/cfg-expr-0.15.5.crate) = 41639
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (rust/crates/chrono-0.4.19.crate) = 155663
-SHA256 (rust/crates/clang-sys-1.2.1.crate) = 81cf2cc85830eae84823884db23c5306442a6c3d5bfd3beb2f2a2c829faa1816
-SIZE (rust/crates/clang-sys-1.2.1.crate) = 37303
-SHA256 (rust/crates/clap-2.33.3.crate) = 37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002
-SIZE (rust/crates/clap-2.33.3.crate) = 201925
+SHA256 (rust/crates/chrono-0.4.31.crate) = 7f2c685bad3eb3d45a01354cedb7d5faa66194d1d58ba6e267a8de788f79db38
+SIZE (rust/crates/chrono-0.4.31.crate) = 214513
+SHA256 (rust/crates/cipher-0.2.5.crate) = 12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801
+SIZE (rust/crates/cipher-0.2.5.crate) = 13099
+SHA256 (rust/crates/clap-4.4.6.crate) = d04704f56c2cde07f43e8e2c154b43f216dc5c92fc98ada720177362f953b956
+SIZE (rust/crates/clap-4.4.6.crate) = 54823
+SHA256 (rust/crates/clap_builder-4.4.6.crate) = 0e231faeaca65ebd1ea3c737966bf858971cd38c3849107aa3ea7de90a804e45
+SIZE (rust/crates/clap_builder-4.4.6.crate) = 162450
+SHA256 (rust/crates/clap_derive-4.4.2.crate) = 0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873
+SIZE (rust/crates/clap_derive-4.4.2.crate) = 29019
+SHA256 (rust/crates/clap_lex-0.5.1.crate) = cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961
+SIZE (rust/crates/clap_lex-0.5.1.crate) = 11793
SHA256 (rust/crates/claxon-0.4.3.crate) = 4bfbf56724aa9eca8afa4fcfadeb479e722935bb2a0900c2d37e0cc477af0688
SIZE (rust/crates/claxon-0.4.3.crate) = 86626
+SHA256 (rust/crates/color-name-1.1.0.crate) = c8cabd7573f60c1096a1e2bd82b2dc03a8063e607c698e15189a476c3541d65c
+SIZE (rust/crates/color-name-1.1.0.crate) = 13066
+SHA256 (rust/crates/color-thief-0.2.2.crate) = e6460d760cf38ce67c9e0318f896538820acc54f2d0a3bfc5b2c557211066c98
+SIZE (rust/crates/color-thief-0.2.2.crate) = 521012
SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
-SHA256 (rust/crates/const_fn-0.4.8.crate) = f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7
-SIZE (rust/crates/const_fn-0.4.8.crate) = 12662
-SHA256 (rust/crates/cookie-0.14.4.crate) = 03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951
-SIZE (rust/crates/cookie-0.14.4.crate) = 30261
-SHA256 (rust/crates/cookie_store-0.12.0.crate) = 3818dfca4b0cb5211a659bbcbb94225b7127407b2b135e650d717bfb78ab10d3
-SIZE (rust/crates/cookie_store-0.12.0.crate) = 26503
-SHA256 (rust/crates/core-foundation-0.9.1.crate) = 0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62
-SIZE (rust/crates/core-foundation-0.9.1.crate) = 25985
-SHA256 (rust/crates/core-foundation-sys-0.8.2.crate) = ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b
-SIZE (rust/crates/core-foundation-sys-0.8.2.crate) = 17461
-SHA256 (rust/crates/cpufeatures-0.2.1.crate) = 95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469
-SIZE (rust/crates/cpufeatures-0.2.1.crate) = 10500
-SHA256 (rust/crates/crc-2.0.0.crate) = 10c2722795460108a7872e1cd933a85d6ec38abc4baecad51028f702da28889f
-SIZE (rust/crates/crc-2.0.0.crate) = 8302
-SHA256 (rust/crates/crc-catalog-1.1.1.crate) = ccaeedb56da03b09f598226e25e80088cb4cd25f316e6e4df7d695f0feeb1403
-SIZE (rust/crates/crc-catalog-1.1.1.crate) = 8698
-SHA256 (rust/crates/crc32fast-1.2.1.crate) = 81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a
-SIZE (rust/crates/crc32fast-1.2.1.crate) = 38172
-SHA256 (rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
-SIZE (rust/crates/crossbeam-channel-0.5.1.crate) = 86919
-SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
-SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
-SHA256 (rust/crates/crossbeam-epoch-0.9.5.crate) = 4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd
-SIZE (rust/crates/crossbeam-epoch-0.9.5.crate) = 43883
-SHA256 (rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
-SIZE (rust/crates/crossbeam-utils-0.8.5.crate) = 38414
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/concurrent-queue-2.3.0.crate) = f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400
+SIZE (rust/crates/concurrent-queue-2.3.0.crate) = 20189
+SHA256 (rust/crates/cookie-0.16.2.crate) = e859cd57d0710d9e06c381b550c06e76992472a8c6d527aecd2fc673dcc231fb
+SIZE (rust/crates/cookie-0.16.2.crate) = 34632
+SHA256 (rust/crates/cookie_store-0.16.2.crate) = d606d0fba62e13cf04db20536c05cb7f13673c161cb47a47a82b9b9e7d3f1daa
+SIZE (rust/crates/cookie_store-0.16.2.crate) = 30665
+SHA256 (rust/crates/core-foundation-0.9.3.crate) = 194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146
+SIZE (rust/crates/core-foundation-0.9.3.crate) = 27059
+SHA256 (rust/crates/core-foundation-sys-0.8.4.crate) = e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa
+SIZE (rust/crates/core-foundation-sys-0.8.4.crate) = 17725
+SHA256 (rust/crates/cpufeatures-0.2.9.crate) = a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1
+SIZE (rust/crates/cpufeatures-0.2.9.crate) = 11895
+SHA256 (rust/crates/crc-1.8.1.crate) = d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb
+SIZE (rust/crates/crc-1.8.1.crate) = 9114
+SHA256 (rust/crates/crc32c-0.6.4.crate) = d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74
+SIZE (rust/crates/crc32c-0.6.4.crate) = 9661
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/crossbeam-deque-0.8.3.crate) = ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef
+SIZE (rust/crates/crossbeam-deque-0.8.3.crate) = 21746
+SHA256 (rust/crates/crossbeam-epoch-0.9.15.crate) = ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7
+SIZE (rust/crates/crossbeam-epoch-0.9.15.crate) = 48553
+SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294
+SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
SHA256 (rust/crates/crypto-mac-0.11.1.crate) = b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714
SIZE (rust/crates/crypto-mac-0.11.1.crate) = 9551
SHA256 (rust/crates/csound-0.1.8.crate) = 8d49045d7365f5c2cadb1f20932189a0da101ac86c8dbe891975814b2348d57d
SIZE (rust/crates/csound-0.1.8.crate) = 43588
SHA256 (rust/crates/csound-sys-0.1.2.crate) = 86b11869eaed111b64d29e66cc5c7de9f172d5b623b716eb74c5dd841dbcfe39
SIZE (rust/crates/csound-sys-0.1.2.crate) = 9153
-SHA256 (rust/crates/ctor-0.1.20.crate) = 5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d
-SIZE (rust/crates/ctor-0.1.20.crate) = 9328
+SHA256 (rust/crates/ctr-0.6.0.crate) = fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f
+SIZE (rust/crates/ctr-0.6.0.crate) = 17092
+SHA256 (rust/crates/darling-0.20.3.crate) = 0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e
+SIZE (rust/crates/darling-0.20.3.crate) = 26066
+SHA256 (rust/crates/darling_core-0.20.3.crate) = 177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621
+SIZE (rust/crates/darling_core-0.20.3.crate) = 60281
+SHA256 (rust/crates/darling_macro-0.20.3.crate) = 836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5
+SIZE (rust/crates/darling_macro-0.20.3.crate) = 1859
+SHA256 (rust/crates/dash-mpd-0.14.1.crate) = deafda65f29daa4577b1fcee4f9bd9a23f711606b52f0d18aa18b77da70c9005
+SIZE (rust/crates/dash-mpd-0.14.1.crate) = 3890956
SHA256 (rust/crates/dasp_frame-0.11.0.crate) = b2a3937f5fe2135702897535c8d4a5553f8b116f76c1529088797f2eee7c5cd6
SIZE (rust/crates/dasp_frame-0.11.0.crate) = 4910
SHA256 (rust/crates/dasp_sample-0.11.0.crate) = 0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f
SIZE (rust/crates/dasp_sample-0.11.0.crate) = 11617
-SHA256 (rust/crates/dav1d-0.6.0.crate) = 1432c13a4b03c5573d5f40b1d64e58fddbdd5a14911dc6bb78373b9c54c8c65e
-SIZE (rust/crates/dav1d-0.6.0.crate) = 4808
-SHA256 (rust/crates/dav1d-sys-0.3.4.crate) = 25eb4a9a2082b4e9314ec3c9bacfd5610969350a58cff592f171804385a21408
-SIZE (rust/crates/dav1d-sys-0.3.4.crate) = 2748
-SHA256 (rust/crates/deflate-0.9.1.crate) = 5f95bf05dffba6e6cce8dfbb30def788154949ccd9aed761b472119c21e01c70
-SIZE (rust/crates/deflate-0.9.1.crate) = 62488
-SHA256 (rust/crates/diff-0.1.12.crate) = 0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499
-SIZE (rust/crates/diff-0.1.12.crate) = 10223
+SHA256 (rust/crates/data-encoding-2.4.0.crate) = c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308
+SIZE (rust/crates/data-encoding-2.4.0.crate) = 19165
+SHA256 (rust/crates/dav1d-0.9.4.crate) = 87ca43c8e58ee931086b5fd9a4b6a8cc40c1346592246c4fe3d299eca1684c75
+SIZE (rust/crates/dav1d-0.9.4.crate) = 7757
+SHA256 (rust/crates/dav1d-sys-0.7.1.crate) = 615542bb14c18b795f46aba92258902168218d714090f5fff47e68c9a352ea2d
+SIZE (rust/crates/dav1d-sys-0.7.1.crate) = 6820
+SHA256 (rust/crates/deranged-0.3.8.crate) = f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946
+SIZE (rust/crates/deranged-0.3.8.crate) = 15314
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
SHA256 (rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
SIZE (rust/crates/digest-0.9.0.crate) = 13247
-SHA256 (rust/crates/dirs-next-2.0.0.crate) = b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1
-SIZE (rust/crates/dirs-next-2.0.0.crate) = 11689
-SHA256 (rust/crates/dirs-sys-next-0.1.2.crate) = 4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d
-SIZE (rust/crates/dirs-sys-next-0.1.2.crate) = 10681
-SHA256 (rust/crates/discard-1.0.4.crate) = 212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0
-SIZE (rust/crates/discard-1.0.4.crate) = 4700
-SHA256 (rust/crates/ebur128-0.1.6.crate) = 742c6e6b16580824a12bfea908c30b594518c2c0cc0e0344e72c5d56ed1ca880
-SIZE (rust/crates/ebur128-0.1.6.crate) = 89215
-SHA256 (rust/crates/ed25519-1.2.0.crate) = 4620d40f6d2601794401d6dd95a5cf69b6c157852539470eeda433a99b3c0efc
-SIZE (rust/crates/ed25519-1.2.0.crate) = 7225
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
-SHA256 (rust/crates/encoding_rs-0.8.28.crate) = 80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065
-SIZE (rust/crates/encoding_rs-0.8.28.crate) = 1368577
-SHA256 (rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
-SIZE (rust/crates/env_logger-0.8.4.crate) = 33342
-SHA256 (rust/crates/field-offset-0.3.4.crate) = 1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92
-SIZE (rust/crates/field-offset-0.3.4.crate) = 6046
-SHA256 (rust/crates/flate2-1.0.20.crate) = cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0
-SIZE (rust/crates/flate2-1.0.20.crate) = 74036
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/dssim-core-3.2.7.crate) = 1388544389475fcfd718b35a286af17cb215202af26bf2067d0e1024adbc3fe9
+SIZE (rust/crates/dssim-core-3.2.7.crate) = 28926
+SHA256 (rust/crates/ebur128-0.1.8.crate) = 12aebdd6b6b47b5880c049efb0e77f8762178a0745ef778878908f5981c05f52
+SIZE (rust/crates/ebur128-0.1.8.crate) = 89489
+SHA256 (rust/crates/ed25519-1.5.3.crate) = 91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7
+SIZE (rust/crates/ed25519-1.5.3.crate) = 17118
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
+SHA256 (rust/crates/encoding_rs-0.8.33.crate) = 7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1
+SIZE (rust/crates/encoding_rs-0.8.33.crate) = 1370071
+SHA256 (rust/crates/env_logger-0.9.3.crate) = a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7
+SIZE (rust/crates/env_logger-0.9.3.crate) = 33291
+SHA256 (rust/crates/env_logger-0.10.0.crate) = 85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0
+SIZE (rust/crates/env_logger-0.10.0.crate) = 36574
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.4.crate) = add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480
+SIZE (rust/crates/errno-0.3.4.crate) = 10589
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/fastrand-2.0.1.crate) = 25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5
+SIZE (rust/crates/fastrand-2.0.1.crate) = 14664
+SHA256 (rust/crates/fdeflate-0.3.0.crate) = d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10
+SIZE (rust/crates/fdeflate-0.3.0.crate) = 21790
+SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
+SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
+SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80
+SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954
+SHA256 (rust/crates/flate2-1.0.27.crate) = c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010
+SIZE (rust/crates/flate2-1.0.27.crate) = 73460
+SHA256 (rust/crates/flume-0.11.0.crate) = 55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181
+SIZE (rust/crates/flume-0.11.0.crate) = 67502
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
SHA256 (rust/crates/foreign-types-0.3.2.crate) = f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1
SIZE (rust/crates/foreign-types-0.3.2.crate) = 7504
SHA256 (rust/crates/foreign-types-shared-0.1.1.crate) = 00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b
SIZE (rust/crates/foreign-types-shared-0.1.1.crate) = 5672
-SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
-SIZE (rust/crates/form_urlencoded-1.0.1.crate) = 8773
+SHA256 (rust/crates/form_urlencoded-1.2.0.crate) = a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652
+SIZE (rust/crates/form_urlencoded-1.2.0.crate) = 8923
+SHA256 (rust/crates/fs-err-2.9.0.crate) = 0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541
+SIZE (rust/crates/fs-err-2.9.0.crate) = 17662
SHA256 (rust/crates/fst-0.4.7.crate) = 7ab85b9b05e3978cc9a9cf8fea7f01b494e1a09ed3037e16ba39edc7a29eb61a
SIZE (rust/crates/fst-0.4.7.crate) = 1573393
-SHA256 (rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
-SIZE (rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
-SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
-SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
-SHA256 (rust/crates/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
-SIZE (rust/crates/funty-1.1.0.crate) = 11631
-SHA256 (rust/crates/futures-0.3.16.crate) = 1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b
-SIZE (rust/crates/futures-0.3.16.crate) = 46410
-SHA256 (rust/crates/futures-channel-0.3.16.crate) = 74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9
-SIZE (rust/crates/futures-channel-0.3.16.crate) = 31765
-SHA256 (rust/crates/futures-core-0.3.16.crate) = af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99
-SIZE (rust/crates/futures-core-0.3.16.crate) = 14486
-SHA256 (rust/crates/futures-executor-0.3.16.crate) = 4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c
-SIZE (rust/crates/futures-executor-0.3.16.crate) = 17104
-SHA256 (rust/crates/futures-io-0.3.16.crate) = 0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582
-SIZE (rust/crates/futures-io-0.3.16.crate) = 9050
-SHA256 (rust/crates/futures-macro-0.3.16.crate) = c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57
-SIZE (rust/crates/futures-macro-0.3.16.crate) = 10779
-SHA256 (rust/crates/futures-sink-0.3.16.crate) = c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53
-SIZE (rust/crates/futures-sink-0.3.16.crate) = 7663
-SHA256 (rust/crates/futures-task-0.3.16.crate) = bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2
-SIZE (rust/crates/futures-task-0.3.16.crate) = 11712
-SHA256 (rust/crates/futures-util-0.3.16.crate) = 67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78
-SIZE (rust/crates/futures-util-0.3.16.crate) = 144642
-SHA256 (rust/crates/gdk-0.14.0.crate) = 679e22651cd15888e7acd01767950edca2ee9fcd6421fbf5b3c3b420d4e88bb0
-SIZE (rust/crates/gdk-0.14.0.crate) = 79496
-SHA256 (rust/crates/gdk-pixbuf-0.14.0.crate) = 534192cb8f01daeb8fab2c8d4baa8f9aae5b7a39130525779f5c2608e235b10f
-SIZE (rust/crates/gdk-pixbuf-0.14.0.crate) = 14554
-SHA256 (rust/crates/gdk-pixbuf-sys-0.14.0.crate) = f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590
-SIZE (rust/crates/gdk-pixbuf-sys-0.14.0.crate) = 9110
-SHA256 (rust/crates/gdk-sys-0.14.0.crate) = 0e091b3d3d6696949ac3b3fb3c62090e5bfd7bd6850bef5c3c5ea701de1b1f1e
-SIZE (rust/crates/gdk-sys-0.14.0.crate) = 72899
-SHA256 (rust/crates/generic-array-0.14.4.crate) = 501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817
-SIZE (rust/crates/generic-array-0.14.4.crate) = 28916
-SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
-SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
-SHA256 (rust/crates/gif-0.11.2.crate) = 5a668f699973d0f573d15749b7002a9ac9e1f9c6b220e7b165601334c173d8de
-SIZE (rust/crates/gif-0.11.2.crate) = 34068
-SHA256 (rust/crates/gio-0.14.3.crate) = 402a7057cd21d64bfa7ac027b344a7f50f677fb3308693df0e8c70fb55d29f0d
-SIZE (rust/crates/gio-0.14.3.crate) = 176938
-SHA256 (rust/crates/gio-sys-0.14.0.crate) = c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa
-SIZE (rust/crates/gio-sys-0.14.0.crate) = 76499
-SHA256 (rust/crates/glib-0.14.4.crate) = a8fb802e3798d75b415bea8f016eed88d50106ce82f1274e80f31d80cfd4b056
-SIZE (rust/crates/glib-0.14.4.crate) = 165264
-SHA256 (rust/crates/glib-macros-0.14.1.crate) = 2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518
-SIZE (rust/crates/glib-macros-0.14.1.crate) = 20018
-SHA256 (rust/crates/glib-sys-0.14.0.crate) = 1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae
-SIZE (rust/crates/glib-sys-0.14.0.crate) = 57390
-SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
-SIZE (rust/crates/glob-0.3.0.crate) = 18724
-SHA256 (rust/crates/gobject-sys-0.14.0.crate) = aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5
-SIZE (rust/crates/gobject-sys-0.14.0.crate) = 17399
-SHA256 (rust/crates/gstreamer-0.17.3.crate) = 810e68483c27518ec8491d71ee163f9fc03dcc4ebacee98caa348e8a064898ef
-SIZE (rust/crates/gstreamer-0.17.3.crate) = 242298
-SHA256 (rust/crates/gstreamer-app-0.17.2.crate) = f73b8d33b1bbe9f22d0cf56661a1d2a2c9a0e099ea10e5f1f347be5038f5c043
-SIZE (rust/crates/gstreamer-app-0.17.2.crate) = 37334
-SHA256 (rust/crates/gstreamer-app-sys-0.17.0.crate) = 41865cfb8a5ddfa1161734a0d068dcd4689da852be0910b40484206408cfeafa
-SIZE (rust/crates/gstreamer-app-sys-0.17.0.crate) = 25428
-SHA256 (rust/crates/gstreamer-audio-0.17.2.crate) = 420b6bcb1759231f01172751da094e7afa5cd9edf40bee7475f5bc86df433c57
-SIZE (rust/crates/gstreamer-audio-0.17.2.crate) = 59222
-SHA256 (rust/crates/gstreamer-audio-sys-0.17.0.crate) = d066ddfd05f63836f35ac4a5830d5bb2f7f3d6c33c870e9b15c667d20f65d7f6
-SIZE (rust/crates/gstreamer-audio-sys-0.17.0.crate) = 38791
-SHA256 (rust/crates/gstreamer-base-0.17.2.crate) = 2c0c1d8c62eb5d08fb80173609f2eea71d385393363146e4e78107facbd67715
-SIZE (rust/crates/gstreamer-base-0.17.2.crate) = 56050
-SHA256 (rust/crates/gstreamer-base-sys-0.17.0.crate) = 28169a7b58edb93ad8ac766f0fa12dcd36a2af4257a97ee10194c7103baf3e27
-SIZE (rust/crates/gstreamer-base-sys-0.17.0.crate) = 34572
-SHA256 (rust/crates/gstreamer-check-0.17.0.crate) = 80f188490dba91edd3c4651c98146403d7805a07056e75e3c3543750f4e3fd73
-SIZE (rust/crates/gstreamer-check-0.17.0.crate) = 32394
-SHA256 (rust/crates/gstreamer-check-sys-0.17.0.crate) = b741c8cf94a82518417252bad822f1d04fb10a8b65ef5dff20eeea90b0d5714b
-SIZE (rust/crates/gstreamer-check-sys-0.17.0.crate) = 25848
-SHA256 (rust/crates/gstreamer-net-0.17.0.crate) = 46e71e9301725be01dcb2e260a531ab62fd42f3d4586de3da7060220b4f675a3
-SIZE (rust/crates/gstreamer-net-0.17.0.crate) = 29950
-SHA256 (rust/crates/gstreamer-net-sys-0.17.0.crate) = 6a36633587f9f1c34d5ed3ba5e7e2b4d89739fea2b9ee5ac101bb0685c35ad6b
-SIZE (rust/crates/gstreamer-net-sys-0.17.0.crate) = 25416
-SHA256 (rust/crates/gstreamer-rtp-0.17.0.crate) = a99254d60381f29ce9674e4361fc777f8e40ad26ac4f9072f6d7f084447058fc
-SIZE (rust/crates/gstreamer-rtp-0.17.0.crate) = 35380
-SHA256 (rust/crates/gstreamer-rtp-sys-0.17.0.crate) = 9b12af6ebd69df19b4bed0d2d38c25cc93b7b687088ab199113ffac1994dd59e
-SIZE (rust/crates/gstreamer-rtp-sys-0.17.0.crate) = 32541
-SHA256 (rust/crates/gstreamer-sys-0.17.3.crate) = a81704feeb3e8599913bdd1e738455c2991a01ff4a1780cb62200993e454cc3e
-SIZE (rust/crates/gstreamer-sys-0.17.3.crate) = 84696
-SHA256 (rust/crates/gstreamer-video-0.17.2.crate) = e3447ee95c8e79daec0b163260cf6a3de9bc19ff47a01b533787f900074a3476
-SIZE (rust/crates/gstreamer-video-0.17.2.crate) = 83613
-SHA256 (rust/crates/gstreamer-video-sys-0.17.0.crate) = b81608f4182bdddd5bd33aaaa341d5544eda12b067a3dab75b1b7d2de01a3ba7
-SIZE (rust/crates/gstreamer-video-sys-0.17.0.crate) = 52014
-SHA256 (rust/crates/gtk-0.14.1.crate) = 6603bb79ded6ac6f3bac203794383afa8b1d6a8656d34a93a88f0b22826cd46c
-SIZE (rust/crates/gtk-0.14.1.crate) = 546650
-SHA256 (rust/crates/gtk-sys-0.14.0.crate) = 8c14c8d3da0545785a7c5a120345b3abb534010fb8ae0f2ef3f47c027fba303e
-SIZE (rust/crates/gtk-sys-0.14.0.crate) = 136732
-SHA256 (rust/crates/gtk3-macros-0.14.0.crate) = 21de1da96dc117443fb03c2e270b2d34b7de98d0a79a19bbb689476173745b79
-SIZE (rust/crates/gtk3-macros-0.14.0.crate) = 5395
-SHA256 (rust/crates/h2-0.3.4.crate) = d7f3675cfef6a30c8031cf9e6493ebdc3bb3272a3fea3923c4210d1830e6a472
-SIZE (rust/crates/h2-0.3.4.crate) = 159228
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
-SHA256 (rust/crates/headers-0.3.4.crate) = f0b7591fb62902706ae8e7aaff416b1b0fa2c0fd0878b46dc13baa3712d8a855
-SIZE (rust/crates/headers-0.3.4.crate) = 67384
+SHA256 (rust/crates/futures-0.3.28.crate) = 23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40
+SIZE (rust/crates/futures-0.3.28.crate) = 53229
+SHA256 (rust/crates/futures-channel-0.3.28.crate) = 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2
+SIZE (rust/crates/futures-channel-0.3.28.crate) = 32281
+SHA256 (rust/crates/futures-core-0.3.28.crate) = 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c
+SIZE (rust/crates/futures-core-0.3.28.crate) = 14780
+SHA256 (rust/crates/futures-executor-0.3.28.crate) = ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0
+SIZE (rust/crates/futures-executor-0.3.28.crate) = 17743
+SHA256 (rust/crates/futures-io-0.3.28.crate) = 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964
+SIZE (rust/crates/futures-io-0.3.28.crate) = 8910
+SHA256 (rust/crates/futures-macro-0.3.28.crate) = 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72
+SIZE (rust/crates/futures-macro-0.3.28.crate) = 11272
+SHA256 (rust/crates/futures-sink-0.3.28.crate) = f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e
+SIZE (rust/crates/futures-sink-0.3.28.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.28.crate) = 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65
+SIZE (rust/crates/futures-task-0.3.28.crate) = 11848
+SHA256 (rust/crates/futures-util-0.3.28.crate) = 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533
+SIZE (rust/crates/futures-util-0.3.28.crate) = 158510
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
+SIZE (rust/crates/getopts-0.2.21.crate) = 18457
+SHA256 (rust/crates/getrandom-0.2.10.crate) = be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427
+SIZE (rust/crates/getrandom-0.2.10.crate) = 34955
+SHA256 (rust/crates/gif-0.12.0.crate) = 80792593675e051cf94a4b111980da2ba60d4a83e43e0048c5693baab3977045
+SIZE (rust/crates/gif-0.12.0.crate) = 634734
+SHA256 (rust/crates/gimli-0.28.0.crate) = 6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0
+SIZE (rust/crates/gimli-0.28.0.crate) = 269277
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/h2-0.3.21.crate) = 91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833
+SIZE (rust/crates/h2-0.3.21.crate) = 166581
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashbrown-0.14.1.crate) = 7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12
+SIZE (rust/crates/hashbrown-0.14.1.crate) = 127570
+SHA256 (rust/crates/headers-0.3.9.crate) = 06683b93020a07e3dbcf5f8c0f6d40080d725bea7936fc01ad345c01b97dc270
+SIZE (rust/crates/headers-0.3.9.crate) = 68290
SHA256 (rust/crates/headers-core-0.2.0.crate) = e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429
SIZE (rust/crates/headers-core-0.2.0.crate) = 2380
-SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (rust/crates/heck-0.3.3.crate) = 10260
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
+SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7
+SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253
SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
SIZE (rust/crates/hex-0.4.3.crate) = 13299
SHA256 (rust/crates/hmac-0.11.0.crate) = 2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b
SIZE (rust/crates/hmac-0.11.0.crate) = 11385
-SHA256 (rust/crates/http-0.2.4.crate) = 527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11
-SIZE (rust/crates/http-0.2.4.crate) = 105489
-SHA256 (rust/crates/http-body-0.4.3.crate) = 399c583b2979440c60be0821a6199eca73bc3c8dcd9d070d75ac726e2c6186e5
-SIZE (rust/crates/http-body-0.4.3.crate) = 7660
-SHA256 (rust/crates/httparse-1.5.1.crate) = acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503
-SIZE (rust/crates/httparse-1.5.1.crate) = 26758
-SHA256 (rust/crates/httpdate-1.0.1.crate) = 6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440
-SIZE (rust/crates/httpdate-1.0.1.crate) = 10293
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/hostname-0.3.1.crate) = 3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867
+SIZE (rust/crates/hostname-0.3.1.crate) = 9272
+SHA256 (rust/crates/hrtf-0.8.0.crate) = 73088c4a5d7c9d21ee942a54611696f247c4bafc85e9261bf8c409b6857e75be
+SIZE (rust/crates/hrtf-0.8.0.crate) = 11201
+SHA256 (rust/crates/http-0.2.9.crate) = bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482
+SIZE (rust/crates/http-0.2.9.crate) = 100146
+SHA256 (rust/crates/http-body-0.4.5.crate) = d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1
+SIZE (rust/crates/http-body-0.4.5.crate) = 9242
+SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904
+SIZE (rust/crates/httparse-1.8.0.crate) = 29954
+SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
+SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
+SHA256 (rust/crates/human_bytes-0.4.3.crate) = 91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e
+SIZE (rust/crates/human_bytes-0.4.3.crate) = 5654
SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
SIZE (rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (rust/crates/hyper-0.14.12.crate) = 13f67199e765030fa08fe0bd581af683f0d5bc04ea09c2b1102012c5fb90e7fd
-SIZE (rust/crates/hyper-0.14.12.crate) = 169745
+SHA256 (rust/crates/hyper-0.14.27.crate) = ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468
+SIZE (rust/crates/hyper-0.14.27.crate) = 195700
+SHA256 (rust/crates/hyper-proxy-0.9.1.crate) = ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc
+SIZE (rust/crates/hyper-proxy-0.9.1.crate) = 10317
+SHA256 (rust/crates/hyper-rustls-0.24.1.crate) = 8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97
+SIZE (rust/crates/hyper-rustls-0.24.1.crate) = 30224
SHA256 (rust/crates/hyper-tls-0.5.0.crate) = d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905
SIZE (rust/crates/hyper-tls-0.5.0.crate) = 13257
SHA256 (rust/crates/hyphenation-0.8.4.crate) = bcf4dd4c44ae85155502a52c48739c8a48185d1449fff1963cffee63c28a50f0
SIZE (rust/crates/hyphenation-0.8.4.crate) = 3428332
SHA256 (rust/crates/hyphenation_commons-0.8.4.crate) = 5febe7a2ade5c7d98eb8b75f946c046b335324b06a14ea0998271504134c05bf
SIZE (rust/crates/hyphenation_commons-0.8.4.crate) = 6987
+SHA256 (rust/crates/iana-time-zone-0.1.57.crate) = 2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613
+SIZE (rust/crates/iana-time-zone-0.1.57.crate) = 19785
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8
SIZE (rust/crates/idna-0.2.3.crate) = 271023
-SHA256 (rust/crates/image-0.23.14.crate) = 24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1
-SIZE (rust/crates/image-0.23.14.crate) = 226804
-SHA256 (rust/crates/indexmap-1.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
-SIZE (rust/crates/indexmap-1.7.0.crate) = 50363
-SHA256 (rust/crates/input_buffer-0.4.0.crate) = f97967975f448f1a7ddb12b0bc41069d09ed6a1c161a92687e057325db35d413
-SIZE (rust/crates/input_buffer-0.4.0.crate) = 7771
-SHA256 (rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
-SIZE (rust/crates/instant-0.1.10.crate) = 5218
-SHA256 (rust/crates/interpolate_name-0.2.3.crate) = b4b35f4a811037cfdcd44c5db40678464b2d5d248fc1abeeaaa125b370d47f17
-SIZE (rust/crates/interpolate_name-0.2.3.crate) = 4165
-SHA256 (rust/crates/iovec-0.1.4.crate) = b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e
-SIZE (rust/crates/iovec-0.1.4.crate) = 8720
-SHA256 (rust/crates/ipnet-2.3.1.crate) = 68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9
-SIZE (rust/crates/ipnet-2.3.1.crate) = 24932
-SHA256 (rust/crates/itertools-0.10.1.crate) = 69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf
-SIZE (rust/crates/itertools-0.10.1.crate) = 116219
-SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
-SIZE (rust/crates/itoa-0.4.8.crate) = 11926
-SHA256 (rust/crates/js-sys-0.3.53.crate) = e4bf49d50e2961077d9c99f4b7997d770a1114f087c3c2e0069b36c13fc2979d
-SIZE (rust/crates/js-sys-0.3.53.crate) = 67683
-SHA256 (rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
-SIZE (rust/crates/kernel32-sys-0.2.2.crate) = 24537
+SHA256 (rust/crates/idna-0.3.0.crate) = e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6
+SIZE (rust/crates/idna-0.3.0.crate) = 271128
+SHA256 (rust/crates/idna-0.4.0.crate) = 7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c
+SIZE (rust/crates/idna-0.4.0.crate) = 271429
+SHA256 (rust/crates/if-addrs-0.7.0.crate) = cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9
+SIZE (rust/crates/if-addrs-0.7.0.crate) = 9632
+SHA256 (rust/crates/image-0.24.7.crate) = 6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711
+SIZE (rust/crates/image-0.24.7.crate) = 290618
+SHA256 (rust/crates/image_hasher-1.2.0.crate) = 8f9e64a8c472ea9f81ac448e3b488fd82dcdfce6434cf880882bf36bfb5c268a
+SIZE (rust/crates/image_hasher-1.2.0.crate) = 29517
+SHA256 (rust/crates/imgref-1.9.4.crate) = b2cf49df1085dcfb171460e4592597b84abe50d900fb83efb6e41b20fefd6c2c
+SIZE (rust/crates/imgref-1.9.4.crate) = 61486
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/indexmap-2.0.2.crate) = 8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897
+SIZE (rust/crates/indexmap-2.0.2.crate) = 64274
+SHA256 (rust/crates/interpolate_name-0.2.4.crate) = c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60
+SIZE (rust/crates/interpolate_name-0.2.4.crate) = 4027
+SHA256 (rust/crates/ipnet-2.8.0.crate) = 28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6
+SIZE (rust/crates/ipnet-2.8.0.crate) = 27474
+SHA256 (rust/crates/is-terminal-0.4.9.crate) = cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b
+SIZE (rust/crates/is-terminal-0.4.9.crate) = 8109
+SHA256 (rust/crates/iso8601-0.6.1.crate) = 924e5d73ea28f59011fec52a0d12185d496a9b075d360657aed2a5707f701153
+SIZE (rust/crates/iso8601-0.6.1.crate) = 20898
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
+SIZE (rust/crates/itertools-0.11.0.crate) = 125074
+SHA256 (rust/crates/itoa-1.0.9.crate) = af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38
+SIZE (rust/crates/itoa-1.0.9.crate) = 10492
+SHA256 (rust/crates/jobserver-0.1.26.crate) = 936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2
+SIZE (rust/crates/jobserver-0.1.26.crate) = 22645
+SHA256 (rust/crates/js-sys-0.3.64.crate) = c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a
+SIZE (rust/crates/js-sys-0.3.64.crate) = 80313
+SHA256 (rust/crates/jsonwebtoken-8.3.0.crate) = 6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378
+SIZE (rust/crates/jsonwebtoken-8.3.0.crate) = 45747
+SHA256 (rust/crates/khronos-egl-5.0.0.crate) = d1382b16c04aeb821453d6215a3c80ba78f24c6595c5aa85653378aabe0c83e3
+SIZE (rust/crates/khronos-egl-5.0.0.crate) = 28482
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
-SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
SHA256 (rust/crates/lewton-0.10.2.crate) = 777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030
SIZE (rust/crates/lewton-0.10.2.crate) = 68807
-SHA256 (rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
-SIZE (rust/crates/lexical-core-0.7.6.crate) = 494385
-SHA256 (rust/crates/libc-0.2.101.crate) = 3cb00336871be5ed2c8ed44b60ae9959dc5b9f08539422ed43f09e34ecaeba21
-SIZE (rust/crates/libc-0.2.101.crate) = 530003
+SHA256 (rust/crates/libc-0.2.148.crate) = 9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b
+SIZE (rust/crates/libc-0.2.148.crate) = 690988
SHA256 (rust/crates/libfuzzer-sys-0.3.5.crate) = fcf184a4b6b274f82a5df6b357da6055d3e82272327bba281c28bbba6f1664ef
SIZE (rust/crates/libfuzzer-sys-0.3.5.crate) = 112480
-SHA256 (rust/crates/libloading-0.7.0.crate) = 6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a
-SIZE (rust/crates/libloading-0.7.0.crate) = 26216
+SHA256 (rust/crates/libloading-0.8.1.crate) = c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161
+SIZE (rust/crates/libloading-0.8.1.crate) = 27893
+SHA256 (rust/crates/libm-0.2.7.crate) = f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4
+SIZE (rust/crates/libm-0.2.7.crate) = 115688
+SHA256 (rust/crates/libmdns-0.7.5.crate) = 0b04ae6b56b3b19ade26f0e7e7c1360a1713514f326c5ed0797cf2c109c9e010
+SIZE (rust/crates/libmdns-0.7.5.crate) = 24563
+SHA256 (rust/crates/librespot-0.4.2.crate) = ea4c9952ef48968f8184a4a87f8576982426ebe623342d5a28f7d9c4978e4a44
+SIZE (rust/crates/librespot-0.4.2.crate) = 52112
+SHA256 (rust/crates/librespot-audio-0.4.2.crate) = c176a31355e1ea8e0b9c4ced19df4947bfe4770661c25c142b6fba2365940d9d
+SIZE (rust/crates/librespot-audio-0.4.2.crate) = 10621
+SHA256 (rust/crates/librespot-connect-0.4.2.crate) = 4ffafb6a443e9445ccb3d5d591573b5b1da3c89a9b8846c63ba2c3710210d3ec
+SIZE (rust/crates/librespot-connect-0.4.2.crate) = 11194
+SHA256 (rust/crates/librespot-core-0.4.2.crate) = 046349f25888e644bf02d9c5de0164b2a493d29aa4ce18e1ad0b756da9b55d6d
+SIZE (rust/crates/librespot-core-0.4.2.crate) = 25197
+SHA256 (rust/crates/librespot-discovery-0.4.2.crate) = 2aa877d18f6150364012cb4be5682d62d7c712c88bae2d0d01720fd7c15e2f06
+SIZE (rust/crates/librespot-discovery-0.4.2.crate) = 13773
+SHA256 (rust/crates/librespot-metadata-0.4.2.crate) = 6b80361fcbcb5092056fd47c08c34d5d51b08385d8efb6941c0d3e46d032c21c
+SIZE (rust/crates/librespot-metadata-0.4.2.crate) = 3850
+SHA256 (rust/crates/librespot-playback-0.4.2.crate) = 5190a0b9bcc7f70ee4196a6b4a1c731d405ca130d4a6fcd4c561cfdde8b7cfb7
+SIZE (rust/crates/librespot-playback-0.4.2.crate) = 39168
+SHA256 (rust/crates/librespot-protocol-0.4.2.crate) = 5d6d3ac6196ac0ea67bbe039f56d6730a5d8b31502ef9bce0f504ed729dcb39f
+SIZE (rust/crates/librespot-protocol-0.4.2.crate) = 12192
SHA256 (rust/crates/libsodium-sys-0.2.7.crate) = 6b779387cd56adfbc02ea4a668e704f729be8d6a6abd2c27ca5ee537849a92fd
SIZE (rust/crates/libsodium-sys-0.2.7.crate) = 4595870
-SHA256 (rust/crates/libwebp-sys2-0.1.2.crate) = 8357b017b613841a0c8c3462491af8a7f3c1ed197eb026b94932ebc4643339a8
-SIZE (rust/crates/libwebp-sys2-0.1.2.crate) = 4059966
-SHA256 (rust/crates/lock_api-0.4.5.crate) = 712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109
-SIZE (rust/crates/lock_api-0.4.5.crate) = 25199
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
-SHA256 (rust/crates/matches-0.1.9.crate) = a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f
-SIZE (rust/crates/matches-0.1.9.crate) = 2246
-SHA256 (rust/crates/md-5-0.9.1.crate) = 7b5a279bb9607f9f53c22d496eade00d138d1bdcccd07d74650387cf94942a15
-SIZE (rust/crates/md-5-0.9.1.crate) = 15494
-SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
-SIZE (rust/crates/memchr-2.4.1.crate) = 64977
-SHA256 (rust/crates/memoffset-0.6.4.crate) = 59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9
-SIZE (rust/crates/memoffset-0.6.4.crate) = 7664
-SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d
-SIZE (rust/crates/mime-0.3.16.crate) = 15206
-SHA256 (rust/crates/minimal-lexical-0.1.2.crate) = 6595bb28ed34f43c3fe088e48f6cfb2e033cab45f25a5384d5fdf564fbc8c4b2
-SIZE (rust/crates/minimal-lexical-0.1.2.crate) = 87765
-SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
-SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
-SHA256 (rust/crates/mio-0.6.23.crate) = 4afd66f5b91bf2a3bc13fad0e21caedac168ca4c707504e75585648ae80e4cc4
-SIZE (rust/crates/mio-0.6.23.crate) = 103554
-SHA256 (rust/crates/mio-0.7.13.crate) = 8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16
-SIZE (rust/crates/mio-0.7.13.crate) = 87027
-SHA256 (rust/crates/miow-0.2.2.crate) = ebd808424166322d4a38da87083bfddd3ac4c131334ed55856112eb06d46944d
-SIZE (rust/crates/miow-0.2.2.crate) = 22044
-SHA256 (rust/crates/miow-0.3.7.crate) = b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21
-SIZE (rust/crates/miow-0.3.7.crate) = 24563
-SHA256 (rust/crates/muldiv-1.0.0.crate) = b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3
-SIZE (rust/crates/muldiv-1.0.0.crate) = 4991
-SHA256 (rust/crates/native-tls-0.2.8.crate) = 48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d
-SIZE (rust/crates/native-tls-0.2.8.crate) = 24956
-SHA256 (rust/crates/net2-0.2.37.crate) = 391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae
-SIZE (rust/crates/net2-0.2.37.crate) = 21311
-SHA256 (rust/crates/nnnoiseless-0.3.2.crate) = d9fed249e3d1152eb947b2c387cae95773d027941a4251f81243a14ea8fef294
-SIZE (rust/crates/nnnoiseless-0.3.2.crate) = 145444
-SHA256 (rust/crates/nom-5.1.2.crate) = ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af
-SIZE (rust/crates/nom-5.1.2.crate) = 136174
-SHA256 (rust/crates/nom-6.1.2.crate) = e7413f999671bd4745a7b624bd370a569fb6bc574b23c83a3c5ed2e453f3d5e2
-SIZE (rust/crates/nom-6.1.2.crate) = 147539
-SHA256 (rust/crates/nom-7.0.0.crate) = 7ffd9d26838a953b4af82cbeb9f1592c6798916983959be223a7124e992742c1
-SIZE (rust/crates/nom-7.0.0.crate) = 120442
+SHA256 (rust/crates/libwebp-sys2-0.1.9.crate) = 0e2ae528b6c8f543825990b24c00cfd8fe64dde126c8288f4972b18e3d558072
+SIZE (rust/crates/libwebp-sys2-0.1.9.crate) = 3697210
+SHA256 (rust/crates/linux-raw-sys-0.4.8.crate) = 3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db
+SIZE (rust/crates/linux-raw-sys-0.4.8.crate) = 1407619
+SHA256 (rust/crates/livekit-api-0.1.3.crate) = e0d4c5d731bb0da7b313c982ee32300e7caf1ee0595c0d1e57d00f43248c0c47
+SIZE (rust/crates/livekit-api-0.1.3.crate) = 11614
+SHA256 (rust/crates/livekit-protocol-0.1.3.crate) = 81bd731959a8dccc17248499b9952693f593bee4bb79186bf60d180b4097be59
+SIZE (rust/crates/livekit-protocol-0.1.3.crate) = 231681
+SHA256 (rust/crates/lock_api-0.4.10.crate) = c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16
+SIZE (rust/crates/lock_api-0.4.10.crate) = 26713
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/m3u8-rs-5.0.4.crate) = d39af8845edca961e3286dcbafeb9e6407d3df6a616ef086847162d46f438d75
+SIZE (rust/crates/m3u8-rs-5.0.4.crate) = 29667
+SHA256 (rust/crates/match_cfg-0.1.0.crate) = ffbee8634e0d45d258acb448e7eaab3fce7a0a467395d4d9f228e3c1f01fb2e4
+SIZE (rust/crates/match_cfg-0.1.0.crate) = 7153
+SHA256 (rust/crates/matchers-0.1.0.crate) = 8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558
+SIZE (rust/crates/matchers-0.1.0.crate) = 6948
+SHA256 (rust/crates/matches-0.1.10.crate) = 2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5
+SIZE (rust/crates/matches-0.1.10.crate) = 2592
+SHA256 (rust/crates/maybe-rayon-0.1.1.crate) = 8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519
+SIZE (rust/crates/maybe-rayon-0.1.1.crate) = 2901
+SHA256 (rust/crates/md-5-0.10.6.crate) = d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf
+SIZE (rust/crates/md-5-0.10.6.crate) = 16161
+SHA256 (rust/crates/memchr-2.6.4.crate) = f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167
+SIZE (rust/crates/memchr-2.6.4.crate) = 94439
+SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
+SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
+SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7
+SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194
+SHA256 (rust/crates/mio-0.8.8.crate) = 927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2
+SIZE (rust/crates/mio-0.8.8.crate) = 94264
+SHA256 (rust/crates/more-asserts-0.3.1.crate) = 1fafa6961cabd9c63bcd77a45d7e3b7f3b552b70417831fb0f56db717e72407e
+SIZE (rust/crates/more-asserts-0.3.1.crate) = 11965
+SHA256 (rust/crates/muldiv-1.0.1.crate) = 956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0
+SIZE (rust/crates/muldiv-1.0.1.crate) = 4901
+SHA256 (rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
+SIZE (rust/crates/multimap-0.8.3.crate) = 13518
+SHA256 (rust/crates/nanorand-0.7.0.crate) = 6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3
+SIZE (rust/crates/nanorand-0.7.0.crate) = 18437
+SHA256 (rust/crates/nasm-rs-0.2.5.crate) = fe4d98d0065f4b1daf164b3eafb11974c94662e5e2396cf03f32d0bb5c17da51
+SIZE (rust/crates/nasm-rs-0.2.5.crate) = 9920
+SHA256 (rust/crates/native-tls-0.2.11.crate) = 07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e
+SIZE (rust/crates/native-tls-0.2.11.crate) = 29008
+SHA256 (rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
+SIZE (rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
+SHA256 (rust/crates/nix-0.23.2.crate) = 8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c
+SIZE (rust/crates/nix-0.23.2.crate) = 242042
+SHA256 (rust/crates/nnnoiseless-0.5.1.crate) = 23d377ce2fb579ed5c14cfa0d39e70849030fdf673d6d1a764cadb2dfbb02a50
+SIZE (rust/crates/nnnoiseless-0.5.1.crate) = 132168
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
-SHA256 (rust/crates/ntapi-0.3.6.crate) = 3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44
-SIZE (rust/crates/ntapi-0.3.6.crate) = 127221
-SHA256 (rust/crates/num-0.4.0.crate) = 43db66d1170d347f9a065114077f7dccb00c1b9478c89384490a3425279a4606
-SIZE (rust/crates/num-0.4.0.crate) = 9490
-SHA256 (rust/crates/num-bigint-0.4.1.crate) = 76e97c412795abf6c24ba30055a8f20642ea57ca12875220b854cfa501bf1e48
-SIZE (rust/crates/num-bigint-0.4.1.crate) = 92068
-SHA256 (rust/crates/num-complex-0.3.1.crate) = 747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5
-SIZE (rust/crates/num-complex-0.3.1.crate) = 24541
-SHA256 (rust/crates/num-complex-0.4.0.crate) = 26873667bbbb7c5182d4a37c1add32cdf09f841af72da53318fdb81543c15085
-SIZE (rust/crates/num-complex-0.4.0.crate) = 24805
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-bigint-0.4.4.crate) = 608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0
+SIZE (rust/crates/num-bigint-0.4.4.crate) = 99369
+SHA256 (rust/crates/num-complex-0.4.4.crate) = 1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214
+SIZE (rust/crates/num-complex-0.4.4.crate) = 29564
SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d
SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
-SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (rust/crates/num-iter-0.1.42.crate) = b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59
-SIZE (rust/crates/num-iter-0.1.42.crate) = 10450
-SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
-SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
-SHA256 (rust/crates/num-rational-0.4.0.crate) = d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a
-SIZE (rust/crates/num-rational-0.4.0.crate) = 26428
-SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
-SHA256 (rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
-SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704
-SHA256 (rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
-SIZE (rust/crates/once_cell-1.8.0.crate) = 28925
+SHA256 (rust/crates/num-derive-0.4.0.crate) = 9e6a0fd4f737c707bd9086cc16c925f294943eb62eb71499e9fd4cf71f8b9f4e
+SIZE (rust/crates/num-derive-0.4.0.crate) = 14008
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0
+SIZE (rust/crates/num-rational-0.4.1.crate) = 27889
+SHA256 (rust/crates/num-traits-0.2.16.crate) = f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2
+SIZE (rust/crates/num-traits-0.2.16.crate) = 50130
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/object-0.32.1.crate) = 9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0
+SIZE (rust/crates/object-0.32.1.crate) = 275463
+SHA256 (rust/crates/ogg-0.8.0.crate) = 6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e
+SIZE (rust/crates/ogg-0.8.0.crate) = 27128
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
SHA256 (rust/crates/opaque-debug-0.3.0.crate) = 624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5
SIZE (rust/crates/opaque-debug-0.3.0.crate) = 5767
-SHA256 (rust/crates/openssl-0.10.36.crate) = 8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a
-SIZE (rust/crates/openssl-0.10.36.crate) = 206367
-SHA256 (rust/crates/openssl-probe-0.1.4.crate) = 28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a
-SIZE (rust/crates/openssl-probe-0.1.4.crate) = 7066
-SHA256 (rust/crates/openssl-sys-0.9.66.crate) = 1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82
-SIZE (rust/crates/openssl-sys-0.9.66.crate) = 54599
-SHA256 (rust/crates/output_vt100-0.1.2.crate) = 53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9
-SIZE (rust/crates/output_vt100-0.1.2.crate) = 4062
-SHA256 (rust/crates/pango-0.14.3.crate) = e1fc88307d9797976ea62722ff2ec5de3fae279c6e20100ed3f49ca1a4bf3f96
-SIZE (rust/crates/pango-0.14.3.crate) = 37665
-SHA256 (rust/crates/pango-sys-0.14.0.crate) = 2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe
-SIZE (rust/crates/pango-sys-0.14.0.crate) = 23109
-SHA256 (rust/crates/pangocairo-0.14.0.crate) = f03ac1e8d456f8f436168aeac41201f0bf49d1dc6c8d01bfb04de2cca25df631
-SIZE (rust/crates/pangocairo-0.14.0.crate) = 5083
-SHA256 (rust/crates/pangocairo-sys-0.14.0.crate) = f3b9b679ad5c8503e3e533ce06e1619d033274b246e977a6fa1655a6c6ef2b51
-SIZE (rust/crates/pangocairo-sys-0.14.0.crate) = 2489
-SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
-SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
-SHA256 (rust/crates/parking_lot_core-0.8.5.crate) = d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216
-SIZE (rust/crates/parking_lot_core-0.8.5.crate) = 32466
-SHA256 (rust/crates/paste-1.0.5.crate) = acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58
-SIZE (rust/crates/paste-1.0.5.crate) = 17669
-SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
-SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
-SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
-SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
-SHA256 (rust/crates/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
-SIZE (rust/crates/pest-2.1.3.crate) = 77986
-SHA256 (rust/crates/pin-project-1.0.8.crate) = 576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08
-SIZE (rust/crates/pin-project-1.0.8.crate) = 54991
-SHA256 (rust/crates/pin-project-internal-1.0.8.crate) = 6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389
-SIZE (rust/crates/pin-project-internal-1.0.8.crate) = 27941
-SHA256 (rust/crates/pin-project-lite-0.1.12.crate) = 257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777
-SIZE (rust/crates/pin-project-lite-0.1.12.crate) = 16854
-SHA256 (rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
-SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+SHA256 (rust/crates/openssl-0.10.57.crate) = bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c
+SIZE (rust/crates/openssl-0.10.57.crate) = 262768
+SHA256 (rust/crates/openssl-macros-0.1.1.crate) = a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c
+SIZE (rust/crates/openssl-macros-0.1.1.crate) = 5601
+SHA256 (rust/crates/openssl-probe-0.1.5.crate) = ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf
+SIZE (rust/crates/openssl-probe-0.1.5.crate) = 7227
+SHA256 (rust/crates/openssl-sys-0.9.93.crate) = db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d
+SIZE (rust/crates/openssl-sys-0.9.93.crate) = 66922
+SHA256 (rust/crates/option-operations-0.5.0.crate) = 7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0
+SIZE (rust/crates/option-operations-0.5.0.crate) = 19262
+SHA256 (rust/crates/outref-0.5.1.crate) = 4030760ffd992bef45b0ae3f10ce1aba99e33464c90d14dd7c039884963ddc7a
+SIZE (rust/crates/outref-0.5.1.crate) = 3957
+SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
+SHA256 (rust/crates/parking_lot_core-0.9.8.crate) = 93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447
+SIZE (rust/crates/parking_lot_core-0.9.8.crate) = 32383
+SHA256 (rust/crates/parse_link_header-0.3.3.crate) = 3687fe9debbbf2a019f381a8bc6b42049b22647449b39af54b3013985c0cf6de
+SIZE (rust/crates/parse_link_header-0.3.3.crate) = 7299
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
+SHA256 (rust/crates/pbkdf2-0.8.0.crate) = d95f5254224e617595d2cc3cc73ff0a5eaf2637519e25f03388154e9378b6ffa
+SIZE (rust/crates/pbkdf2-0.8.0.crate) = 12328
+SHA256 (rust/crates/percent-encoding-2.3.0.crate) = 9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94
+SIZE (rust/crates/percent-encoding-2.3.0.crate) = 10196
+SHA256 (rust/crates/petgraph-0.6.4.crate) = e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9
+SIZE (rust/crates/petgraph-0.6.4.crate) = 185895
+SHA256 (rust/crates/pin-project-1.1.3.crate) = fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422
+SIZE (rust/crates/pin-project-1.1.3.crate) = 57740
+SHA256 (rust/crates/pin-project-internal-1.1.3.crate) = 4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405
+SIZE (rust/crates/pin-project-internal-1.1.3.crate) = 27824
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pkg-config-0.3.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
-SIZE (rust/crates/pkg-config-0.3.19.crate) = 15451
-SHA256 (rust/crates/png-0.17.1.crate) = 641fb192b191c2cb8f35985f47eb1e78cf1d464542f9fe5d1dbc5ee8f989288d
-SIZE (rust/crates/png-0.17.1.crate) = 68211
+SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
+SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
+SHA256 (rust/crates/png-0.17.10.crate) = dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64
+SIZE (rust/crates/png-0.17.10.crate) = 89384
SHA256 (rust/crates/pocket-resources-0.3.2.crate) = c135f38778ad324d9e9ee68690bac2c1a51f340fdf96ca13e2ab3914eb2e51d8
SIZE (rust/crates/pocket-resources-0.3.2.crate) = 2690
-SHA256 (rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
-SIZE (rust/crates/ppv-lite86-0.2.10.crate) = 20915
-SHA256 (rust/crates/pretty-hex-0.2.1.crate) = bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131
-SIZE (rust/crates/pretty-hex-0.2.1.crate) = 6176
-SHA256 (rust/crates/pretty_assertions-0.7.2.crate) = 1cab0e7c02cf376875e9335e0ba1da535775beb5450d21e1dffca068818ed98b
-SIZE (rust/crates/pretty_assertions-0.7.2.crate) = 79200
-SHA256 (rust/crates/primal-check-0.3.1.crate) = 01419cee72c1a1ca944554e23d83e483e1bccf378753344e881de28b5487511d
-SIZE (rust/crates/primal-check-0.3.1.crate) = 4602
-SHA256 (rust/crates/proc-macro-crate-1.0.0.crate) = 41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92
-SIZE (rust/crates/proc-macro-crate-1.0.0.crate) = 8442
+SHA256 (rust/crates/polling-3.2.0.crate) = 62a79e457c9898100b4298d57d69ec53d06f9a6ed352431ce5f377e082d2e846
+SIZE (rust/crates/polling-3.2.0.crate) = 53244
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/pretty-hex-0.3.0.crate) = c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5
+SIZE (rust/crates/pretty-hex-0.3.0.crate) = 6677
+SHA256 (rust/crates/pretty_assertions-1.4.0.crate) = af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66
+SIZE (rust/crates/pretty_assertions-1.4.0.crate) = 78846
+SHA256 (rust/crates/primal-check-0.3.3.crate) = 9df7f93fd637f083201473dab4fee2db4c429d32e55e3299980ab3957ab916a0
+SIZE (rust/crates/primal-check-0.3.3.crate) = 8720
+SHA256 (rust/crates/priority-queue-1.3.2.crate) = fff39edfcaec0d64e8d0da38564fad195d2d51b680940295fcc307366e101e61
+SIZE (rust/crates/priority-queue-1.3.2.crate) = 33905
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
-SHA256 (rust/crates/proc-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
-SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
-SHA256 (rust/crates/proc-macro-nested-0.1.7.crate) = bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086
-SIZE (rust/crates/proc-macro-nested-0.1.7.crate) = 6495
-SHA256 (rust/crates/proc-macro2-1.0.28.crate) = 5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612
-SIZE (rust/crates/proc-macro2-1.0.28.crate) = 38732
-SHA256 (rust/crates/publicsuffix-1.5.6.crate) = 95b4ce31ff0a27d93c8de1849cf58162283752f065a90d508f1105fa6c9a213f
-SIZE (rust/crates/publicsuffix-1.5.6.crate) = 17878
-SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
-SIZE (rust/crates/quote-1.0.9.crate) = 25042
-SHA256 (rust/crates/radium-0.5.3.crate) = 941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8
-SIZE (rust/crates/radium-0.5.3.crate) = 7588
-SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
-SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/proc-macro2-1.0.67.crate) = 3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328
+SIZE (rust/crates/proc-macro2-1.0.67.crate) = 43683
+SHA256 (rust/crates/prost-0.11.9.crate) = 0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd
+SIZE (rust/crates/prost-0.11.9.crate) = 28958
+SHA256 (rust/crates/prost-derive-0.11.9.crate) = e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4
+SIZE (rust/crates/prost-derive-0.11.9.crate) = 19513
+SHA256 (rust/crates/prost-types-0.11.9.crate) = 213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13
+SIZE (rust/crates/prost-types-0.11.9.crate) = 40809
+SHA256 (rust/crates/protobuf-2.28.0.crate) = 106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94
+SIZE (rust/crates/protobuf-2.28.0.crate) = 167541
+SHA256 (rust/crates/protobuf-codegen-2.28.0.crate) = 033460afb75cf755fcfc16dfaed20b86468082a2ea24e05ac35ab4a099a017d6
+SIZE (rust/crates/protobuf-codegen-2.28.0.crate) = 40826
+SHA256 (rust/crates/protobuf-codegen-pure-2.28.0.crate) = 95a29399fc94bcd3eeaa951c715f7bea69409b2445356b00519740bcd6ddd865
+SIZE (rust/crates/protobuf-codegen-pure-2.28.0.crate) = 58102
+SHA256 (rust/crates/psl-types-2.0.11.crate) = 33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac
+SIZE (rust/crates/psl-types-2.0.11.crate) = 7959
+SHA256 (rust/crates/publicsuffix-2.2.3.crate) = 96a8c1bda5ae1af7f99a2962e49df150414a43d62404644d98dd5c3a93d07457
+SIZE (rust/crates/publicsuffix-2.2.3.crate) = 87807
+SHA256 (rust/crates/quick-xml-0.30.0.crate) = eff6510e86862b57b210fd8cbe8ed3f0d7d600b9c2863cd4549a2e033c66e956
+SIZE (rust/crates/quick-xml-0.30.0.crate) = 161923
+SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
+SIZE (rust/crates/quote-1.0.33.crate) = 28090
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
-SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
-SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
-SHA256 (rust/crates/rav1e-0.4.1.crate) = 0938e7e19a9e1624e7fec541ee57c3e93e507b8bdb274c21ec8ee7850d8d3203
-SIZE (rust/crates/rav1e-0.4.1.crate) = 903312
-SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
-SIZE (rust/crates/rayon-1.5.1.crate) = 160424
-SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
-SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
-SHA256 (rust/crates/redox_syscall-0.2.10.crate) = 8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff
-SIZE (rust/crates/redox_syscall-0.2.10.crate) = 23582
-SHA256 (rust/crates/redox_users-0.4.0.crate) = 528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64
-SIZE (rust/crates/redox_users-0.4.0.crate) = 13023
-SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (rust/crates/regex-1.5.4.crate) = 236581
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
-SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
-SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
-SHA256 (rust/crates/reqwest-0.11.4.crate) = 246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22
-SIZE (rust/crates/reqwest-0.11.4.crate) = 132776
-SHA256 (rust/crates/rusoto_core-0.47.0.crate) = 5b4f000e8934c1b4f70adde180056812e7ea6b1a247952db8ee98c94cd3116cc
-SIZE (rust/crates/rusoto_core-0.47.0.crate) = 23194
-SHA256 (rust/crates/rusoto_credential-0.47.0.crate) = 6a46b67db7bb66f5541e44db22b0a02fed59c9603e146db3a9e633272d3bac2f
-SIZE (rust/crates/rusoto_credential-0.47.0.crate) = 21263
-SHA256 (rust/crates/rusoto_s3-0.47.0.crate) = 048c2fe811a823ad5a9acc976e8bf4f1d910df719dcf44b15c3e96c5b7a51027
-SIZE (rust/crates/rusoto_s3-0.47.0.crate) = 179172
-SHA256 (rust/crates/rusoto_signature-0.47.0.crate) = 6264e93384b90a747758bcc82079711eacf2e755c3a8b5091687b5349d870bcc
-SIZE (rust/crates/rusoto_signature-0.47.0.crate) = 15474
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rand_distr-0.4.3.crate) = 32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31
+SIZE (rust/crates/rand_distr-0.4.3.crate) = 58255
+SHA256 (rust/crates/raptorq-1.7.0.crate) = 655b020bbf5c89791160a30f0d4706d8ec7aa5718d6a198f6df19c400e4f4470
+SIZE (rust/crates/raptorq-1.7.0.crate) = 82379
+SHA256 (rust/crates/rav1e-0.6.6.crate) = 16c383692a5e7abd9f6d1eddb1a5e0269f859392387883361bb09e5555852ec1
+SIZE (rust/crates/rav1e-0.6.6.crate) = 1443120
+SHA256 (rust/crates/rayon-1.8.0.crate) = 9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1
+SIZE (rust/crates/rayon-1.8.0.crate) = 170172
+SHA256 (rust/crates/rayon-core-1.12.0.crate) = 5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed
+SIZE (rust/crates/rayon-core-1.12.0.crate) = 70081
+SHA256 (rust/crates/realfft-2.0.1.crate) = d7695c87f31dc3644760f23fb59a3fed47659703abf76cf2d111f03b9e712342
+SIZE (rust/crates/realfft-2.0.1.crate) = 14874
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
+SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
+SHA256 (rust/crates/regex-1.9.6.crate) = ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff
+SIZE (rust/crates/regex-1.9.6.crate) = 254981
+SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
+SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
+SHA256 (rust/crates/regex-automata-0.3.9.crate) = 59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9
+SIZE (rust/crates/regex-automata-0.3.9.crate) = 610489
+SHA256 (rust/crates/regex-syntax-0.6.29.crate) = f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1
+SIZE (rust/crates/regex-syntax-0.6.29.crate) = 299752
+SHA256 (rust/crates/regex-syntax-0.7.5.crate) = dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da
+SIZE (rust/crates/regex-syntax-0.7.5.crate) = 343366
+SHA256 (rust/crates/reqwest-0.11.22.crate) = 046cd98826c46c2ac8ddecae268eb5c2e58628688a5fc7a2643704a73faba95b
+SIZE (rust/crates/reqwest-0.11.22.crate) = 156932
+SHA256 (rust/crates/rgb-0.8.36.crate) = 20ec2d3e3fc7a92ced357df9cebd5a10b6fb2aa1ee797bf7e9ce2f17dffc8f59
+SIZE (rust/crates/rgb-0.8.36.crate) = 16576
+SHA256 (rust/crates/ring-0.16.20.crate) = 3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc
+SIZE (rust/crates/ring-0.16.20.crate) = 5082615
+SHA256 (rust/crates/rpassword-6.0.1.crate) = 2bf099a1888612545b683d2661a1940089f6c2e5a8e38979b2159da876bfd956
+SIZE (rust/crates/rpassword-6.0.1.crate) = 11505
+SHA256 (rust/crates/rubato-0.10.1.crate) = 610bbefcfef7f43cbe275995b6077b74f34480efce293c30327bf44fdad871ed
+SIZE (rust/crates/rubato-0.10.1.crate) = 32750
SHA256 (rust/crates/rust_hawktracer-0.7.0.crate) = e3480a29b927f66c6e06527be7f49ef4d291a01d694ec1fe85b0de71d6b02ac1
SIZE (rust/crates/rust_hawktracer-0.7.0.crate) = 4718
SHA256 (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 8a570059949e1dcdc6f35228fa389f54c2c84dfe0c94c05022baacd56eacd2e9
SIZE (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 3000
SHA256 (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = cb626abdbed5e93f031baae60d72032f56bc964e11ac2ff65f2ba3ed98d6d3e1
SIZE (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = 3028
-SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
-SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
-SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a
-SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210
-SHA256 (rust/crates/rustc_version-0.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
-SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
-SHA256 (rust/crates/rustfft-5.1.1.crate) = 1869bb2a6ff77380d52ff4bc631f165637035a55855c76aa462c85474dadc42f
-SIZE (rust/crates/rustfft-5.1.1.crate) = 220709
-SHA256 (rust/crates/ryu-1.0.5.crate) = 71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e
-SIZE (rust/crates/ryu-1.0.5.crate) = 49570
+SHA256 (rust/crates/rustdct-0.7.1.crate) = 8b61555105d6a9bf98797c063c362a1d24ed8ab0431655e38f1cf51e52089551
+SIZE (rust/crates/rustdct-0.7.1.crate) = 41849
+SHA256 (rust/crates/rustfft-6.1.0.crate) = e17d4f6cbdb180c9f4b2a26bbf01c4e647f1e1dea22fe8eb9db54198b32f9434
+SIZE (rust/crates/rustfft-6.1.0.crate) = 293068
+SHA256 (rust/crates/rustix-0.38.15.crate) = d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531
+SIZE (rust/crates/rustix-0.38.15.crate) = 351105
+SHA256 (rust/crates/rustls-0.21.7.crate) = cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8
+SIZE (rust/crates/rustls-0.21.7.crate) = 283818
+SHA256 (rust/crates/rustls-native-certs-0.6.3.crate) = a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00
+SIZE (rust/crates/rustls-native-certs-0.6.3.crate) = 24438
+SHA256 (rust/crates/rustls-pemfile-1.0.3.crate) = 2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2
+SIZE (rust/crates/rustls-pemfile-1.0.3.crate) = 20432
+SHA256 (rust/crates/rustls-webpki-0.101.6.crate) = 3c7d5dece342910d9ba34d259310cae3e0154b873b35408b787b59bce53d34fe
+SIZE (rust/crates/rustls-webpki-0.101.6.crate) = 168776
+SHA256 (rust/crates/ryu-1.0.15.crate) = 1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741
+SIZE (rust/crates/ryu-1.0.15.crate) = 46906
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
-SHA256 (rust/crates/schannel-0.1.19.crate) = 8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75
-SIZE (rust/crates/schannel-0.1.19.crate) = 42755
-SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
-SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
-SHA256 (rust/crates/security-framework-2.4.1.crate) = 6c1016a0b396a0e68d6c541a54370e0db49524aead4c9e6aa263d6855d978d78
-SIZE (rust/crates/security-framework-2.4.1.crate) = 65002
-SHA256 (rust/crates/security-framework-sys-2.4.1.crate) = 3f6f179cd85a30f8652b3f8830f73861c76e87e70b939773e72daf38be3afc02
-SIZE (rust/crates/security-framework-sys-2.4.1.crate) = 12822
-SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403
-SIZE (rust/crates/semver-0.9.0.crate) = 17344
-SHA256 (rust/crates/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
-SIZE (rust/crates/semver-0.11.0.crate) = 20826
-SHA256 (rust/crates/semver-1.0.4.crate) = 568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012
-SIZE (rust/crates/semver-1.0.4.crate) = 29375
-SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3
-SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268
-SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
-SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
-SHA256 (rust/crates/serde-1.0.130.crate) = f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913
-SIZE (rust/crates/serde-1.0.130.crate) = 75305
-SHA256 (rust/crates/serde_bytes-0.11.5.crate) = 16ae07dd2f88a366f15bd0632ba725227018c69a1c8550a927324f8eb8368bb9
-SIZE (rust/crates/serde_bytes-0.11.5.crate) = 11067
-SHA256 (rust/crates/serde_derive-1.0.130.crate) = d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b
-SIZE (rust/crates/serde_derive-1.0.130.crate) = 54703
-SHA256 (rust/crates/serde_json-1.0.67.crate) = a7f9e390c27c3c0ce8bc5d725f6e4d30a29d26659494aa4b17535f7522c5c950
-SIZE (rust/crates/serde_json-1.0.67.crate) = 114957
-SHA256 (rust/crates/serde_urlencoded-0.7.0.crate) = edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9
-SIZE (rust/crates/serde_urlencoded-0.7.0.crate) = 12489
+SHA256 (rust/crates/schannel-0.1.22.crate) = 0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88
+SIZE (rust/crates/schannel-0.1.22.crate) = 41642
+SHA256 (rust/crates/scopeguard-1.2.0.crate) = 94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49
+SIZE (rust/crates/scopeguard-1.2.0.crate) = 11619
+SHA256 (rust/crates/sct-0.7.0.crate) = d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4
+SIZE (rust/crates/sct-0.7.0.crate) = 27502
+SHA256 (rust/crates/security-framework-2.9.2.crate) = 05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de
+SIZE (rust/crates/security-framework-2.9.2.crate) = 79295
+SHA256 (rust/crates/security-framework-sys-2.9.1.crate) = e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a
+SIZE (rust/crates/security-framework-sys-2.9.1.crate) = 18284
+SHA256 (rust/crates/semver-1.0.19.crate) = ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0
+SIZE (rust/crates/semver-1.0.19.crate) = 30027
+SHA256 (rust/crates/serde-1.0.188.crate) = cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e
+SIZE (rust/crates/serde-1.0.188.crate) = 76230
+SHA256 (rust/crates/serde_bytes-0.11.12.crate) = ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff
+SIZE (rust/crates/serde_bytes-0.11.12.crate) = 10910
+SHA256 (rust/crates/serde_derive-1.0.188.crate) = 4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2
+SIZE (rust/crates/serde_derive-1.0.188.crate) = 55563
+SHA256 (rust/crates/serde_json-1.0.107.crate) = 6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65
+SIZE (rust/crates/serde_json-1.0.107.crate) = 146458
+SHA256 (rust/crates/serde_spanned-0.6.3.crate) = 96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186
+SIZE (rust/crates/serde_spanned-0.6.3.crate) = 7737
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/serde_with-3.3.0.crate) = 1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237
+SIZE (rust/crates/serde_with-3.3.0.crate) = 126197
+SHA256 (rust/crates/serde_with_macros-3.3.0.crate) = 2e6be15c453eb305019bfa438b1593c731f36a289a7853f7707ee29e870b3b3c
+SIZE (rust/crates/serde_with_macros-3.3.0.crate) = 28216
SHA256 (rust/crates/sha-1-0.9.8.crate) = 99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6
SIZE (rust/crates/sha-1-0.9.8.crate) = 14029
-SHA256 (rust/crates/sha1-0.6.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
-SIZE (rust/crates/sha1-0.6.0.crate) = 9244
-SHA256 (rust/crates/sha2-0.9.6.crate) = 9204c41a1597a8c5af23c82d1c921cb01ec0a4c59e07a9c7306062829a3903f3
-SIZE (rust/crates/sha2-0.9.6.crate) = 19879
-SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
-SIZE (rust/crates/shlex-1.1.0.crate) = 5199
-SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
-SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
-SHA256 (rust/crates/signature-1.3.1.crate) = c19772be3c4dd2ceaacf03cb41d5885f2a02c4d8804884918e3a258480803335
-SIZE (rust/crates/signature-1.3.1.crate) = 10385
+SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
+SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
+SIZE (rust/crates/sha2-0.10.8.crate) = 26357
+SHA256 (rust/crates/shannon-0.2.0.crate) = 7ea5b41c9427b56caa7b808cb548a04fb50bb5b9e98590b53f28064ff4174561
+SIZE (rust/crates/shannon-0.2.0.crate) = 3503
+SHA256 (rust/crates/sharded-slab-0.1.6.crate) = c1b21f559e07218024e7e9f90f96f601825397de0e25420135f7f952453fed0b
+SIZE (rust/crates/sharded-slab-0.1.6.crate) = 55664
+SHA256 (rust/crates/shell-words-1.1.0.crate) = 24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde
+SIZE (rust/crates/shell-words-1.1.0.crate) = 9871
+SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
+SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/signature-1.6.4.crate) = 74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c
+SIZE (rust/crates/signature-1.6.4.crate) = 16012
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
-SHA256 (rust/crates/slab-0.4.4.crate) = c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590
-SIZE (rust/crates/slab-0.4.4.crate) = 15725
-SHA256 (rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
-SIZE (rust/crates/smallvec-1.6.1.crate) = 26444
-SHA256 (rust/crates/smawk-0.3.1.crate) = f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043
-SIZE (rust/crates/smawk-0.3.1.crate) = 12840
-SHA256 (rust/crates/socket2-0.4.1.crate) = 765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad
-SIZE (rust/crates/socket2-0.4.1.crate) = 41364
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.11.1.crate) = 942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a
+SIZE (rust/crates/smallvec-1.11.1.crate) = 34831
+SHA256 (rust/crates/smawk-0.3.2.crate) = b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c
+SIZE (rust/crates/smawk-0.3.2.crate) = 13831
+SHA256 (rust/crates/socket2-0.4.9.crate) = 64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662
+SIZE (rust/crates/socket2-0.4.9.crate) = 45421
+SHA256 (rust/crates/socket2-0.5.4.crate) = 4031e820eb552adee9295814c0ced9e5cf38ddf1e8b7d566d6de8e2538ea989e
+SIZE (rust/crates/socket2-0.5.4.crate) = 54663
SHA256 (rust/crates/sodiumoxide-0.2.7.crate) = e26be3acb6c2d9a7aac28482586a7856436af4cfe7100031d219de2d2ecb0028
SIZE (rust/crates/sodiumoxide-0.2.7.crate) = 2127946
-SHA256 (rust/crates/standback-0.2.17.crate) = e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff
-SIZE (rust/crates/standback-0.2.17.crate) = 29011
-SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
-SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (rust/crates/stdweb-0.4.20.crate) = d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5
-SIZE (rust/crates/stdweb-0.4.20.crate) = 194102
-SHA256 (rust/crates/stdweb-derive-0.5.3.crate) = c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef
-SIZE (rust/crates/stdweb-derive-0.5.3.crate) = 3894
-SHA256 (rust/crates/stdweb-internal-macros-0.2.9.crate) = 58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11
-SIZE (rust/crates/stdweb-internal-macros-0.2.9.crate) = 11828
-SHA256 (rust/crates/stdweb-internal-runtime-0.1.5.crate) = 213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0
-SIZE (rust/crates/stdweb-internal-runtime-0.1.5.crate) = 5445
-SHA256 (rust/crates/strength_reduce-0.2.3.crate) = a3ff2f71c82567c565ba4b3009a9350a96a7269eaa4001ebedae926230bc2254
-SIZE (rust/crates/strength_reduce-0.2.3.crate) = 13283
-SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
-SIZE (rust/crates/strsim-0.8.0.crate) = 9309
-SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
-SIZE (rust/crates/strum-0.21.0.crate) = 5296
-SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
-SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
+SHA256 (rust/crates/spin-0.5.2.crate) = 6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d
+SIZE (rust/crates/spin-0.5.2.crate) = 12004
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/strength_reduce-0.2.4.crate) = fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82
+SIZE (rust/crates/strength_reduce-0.2.4.crate) = 17859
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
SIZE (rust/crates/subtle-2.4.1.crate) = 12630
-SHA256 (rust/crates/syn-1.0.75.crate) = b7f58f7e8eaa0009c5fec437aabf511bd9933e4b2d7407bd05273c01a8906ea7
-SIZE (rust/crates/syn-1.0.75.crate) = 233068
-SHA256 (rust/crates/system-deps-3.1.2.crate) = 7ab7dbd121ce66af2176147a48c7e01aaf1f001837a18a7cf4317858606bbdf8
-SIZE (rust/crates/system-deps-3.1.2.crate) = 20920
-SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
-SIZE (rust/crates/tap-1.0.1.crate) = 11316
-SHA256 (rust/crates/tempfile-3.2.0.crate) = dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22
-SIZE (rust/crates/tempfile-3.2.0.crate) = 25892
-SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
-SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
-SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
-SHA256 (rust/crates/textwrap-0.14.2.crate) = 0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80
-SIZE (rust/crates/textwrap-0.14.2.crate) = 52016
-SHA256 (rust/crates/thiserror-1.0.28.crate) = 283d5230e63df9608ac7d9691adc1dfb6e701225436eb64d0b9a7f0a5a04f6ec
-SIZE (rust/crates/thiserror-1.0.28.crate) = 16909
-SHA256 (rust/crates/thiserror-impl-1.0.28.crate) = fa3884228611f5cd3608e2d409bf7dce832e4eb3135e3f11addbd7e41bd68e71
-SIZE (rust/crates/thiserror-impl-1.0.28.crate) = 13760
-SHA256 (rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
-SIZE (rust/crates/time-0.1.43.crate) = 28653
-SHA256 (rust/crates/time-0.2.27.crate) = 4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242
-SIZE (rust/crates/time-0.2.27.crate) = 65167
-SHA256 (rust/crates/time-macros-0.1.1.crate) = 957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1
-SIZE (rust/crates/time-macros-0.1.1.crate) = 5447
-SHA256 (rust/crates/time-macros-impl-0.1.2.crate) = fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f
-SIZE (rust/crates/time-macros-impl-0.1.2.crate) = 10096
-SHA256 (rust/crates/tinyvec-1.3.1.crate) = 848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338
-SIZE (rust/crates/tinyvec-1.3.1.crate) = 42386
-SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
-SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
-SHA256 (rust/crates/tokio-1.10.1.crate) = 92036be488bb6594459f2e03b60e42df6f937fe6ca5c5ffdcb539c6b84dc40f5
-SIZE (rust/crates/tokio-1.10.1.crate) = 509841
-SHA256 (rust/crates/tokio-macros-1.3.0.crate) = 54473be61f4ebe4efd09cec9bd5d16fa51d70ea0192213d754d2d500457db110
-SIZE (rust/crates/tokio-macros-1.3.0.crate) = 7876
-SHA256 (rust/crates/tokio-native-tls-0.3.0.crate) = f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b
-SIZE (rust/crates/tokio-native-tls-0.3.0.crate) = 20759
-SHA256 (rust/crates/tokio-util-0.6.7.crate) = 1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592
-SIZE (rust/crates/tokio-util-0.6.7.crate) = 73201
-SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.crate) = 54219
-SHA256 (rust/crates/tower-service-0.3.1.crate) = 360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6
-SIZE (rust/crates/tower-service-0.3.1.crate) = 6299
-SHA256 (rust/crates/tracing-0.1.26.crate) = 09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d
-SIZE (rust/crates/tracing-0.1.26.crate) = 68583
-SHA256 (rust/crates/tracing-core-0.1.19.crate) = 2ca517f43f0fb96e0c3072ed5c275fe5eece87e8cb52f4a77b69226d3b1c9df8
-SIZE (rust/crates/tracing-core-0.1.19.crate) = 50079
-SHA256 (rust/crates/transpose-0.2.1.crate) = 95f9c900aa98b6ea43aee227fd680550cdec726526aab8ac801549eadb25e39f
-SIZE (rust/crates/transpose-0.2.1.crate) = 6499
-SHA256 (rust/crates/try-lock-0.2.3.crate) = 59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642
-SIZE (rust/crates/try-lock-0.2.3.crate) = 4158
-SHA256 (rust/crates/tungstenite-0.13.0.crate) = 5fe8dada8c1a3aeca77d6b51a4f1314e0f4b8e438b7b1b71e3ddaca8080e4093
-SIZE (rust/crates/tungstenite-0.13.0.crate) = 57945
-SHA256 (rust/crates/typenum-1.13.0.crate) = 879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06
-SIZE (rust/crates/typenum-1.13.0.crate) = 40238
-SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
-SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
-SHA256 (rust/crates/unicode-bidi-0.3.6.crate) = 246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085
-SIZE (rust/crates/unicode-bidi-0.3.6.crate) = 33737
-SHA256 (rust/crates/unicode-linebreak-0.1.2.crate) = 3a52dcaab0c48d931f7cc8ef826fa51690a08e1ea55117ef26f89864f532383f
-SIZE (rust/crates/unicode-linebreak-0.1.2.crate) = 69293
-SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
-SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
-SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (rust/crates/unicode-width-0.1.8.crate) = 9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3
-SIZE (rust/crates/unicode-width-0.1.8.crate) = 16732
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
-SIZE (rust/crates/url-2.2.2.crate) = 68555
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.37.crate) = 7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8
+SIZE (rust/crates/syn-2.0.37.crate) = 243250
+SHA256 (rust/crates/system-configuration-0.5.1.crate) = ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7
+SIZE (rust/crates/system-configuration-0.5.1.crate) = 12618
+SHA256 (rust/crates/system-configuration-sys-0.5.0.crate) = a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9
+SIZE (rust/crates/system-configuration-sys-0.5.0.crate) = 6730
+SHA256 (rust/crates/system-deps-6.1.2.crate) = 94af52f9402f94aac4948a2518b43359be8d9ce6cd9efc1c4de3b2f7b7e897d6
+SIZE (rust/crates/system-deps-6.1.2.crate) = 24167
+SHA256 (rust/crates/target-lexicon-0.12.11.crate) = 9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a
+SIZE (rust/crates/target-lexicon-0.12.11.crate) = 24594
+SHA256 (rust/crates/tempfile-3.8.0.crate) = cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef
+SIZE (rust/crates/tempfile-3.8.0.crate) = 31720
+SHA256 (rust/crates/termcolor-1.3.0.crate) = 6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64
+SIZE (rust/crates/termcolor-1.3.0.crate) = 18799
+SHA256 (rust/crates/test-log-0.2.12.crate) = d9601d162c1d77e62c1ea0bc8116cd1caf143ce3af947536c3c9052a1677fe0c
+SIZE (rust/crates/test-log-0.2.12.crate) = 10583
+SHA256 (rust/crates/test-with-0.10.4.crate) = 5e9851c6a0044b806aac020deb979dc11267a19b62b32ce174583d2b71b51886
+SIZE (rust/crates/test-with-0.10.4.crate) = 26135
+SHA256 (rust/crates/textwrap-0.16.0.crate) = 222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d
+SIZE (rust/crates/textwrap-0.16.0.crate) = 53722
+SHA256 (rust/crates/thiserror-1.0.49.crate) = 1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4
+SIZE (rust/crates/thiserror-1.0.49.crate) = 18912
+SHA256 (rust/crates/thiserror-impl-1.0.49.crate) = 10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc
+SIZE (rust/crates/thiserror-impl-1.0.49.crate) = 15101
+SHA256 (rust/crates/thread-id-4.2.0.crate) = 79474f573561cdc4871a0de34a51c92f7f5a56039113fbb5b9c9f96bdb756669
+SIZE (rust/crates/thread-id-4.2.0.crate) = 8551
+SHA256 (rust/crates/thread_local-1.1.7.crate) = 3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152
+SIZE (rust/crates/thread_local-1.1.7.crate) = 13585
+SHA256 (rust/crates/time-0.3.29.crate) = 426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe
+SIZE (rust/crates/time-0.3.29.crate) = 118231
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.15.crate) = 4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20
+SIZE (rust/crates/time-macros-0.2.15.crate) = 23568
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.32.0.crate) = 17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9
+SIZE (rust/crates/tokio-1.32.0.crate) = 725004
+SHA256 (rust/crates/tokio-macros-2.1.0.crate) = 630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e
+SIZE (rust/crates/tokio-macros-2.1.0.crate) = 11472
+SHA256 (rust/crates/tokio-native-tls-0.3.1.crate) = bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2
+SIZE (rust/crates/tokio-native-tls-0.3.1.crate) = 20676
+SHA256 (rust/crates/tokio-rustls-0.24.1.crate) = c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081
+SIZE (rust/crates/tokio-rustls-0.24.1.crate) = 33049
+SHA256 (rust/crates/tokio-stream-0.1.14.crate) = 397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842
+SIZE (rust/crates/tokio-stream-0.1.14.crate) = 35881
+SHA256 (rust/crates/tokio-tungstenite-0.19.0.crate) = ec509ac96e9a0c43427c74f003127d953a265737636129424288d27cb5c4b12c
+SIZE (rust/crates/tokio-tungstenite-0.19.0.crate) = 27734
+SHA256 (rust/crates/tokio-util-0.7.9.crate) = 1d68074620f57a0b21594d9735eb2e98ab38b17f80d3fcb189fca266771ca60d
+SIZE (rust/crates/tokio-util-0.7.9.crate) = 104487
+SHA256 (rust/crates/toml-0.5.11.crate) = f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234
+SIZE (rust/crates/toml-0.5.11.crate) = 54910
+SHA256 (rust/crates/toml-0.8.2.crate) = 185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d
+SIZE (rust/crates/toml-0.8.2.crate) = 50425
+SHA256 (rust/crates/toml_datetime-0.6.3.crate) = 7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b
+SIZE (rust/crates/toml_datetime-0.6.3.crate) = 10770
+SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421
+SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324
+SHA256 (rust/crates/toml_edit-0.20.2.crate) = 396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338
+SIZE (rust/crates/toml_edit-0.20.2.crate) = 96487
+SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c
+SIZE (rust/crates/tower-0.4.13.crate) = 106906
+SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0
+SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023
+SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
+SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
+SHA256 (rust/crates/tracing-0.1.37.crate) = 8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8
+SIZE (rust/crates/tracing-0.1.37.crate) = 73888
+SHA256 (rust/crates/tracing-attributes-0.1.26.crate) = 5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab
+SIZE (rust/crates/tracing-attributes-0.1.26.crate) = 32060
+SHA256 (rust/crates/tracing-core-0.1.31.crate) = 0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a
+SIZE (rust/crates/tracing-core-0.1.31.crate) = 61263
+SHA256 (rust/crates/tracing-log-0.1.3.crate) = 78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922
+SIZE (rust/crates/tracing-log-0.1.3.crate) = 20549
+SHA256 (rust/crates/tracing-subscriber-0.3.17.crate) = 30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77
+SIZE (rust/crates/tracing-subscriber-0.3.17.crate) = 191711
+SHA256 (rust/crates/transpose-0.2.2.crate) = e6522d49d03727ffb138ae4cbc1283d3774f0d10aa7f9bf52e6784c45daf9b23
+SIZE (rust/crates/transpose-0.2.2.crate) = 10816
+SHA256 (rust/crates/try-lock-0.2.4.crate) = 3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed
+SIZE (rust/crates/try-lock-0.2.4.crate) = 4467
+SHA256 (rust/crates/tungstenite-0.19.0.crate) = 15fba1a6d6bb030745759a9a2a588bfe8490fc8b4751a277db3a0be1c9ebbf67
+SIZE (rust/crates/tungstenite-0.19.0.crate) = 56325
+SHA256 (rust/crates/tungstenite-0.20.1.crate) = 9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9
+SIZE (rust/crates/tungstenite-0.20.1.crate) = 60095
+SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
+SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
+SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-linebreak-0.1.5.crate) = 3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f
+SIZE (rust/crates/unicode-linebreak-0.1.5.crate) = 15324
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-width-0.1.11.crate) = e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85
+SIZE (rust/crates/unicode-width-0.1.11.crate) = 19187
+SHA256 (rust/crates/untrusted-0.7.1.crate) = a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a
+SIZE (rust/crates/untrusted-0.7.1.crate) = 7924
+SHA256 (rust/crates/url-2.4.1.crate) = 143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5
+SIZE (rust/crates/url-2.4.1.crate) = 78228
+SHA256 (rust/crates/url-escape-0.1.1.crate) = 44e0ce4d1246d075ca5abec4b41d33e87a6054d08e2366b63205665e950db218
+SIZE (rust/crates/url-escape-0.1.1.crate) = 4459
+SHA256 (rust/crates/urlencoding-2.1.3.crate) = daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da
+SIZE (rust/crates/urlencoding-2.1.3.crate) = 6538
SHA256 (rust/crates/utf-8-0.7.6.crate) = 09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9
SIZE (rust/crates/utf-8-0.7.6.crate) = 10422
-SHA256 (rust/crates/uuid-0.8.2.crate) = bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7
-SIZE (rust/crates/uuid-0.8.2.crate) = 37909
-SHA256 (rust/crates/v_frame-0.2.2.crate) = 80b4c7125fe75942c6bca0fe93cd5a6018778791297cfb21283be47f1d52185b
-SIZE (rust/crates/v_frame-0.2.2.crate) = 10214
-SHA256 (rust/crates/va_list-0.1.3.crate) = 93cb4651d1da92134fdb6b3f9f1c2f61c9d5677639a2808e70ca5d8ad842e7a5
-SIZE (rust/crates/va_list-0.1.3.crate) = 8912
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/uuid-1.4.1.crate) = 79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d
+SIZE (rust/crates/uuid-1.4.1.crate) = 55291
+SHA256 (rust/crates/v_frame-0.3.6.crate) = 85db69f33d00031c1b07f7292e56317d5aa9475bdbd3d27ef18f3633438a697e
+SIZE (rust/crates/v_frame-0.3.6.crate) = 14603
+SHA256 (rust/crates/va_list-0.1.4.crate) = 350bd5ef744f978a387cd08ce514be4e3766746496f355d59d68af36f52d36da
+SIZE (rust/crates/va_list-0.1.4.crate) = 9028
+SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d
+SIZE (rust/crates/valuable-0.1.0.crate) = 27718
SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
-SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
-SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
SHA256 (rust/crates/vergen-3.2.0.crate) = e7141e445af09c8919f1d5f8a20dae0b20c3b57a45dee0d5823c6ed5d237f15a
SIZE (rust/crates/vergen-3.2.0.crate) = 16897
-SHA256 (rust/crates/version-compare-0.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
-SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
-SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
-SIZE (rust/crates/version_check-0.9.3.crate) = 12547
-SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
-SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
-SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
-SIZE (rust/crates/want-0.3.0.crate) = 6550
-SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
-SHA256 (rust/crates/wasm-bindgen-0.2.76.crate) = 8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0
-SIZE (rust/crates/wasm-bindgen-0.2.76.crate) = 160285
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.76.crate) = cfe8dc78e2326ba5f845f4b5bf548401604fa20b1dd1d365fb73b6c1d6364041
-SIZE (rust/crates/wasm-bindgen-backend-0.2.76.crate) = 25569
-SHA256 (rust/crates/wasm-bindgen-futures-0.4.26.crate) = 95fded345a6559c2cfee778d562300c581f7d4ff3edb9b0d230d69800d213972
-SIZE (rust/crates/wasm-bindgen-futures-0.4.26.crate) = 14775
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.76.crate) = 44468aa53335841d9d6b6c023eaab07c0cd4bddbcfdee3e2bb1e8d2cb8069fef
-SIZE (rust/crates/wasm-bindgen-macro-0.2.76.crate) = 11552
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.76.crate) = 0195807922713af1e67dc66132c7328206ed9766af3858164fb583eedc25fbad
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.76.crate) = 17907
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.76.crate) = acdb075a845574a1fa5f09fd77e43f7747599301ea3417a9fbffdeedfc1f4a29
-SIZE (rust/crates/wasm-bindgen-shared-0.2.76.crate) = 7238
-SHA256 (rust/crates/web-sys-0.3.53.crate) = 224b2f6b67919060055ef1a67807367c2066ed520c3862cc013d26cf893a783c
-SIZE (rust/crates/web-sys-0.3.53.crate) = 664908
-SHA256 (rust/crates/weezl-0.1.5.crate) = d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e
-SIZE (rust/crates/weezl-0.1.5.crate) = 34944
-SHA256 (rust/crates/which-3.1.1.crate) = d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724
-SIZE (rust/crates/which-3.1.1.crate) = 8071
-SHA256 (rust/crates/winapi-0.2.8.crate) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
-SIZE (rust/crates/winapi-0.2.8.crate) = 455145
+SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29
+SIZE (rust/crates/version-compare-0.1.1.crate) = 13224
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/vsimd-0.8.0.crate) = 5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64
+SIZE (rust/crates/vsimd-0.8.0.crate) = 21377
+SHA256 (rust/crates/waker-fn-1.1.1.crate) = f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690
+SIZE (rust/crates/waker-fn-1.1.1.crate) = 6323
+SHA256 (rust/crates/walkdir-2.4.0.crate) = d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee
+SIZE (rust/crates/walkdir-2.4.0.crate) = 23550
+SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e
+SIZE (rust/crates/want-0.3.1.crate) = 6398
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.87.crate) = 7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342
+SIZE (rust/crates/wasm-bindgen-0.2.87.crate) = 175052
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd
+SIZE (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 26821
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.37.crate) = c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03
+SIZE (rust/crates/wasm-bindgen-futures-0.4.37.crate) = 15193
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.87.crate) = dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d
+SIZE (rust/crates/wasm-bindgen-macro-0.2.87.crate) = 13897
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 20006
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.87.crate) = ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1
+SIZE (rust/crates/wasm-bindgen-shared-0.2.87.crate) = 7248
+SHA256 (rust/crates/web-sys-0.3.64.crate) = 9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b
+SIZE (rust/crates/web-sys-0.3.64.crate) = 725584
+SHA256 (rust/crates/weezl-0.1.7.crate) = 9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb
+SIZE (rust/crates/weezl-0.1.7.crate) = 42166
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
-SHA256 (rust/crates/winapi-build-0.1.1.crate) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
-SIZE (rust/crates/winapi-build-0.1.1.crate) = 669
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/winreg-0.7.0.crate) = 0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69
-SIZE (rust/crates/winreg-0.7.0.crate) = 21225
-SHA256 (rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
-SIZE (rust/crates/ws2_32-sys-0.2.1.crate) = 4697
-SHA256 (rust/crates/wyz-0.2.0.crate) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214
-SIZE (rust/crates/wyz-0.2.0.crate) = 12926
-SHA256 (rust/crates/xml-rs-0.8.4.crate) = d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3
-SIZE (rust/crates/xml-rs-0.8.4.crate) = 52690
-SHA256 (rust/crates/zeroize-1.4.1.crate) = 377db0846015f7ae377174787dd452e1c5f5a9050bc6f954911d01f116daa0cd
-SIZE (rust/crates/zeroize-1.4.1.crate) = 16153
-SHA256 (fengalin-tokio-2fd1551867c145cabe4548da2e37adc3bdf457a4_GH0.tar.gz) = 2334f7d1f8a596d8743b2af79648155069f95ad1f6dc5276d7cfcee2055bd7f5
-SIZE (fengalin-tokio-2fd1551867c145cabe4548da2e37adc3bdf457a4_GH0.tar.gz) = 455127
-SHA256 (rust-av-flavors-ceb65b8ce94e183c4cf4011da0a40e3a4892c2c0_GH0.tar.gz) = 0e1f3533c62b087269a3fb677ee0a5476b91f0158551a42c685ae3887a15cc57
-SIZE (rust-av-flavors-ceb65b8ce94e183c4cf4011da0a40e3a4892c2c0_GH0.tar.gz) = 6456003
-SHA256 (gstreamer-gst-plugins-rs-d0466b3eee114207f851b37cae0015c0e718f021_GL0.tar.gz) = 1364929938a4b2e35b9aca0a1e323e6d01b5c85d9bf17703818394dc8d22c691
-SIZE (gstreamer-gst-plugins-rs-d0466b3eee114207f851b37cae0015c0e718f021_GL0.tar.gz) = 733674
+SHA256 (rust/crates/windows-0.48.0.crate) = e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f
+SIZE (rust/crates/windows-0.48.0.crate) = 11864177
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/winnow-0.5.15.crate) = 7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc
+SIZE (rust/crates/winnow-0.5.15.crate) = 145621
+SHA256 (rust/crates/winreg-0.50.0.crate) = 524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1
+SIZE (rust/crates/winreg-0.50.0.crate) = 29703
+SHA256 (rust/crates/xattr-1.0.1.crate) = f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985
+SIZE (rust/crates/xattr-1.0.1.crate) = 12258
+SHA256 (rust/crates/xml-rs-0.8.19.crate) = 0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a
+SIZE (rust/crates/xml-rs-0.8.19.crate) = 54051
+SHA256 (rust/crates/xmlparser-0.13.6.crate) = 66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4
+SIZE (rust/crates/xmlparser-0.13.6.crate) = 26718
+SHA256 (rust/crates/xmltree-0.10.3.crate) = d7d8a75eaf6557bb84a65ace8609883db44a29951042ada9b393151532e41fcb
+SIZE (rust/crates/xmltree-0.10.3.crate) = 9219
+SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (rust/crates/zerocopy-0.6.4.crate) = 20707b61725734c595e840fb3704378a0cd2b9c74cc9e6e20724838fc6a1e2f9
+SIZE (rust/crates/zerocopy-0.6.4.crate) = 45678
+SHA256 (rust/crates/zerocopy-derive-0.6.4.crate) = 56097d5b91d711293a42be9289403896b68654625021732067eac7a4ca388a1f
+SIZE (rust/crates/zerocopy-derive-0.6.4.crate) = 522440
+SHA256 (rust/crates/zeroize-1.6.0.crate) = 2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9
+SIZE (rust/crates/zeroize-1.6.0.crate) = 19049
+SHA256 (rust-av-flavors-833508af656d298c269f2397c8541a084264d992_GH0.tar.gz) = 79288d892a46f2c2a84ad7e96b48608fbf54518ecf3fa7b6035f9a4bab187dab
+SIZE (rust-av-flavors-833508af656d298c269f2397c8541a084264d992_GH0.tar.gz) = 6456420
+SHA256 (gstreamer-gstreamer-rs-71bbcc00e2c515824d13d517fab26b19b9a4c2f9_GL0.tar.gz) = 937172d3f0f6466cd1e316eba6c95727c65c1f3448fed5798a938367a374c51e
+SIZE (gstreamer-gstreamer-rs-71bbcc00e2c515824d13d517fab26b19b9a4c2f9_GL0.tar.gz) = 1331048
+SHA256 (gtk-rs-gtk4-rs-cb4dde9bc2455c66aa86df6fbcd71a9f155097ea_GH0.tar.gz) = 94f9b5ae77f0ef6a642b0df0ef2b3c85d1172bd9ee5dfb36166ba857b6bea6e1
+SIZE (gtk-rs-gtk4-rs-cb4dde9bc2455c66aa86df6fbcd71a9f155097ea_GH0.tar.gz) = 9617636
+SHA256 (rust-av-ffv1-2afb025a327173ce891954c052e804d0f880368a_GH0.tar.gz) = 082d63c6163eeb7982f85cb78ee35114e95907a8188018e299f13b1a42e0b60f
+SIZE (rust-av-ffv1-2afb025a327173ce891954c052e804d0f880368a_GH0.tar.gz) = 21831345
+SHA256 (gtk-rs-gtk-rs-core-1ce51ac2eb3e11c34088a7249a17e767e63ee0d9_GH0.tar.gz) = f589fbd444c11e43da5e28bdf14f5a336f42e8ae0ece2756cae270403d7fbbe4
+SIZE (gtk-rs-gtk-rs-core-1ce51ac2eb3e11c34088a7249a17e767e63ee0d9_GH0.tar.gz) = 907632
+SHA256 (gst-plugins-rs-0.11.1+fixup.tar.bz2) = a76c1c1545d0c1d62f41452fcb167b2e070fcee980868d14ba465fdb312120ce
+SIZE (gst-plugins-rs-0.11.1+fixup.tar.bz2) = 1519670
diff --git a/multimedia/gstreamer1-plugins-rust/files/patch-cargo-0.56 b/multimedia/gstreamer1-plugins-rust/files/patch-cargo-0.56
deleted file mode 100644
index c625536302cd..000000000000
--- a/multimedia/gstreamer1-plugins-rust/files/patch-cargo-0.56
+++ /dev/null
@@ -1,18 +0,0 @@
-$ cargo cbuild
-Error: CliError { error: Some(failed to load manifest for workspace member `generic/threadshare`
-
-Caused by:
- 0: failed to parse manifest at `generic/threadshare/Cargo.toml`
- 1: key `tag` is ignored for dependency (tokio).), exit_code: 101 }
-
---- generic/threadshare/Cargo.toml.orig 2021-08-31 05:49:18 UTC
-+++ generic/threadshare/Cargo.toml
-@@ -15,7 +15,7 @@ gst-net = { package = "gstreamer-net", version = "0.17
- gst-rtp = { package = "gstreamer-rtp", version = "0.17" }
- pin-project = "1"
- once_cell = "1"
--tokio = { git = "https://github.com/fengalin/tokio", tag = "tokio-0.2.13-throttling", features = ["io-util", "macros", "rt-core", "sync", "stream", "time", "tcp", "udp", "rt-util"] }
-+tokio = { git = "https://github.com/fengalin/tokio", features = ["io-util", "macros", "rt-core", "sync", "stream", "time", "tcp", "udp", "rt-util"] }
- futures = { version = "0.3", features = ["thread-pool"] }
- rand = "0.8"
- socket2 = {features = ["all"], version = "0.4"}
diff --git a/multimedia/gstreamer1-plugins-rust/files/patch-gst-1.16 b/multimedia/gstreamer1-plugins-rust/files/patch-gst-1.16
deleted file mode 100644
index 61b69b8708e7..000000000000
--- a/multimedia/gstreamer1-plugins-rust/files/patch-gst-1.16
+++ /dev/null
@@ -1,38 +0,0 @@
-Drop after multimedia/gstreamer1-plugins is updated to 1.18 or later
-
-Package dependency requirement 'gstreamer-1.0 >= 1.18' could not be satisfied.
-Package 'gstreamer-1.0' has version '1.16.2', required version is '>= 1.18'
-
-error[E0599]: no method named `pull_until_eos` found for struct `Harness` in the current scope
- --> audio/audiofx/tests/ebur128level.rs:113:33
- |
-113 | while let Some(_buffer) = h.pull_until_eos().unwrap() {
- | ^^^^^^^^^^^^^^ method not found in `Harness`
-
---- audio/audiofx/Cargo.toml
-+++ audio/audiofx/Cargo.toml 2021-08-15 06:32:37.895468529 +0000
-@@ -25,7 +25,7 @@ crate-type = ["cdylib", "rlib"]
- path = "src/lib.rs"
-
- [dev-dependencies]
--gst-check = { package = "gstreamer-check", version = "0.17", features = ["v1_18"] }
-+gst-check = { package = "gstreamer-check", version = "0.17", features = ["v1_16"] }
- gst-app = { package = "gstreamer-app", version = "0.17" }
-
- [build-dependencies]
---- audio/audiofx/tests/ebur128level.rs.orig 2021-08-05 15:13:43 UTC
-+++ audio/audiofx/tests/ebur128level.rs
-@@ -110,7 +110,13 @@ fn run_test(layout: gst_audio::AudioLayout, format: gs
-
- // Pull all buffers until EOS
- let mut num_buffers = 0;
-+ #[cfg(feature = "v1_18")]
- while let Some(_buffer) = h.pull_until_eos().unwrap() {
-+ num_buffers += 1;
-+ }
-+ #[cfg(not(feature = "v1_18"))]
-+ for _ in 0..5 {
-+ h.pull().unwrap();
- num_buffers += 1;
- }
- assert_eq!(num_buffers, 5);
diff --git a/multimedia/gstreamer1-plugins-rust/files/patch-powerpc b/multimedia/gstreamer1-plugins-rust/files/patch-powerpc
deleted file mode 100644
index b9159f01c024..000000000000
--- a/multimedia/gstreamer1-plugins-rust/files/patch-powerpc
+++ /dev/null
@@ -1,10 +0,0 @@
---- cargo-crates/crossbeam-utils-0.8.5/no_atomic.rs.orig 2021-07-12 16:01:05.023177000 +0200
-+++ cargo-crates/crossbeam-utils-0.8.5/no_atomic.rs 2021-07-12 16:01:16.538869000 +0200
-@@ -30,6 +30,7 @@
- "mipsel-unknown-none",
- "mipsisa32r6-unknown-linux-gnu",
- "mipsisa32r6el-unknown-linux-gnu",
-+ "powerpc-unknown-freebsd",
- "powerpc-unknown-linux-gnu",
- "powerpc-unknown-linux-gnuspe",
- "powerpc-unknown-linux-musl",
diff --git a/multimedia/gstreamer1-plugins-rust/files/patch-webp b/multimedia/gstreamer1-plugins-rust/files/patch-webp
new file mode 100644
index 000000000000..dc38eaee4503
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-rust/files/patch-webp
@@ -0,0 +1,17 @@
+Allow using system libwebpdemux. pkg-config --libs usually adds
+-L/usr/local/lib (same as OpenSSL from ports) rather than -L/usr/lib
+and the path can be omitted via PKG_CONFIG_SYSTEM_LIBRARY_PATH.
+
+--- cargo-crates/libwebp-sys2-0.1.9/build.rs.orig 1970-01-01 00:00:00 UTC
++++ cargo-crates/libwebp-sys2-0.1.9/build.rs
+@@ -18,9 +18,7 @@ fn main() {
+ cfg!(feature = "static") || env::var("LIBWEBP_SYS_STATIC").unwrap_or(String::new()) == "1";
+ if !want_static &&
+ !target.contains("msvc") && // pkg-config just never works here
+- !(host_and_target_contain("apple") ||
+- host_and_target_contain("freebsd") ||
+- host_and_target_contain("dragonfly"))
++ !host_and_target_contain("apple")
+ {
+ let mut config = pkg_config::Config::new();
+ config.cargo_metadata(true);
diff --git a/multimedia/gstreamer1-plugins-rust/pkg-descr b/multimedia/gstreamer1-plugins-rust/pkg-descr
index 046d9c728e15..c7422b50bfdd 100644
--- a/multimedia/gstreamer1-plugins-rust/pkg-descr
+++ b/multimedia/gstreamer1-plugins-rust/pkg-descr
@@ -48,5 +48,3 @@ in the Rust programming language:
- togglerecord: Element to enable starting and stopping multiple
streams together.
-
-WWW: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs
diff --git a/multimedia/gstreamer1-plugins-rust/pkg-plist b/multimedia/gstreamer1-plugins-rust/pkg-plist
index 67a2513877de..3559c59bd032 100644
--- a/multimedia/gstreamer1-plugins-rust/pkg-plist
+++ b/multimedia/gstreamer1-plugins-rust/pkg-plist
@@ -1,46 +1,81 @@
+bin/gst-webrtc-signalling-server
+lib/gstreamer-1.0/libgstaws.so
lib/gstreamer-1.0/libgstcdg.so
lib/gstreamer-1.0/libgstclaxon.so
%%CSOUND%%lib/gstreamer-1.0/libgstcsound.so
+%%DAV1D%%lib/gstreamer-1.0/libgstdav1d.so
lib/gstreamer-1.0/libgstfallbackswitch.so
+lib/gstreamer-1.0/libgstffv1.so
+lib/gstreamer-1.0/libgstfmp4.so
lib/gstreamer-1.0/libgstgif.so
+%%GTK4%%lib/gstreamer-1.0/libgstgtk4.so
+lib/gstreamer-1.0/libgsthlssink3.so
lib/gstreamer-1.0/libgsthsv.so
+lib/gstreamer-1.0/libgstjson.so
lib/gstreamer-1.0/libgstlewton.so
+lib/gstreamer-1.0/libgstlivesync.so
+lib/gstreamer-1.0/libgstmp4.so
+lib/gstreamer-1.0/libgstndi.so
+lib/gstreamer-1.0/libgstraptorq.so
lib/gstreamer-1.0/libgstrav1e.so
+lib/gstreamer-1.0/libgstregex.so
lib/gstreamer-1.0/libgstreqwest.so
lib/gstreamer-1.0/libgstrsaudiofx.so
%%PANGO%%lib/gstreamer-1.0/libgstrsclosedcaption.so
-%%DAV1D%%lib/gstreamer-1.0/libgstrsdav1d.so
lib/gstreamer-1.0/libgstrsfile.so
lib/gstreamer-1.0/libgstrsflv.so
-lib/gstreamer-1.0/libgstrsjson.so
+%%PANGO%%lib/gstreamer-1.0/libgstrsonvif.so
lib/gstreamer-1.0/libgstrspng.so
-lib/gstreamer-1.0/libgstrsregex.so
-lib/gstreamer-1.0/libgstrstextwrap.so
-lib/gstreamer-1.0/libgstrswebp.so
-lib/gstreamer-1.0/libgstrusoto.so
+lib/gstreamer-1.0/libgstrsrtp.so
+lib/gstreamer-1.0/libgstrstracers.so
+%%CAIRO%%lib/gstreamer-1.0/libgstrsvideofx.so
+%%WEBP%%lib/gstreamer-1.0/libgstrswebp.so
+lib/gstreamer-1.0/libgstrswebrtc.so
%%SODIUM%%lib/gstreamer-1.0/libgstsodium.so
+lib/gstreamer-1.0/libgstspotify.so
+lib/gstreamer-1.0/libgsttextahead.so
+lib/gstreamer-1.0/libgsttextwrap.so
lib/gstreamer-1.0/libgstthreadshare.so
lib/gstreamer-1.0/libgsttogglerecord.so
+lib/gstreamer-1.0/libgsturiplaylistbin.so
+lib/gstreamer-1.0/libgstwebrtchttp.so
+libdata/pkgconfig/gstaws.pc
libdata/pkgconfig/gstcdg.pc
libdata/pkgconfig/gstclaxon.pc
%%CSOUND%%libdata/pkgconfig/gstcsound.pc
+%%DAV1D%%libdata/pkgconfig/gstdav1d.pc
libdata/pkgconfig/gstfallbackswitch.pc
+libdata/pkgconfig/gstffv1.pc
+libdata/pkgconfig/gstfmp4.pc
libdata/pkgconfig/gstgif.pc
+%%GTK4%%libdata/pkgconfig/gstgtk4.pc
+libdata/pkgconfig/gsthlssink3.pc
libdata/pkgconfig/gsthsv.pc
+libdata/pkgconfig/gstjson.pc
libdata/pkgconfig/gstlewton.pc
+libdata/pkgconfig/gstlivesync.pc
+libdata/pkgconfig/gstmp4.pc
+libdata/pkgconfig/gstndi.pc
+libdata/pkgconfig/gstraptorq.pc
libdata/pkgconfig/gstrav1e.pc
+libdata/pkgconfig/gstregex.pc
libdata/pkgconfig/gstreqwest.pc
libdata/pkgconfig/gstrsaudiofx.pc
%%PANGO%%libdata/pkgconfig/gstrsclosedcaption.pc
-%%DAV1D%%libdata/pkgconfig/gstrsdav1d.pc
libdata/pkgconfig/gstrsfile.pc
libdata/pkgconfig/gstrsflv.pc
-libdata/pkgconfig/gstrsjson.pc
+%%PANGO%%libdata/pkgconfig/gstrsonvif.pc
libdata/pkgconfig/gstrspng.pc
-libdata/pkgconfig/gstrsregex.pc
-libdata/pkgconfig/gstrstextwrap.pc
-libdata/pkgconfig/gstrswebp.pc
-libdata/pkgconfig/gstrusoto.pc
+libdata/pkgconfig/gstrsrtp.pc
+libdata/pkgconfig/gstrstracers.pc
+%%CAIRO%%libdata/pkgconfig/gstrsvideofx.pc
+%%WEBP%%libdata/pkgconfig/gstrswebp.pc
+libdata/pkgconfig/gstrswebrtc.pc
%%SODIUM%%libdata/pkgconfig/gstsodium.pc
+libdata/pkgconfig/gstspotify.pc
+libdata/pkgconfig/gsttextahead.pc
+libdata/pkgconfig/gsttextwrap.pc
libdata/pkgconfig/gstthreadshare.pc
libdata/pkgconfig/gsttogglerecord.pc
+libdata/pkgconfig/gsturiplaylistbin.pc
+libdata/pkgconfig/gstwebrtchttp.pc
diff --git a/multimedia/gstreamer1-plugins-smoothstreaming/Makefile b/multimedia/gstreamer1-plugins-smoothstreaming/Makefile
index 63077d4ab804..8cc5a5e24647 100644
--- a/multimedia/gstreamer1-plugins-smoothstreaming/Makefile
+++ b/multimedia/gstreamer1-plugins-smoothstreaming/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer parse and demuliplex a Smooth Streaming manifest into audio/video streams plugin
@@ -10,9 +10,8 @@ SMOOTH_GST_DIRS= gst-libs/gst/isoff
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
-pre-build:
-.for dir in ${SMOOTH_GST_DIRS}
- @(cd ${BUILD_WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET})
-.endfor
+PLIST= ${.CURDIR}/pkg-plist
+
+USE_GNOME= libxml2
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-smoothstreaming/pkg-plist b/multimedia/gstreamer1-plugins-smoothstreaming/pkg-plist
new file mode 100644
index 000000000000..d664eeec4529
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-smoothstreaming/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstsmoothstreaming.so
diff --git a/multimedia/gstreamer1-plugins-svt-av1/Makefile b/multimedia/gstreamer1-plugins-svt-av1/Makefile
index 24c4558a40da..646eb94053ff 100644
--- a/multimedia/gstreamer1-plugins-svt-av1/Makefile
+++ b/multimedia/gstreamer1-plugins-svt-av1/Makefile
@@ -1,11 +1,12 @@
PORTNAME= svt-av1
DISTVERSIONPREFIX= v
-DISTVERSION= 1.1.0
+DISTVERSION= 2.0.0
CATEGORIES= multimedia
PKGNAMEPREFIX= gstreamer1-plugins-
MAINTAINER= jbeich@FreeBSD.org
COMMENT= GStreamer (svt-av1) plugin
+WWW= https://01.org/svt
LICENSE= LGPL21+ # based on SPDX header
LICENSE_FILE= ${_LICENSE_STORE}/LGPL21
@@ -17,7 +18,6 @@ USE_GITLAB= yes
USE_GNOME= glib20
GL_ACCOUNT= AOMediaCodec
GL_PROJECT= SVT-AV1
-GL_COMMIT= 6e87a1de98281840abebc030781780edd822bae5
WRKSRC_SUBDIR= gstreamer-plugin
PLIST_FILES= lib/gstreamer-1.0/libgstsvtav1enc.so
diff --git a/multimedia/gstreamer1-plugins-svt-av1/distinfo b/multimedia/gstreamer1-plugins-svt-av1/distinfo
index c65a503ddd79..63b0f031da0a 100644
--- a/multimedia/gstreamer1-plugins-svt-av1/distinfo
+++ b/multimedia/gstreamer1-plugins-svt-av1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652846711
-SHA256 (AOMediaCodec-SVT-AV1-6e87a1de98281840abebc030781780edd822bae5_GL0.tar.gz) = 75c76af8f59e2f6a34d29cb95133d343d1ee7a6aa3bdddde95717f0d5847e7db
-SIZE (AOMediaCodec-SVT-AV1-6e87a1de98281840abebc030781780edd822bae5_GL0.tar.gz) = 9888852
+TIMESTAMP = 1710389988
+SHA256 (SVT-AV1-v2.0.0.tar.bz2) = f9c076c377e504be15e195db8dd36d91233bc37cb8e82530382f38bc1926df02
+SIZE (SVT-AV1-v2.0.0.tar.bz2) = 9565222
diff --git a/multimedia/gstreamer1-plugins-svt-av1/pkg-descr b/multimedia/gstreamer1-plugins-svt-av1/pkg-descr
index e9a6bfef0746..6bf650ee6a9c 100644
--- a/multimedia/gstreamer1-plugins-svt-av1/pkg-descr
+++ b/multimedia/gstreamer1-plugins-svt-av1/pkg-descr
@@ -1,4 +1,2 @@
This plugin provides svtav1enc element to GStreamer in order to use
the Scalable Video Technology for AV1 Encoder.
-
-WWW: https://01.org/svt
diff --git a/multimedia/gstreamer1-plugins-svt-hevc/Makefile b/multimedia/gstreamer1-plugins-svt-hevc/Makefile
index a4df44343aba..20c5b7e5b076 100644
--- a/multimedia/gstreamer1-plugins-svt-hevc/Makefile
+++ b/multimedia/gstreamer1-plugins-svt-hevc/Makefile
@@ -6,6 +6,7 @@ PKGNAMEPREFIX= gstreamer1-plugins-
MAINTAINER= jbeich@FreeBSD.org
COMMENT= GStreamer (svt-hevc) plugin
+WWW= https://01.org/svt
LICENSE= LGPL21+ # based on SPDX header
LICENSE_FILE= ${_LICENSE_STORE}/LGPL21
diff --git a/multimedia/gstreamer1-plugins-svt-hevc/pkg-descr b/multimedia/gstreamer1-plugins-svt-hevc/pkg-descr
index 958e23d14859..47c99e116ab8 100644
--- a/multimedia/gstreamer1-plugins-svt-hevc/pkg-descr
+++ b/multimedia/gstreamer1-plugins-svt-hevc/pkg-descr
@@ -1,4 +1,2 @@
This plugin provides svtav1enc element to GStreamer in order to use
the Scalable Video Technology for HEVC Encoder.
-
-WWW: https://01.org/svt
diff --git a/multimedia/gstreamer1-plugins-svt-vp9/Makefile b/multimedia/gstreamer1-plugins-svt-vp9/Makefile
index 11e5ed133304..abf2201a32f5 100644
--- a/multimedia/gstreamer1-plugins-svt-vp9/Makefile
+++ b/multimedia/gstreamer1-plugins-svt-vp9/Makefile
@@ -6,6 +6,7 @@ PKGNAMEPREFIX= gstreamer1-plugins-
MAINTAINER= jbeich@FreeBSD.org
COMMENT= GStreamer (svt-vp9) plugin
+WWW= https://01.org/svt
LICENSE= LGPL21+ # based on SPDX header
LICENSE_FILE= ${_LICENSE_STORE}/LGPL21
diff --git a/multimedia/gstreamer1-plugins-svt-vp9/pkg-descr b/multimedia/gstreamer1-plugins-svt-vp9/pkg-descr
index ae97ae1a8f91..ad38978a7cbd 100644
--- a/multimedia/gstreamer1-plugins-svt-vp9/pkg-descr
+++ b/multimedia/gstreamer1-plugins-svt-vp9/pkg-descr
@@ -1,4 +1,2 @@
This plugin provides svtav1enc element to GStreamer in order to use
the Scalable Video Technology for VP9 Encoder.
-
-WWW: https://01.org/svt
diff --git a/multimedia/gstreamer1-plugins-theora/Makefile b/multimedia/gstreamer1-plugins-theora/Makefile
index 5e0238dc4730..497e86167882 100644
--- a/multimedia/gstreamer1-plugins-theora/Makefile
+++ b/multimedia/gstreamer1-plugins-theora/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer theora plugin
@@ -8,4 +8,9 @@ DIST= base
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS+= libtheora.so:multimedia/libtheora \
+ libogg.so:audio/libogg
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-theora/pkg-plist b/multimedia/gstreamer1-plugins-theora/pkg-plist
new file mode 100644
index 000000000000..5ff8c2ddf2da
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-theora/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgsttheora.so
diff --git a/multimedia/gstreamer1-plugins-ttml/Makefile b/multimedia/gstreamer1-plugins-ttml/Makefile
index ca7a7c0de231..c6792eadc335 100644
--- a/multimedia/gstreamer1-plugins-ttml/Makefile
+++ b/multimedia/gstreamer1-plugins-ttml/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 2
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer ttml subtitle plugin
@@ -8,4 +8,8 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+USE_GNOME= cairo libxml2 pango
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-ttml/pkg-plist b/multimedia/gstreamer1-plugins-ttml/pkg-plist
new file mode 100644
index 000000000000..12f7d6a43806
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-ttml/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstttmlsubs.so
diff --git a/multimedia/gstreamer1-plugins-ugly/Makefile b/multimedia/gstreamer1-plugins-ugly/Makefile
index e4cb9ecb414c..ef3a77b14dda 100644
--- a/multimedia/gstreamer1-plugins-ugly/Makefile
+++ b/multimedia/gstreamer1-plugins-ugly/Makefile
@@ -1,7 +1,5 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
-PORTREVISION= 2
-CATEGORIES= multimedia
+PORTREVISION= 0
+CATEGORIES?= multimedia audio
COMMENT= GStreamer-plugins set of good-quality plug-ins that might have distribution problems
@@ -11,18 +9,12 @@ GST_PLUGIN_SUFFIX= -ugly
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
DIST= ugly
-UGLY_GST_DIRS= gst po gst-libs
NO_GSTREAMER_COMMON= yes
PLIST= ${.CURDIR}/pkg-plist
-
-do-build:
-.for dir in ${UGLY_GST_DIRS}
- @(cd ${BUILD_WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS} ${ALL_TARGET})
-.endfor
-
-do-install:
-.for dir in ${UGLY_GST_DIRS}
- @(cd ${INSTALL_WRKSRC}/${dir} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET})
-.endfor
+UGLY_GST_ENABLED_PLUGINS= asfdemux \
+ nls \
+ dvdlpcmdec \
+ dvdsub \
+ realmedia
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-ugly/files/patch-meson.build b/multimedia/gstreamer1-plugins-ugly/files/patch-meson.build
new file mode 100644
index 000000000000..f42f5c6f266b
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-ugly/files/patch-meson.build
@@ -0,0 +1,14 @@
+*** meson.build.orig Fri Sep 2 18:21:32 2022
+--- meson.build Fri Sep 2 18:24:38 2022
+***************
+*** 117,122 ****
+--- 117,125 ----
+ cdata.set_quoted('GETTEXT_PACKAGE', 'gst-plugins-ugly-1.0')
+ cdata.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))
+
++ cdata.set_quoted('DEFAULT_AUDIOSINK', get_option('defaultaudiosink'))
++ cdata.set_quoted('DEFAULT_AUDIOSRC', get_option('defaultaudiosrc'))
++
+ # GStreamer package name and origin url
+ gst_package_name = get_option('package-name')
+ if gst_package_name == ''
diff --git a/multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt b/multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt
new file mode 100644
index 000000000000..812e478edb18
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-ugly/files/patch-meson__options.txt
@@ -0,0 +1,13 @@
+--- meson_options.txt.orig 2023-01-23 19:29:34 UTC
++++ meson_options.txt
+@@ -16,6 +16,10 @@ option('x264', type : 'feature', value : 'auto', descr
+ option('mpeg2dec', type : 'feature', value : 'auto', description : 'MPEG 2 video decoder plugin based on libmpeg2 (GPL - only built if gpl option is also enabled!)')
+ option('sidplay', type : 'feature', value : 'auto', description : 'Commodore 64 audio decoder plugin based on libsidplay (GPL - only built if gpl option is also enabled!)')
+ option('x264', type : 'feature', value : 'auto', description : 'H.264 video encoder plugin based on libx264 (GPL - only built if gpl option is also enabled!)')
++option('defaultaudiosink', type : 'string', value : 'autoaudiosink',
++ description: 'set default audio sink')
++option('defaultaudiosrc', type : 'string', value : 'autoaudiosrc',
++ description: 'set default audio src')
+
+ # License-related feature options
+ option('gpl', type: 'feature', value: 'disabled', yield: true,
diff --git a/multimedia/gstreamer1-plugins-ugly/pkg-plist b/multimedia/gstreamer1-plugins-ugly/pkg-plist
index 55e17f8ce5f7..9641976b4f3f 100644
--- a/multimedia/gstreamer1-plugins-ugly/pkg-plist
+++ b/multimedia/gstreamer1-plugins-ugly/pkg-plist
@@ -2,7 +2,6 @@ lib/gstreamer-%%VERSION%%/libgstasf.so
lib/gstreamer-%%VERSION%%/libgstdvdlpcmdec.so
lib/gstreamer-%%VERSION%%/libgstdvdsub.so
lib/gstreamer-%%VERSION%%/libgstrealmedia.so
-lib/gstreamer-%%VERSION%%/libgstxingmux.so
share/locale/af/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/ast/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/az/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
@@ -25,6 +24,7 @@ share/locale/hu/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/id/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/it/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/ja/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
+share/locale/ka/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/lt/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/lv/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/ms/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
@@ -46,3 +46,4 @@ share/locale/tr/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/uk/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/vi/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
share/locale/zh_CN/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
+share/locale/zh_TW/LC_MESSAGES/gst-plugins-ugly-%%VERSION%%.mo
diff --git a/multimedia/gstreamer1-plugins-v4l2/Makefile b/multimedia/gstreamer1-plugins-v4l2/Makefile
index 0df229b29429..f10c30e4ecf8 100644
--- a/multimedia/gstreamer1-plugins-v4l2/Makefile
+++ b/multimedia/gstreamer1-plugins-v4l2/Makefile
@@ -1,12 +1,18 @@
-PORTREVISION= 3
+PORTREVISION= 0
CATEGORIES= multimedia
PKGNAMESUFFIX= 1-plugins-v4l2
COMMENT= GStreamer Video 4 Linux 2 source plugin
-GST_PLUGIN= gst_v4l2
+GST_PLUGIN= v4l2
DIST= good
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
+LIB_DEPENDS= libv4l2.so:multimedia/libv4l
+RUN_DEPENDS= webcamd:multimedia/webcamd
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-v4l2/pkg-plist b/multimedia/gstreamer1-plugins-v4l2/pkg-plist
new file mode 100644
index 000000000000..aa63465578c0
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-v4l2/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstvideo4linux2.so
diff --git a/multimedia/gstreamer1-plugins-vpx/Makefile b/multimedia/gstreamer1-plugins-vpx/Makefile
index beb27bd858ac..06c76f1a3540 100644
--- a/multimedia/gstreamer1-plugins-vpx/Makefile
+++ b/multimedia/gstreamer1-plugins-vpx/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 3
+PORTREVISION= 1
CATEGORIES= multimedia
COMMENT= GStreamer vp8 codec plugin
@@ -8,4 +8,8 @@ DIST= good
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libvpx.so:multimedia/libvpx
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gstreamer1-plugins-vpx/pkg-plist b/multimedia/gstreamer1-plugins-vpx/pkg-plist
new file mode 100644
index 000000000000..bf2d3ac38cfd
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-vpx/pkg-plist
@@ -0,0 +1,2 @@
+lib/gstreamer-%%VERSION%%/libgstvpx.so
+%%DATADIR%%-%%VERSION%%/presets/GstVP8Enc.prs
diff --git a/multimedia/gstreamer1-plugins-x264/Makefile b/multimedia/gstreamer1-plugins-x264/Makefile
index e3ec813736f4..878ef381e54c 100644
--- a/multimedia/gstreamer1-plugins-x264/Makefile
+++ b/multimedia/gstreamer1-plugins-x264/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 5
+PORTREVISION= 0
CATEGORIES= multimedia
COMMENT= GStreamer libx264 based H264 plugin
@@ -8,4 +8,10 @@ DIST= ugly
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libx264.so:multimedia/libx264
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-x264/pkg-plist b/multimedia/gstreamer1-plugins-x264/pkg-plist
new file mode 100644
index 000000000000..0e00f12e355e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-x264/pkg-plist
@@ -0,0 +1,2 @@
+lib/gstreamer-%%VERSION%%/libgstx264.so
+%%DATADIR%%-%%VERSION%%/presets/GstX264Enc.prs
diff --git a/multimedia/gstreamer1-plugins-x265/Makefile b/multimedia/gstreamer1-plugins-x265/Makefile
index c46a2588fcc4..208061453a5f 100644
--- a/multimedia/gstreamer1-plugins-x265/Makefile
+++ b/multimedia/gstreamer1-plugins-x265/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 3
+PORTREVISION= 1
CATEGORIES= multimedia
COMMENT= GStreamer libx265 based H265 plugin
@@ -8,4 +8,10 @@ DIST= bad
MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins
+PLIST= ${.CURDIR}/pkg-plist
+
+LIB_DEPENDS= libx265.so:multimedia/x265
+
.include "${MASTERDIR}/Makefile"
+
+MESON_ARGS+= -Dgpl=enabled
diff --git a/multimedia/gstreamer1-plugins-x265/pkg-plist b/multimedia/gstreamer1-plugins-x265/pkg-plist
new file mode 100644
index 000000000000..38414eeb962f
--- /dev/null
+++ b/multimedia/gstreamer1-plugins-x265/pkg-plist
@@ -0,0 +1 @@
+lib/gstreamer-%%VERSION%%/libgstx265.so
diff --git a/multimedia/gstreamer1-plugins/Makefile b/multimedia/gstreamer1-plugins/Makefile
index 905abf3b67f0..6124bfb435e9 100644
--- a/multimedia/gstreamer1-plugins/Makefile
+++ b/multimedia/gstreamer1-plugins/Makefile
@@ -1,21 +1,17 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= gstreamer
PORTVERSION?= ${BASE_PORTVERSION}
-# When chasing a shared library for a plug-in bump the PORTREVISION in the
# plug-in port instead, like ${category}/gstreamer1-plugin-${PLUGIN}.
-PORTREVISION?= 5
+PORTREVISION?= 1
CATEGORIES?= multimedia audio
-MASTER_SITES= GNOME/sources/gst-plugins-base/${PORTVERSION:R}:base \
- GNOME/sources/gst-plugins-good/${PORTVERSION:R}:good \
- http://gstreamer.freedesktop.org/src/gst-plugins-base/:base \
- http://gstreamer.freedesktop.org/src/gst-plugins-bad/:bad \
- http://gstreamer.freedesktop.org/src/gst-plugins-good/:good \
- http://gstreamer.freedesktop.org/src/gst-plugins-ugly/:ugly
+MASTER_SITES= https://gstreamer.freedesktop.org/src/gst-plugins-base/:base \
+ https://gstreamer.freedesktop.org/src/gst-plugins-bad/:bad \
+ https://gstreamer.freedesktop.org/src/gst-plugins-good/:good \
+ https://gstreamer.freedesktop.org/src/gst-plugins-ugly/:ugly
PKGNAMESUFFIX?= 1-plugins${GST_PLUGIN_SUFFIX}
MAINTAINER= multimedia@FreeBSD.org
COMMENT?= GStreamer written collection of plugins handling several media types
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL20
@@ -27,26 +23,25 @@ RUN_DEPENDS+= iso-codes>=0:misc/iso-codes
PORTSCOUT= limitw:1,even
-BASE_PORTVERSION= 1.16.2
+BASE_PORTVERSION= ${_GST_VERSION}
BASE_DISTNAME= gst-plugins-base-${BASE_PORTVERSION}
BASE_DISTFILE= ${BASE_DISTNAME}${EXTRACT_SUFX}
-BAD_PORTVERSION= 1.16.2
+BAD_PORTVERSION= ${_GST_VERSION}
BAD_DISTNAME= gst-plugins-bad-${BAD_PORTVERSION}
BAD_DISTFILE= ${BAD_DISTNAME}${EXTRACT_SUFX}
-GOOD_PORTVERSION= 1.16.2
+GOOD_PORTVERSION= ${_GST_VERSION}
GOOD_DISTNAME= gst-plugins-good-${GOOD_PORTVERSION}
GOOD_DISTFILE= ${GOOD_DISTNAME}${EXTRACT_SUFX}
-UGLY_PORTVERSION= 1.16.2
+UGLY_PORTVERSION= ${_GST_VERSION}
UGLY_DISTNAME= gst-plugins-ugly-${UGLY_PORTVERSION}
UGLY_DISTFILE= ${UGLY_DISTNAME}${EXTRACT_SUFX}
DIST?= base
-USES+= cpe gettext gmake gnome gstreamer libtool pathfix pkgconfig python tar:xz
+USES+= meson cpe gettext gnome gstreamer libtool pathfix pkgconfig python:build tar:xz
USE_GNOME+= glib20 introspection:build libxml2
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
GST_PLUGIN?= base
USE_LDCONFIG= yes
+MESON_ARGS+= --auto-features=auto # XXX bug 270361 workaround
CPE_VENDOR= gstreamer_project
CPE_PRODUCT= gstreamer
@@ -55,8 +50,6 @@ CFLAGS+= -Wno-format
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -lpthread -L${LOCALBASE}/lib ${EXTRA_LIBS}
-CONFIGURE_ARGS+= --disable-fatal-warnings
-
DEFAULT_AUDIOSINK?= osssink
DEFAULT_AUDIOSRC?= osssrc
@@ -65,7 +58,7 @@ IGNORE= DIST not specified
.endif
VERSION= 1.0
-SOVERSION= 0.1602.0
+SOVERSION= 0.2210.0
PLIST_SUB+= VERSION="${VERSION}" \
SOVERSION="${SOVERSION}"
@@ -75,16 +68,46 @@ PLIST_SUB+= VERSION="${VERSION}" \
.if ${GST_PLUGIN} == "base"
DIST= base
NO_GSTREAMER_COMMON= yes
+
+BASE_GST_ENABLED_PLUGINS= adder \
+ allocators \
+ app \
+ audio \
+ audioconvert \
+ audiomixer \
+ audiorate \
+ audioresample \
+ audiotestsrc \
+ compositor \
+ encoding \
+ fft \
+ gio \
+ nls \
+ overlaycomposition \
+ pbtypes \
+ pkgconfig \
+ pbutils \
+ playback \
+ rawparse \
+ riff \
+ rtp \
+ rtsp \
+ sdp \
+ subparse \
+ tag \
+ tcp \
+ tools \
+ typefind \
+ video \
+ videoconvertscale \
+ videorate \
+ videotestsrc \
+ volume
.endif
.if ${DIST} == base || ${DIST} == ugly
-# --with-default-audiosink specify default audio sink
-# --with-default-audiosrc specify default audio source
-# --with-default-videosink specify default video sink
-# --with-default-videosrc specify default video source
-# --with-default-visualizer specify default visualizer
-CONFIGURE_ARGS+=--with-default-audiosink="${DEFAULT_AUDIOSINK}" \
- --with-default-audiosrc="${DEFAULT_AUDIOSRC}"
+CONFIGURE_ARGS+= -Ddefaultaudiosink="${DEFAULT_AUDIOSINK}" \
+ -Ddefaultaudiosrc="${DEFAULT_AUDIOSRC}"
.endif
.include "${MASTERDIR}/Makefile.common"
@@ -120,82 +143,7 @@ DISTFILES+= ${BASE_DISTFILE}:base ${BAD_DISTFILE}:bad \
BROKEN= Unknown dist setting
.endif
-# cdrom/dvd default device
-.ifdef(WITH_DVD_DEVICE)
-DEFAULT_DVD_DEVICE=${WITH_DVD_DEVICE}
-.else
-DEFAULT_DVD_DEVICE=/dev/cd0
-.endif
-
-post-patch:
-.if ${DIST} == bad
-# custom rule to fix opencv detection in configure
-# @${REINPLACE_CMD} -e 's|opencv <= 2.4.8|opencv <= 2.4.9|g' \
-# ${WRKSRC}/configure
- @${REINPLACE_CMD} -e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|g' \
- ${WRKSRC}/ext/resindvd/resindvdbin.c \
- ${WRKSRC}/ext/resindvd/resindvdsrc.c
-# Fix dependency on neon-0.31 and 0.32
- ${REINPLACE_CMD} -e '/neon/s|0.30.99|0.32.99|g' \
- ${WRKSRC}/configure
-# Fix build against OpenCV 4.5.1
- ${REINPLACE_CMD} '/opencv/s|4\.2\.0|4.6.0|g' \
- ${WRKSRC}/configure
-
-.endif
-.if ${DIST} != ugly
- @${FIND} ${WRKSRC}/ext ${WRKSRC}/sys \
- -name Makefile.in | ${XARGS} -n 10 ${REINPLACE_CMD} -e \
- '/la_DEPENDENCIES/,/am__DEPENDENCIES/s,$$(top_builddir)/gst-libs/.*.la,,' -e \
- 's|$$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_API_VERSION@.la|-lgsttag-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/audio/libgstaudio-@GST_API_VERSION@.la|-lgstaudio-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_API_VERSION@.la|-lgstpbutils-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/riff/libgstriff-@GST_API_VERSION@.la|-lgstriff-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-@GST_API_VERSION@.la|-lgstsignalprocessor-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/video/libgstbasevideo-@GST_API_VERSION@.la|-lgstbasevideo-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/video/libgstvideo-@GST_API_VERSION@.la|-lgstvideo-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/base/libgstbadbase-@GST_API_VERSION@.la|-lgstbadbase-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la|-lgsturidownloader-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la|-lgstadaptivedemux-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-@GST_API_VERSION@.la|-lgstcodecparsers-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/allocators/libgstbadallocators-@GST_API_VERSION@.la|-lgstbadallocators-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/audio/libgstbadaudio-@GST_API_VERSION@.la|-lgstbadaudio-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/video/libgstbadvideo-@GST_API_VERSION@.la|-lgstbadvideo-${VERSION}|'
-
- @${FIND} ${WRKSRC}/ext ${WRKSRC}/sys -name Makefile.in | \
- ${XARGS} -n 10 ${REINPLACE_CMD} -e \
- '/la_DEPENDENCIES/,/am__DEPENDENCIES/s,$$(top_builddir)/gst-libs/.*.la,,' -e \
- 's|$$(top_builddir)/gst-libs/gst/tag/libgsttag-$$(GST_API_VERSION).la|-lgsttag-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/audio/libgstaudio-$$(GST_API_VERSION).la|-lgstaudio-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-$$(GST_API_VERSION).la|-lgstpbutils-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/riff/libgstriff-$$(GST_API_VERSION).la|-lgstriff-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/signalprocessor/libgstsignalprocessor-$$(GST_API_VERSION).la|-lgstsignalprocessor-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/video/libgstbasevideo-$$(GST_API_VERSION).la|-lgstbasevideo-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/video/libgstvideo-$$(GST_API_VERSION).la|-lgstvideo-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/base/libgstbadbase-$$(GST_API_VERSION).la|-lgstbadbase-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-$$(GST_API_VERSION).la|-lgsturidownloader-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la|-lgstadaptivedemux-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/codecparsers/libgstcodecparsers-$$(GST_API_VERSION).la|-lgstcodecparsers-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/allocators/libgstbadallocators-$$(GST_API_VERSION).la|-lgstbadallocators-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/audio/libgstbadaudio-$$(GST_API_VERSION).la|-lgstbadaudio-${VERSION}|; \
- s|$$(top_builddir)/gst-libs/gst/video/libgstbadvideo-$$(GST_API_VERSION).la|-lgstbadvideo-${VERSION}|'
- @${FIND} ${WRKSRC}/ext ${WRKSRC}/gst ${WRKSRC}/gst-libs \
- -name Makefile.in -exec ${REINPLACE_CMD} \
- '/foreach/s/\\#include/#include/' {} +
-.endif
-
-.if ${DIST} == bad
-# Disable X11 support in librfb
-post-configure:
- @${REINPLACE_CMD} -e 's|HAVE_X11 = yes|HAVE_X11 = no|g' \
- -e 's|#ifdef HAVE_X11|#ifdef NO_X11|g' \
- -e 's|$$(X11_CFLAGS) \\|\\|g' \
- -e 's|$$(X11_LIBS) \\|\\|g' \
- ${WRKSRC}/gst/librfb/Makefile \
- ${WRKSRC}/gst/librfb/gstrfbsrc.c
-.endif
-
pre-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/gstreamer-1.0
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/gstreamer-${VERSION}
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-plugins/Makefile.common b/multimedia/gstreamer1-plugins/Makefile.common
index 3345519e9895..81c7888bd129 100644
--- a/multimedia/gstreamer1-plugins/Makefile.common
+++ b/multimedia/gstreamer1-plugins/Makefile.common
@@ -1,613 +1,366 @@
-BASE_GST_ALL_PLUGINS= \
+BASE_GST_ALL_PLUGINS+= \
+ adder \
+ allocators \
alsa \
+ app \
+ audio \
+ audioconvert \
+ audiomixer \
+ audiorate \
+ audioresample \
+ audiotestsrc \
cdparanoia \
+ compositor \
+ doc \
+ encoding \
+ examples \
+ fft \
+ gio \
gl \
- ivorbis \
libvisual \
+ nls \
ogg \
- opengl \
opus \
+ overlaycomposition \
pango \
+ pbtypes \
+ pbutils \
+ pkgconfig \
+ playback \
+ rawparse \
+ riff \
+ rtp \
+ rtsp \
+ sdp \
+ subparse \
+ tag \
+ tcp \
+ tests \
theora \
+ tools \
+ tremor \
+ typefind \
+ video \
+ videoconvertscale \
+ videorate \
+ videotestsrc \
+ volume \
vorbis \
- x \
+ ximage \
xvideo
-BASE_GST_NON_PLUGINS= \
- --disable-gles2 \
- --disable-egl \
- --disable-glx
+BASE_GST_ENABLED_PLUGINS?=
BAD_GST_ALL_PLUGINS+= \
+ accurip \
+ adpcmdec \
+ adpcmenc \
+ aes \
+ aiff \
+ androidmedia \
aom \
+ applemedia \
+ asfmux \
assrender \
+ audiobuffersplit \
+ audiofxbad \
+ audiolatency \
+ audiomixmatrix \
+ audiovisualizers \
+ autoconvert \
+ basecamerabinsrc \
+ bayer \
+ bluez \
bs2b \
+ bz2 \
+ camerabin2 \
chromaprint \
+ closedcaption \
+ codecalpha \
+ codecparsers \
+ codecs \
+ codectimestamper \
+ coloreffects \
+ colormanagement \
curl \
dash \
+ data \
+ dc1394 \
+ debugutils \
+ directfb \
+ directsound \
+ doc \
dtls \
dts \
+ dvb \
+ dvbsubenc \
+ dvbsuboverlay \
+ dvdspu \
+ examples \
faac \
faad \
+ faceoverlay \
+ festival \
+ fieldanalysis \
flite \
+ freeverb \
+ frei0r \
+ gaudieffects \
+ gdp \
+ geometrictransform \
gme \
gsm \
hls \
- kate \
+ id3tag \
+ insertbin \
+ inter \
+ interfaces \
+ interlace \
+ ipcpipeline \
+ isoff \
+ ivfparse \
+ ivtc \
+ jp2kdecimator \
+ jpegformat \
kms \
ladspa \
libde265 \
- libmms \
+ librfb \
lv2 \
+ midi \
modplug \
mpeg2enc \
+ mpegdemux \
+ mpegpsmux \
+ mpegts \
+ mpegtsdemux \
+ mpegtsmux \
mplex \
msdk \
musepack \
+ mxf \
neon \
- ofa \
+ netsim \
+ nls \
+ nvcodec \
+ onvif \
openal \
opencv \
openexr \
openh264 \
openjpeg \
openmpt \
+ opus \
+ pcapparse \
+ pkgconfig \
+ play \
+ player \
+ pnm \
+ proxy \
+ rawparse \
+ removesilence \
resindvd \
- rtmp \
+ rist \
rsvg \
+ rtmp2 \
+ rtp \
+ sbc \
+ sctp \
+ sdp \
+ segmentclip \
+ shm \
+ siren \
+ smooth \
smoothstreaming \
sndfile \
soundtouch \
spandsp \
+ speed \
+ srt \
srtp \
+ subenc \
+ svthevcenc \
+ switchbin \
+ tests \
+ timecode \
+ tinyalsa \
+ tools \
+ transcode \
+ transcoder \
ttml \
- vdpau \
+ uridownloader \
+ uvch264 \
+ v4l2codecs \
+ videofilters \
+ videoframe_audiolevel \
+ videoparsers \
+ videosignal \
+ vmnc \
vulkan \
+ wasapi \
wayland \
webp \
+ webrtc \
webrtcdsp \
+ wildmidi \
+ winks \
+ winscreencap \
x265 \
+ y4m \
zbar \
+ zxing
-BAD_GST_NON_PLUGINS= \
- --enable-bz2 \
- --enable-dvb \
- --enable-shm \
- --disable-acm \
- --disable-android_media \
- --disable-apple_media \
- --disable-avc \
- --disable-bluez \
- --disable-directfb \
- --disable-direct3d \
- --disable-directsound \
- --disable-nvenc \
- --disable-nvdec \
- --disable-sbc \
- --disable-spc \
- --disable-tinyalsa \
- --disable-uvch264 \
- --disable-vcd \
- --disable-wasapi \
- --disable-winks \
- --disable-winscreencap
+BAD_GST_ENABLED_PLUGINS?=
GOOD_GST_ALL_PLUGINS+= \
aalib \
+ adaptivedemux2 \
+ alpha \
+ apetag \
+ audiofx \
+ audioparsers \
+ auparse \
+ autodetect \
+ avi \
cairo \
+ cutter \
+ debugutils \
+ deinterlace \
+ directsound \
+ dtmf \
+ dv \
+ dv1394 \
+ effectv \
+ equalizer \
+ examples \
flac \
- gdk_pixbuf \
- gst_v4l2 \
+ flv \
+ flx \
+ gdk-pixbuf \
+ goom \
+ goom2k1 \
gtk3 \
+ icydemux \
+ id3demux \
+ imagefreeze \
+ interleave \
+ isomp4 \
jack \
jpeg \
lame \
+ law \
+ level \
libcaca \
- libdv \
- libpng \
+ matroska \
+ monoscope \
mpg123 \
+ multifile \
+ multipart \
+ nls \
+ oss \
+ oss4 \
+ osxaudio \
+ osxvideo \
+ png \
pulse \
- qt \
+ qt5 \
+ replaygain \
+ rtp \
+ rtpmanager \
+ rtsp \
+ shapewipe \
shout2 \
+ smpte \
soup \
+ spectrum \
speex \
taglib \
+ tests \
twolame \
+ udp \
+ v4l2 \
+ videobox \
+ videocrop \
+ videofilter \
+ videomixer \
vpx \
+ waveform \
+ wavenc \
wavpack \
- x
+ wavparse \
+ ximagesrc \
+ xingmux \
+ y4m
-GOOD_GST_NON_PLUGINS= \
- --disable-dv1394 \
- --disable-directsound \
- --disable-osx_audio \
- --disable-osx_video \
- --disable-waveform \
- --enable-bz2 \
- --enable-oss \
- --enable-oss4 \
- --enable-zlib
+GOOD_GST_ENABLED_PLUGINS?=
UGLY_GST_ALL_PLUGINS+= \
a52dec \
amrnb \
- amrwb \
+ amrwbdec \
+ asfdemux \
cdio \
+ dvdlpcmdec \
dvdread \
+ dvdsub \
mpeg2dec \
+ nls \
+ realmedia \
sidplay \
x264
-UGLY_GST_NON_PLUGINS=
+UGLY_GST_ENABLED_PLUGINS?=
+
+# gstreamer scripts tend to call python3 rather than python
+BINARY_ALIAS= python3=${PYTHON_VERSION}
# Disable all plugins by default
.if ${DIST}=="base"
.for d in ${BASE_GST_ALL_PLUGINS}
-CONFIGURE_ARGS+= --disable-${d}
+CONFIGURE_ARGS+= -D${d}=disabled
+.endfor
+.for d in ${BASE_GST_ENABLED_PLUGINS}
+CONFIGURE_ARGS+= -D${d}=enabled
.endfor
-CONFIGURE_ARGS+= ${BASE_GST_NON_PLUGINS}
.endif
.if ${DIST}=="bad"
.for d in ${BAD_GST_ALL_PLUGINS}
-CONFIGURE_ARGS+= --disable-${d}
+CONFIGURE_ARGS+= -D${d}=disabled
+.endfor
+.for d in ${BAD_GST_ENABLED_PLUGINS}
+CONFIGURE_ARGS+= -D${d}=enabled
.endfor
-CONFIGURE_ARGS+= ${BAD_GST_NON_PLUGINS}
.endif
.if ${DIST}=="good"
.for d in ${GOOD_GST_ALL_PLUGINS}
-CONFIGURE_ARGS+= --disable-${d}
+CONFIGURE_ARGS+= -D${d}=disabled
+.endfor
+.for d in ${GOOD_GST_ENABLED_PLUGINS}
+CONFIGURE_ARGS+= -D${d}=enabled
.endfor
-CONFIGURE_ARGS+= ${GOOD_GST_NON_PLUGINS}
.endif
.if ${DIST}=="ugly"
.for d in ${UGLY_GST_ALL_PLUGINS}
-CONFIGURE_ARGS+= --disable-${d}
+CONFIGURE_ARGS+= -D${d}=disabled
+.endfor
+.for d in ${UGLY_GST_ENABLED_PLUGINS}
+CONFIGURE_ARGS+= -D${d}=enabled
.endfor
-CONFIGURE_ARGS+= ${UGLY_GST_NON_PLUGINS}
.endif
.if ${GST_PLUGIN}!="base" && ${GST_PLUGIN}!="bad" && \
- ${GST_PLUGIN}!="good" && ${GST_PLUGIN}!="ugly"
-CONFIGURE_ARGS+= --enable-${GST_PLUGIN}
+ ${GST_PLUGIN}!="good" && ${GST_PLUGIN}!="ugly" && \
+ ${GST_PLUGIN}!="x"
+CONFIGURE_ARGS+= -D${GST_PLUGIN}=enabled
.endif
.if !defined(NO_GSTREAMER_COMMON)
GST_PLUGIN_SUFFIX?= -${GST_PLUGIN}
-# Enable the right plugin
-CONFIGURE_ARGS:=${CONFIGURE_ARGS:S|--disable-${GST_PLUGIN}|--enable-${GST_PLUGIN}|}
-
-GST_INC_DIR= include/gstreamer-${VERSION}
-GST_LIB_DIR= lib/gstreamer-${VERSION}
-
-# Auto create PLIST
-PLIST?= ${NONEXISTENT}
-
-# ------- plugins ---------
-
-# a52dec
-gst_a52dec_LIB_DEPENDS= liba52.so:audio/liba52
-
-# aalib
-gst_aalib_LIB_DEPENDS= libaa.so:graphics/aalib
-gst_aalib_USES= ncurses
-gst_aalib_PLIST_FILES= ${GST_LIB_DIR}/libgstaasink.so
-
-# amrnb
-gst_amrnb_LIB_DEPENDS= libopencore-amrnb.so:audio/opencore-amr
-gst_amrnb_PLIST_FILES= ${GST_LIB_DIR}/libgstamrnb.so \
- share/gstreamer-${VERSION}/presets/GstAmrnbEnc.prs
-
-# amrwb
-gst_amrwb_LIB_DEPENDS= libopencore-amrwb.so:audio/opencore-amr
-gst_amrwb_GST_PLUGIN_DIR= ext/amrwbdec
-gst_amrwb_PLIST_FILES= ${GST_LIB_DIR}/libgstamrwbdec.so
-
-# aom
-gst_aom_LIB_DEPENDS= libaom.so:multimedia/aom
-
-# assrender
-gst_assrender_LIB_DEPENDS= libass.so:multimedia/libass
-gst_assrender_USES= compiler:c11
-
-# bs2b
-gst_bs2b_LIB_DEPENDS= libbs2b.so:audio/libbs2b
-
-# cairo
-gst_cairo_USE_GNOME= cairo
-
-# cdparanoia
-gst_cdparanoia_LIB_DEPENDS= libcdda_interface.so:audio/cdparanoia
-
-# cdio
-gst_cdio_LIB_DEPENDS= libcdio.so:sysutils/libcdio
-
-# chromaprint
-gst_chromaprint_LIB_DEPENDS= libchromaprint.so:audio/chromaprint
-
-# curl
-gst_curl_LIB_DEPENDS= libcurl.so:ftp/curl \
- libssh2.so:security/libssh2
-
-# dash
-gst_dash_USE_GNOME= libxml2
-gst_dash_PLIST_FILES= ${GST_LIB_DIR}/libgstdashdemux.so
-
-# dtls
-gst_dtls_USES= compiler:c11 ssl
-gst_dtls_CONFIGURE_ENV= DTLS_CFLAGS="-I${OPENSSLINC}" \
- DTLS_LIBS="-L${OPENSSLLIB} -lcrypto -lssl"
-
-# dts
-gst_dts_LIB_DEPENDS= libdca.so:multimedia/libdca
-gst_dts_PLIST_FILES= ${GST_LIB_DIR}/libgstdtsdec.so
-
-# libdv
-gst_libdv_LIB_DEPENDS= libdv.so:multimedia/libdv
-gst_libdv_GST_PLUGIN_DIR= ext/dv
-gst_libdv_PLIST_FILES= ${GST_LIB_DIR}/libgstdv.so
-
-# dvdread
-gst_dvdread_LIB_DEPENDS=libdvdread.so:multimedia/libdvdread
-
-# faac
-gst_faac_LIB_DEPENDS= libfaac.so:audio/faac
-
-# faad
-gst_faad_LIB_DEPENDS= libfaad.so:audio/faad
-
-# flac
-gst_flac_LIB_DEPENDS= libFLAC.so:audio/flac
-
-# flite
-gst_flite_LIB_DEPENDS= libflite.so:audio/flite
-
-# gdk_pixbuf
-gst_gdk_pixbuf_USE_GNOME= gdkpixbuf2
-gst_gdk_pixbuf_PLIST_FILES= ${GST_LIB_DIR}/libgstgdkpixbuf.so
-
-# gl
-gst_gl_USES= gl
-gst_gl_USE_GL= gl glu glesv2 egl
-gst_gl_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto
-gst_gl_LIB_DEPENDS= libgraphene-1.0.so:graphics/graphene
-gst_gl_CONFIGURE_ARGS= --enable-gl --enable-glx \
- --enable-egl --enable-gles2
-gst_gl_GST_PLUGIN_DIR= gst-libs/gst/gl ext/gl
-gst_gl_PLIST_FILES= #
-
-# gme
-gst_gme_LIB_DEPENDS= libgme.so:audio/libgme
-
-# gsm
-gst_gsm_LIB_DEPENDS= libgsm.so:audio/gsm
-
-# gtk3
-gst_gtk3_USES= gnome
-gst_gtk3_USE_GSTREAMER= gl
-gst_gtk3_USE_GNOME= cairo gdkpixbuf2 gtk30
-gst_gtk3_CONFIGURE_ARGS=--enable-gtk3
-gst_gtk3_GST_PLUGIN_DIR=ext/gtk
-gst_gtk3_PLIST_FILES= ${GST_LIB_DIR}/libgstgtk.so
-
-# hls
-gst_hls_LIB_DEPENDS= libnettle.so:security/nettle
-
-# jack
-gst_jack_LIB_DEPENDS= libjack.so:audio/jack
-
-# jpeg
-gst_jpeg_USES= jpeg
-
-# kate
-gst_kate_LIB_DEPENDS= libkate.so:multimedia/libkate
-
-# kms
-gst_kms_LIB_DEPENDS= libkms.so:graphics/libdrm
-gst_kms_GST_PLUGIN_DIR= sys/kms
-
-# ladspa
-gst_ladspa_BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:audio/ladspa
-
-# lame
-gst_lame_LIB_DEPENDS= libmp3lame.so:audio/lame
-
-# libcaca
-gst_libcaca_LIB_DEPENDS= libcaca.so:graphics/libcaca
-gst_libcaca_PLIST_FILES= ${GST_LIB_DIR}/libgstcacasink.so
-
-# libde265
-gst_libde265_LIB_DEPENDS= libde265.so:multimedia/libde265
-gst_libde265_PLIST_FILES= ${GST_LIB_DIR}/libgstde265.so
-
-# libmms
-gst_libmms_LIB_DEPENDS= libmms.so:net/libmms
-gst_libmms_PLIST_FILES= ${GST_LIB_DIR}/libgstmms.so
-
-# librfb
-gst_librfb_USES= xorg
-gst_librfb_USE_XORG= x11
-
-# liblv2
-gst_lv2_USES= pkgconfig
-gst_lv2_BUILD_DEPENDS= lv2>=1.14.0:audio/lv2
-gst_lv2_LIB_DEPENDS= libsord-0.so:devel/sord \
- libserd-0.so:devel/serd \
- libsratom-0.so:audio/sratom \
- liblilv-0.so:audio/lilv
-
-# png
-gst_libpng_LIB_DEPENDS= libpng.so:graphics/png
-gst_libpng_PLIST_FILES= ${GST_LIB_DIR}/libgstpng.so
-
-# libvisual
-gst_libvisual_LIB_DEPENDS= libvisual-0.4.so:graphics/libvisual04
-
-# modplug
-gst_modplug_LIB_DEPENDS= libmodplug.so:audio/libmodplug
-
-# mpeg2enc
-gst_mpeg2enc_LIB_DEPENDS= libmjpegutils.so:multimedia/mjpegtools
-
-# mpeg2dec
-gst_mpeg2dec_LIB_DEPENDS= libmpeg2.so:multimedia/libmpeg2
-
-# mplex
-gst_mplex_LIB_DEPENDS= libmplex2.so:multimedia/mjpegtools
-
-# mpg123
-gst_mpg123_LIB_DEPENDS= libmpg123.so:audio/mpg123
-
-# msdk
-gst_msdk_LIB_DEPENDS= libgudev-1.0.so:devel/libgudev \
- libmfx.so:multimedia/intel-media-sdk \
- libva-drm.so:multimedia/libva
-gst_msdk_GST_PLUGIN_DIR= sys/msdk
-
-# musepack
-gst_musepack_LIB_DEPENDS=libmpcdec.so:audio/musepack
-
-# neon
-gst_neon_LIB_DEPENDS+= libneon.so:www/neon
-gst_neon_PLIST_FILES= ${GST_LIB_DIR}/libgstneonhttpsrc.so
-
-# ogg
-gst_ogg_LIB_DEPENDS= libogg.so:audio/libogg
-
-# opencv
-gst_opencv_LIB_DEPENDS= libopencv_highgui.so:graphics/opencv
-gst_opencv_GST_PLUGIN_DIR= gst-libs/gst/opencv ext/opencv
-gst_opencv_PLIST_FILES= #
-gst_opencv_USES= compiler:c++11-lib
-
-# openexr
-gst_openexr_LIB_DEPENDS= libOpenEXR.so:graphics/openexr
-
-# openjpeg
-gst_openjpeg_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
-
-# openh264
-gst_openh264_LIB_DEPENDS= libopenh264.so:multimedia/openh264
-
-# openmpt
-gst_openmpt_LIB_DEPENDS= libopenmpt.so:audio/libopenmpt
-
-# opus
-gst_opus_LIB_DEPENDS= libopus.so:audio/opus
-
-# pango
-gst_pango_USE_GNOME= cairo pango
-
-# pulse
-gst_pulse_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-gst_pulse_PLIST_FILES= ${GST_LIB_DIR}/libgstpulseaudio.so
-
-# qt
-gst_qt_USES= compiler:c++11-lang qt:5
-gst_qt_USE_QT= core gui declarative buildtools_build network x11extras
-gst_qt_USE_GSTREAMER= gl
-gst_qt_PLIST_FILES= ${GST_LIB_DIR}/libgstqmlgl.so
-
-# resindvd
-gst_resindvd_BUILD_DEPENDS= libdvdnav>=4.1.2:multimedia/libdvdnav
-gst_resindvd_LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
-gst_resindvd_RUN_DEPENDS= libdvdnav>=4.1.2:multimedia/libdvdnav
-
-# rtmp
-gst_rtmp_LIB_DEPENDS= librtmp.so:multimedia/librtmp
-
-# rsvg
-gst_rsvg_USE_GNOME= cairo librsvg2
-
-# shout2
-gst_shout2_LIB_DEPENDS= libshout.so:audio/libshout
-
-# sidplay
-gst_sidplay_LIB_DEPENDS= libsidplay.so:audio/libsidplay
-gst_sidplay_PLIST_FILES= ${GST_LIB_DIR}/libgstsid.so
-
-# smoothstreaming
-gst_smoothstreaming_USE_GNOME= libxml2
-
-# sndfile
-gst_sndfile_LIB_DEPENDS= libsndfile.so:audio/libsndfile
-
-# soundtouch
-gst_soundtouch_LIB_DEPENDS= libSoundTouch.so:audio/soundtouch
-
-# souphttpsrc
-gst_soup_LIB_DEPENDS= libsoup-2.4.so:devel/libsoup
-
-# spandsp
-gst_spandsp_LIB_DEPENDS= libspandsp.so:comms/spandsp
-
-# speex
-gst_speex_LIB_DEPENDS= libspeex.so:audio/speex
-
-# srtp
-gst_srtp_LIB_DEPENDS= libsrtp2.so:net/libsrtp2
-
-# taglib
-gst_taglib_LIB_DEPENDS= libtag.so:audio/taglib
-
-# theora
-gst_theora_LIB_DEPENDS= libtheora.so:multimedia/libtheora \
- libogg.so:audio/libogg
-
-# ttml
-gst_ttml_USE_GNOME= cairo libxml2 pango
-gst_ttml_PLIST_FILES= ${GST_LIB_DIR}/libgstttmlsubs.so
-
-# twolame
-gst_twolame_LIB_DEPENDS= libtwolame.so:audio/twolame
-
-# gst_v4l2
-gst_gst_v4l2_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
-gst_gst_v4l2_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
-gst_gst_v4l2_RUN_DEPENDS= webcamd:multimedia/webcamd
-gst_gst_v4l2_PLIST_FILES= ${GST_LIB_DIR}/libgstvideo4linux2.so
-gst_gst_v4l2_GST_PLUGIN_DIR= sys/v4l2
-
-# vorbis
-gst_vorbis_USE_GSTREAMER= ogg
-gst_vorbis_LIB_DEPENDS= libvorbis.so:audio/libvorbis
-
-# vpx
-gst_vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx
-gst_vpx_PLIST_FILES= ${GST_LIB_DIR}/libgstvpx.so \
- share/gstreamer-${VERSION}/presets/GstVP8Enc.prs
-
-# vdpau
-gst_vdpau_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
-gst_vdpau_GST_PLUGIN_DIR= sys/vdpau
-
-# vulkan
-gst_vulkan_USE_GSTREAMER= gl
-gst_vulkan_BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
- ${LOCALBASE}/include/libdrm/drm_fourcc.h:graphics/libdrm \
- ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers \
- wayland-protocols>=0:graphics/wayland-protocols
-gst_vulkan_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader \
- libwayland-client.so:graphics/wayland
-gst_vulkan_CONFIGURE_ARGS= --enable-wayland
-
-# webp
-gst_webp_LIB_DEPENDS= libwebp.so:graphics/webp
-
-# webrtcdsp
-gst_webrtcdsp_LIB_DEPENDS= libwebrtc_audio_processing.so:audio/webrtc-audio-processing0
-
-# X ximage and xvimage sinks aka output
-.if ${DIST} == base
-gst_x_USES= xorg
-gst_x_USE_XORG= x11 xv xext
-gst_x_CONFIGURE_ARGS= --enable-xvideo --enable-xshm
-gst_x_GST_PLUGIN_DIR= sys/ximage sys/xvimage
-gst_x_PLIST_FILES= ${GST_LIB_DIR}/libgstximagesink.so \
- ${GST_LIB_DIR}/libgstxvimagesink.so
-.endif
-
-.if ${DIST} == good
-# Ximagesrc
-gst_x_USES= xorg
-gst_x_USE_XORG= x11 xfixes xdamage xext
-gst_x_CONFIGURE_ARGS= --enable-x
-gst_x_GST_PLUGIN_DIR= sys/ximage
-gst_x_PLIST_FILES= ${GST_LIB_DIR}/libgstximagesrc.so
-.endif
-
-# x264
-gst_x264_LIB_DEPENDS= libx264.so:multimedia/libx264
-gst_x264_PLIST_FILES= ${GST_LIB_DIR}/libgstx264.so \
- share/gstreamer-${VERSION}/presets/GstX264Enc.prs
-
-# x265
-gst_x265_LIB_DEPENDS= libx265.so:multimedia/x265
-
-# xvid
-gst_xvid_LIB_DEPENDS= libxvidcore.so:multimedia/xvid
-
-# wavpack
-gst_wavpack_LIB_DEPENDS= libwavpack.so:audio/wavpack
-
-# zbar
-gst_zbar_LIB_DEPENDS= libzbar.so:graphics/zbar
+USE_GSTREAMER+= ${DIST:base=}
.endif # NO_GSTREAMER_COMMON
-.if !defined(NO_GSTREAMER_COMMON)
-gst_${GST_PLUGIN}_BUILD_DEPENDS?=
-gst_${GST_PLUGIN}_LIB_DEPENDS?=
-gst_${GST_PLUGIN}_RUN_DEPENDS?=
-gst_${GST_PLUGIN}_USES?=
-gst_${GST_PLUGIN}_USE_QT?=
-gst_${GST_PLUGIN}_USE_XORG?=
-gst_${GST_PLUGIN}_PLIST_FILES?= \
- ${GST_LIB_DIR}/libgst${GST_PLUGIN}${GST_PLIST_SUFFIX}.so
-gst_${GST_PLUGIN}_EXTRA_LIBS?=
-gst_${GST_PLUGIN}_PREBUILD_DIR?=
-gst_${GST_PLUGIN}_GST_PLUGIN_DIR?= ext/${GST_PLUGIN}
-gst_${GST_PLUGIN}_POSTBUILD_DIR?=
-gst_${GST_PLUGIN}_USE_XORG?=
-gst_${GST_PLUGIN}_USE_GNOME?=
-gst_${GST_PLUGIN}_CONFIGURE_ENV?=
-gst_${GST_PLUGIN}_USE_GL?=
-gst_${GST_PLUGIN}_GLIB_SCHEMAS?=
-gst_${GST_PLUGIN}_CONFIGURE_ARGS?=
-gst_${GST_PLUGIN}_USE_SDL?=
-gst_${GST_PLUGIN}_USE_GSTREAMER?=
-
-BUILD_DEPENDS+= ${gst_${GST_PLUGIN}_BUILD_DEPENDS}
-LIB_DEPENDS+= ${gst_${GST_PLUGIN}_LIB_DEPENDS}
-RUN_DEPENDS+= ${gst_${GST_PLUGIN}_RUN_DEPENDS}
-USES+= ${gst_${GST_PLUGIN}_USES}
-PLIST_FILES= ${gst_${GST_PLUGIN}_PLIST_FILES}
-EXTRA_LIBS+= ${gst_${GST_PLUGIN}_EXTRA_LIBS}
-.if ${gst_${GST_PLUGIN}_USE_XORG}!=""
-USE_XORG+= ${gst_${GST_PLUGIN}_USE_XORG}
-.endif
-.if ${gst_${GST_PLUGIN}_USE_GNOME}!=""
-USE_GNOME+= ${gst_${GST_PLUGIN}_USE_GNOME}
-.endif
-.if ${gst_${GST_PLUGIN}_USE_QT}!=""
-USE_QT+= ${gst_${GST_PLUGIN}_USE_QT}
-.endif
-CONFIGURE_ENV+= ${gst_${GST_PLUGIN}_CONFIGURE_ENV}
-.if ${gst_${GST_PLUGIN}_USE_GL}!=""
-USE_GL+= ${gst_${GST_PLUGIN}_USE_GL}
-.endif
-
-.if ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}!=""
-GLIB_SCHEMAS= ${gst_${GST_PLUGIN}_GLIB_SCHEMAS}
-.endif
-
-CONFIGURE_ARGS+= ${gst_${GST_PLUGIN}_CONFIGURE_ARGS}
-
-.if ${gst_${GST_PLUGIN}_USE_SDL}!=""
-USE_SDL= ${gst_${GST_PLUGIN}_USE_SDL}
-.endif
-
-USE_GSTREAMER+= ${gst_${GST_PLUGIN}_USE_GSTREAMER} ${DIST:base=}
-GST_PREBUILD_DIR= ${gst_${GST_PLUGIN}_GST_PREBUILD_DIR}
-GST_PLUGIN_DIR= ${gst_${GST_PLUGIN}_GST_PLUGIN_DIR}
-GST_POSTBUILD_DIR= ${gst_${GST_PLUGIN}_GST_POSTBUILD_DIR}
-
-.if !target(do-build)
-do-build:
-.for dir in ${GST_PREBUILD_DIR} ${GST_PLUGIN_DIR} ${GST_POSTBUILD_DIR}
- @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
- ${MAKEFILE} ${MAKE_ARGS} ${ALL_TARGET}
-.endfor
-.endif
-
-.if !target(do-install)
-do-install:
-.for dir in ${GST_PLUGIN_DIR}
- @cd ${WRKSRC}/${dir}; ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} \
- ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}
-.endfor
-.endif
-.endif
diff --git a/multimedia/gstreamer1-plugins/distinfo b/multimedia/gstreamer1-plugins/distinfo
index ab0d6d3e0536..54593ded3c4a 100644
--- a/multimedia/gstreamer1-plugins/distinfo
+++ b/multimedia/gstreamer1-plugins/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1575818122
-SHA256 (gst-plugins-base-1.16.2.tar.xz) = b13e73e2fe74a4166552f9577c3dcb24bed077021b9c7fa600d910ec6987816a
-SIZE (gst-plugins-base-1.16.2.tar.xz) = 3939868
-SHA256 (gst-plugins-bad-1.16.2.tar.xz) = f1cb7aa2389569a5343661aae473f0a940a90b872001824bc47fa8072a041e74
-SIZE (gst-plugins-bad-1.16.2.tar.xz) = 4887812
-SHA256 (gst-plugins-ugly-1.16.2.tar.xz) = 5500415b865e8b62775d4742cbb9f37146a50caecfc0e7a6fc0160d3c560fbca
-SIZE (gst-plugins-ugly-1.16.2.tar.xz) = 893964
-SHA256 (gst-plugins-good-1.16.2.tar.xz) = 40bb3bafda25c0b739c8fc36e48380fccf61c4d3f83747e97ac3f9b0171b1319
-SIZE (gst-plugins-good-1.16.2.tar.xz) = 3897172
+TIMESTAMP = 1709494555
+SHA256 (gst-plugins-base-1.22.10.tar.xz) = 843a3a2da28e1ee6aeea56dd2be9bffcc3b4bbcd0f974eba4abfc3aa31f0399c
+SIZE (gst-plugins-base-1.22.10.tar.xz) = 2371240
+SHA256 (gst-plugins-bad-1.22.10.tar.xz) = dabcd60c762165bb043eba753d599212514c94684e4db9a2e25484cb6508ebbf
+SIZE (gst-plugins-bad-1.22.10.tar.xz) = 5549660
+SHA256 (gst-plugins-ugly-1.22.10.tar.xz) = cc80a81a22c0b3b31ab7f1b8bf18dda23c72d2791b86cc6264923a68336329ea
+SIZE (gst-plugins-ugly-1.22.10.tar.xz) = 255832
+SHA256 (gst-plugins-good-1.22.10.tar.xz) = f748feae922cad62f20102a84ade8f42b78e1e44a34866aa3ea766f9172e1c7f
+SIZE (gst-plugins-good-1.22.10.tar.xz) = 2840828
diff --git a/multimedia/gstreamer1-plugins/files/patch-Makefile.in b/multimedia/gstreamer1-plugins/files/patch-Makefile.in
deleted file mode 100644
index b38631683480..000000000000
--- a/multimedia/gstreamer1-plugins/files/patch-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig 2013-03-10 14:54:07.000000000 +0000
-+++ Makefile.in 2013-03-10 14:55:01.000000000 +0000
-@@ -483,8 +483,6 @@
- gst-libs \
- gst sys $(SUBDIRS_EXT) \
- tools \
-- tests \
-- docs \
- po \
- common \
- m4
diff --git a/multimedia/gstreamer1-plugins/files/patch-configure b/multimedia/gstreamer1-plugins/files/patch-configure
deleted file mode 100644
index 7250970c26b6..000000000000
--- a/multimedia/gstreamer1-plugins/files/patch-configure
+++ /dev/null
@@ -1,109 +0,0 @@
---- configure.orig 2019-03-02 18:59:35.242374000 +0100
-+++ configure 2019-03-02 19:00:32.651461000 +0100
-@@ -33987,54 +33987,9 @@
- _ACEOF
-
- fi
-- if test "x$FOUND_CDPARANOIA" = "xyes";
-- then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for paranoia_cachemodel_size in -lcdda_paranoia" >&5
--$as_echo_n "checking for paranoia_cachemodel_size in -lcdda_paranoia... " >&6; }
--if ${ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lcdda_paranoia -lcdda_interface $LIBS"
--cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
-
--/* Override any GCC internal prototype to avoid an error.
-- Use char because int might match the return type of a GCC
-- builtin and then its argument prototype would still apply. */
--#ifdef __cplusplus
--extern "C"
--#endif
--char paranoia_cachemodel_size ();
--int
--main ()
--{
--return paranoia_cachemodel_size ();
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
-- ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size=yes
--else
-- ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size=no
--fi
--rm -f core conftest.err conftest.$ac_objext \
-- conftest$ac_exeext conftest.$ac_ext
--LIBS=$ac_check_lib_save_LIBS
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size" >&5
--$as_echo "$ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size" >&6; }
--if test "x$ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size" = xyes; then :
-- :
--else
-- HAVE_CDPARANOIA=no
--fi
-
-- fi
-
--
--
- elif test $pkg_failed = untried; then
-
-
-@@ -34176,51 +34131,6 @@
- cat >>confdefs.h <<_ACEOF
- #define CDPARANOIA_HEADERS_IN_DIR /**/
- _ACEOF
--
-- fi
-- if test "x$FOUND_CDPARANOIA" = "xyes";
-- then
-- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for paranoia_cachemodel_size in -lcdda_paranoia" >&5
--$as_echo_n "checking for paranoia_cachemodel_size in -lcdda_paranoia... " >&6; }
--if ${ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size+:} false; then :
-- $as_echo_n "(cached) " >&6
--else
-- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lcdda_paranoia -lcdda_interface $LIBS"
--cat confdefs.h - <<_ACEOF >conftest.$ac_ext
--/* end confdefs.h. */
--
--/* Override any GCC internal prototype to avoid an error.
-- Use char because int might match the return type of a GCC
-- builtin and then its argument prototype would still apply. */
--#ifdef __cplusplus
--extern "C"
--#endif
--char paranoia_cachemodel_size ();
--int
--main ()
--{
--return paranoia_cachemodel_size ();
-- ;
-- return 0;
--}
--_ACEOF
--if ac_fn_c_try_link "$LINENO"; then :
-- ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size=yes
--else
-- ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size=no
--fi
--rm -f core conftest.err conftest.$ac_objext \
-- conftest$ac_exeext conftest.$ac_ext
--LIBS=$ac_check_lib_save_LIBS
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size" >&5
--$as_echo "$ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size" >&6; }
--if test "x$ac_cv_lib_cdda_paranoia_paranoia_cachemodel_size" = xyes; then :
-- :
--else
-- HAVE_CDPARANOIA=no
--fi
-
- fi
-
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build
new file mode 100644
index 000000000000..e350413856b0
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_cdparanoia_meson.build
@@ -0,0 +1,11 @@
+--- ext/cdparanoia/meson.build.orig 2023-01-23 19:29:34 UTC
++++ ext/cdparanoia/meson.build
+@@ -42,7 +42,7 @@ if cdparanoia_found
+ ['gstcdparanoiasrc.c'],
+ include_directories: [configinc, libsinc],
+ c_args : gst_plugins_base_args + extra_args,
+- dependencies : cdparanoia_deps + [audio_dep, gst_dep, gst_base_dep],
++ dependencies : cdparanoia_deps + [dependency('gstreamer-audio-1.0'), gst_dep, gst_base_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_gl_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_gl_meson.build
new file mode 100644
index 000000000000..92e0bdc7bd5b
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_gl_meson.build
@@ -0,0 +1,22 @@
+--- ext/gl/meson.build.orig 2022-06-15 22:36:22 UTC
++++ ext/gl/meson.build
+@@ -116,10 +116,6 @@ if bcm_host_dep.found()
+ optional_deps += bcm_host_dep
+ endif
+
+-if egl_dep.found() and cc.has_header('libdrm/drm_fourcc.h')
+- optional_deps += allocators_dep
+-endif
+-
+ if ['darwin', 'ios'].contains(host_system)
+ if not have_objc
+ error('No ObjC compiler found')
+@@ -146,7 +142,7 @@ gstopengl = library('gstopengl',
+ objc_args : gst_plugins_base_args + gl_objc_args + extra_c_args,
+ link_args : noseh_link_args,
+ include_directories : [configinc],
+- dependencies : [gstgl_dep, video_dep,
++ dependencies : [gstgl_dep, dependency('gstreamer-video-1.0'),
+ gst_base_dep, gst_controller_dep, libm] + optional_deps,
+ install : true,
+ install_dir : plugins_install_dir)
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build
new file mode 100644
index 000000000000..07205f06660b
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_libvisual_meson.build
@@ -0,0 +1,12 @@
+--- ext/libvisual/meson.build.orig 2023-01-23 19:29:34 UTC
++++ ext/libvisual/meson.build
+@@ -13,7 +13,8 @@ if libvisual_dep.found()
+ libvisual_sources,
+ c_args : gst_plugins_base_args,
+ include_directories: [configinc, libsinc],
+- dependencies : [libvisual_dep, audio_dep, video_dep, pbutils_dep, gst_dep, gst_base_dep],
++ dependencies : [libvisual_dep, dependency('gstreamer-audio-1.0'),
++ dependency('gstreamer-video-1.0'), dependency('gstreamer-pbutils-1.0'), gst_dep, gst_base_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build
new file mode 100644
index 000000000000..7c80df1ffb81
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_ogg_meson.build
@@ -0,0 +1,13 @@
+--- ext/ogg/meson.build.orig 2023-01-23 19:29:34 UTC
++++ ext/ogg/meson.build
+@@ -19,7 +19,9 @@ if ogg_dep.found()
+ c_args : gst_plugins_base_args,
+ link_args : noseh_link_args,
+ include_directories: [configinc, libsinc],
+- dependencies : [ogg_dep, audio_dep, pbutils_dep, tag_dep, riff_dep, gst_dep, gst_base_dep],
++ dependencies : [ogg_dep, dependency('gstreamer-audio-1.0'),
++ dependency('gstreamer-pbutils-1.0'), dependency('gstreamer-tag-1.0'),
++ dependency('gstreamer-riff-1.0'), gst_dep, gst_base_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build
new file mode 100644
index 000000000000..a5dccb9123ab
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_opus_meson.build
@@ -0,0 +1,19 @@
+--- ext/opus/meson.build.orig 2022-09-06 22:11:13 UTC
++++ ext/opus/meson.build
+@@ -11,12 +11,15 @@ opus_dep = dependency('opus', version: '>= 0.9.4', req
+ fallback: ['opus', 'opus_dep'], default_options: ['docs=disabled'])
+
+ if opus_dep.found()
++ pbutils_dep2 = dependency('gstreamer-pbutils-@0@'.format(api_version))
++ audio_dep2 = dependency('gstreamer-audio-@0@'.format(api_version))
++ tag_dep2 = dependency('gstreamer-tag-@0@'.format(api_version))
+ gstopus = library('gstopus',
+ opus_sources,
+ c_args : gst_plugins_base_args,
+ link_args : noseh_link_args,
+ include_directories: [configinc, libsinc],
+- dependencies : [pbutils_dep, tag_dep, audio_dep, gst_dep, gst_base_dep, opus_dep, libm],
++ dependencies : [pbutils_dep2, tag_dep2, audio_dep2, gst_dep, gst_base_dep, opus_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build
new file mode 100644
index 000000000000..cd929647cef2
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_pango_meson.build
@@ -0,0 +1,13 @@
+--- ext/pango/meson.build.orig 2022-09-16 21:45:01 UTC
++++ ext/pango/meson.build
+@@ -18,7 +18,9 @@ if pango_dep.found()
+ c_args : gst_plugins_base_args,
+ link_args : noseh_link_args,
+ include_directories: [configinc, libsinc],
+- dependencies : [pango_dep, video_dep, gst_dep, gst_base_dep, libm],
++ dependencies : [pango_dep,
++ dependency('gstreamer-video-1.0', required : true),
++ gst_dep, gst_base_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build
new file mode 100644
index 000000000000..cbbdb22e57d9
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_theora_meson.build
@@ -0,0 +1,12 @@
+--- ext/theora/meson.build.orig 2022-09-13 20:18:31 UTC
++++ ext/theora/meson.build
+@@ -21,7 +21,8 @@ if theoradec_dep.found() or theoraenc_dep.found()
+ c_args : gst_plugins_base_args,
+ link_args : noseh_link_args,
+ include_directories: [configinc, libsinc],
+- dependencies : theora_deps + [video_dep, tag_dep, gst_dep, gst_base_dep],
++ dependencies : theora_deps + [dependency('gstreamer-video-1.0'),
++ dependency('gstreamer-tag-1.0'), gst_base_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build b/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build
new file mode 100644
index 000000000000..0df8c2ea3ccd
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-ext_vorbis_meson.build
@@ -0,0 +1,12 @@
+--- ext/vorbis/meson.build.orig 2022-09-07 21:09:11 UTC
++++ ext/vorbis/meson.build
+@@ -31,7 +31,8 @@ if vorbis_dep.found()
+ c_args : gst_plugins_base_args,
+ link_args : noseh_link_args,
+ include_directories: [configinc, libsinc],
+- dependencies : vorbis_deps + [audio_dep, tag_dep, gst_dep, gst_base_dep],
++ dependencies : vorbis_deps + [dependency('gstreamer-audio-1.0'),
++ dependency('gstreamer-tag-1.0'), gst_dep, gst_base_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_allocators_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_allocators_meson.build
new file mode 100644
index 000000000000..83363c686d6e
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_allocators_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/allocators/meson.build.orig 2022-09-06 20:56:00 UTC
++++ gst-libs/gst/allocators/meson.build
+@@ -1,3 +1,4 @@
++if get_option('allocators').enabled()
+ gst_allocators_headers = files([
+ 'allocators.h',
+ 'allocators-prelude.h',
+@@ -58,3 +59,4 @@ allocators_dep = declare_dependency(link_with: gstallo
+ sources : allocators_gen_sources)
+
+ meson.override_dependency('gstreamer-allocators-1.0', allocators_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_app_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_app_meson.build
new file mode 100644
index 000000000000..16265f7ae6a4
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_app_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/app/meson.build.orig 2022-09-06 20:56:57 UTC
++++ gst-libs/gst/app/meson.build
+@@ -1,3 +1,4 @@
++if get_option('app').enabled()
+ app_sources = files(['gstappsrc.c', 'gstappsink.c'])
+
+ app_mkenum_headers = files([
+@@ -68,3 +69,4 @@ app_dep = declare_dependency(link_with: gstapp,
+ sources : app_gen_sources)
+
+ meson.override_dependency(pkg_name, app_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_audio_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_audio_meson.build
new file mode 100644
index 000000000000..8f0ce22916af
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_audio_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/audio/meson.build.orig 2022-09-06 20:57:46 UTC
++++ gst-libs/gst/audio/meson.build
+@@ -1,3 +1,4 @@
++if get_option('audio').enabled()
+ audio_src = files([
+ 'audio.c',
+ 'audio-buffer.c',
+@@ -189,3 +190,4 @@ audio_dep = declare_dependency(link_with : gstaudio,
+ sources : audio_gen_sources)
+
+ meson.override_dependency(pkg_name, audio_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_fft_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_fft_meson.build
new file mode 100644
index 000000000000..47bce4ccd049
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_fft_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/fft/meson.build.orig 2022-09-06 20:58:23 UTC
++++ gst-libs/gst/fft/meson.build
+@@ -1,3 +1,4 @@
++if get_option('fft').enabled()
+ fft_sources = [
+ 'gstfft.c',
+ 'gstffts16.c',
+@@ -50,3 +51,4 @@ fft_dep = declare_dependency(link_with: gstfft,
+ dependencies : [gst_dep])
+
+ meson.override_dependency(pkg_name, fft_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build
new file mode 100644
index 000000000000..4b0563f6ae23
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_gl_meson.build
@@ -0,0 +1,77 @@
+--- gst-libs/gst/gl/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/gl/meson.build
+@@ -555,11 +555,6 @@ if need_platform_egl != 'no'
+ gl_platform_deps += egl_dep
+ glconf.set('GST_GL_HAVE_PLATFORM_EGL', 1)
+
+- if cc.has_header('libdrm/drm_fourcc.h')
+- gl_misc_deps += allocators_dep
+- glconf.set('GST_GL_HAVE_DMABUF', 1)
+- endif
+-
+ egl_includes = '''
+ #include <EGL/egl.h>
+ #include <EGL/eglext.h>
+@@ -1060,7 +1055,7 @@ if build_gstgl
+ soversion : soversion,
+ darwin_versions : osxversion,
+ install : true,
+- dependencies : [gst_base_dep, video_dep, allocators_dep, gmodule_dep,
++ dependencies : [gst_base_dep, dependency('gstreamer-video-1.0'), dependency('gstreamer-allocators-1.0'), gmodule_dep,
+ gl_lib_deps, gl_platform_deps, gl_winsys_deps, gl_misc_deps],
+ # don't confuse EGL/egl.h with gst-libs/gl/egl/egl.h on case-insensitive file systems
+ implicit_include_directories : false)
+@@ -1074,7 +1069,7 @@ if build_gstgl
+ library_def = {'lib': gstgl}
+ pkg_name = 'gstreamer-gl-1.0'
+ pkgconfig.generate(gstgl,
+- libraries : [gstvideo, gst_base_dep, gst_dep],
++ libraries : [library('gstvideo-@0@'.format(api_version)), gst_base_dep, gst_dep],
+ variables : pkgconfig_variables + pkgconfig_gl_variables,
+ uninstalled_variables : pkgconfig_gl_variables,
+ subdirs : pkgconfig_subdirs,
+@@ -1106,7 +1101,7 @@ if build_gstgl
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/gl.h'],
+- 'dependencies' : [video_dep, gst_dep, gst_base_dep],
++ 'dependencies' : [dependency('gstreamer-video-1.0'), gst_dep, gst_base_dep],
+ }
+ library_def += {'gir': [gir]}
+ if not static_build
+@@ -1118,7 +1113,7 @@ if build_gstgl
+ gstgl_dep = declare_dependency(link_with : gstgl,
+ include_directories : [libsinc, compat_includes],
+ sources: gen_sources,
+- dependencies : [video_dep, gst_base_dep, gl_winsys_deps],
++ dependencies : [dependency('gstreamer-video-1.0'), gst_base_dep, gl_winsys_deps],
+ variables: pkgconfig_gl_variables)
+ gstglproto_dep = declare_dependency(
+ dependencies : [gstgl_dep] + gl_lib_deps,
+@@ -1149,7 +1144,7 @@ if build_gstgl
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/x11/x11.h'],
+- 'dependencies' : [video_dep, gst_dep, gst_base_dep]
++ 'dependencies' : [dependency('gstreamer-video-1.0'), gst_dep, gst_base_dep]
+ }
+ gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
+ gst_libraries += [[pkg_name, {'gir': gir_dict}]]
+@@ -1185,7 +1180,7 @@ if build_gstgl
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/wayland/wayland.h'],
+- 'dependencies' : [video_dep, gst_dep, gst_base_dep]
++ 'dependencies' : [dependency('gstreamer-video-1.0'), gst_dep, gst_base_dep]
+ }
+
+ gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
+@@ -1221,7 +1216,7 @@ if build_gstgl
+ 'includes' : ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0'],
+ 'install' : true,
+ 'extra_args' : gir_init_section + ['--c-include=gst/gl/egl/egl.h'],
+- 'dependencies' : [video_dep, gst_dep, gst_base_dep]
++ 'dependencies' : [dependency('gstreamer-video-1.0'), gst_dep, gst_base_dep]
+ }
+ gir_dict = gir + {'includes': gir['includes'] + ['GstGL-1.0']}
+ gst_libraries += [[pkg_name, {'gir': gir_dict}]]
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_pbutils_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_pbutils_meson.build
new file mode 100644
index 000000000000..b44119ba0013
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_pbutils_meson.build
@@ -0,0 +1,15 @@
+--- gst-libs/gst/pbutils/meson.build.orig 2022-09-06 20:58:54 UTC
++++ gst-libs/gst/pbutils/meson.build
+@@ -1,3 +1,4 @@
++if get_option('pbutils').enabled()
+ pbutils_sources = files([
+ 'gstpluginsbaseversion.c',
+ 'pbutils.c',
+@@ -98,4 +99,5 @@ pbutils_dep = declare_dependency(link_with : pbutils,
+ dependencies : gstpbutils_deps,
+ sources : pbutils_gen_sources)
+
+-meson.override_dependency(pkg_name, pbutils_dep)
+\ No newline at end of file
++meson.override_dependency(pkg_name, pbutils_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_riff_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_riff_meson.build
new file mode 100644
index 000000000000..3f3137388e14
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_riff_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/riff/meson.build.orig 2022-09-06 21:07:15 UTC
++++ gst-libs/gst/riff/meson.build
+@@ -1,3 +1,4 @@
++if get_option('riff').enabled()
+ riff_sources = [
+ 'riff.c',
+ 'riff-media.c',
+@@ -62,3 +63,4 @@ riff_dep = declare_dependency(link_with: gstriff,
+ sources : riff_gen_sources )
+
+ meson.override_dependency(pkg_name, riff_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtp_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtp_meson.build
new file mode 100644
index 000000000000..4c7ffee35a97
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtp_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/rtp/meson.build.orig 2022-09-06 21:07:44 UTC
++++ gst-libs/gst/rtp/meson.build
+@@ -1,3 +1,4 @@
++if get_option('rtp').enabled()
+ rtp_sources = files([
+ 'gstrtpbuffer.c',
+ 'gstrtcpbuffer.c',
+@@ -85,3 +86,4 @@ rtp_dep = declare_dependency(link_with : gst_rtp,
+ sources : rtp_gen_sources)
+
+ meson.override_dependency(pkg_name, rtp_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtsp_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtsp_meson.build
new file mode 100644
index 000000000000..87113a89c97d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_rtsp_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/rtsp/meson.build.orig 2022-09-06 21:08:11 UTC
++++ gst-libs/gst/rtsp/meson.build
+@@ -1,3 +1,4 @@
++if get_option('rtsp').enabled()
+ rtsp_sources = files([
+ 'gstrtsptransport.c',
+ 'gstrtspurl.c',
+@@ -90,3 +91,4 @@ rtsp_dep = declare_dependency(link_with : gst_rtsp,
+ sources : rtsp_gen_sources)
+
+ meson.override_dependency(pkg_name, rtsp_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_sdp_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_sdp_meson.build
new file mode 100644
index 000000000000..8b452b9c5ce4
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_sdp_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/sdp/meson.build.orig 2022-09-06 21:08:38 UTC
++++ gst-libs/gst/sdp/meson.build
+@@ -1,3 +1,4 @@
++if get_option('sdp').enabled()
+ gst_sdp_headers = files([
+ 'sdp.h',
+ 'sdp-prelude.h',
+@@ -60,3 +61,4 @@ sdp_dep = declare_dependency(link_with: gstsdp,
+ sources: sdp_gen_sources)
+
+ meson.override_dependency(pkg_name, sdp_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_tag_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_tag_meson.build
new file mode 100644
index 000000000000..25ca4ed6c521
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_tag_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/tag/meson.build.orig 2022-09-06 21:09:11 UTC
++++ gst-libs/gst/tag/meson.build
+@@ -1,3 +1,4 @@
++if get_option('tag').enabled()
+ tag_sources = files([
+ 'gstvorbistag.c',
+ 'gstid3tag.c',
+@@ -142,3 +143,4 @@ executable('mklicensestables', 'mklicensestables.c',
+ install : false)
+
+ gst_tag_dir = meson.current_source_dir()
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build
new file mode 100644
index 000000000000..5828602535fe
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-gst-libs_gst_video_meson.build
@@ -0,0 +1,12 @@
+--- gst-libs/gst/video/meson.build.orig 2023-01-23 19:29:34 UTC
++++ gst-libs/gst/video/meson.build
+@@ -1,3 +1,4 @@
++if get_option('video').enabled()
+ video_sources = files([
+ 'colorbalance.c',
+ 'colorbalancechannel.c',
+@@ -183,3 +184,4 @@ meson.override_dependency(pkg_name, video_dep)
+ sources : video_gen_sources)
+
+ meson.override_dependency(pkg_name, video_dep)
++endif
diff --git a/multimedia/gstreamer1-plugins/files/patch-meson.build b/multimedia/gstreamer1-plugins/files/patch-meson.build
new file mode 100644
index 000000000000..3c494fcde987
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-meson.build
@@ -0,0 +1,39 @@
+--- meson.build.orig 2023-01-23 19:29:34 UTC
++++ meson.build
+@@ -17,6 +17,8 @@ gst_version_is_dev = gst_version_minor % 2 == 1 and gs
+ gst_version_is_stable = gst_version_minor.is_even()
+ gst_version_is_dev = gst_version_minor % 2 == 1 and gst_version_micro < 90
+
++build_gstgl = false
++
+ host_system = host_machine.system()
+
+ have_cxx = add_languages('cpp', native: false, required: false)
+@@ -295,8 +297,10 @@ core_conf.set_quoted('DEFAULT_VIDEOSINK', 'autovideosi
+
+ # FIXME: These should be configure options
+ core_conf.set_quoted('DEFAULT_VIDEOSINK', 'autovideosink')
+-core_conf.set_quoted('DEFAULT_AUDIOSINK', 'autoaudiosink')
+
++core_conf.set_quoted('DEFAULT_AUDIOSINK', get_option('defaultaudiosink'))
++core_conf.set_quoted('DEFAULT_AUDIOSRC', get_option('defaultaudiosrc'))
++
+ # Set whether the audioresampling method should be detected at runtime
+ core_conf.set('AUDIORESAMPLE_FORMAT_' + get_option('audioresample_format').to_upper(), true)
+
+@@ -489,6 +493,7 @@ pkgconfig_plugins_base_libs_variables = [
+ 'libraries=' + ' '.join(base_libraries),
+ ]
+
++if get_option('pkgconfig').enabled()
+ pkgconfig.generate(
+ libraries : [gst_dep],
+ variables : pkgconfig_variables + pkgconfig_plugins_base_libs_variables,
+@@ -502,6 +507,7 @@ run_command(meson_pkg_config_file_fixup_script,
+ run_command(meson_pkg_config_file_fixup_script,
+ 'gstreamer-plugins-base-1.0', 'libraries',
+ check: true)
++endif
+
+ if have_orcc
+ update_orc_dist_files = find_program('scripts/update-orc-dist-files.py')
diff --git a/multimedia/gstreamer1-plugins/files/patch-meson__options.txt b/multimedia/gstreamer1-plugins/files/patch-meson__options.txt
new file mode 100644
index 000000000000..c4925580603d
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-meson__options.txt
@@ -0,0 +1,30 @@
+--- meson_options.txt.orig 2022-09-06 20:35:43 UTC
++++ meson_options.txt
+@@ -1,9 +1,27 @@
++option('tag', type : 'feature', value : 'auto', description : 'tag integration library and tag plugin')
++option('pkgconfig', type : 'feature', value : 'auto', description : 'pkgconfig integration library and pkgconfig plugin')
++option('fft', type : 'feature', value : 'auto', description : 'fft integration library and fft plugin')
++option('video', type : 'feature', value : 'auto', description : 'video integration library and video plugin')
++option('audio', type : 'feature', value : 'auto', description : 'audio integration library and audio plugin')
++option('rtp', type : 'feature', value : 'auto', description : 'rtp integration library and rtp plugin')
++option('pbutils', type : 'feature', value : 'auto', description : 'pbutils integration library and pbutils plugin')
++option('sdp', type : 'feature', value : 'auto', description : 'sdp integration library and sdp plugin')
++option('rtsp', type : 'feature', value : 'auto', description : 'rtsp integration library and rtsp plugin')
++option('riff', type : 'feature', value : 'auto', description : 'riff integration library and riff plugin')
++option('ximage', type : 'feature', value : 'auto', description : 'ximage integration library and ximage plugin')
++option('app', type : 'feature', value : 'auto', description : 'app integration library and app plugin')
++option('allocators', type : 'feature', value : 'auto', description : 'allocators integration library and allocators plugin')
++
+ option('audioresample_format', type : 'combo',
+ choices : ['int', 'float', 'auto'], value : 'auto')
+ option('install_plugins_helper', type: 'string', value: '',
+ description: 'Path of distro helper script to call to install missing plugins')
+ option('iso-codes', type : 'feature', value : 'auto',
+ description: 'Use iso-codes in libgsttag (for language names)')
++option('defaultaudiosink', type : 'string', value : 'autoaudiosink',
++ description: 'set default audio sink')
++option('defaultaudiosrc', type : 'string', value : 'autoaudiosrc',
++ description: 'set default audio src')
+
+ # OpenGL integration library options
+ option('gl_api', type : 'array', choices : ['opengl', 'gles2', 'auto'], value : ['auto'],
diff --git a/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build b/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build
new file mode 100644
index 000000000000..b7d690169435
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-sys_ximage_meson.build
@@ -0,0 +1,19 @@
+--- sys/ximage/meson.build.orig 2023-01-23 19:29:34 UTC
++++ sys/ximage/meson.build
+@@ -1,3 +1,4 @@
++if get_option('ximage').enabled()
+ no_warn_args = []
+ # XKeycodeToKeysym is deprecated, but we use it when Xkb is unavailable
+ if cc.has_argument ('-Wno-deprecated-declarations')
+@@ -8,8 +9,9 @@ gstximage = library('gstximagesink',
+ 'ximagesink.c', 'ximage.c', 'ximagepool.c',
+ c_args : gst_plugins_base_args + no_warn_args,
+ include_directories: [configinc, libsinc],
+- dependencies : [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep, xi_dep],
++ dependencies : [dependency('gstreamer-video-1.0'), gst_base_dep, gst_dep, x11_dep, xshm_dep, xi_dep],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
+ plugins += [gstximage]
++endif
+\ No newline at end of file
diff --git a/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build b/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build
new file mode 100644
index 000000000000..394db498d6d7
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-sys_xvimage_meson.build
@@ -0,0 +1,12 @@
+--- sys/xvimage/meson.build.orig 2023-01-23 19:29:34 UTC
++++ sys/xvimage/meson.build
+@@ -19,7 +19,8 @@ if xvideo_dep.found()
+ xvimage_sources,
+ c_args : gst_plugins_base_args + no_warn_args,
+ include_directories: [configinc, libsinc],
+- dependencies : [video_dep, gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, xi_dep, libm],
++ dependencies : [dependency('gstreamer-video-1.0', required : true),
++ gst_base_dep, gst_dep, x11_dep, xshm_dep, xvideo_dep, xi_dep, libm],
+ install : true,
+ install_dir : plugins_install_dir,
+ )
diff --git a/multimedia/gstreamer1-plugins/files/patch-tools_meson.build b/multimedia/gstreamer1-plugins/files/patch-tools_meson.build
new file mode 100644
index 000000000000..6d1c193da58c
--- /dev/null
+++ b/multimedia/gstreamer1-plugins/files/patch-tools_meson.build
@@ -0,0 +1,15 @@
+--- tools/meson.build.orig 2023-01-23 19:29:34 UTC
++++ tools/meson.build
+@@ -1,3 +1,4 @@
++if not get_option('tools').disabled()
+ tool_deps = [pbutils_dep, audio_dep, video_dep, tag_dep, gst_dep, gst_base_dep, gmodule_dep]
+
+ extra_args = []
+@@ -44,7 +45,6 @@ endif
+ },
+ }
+
+-if not get_option('tools').disabled()
+ foreach tool, data: gst_tools
+ exe_name = '@0@-@1@'.format(tool, api_version)
+ executable(exe_name,
diff --git a/multimedia/gstreamer1-plugins/pkg-descr b/multimedia/gstreamer1-plugins/pkg-descr
index 8d23c20c074a..e144f1b92261 100644
--- a/multimedia/gstreamer1-plugins/pkg-descr
+++ b/multimedia/gstreamer1-plugins/pkg-descr
@@ -11,5 +11,3 @@ Some features of these plugins are:
automatically
- Pipelines can be saved to XML and loaded back to working state
- Resource friendly plugins don't waste RAM
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer1-plugins/pkg-plist b/multimedia/gstreamer1-plugins/pkg-plist
index adc1c77c5f39..a4928b0517c2 100644
--- a/multimedia/gstreamer1-plugins/pkg-plist
+++ b/multimedia/gstreamer1-plugins/pkg-plist
@@ -99,6 +99,7 @@ include/gstreamer-%%VERSION%%/gst/video/colorbalance.h
include/gstreamer-%%VERSION%%/gst/video/colorbalancechannel.h
include/gstreamer-%%VERSION%%/gst/video/gstvideoaffinetransformationmeta.h
include/gstreamer-%%VERSION%%/gst/video/gstvideoaggregator.h
+include/gstreamer-%%VERSION%%/gst/video/gstvideocodecalphameta.h
include/gstreamer-%%VERSION%%/gst/video/gstvideodecoder.h
include/gstreamer-%%VERSION%%/gst/video/gstvideoencoder.h
include/gstreamer-%%VERSION%%/gst/video/gstvideofilter.h
@@ -118,26 +119,28 @@ include/gstreamer-%%VERSION%%/gst/video/video-enumtypes.h
include/gstreamer-%%VERSION%%/gst/video/video-event.h
include/gstreamer-%%VERSION%%/gst/video/video-format.h
include/gstreamer-%%VERSION%%/gst/video/video-frame.h
+include/gstreamer-%%VERSION%%/gst/video/video-hdr.h
include/gstreamer-%%VERSION%%/gst/video/video-info.h
include/gstreamer-%%VERSION%%/gst/video/video-multiview.h
include/gstreamer-%%VERSION%%/gst/video/video-overlay-composition.h
include/gstreamer-%%VERSION%%/gst/video/video-prelude.h
include/gstreamer-%%VERSION%%/gst/video/video-resampler.h
include/gstreamer-%%VERSION%%/gst/video/video-scaler.h
+include/gstreamer-%%VERSION%%/gst/video/video-sei.h
include/gstreamer-%%VERSION%%/gst/video/video-tile.h
include/gstreamer-%%VERSION%%/gst/video/video.h
include/gstreamer-%%VERSION%%/gst/video/videodirection.h
include/gstreamer-%%VERSION%%/gst/video/videoorientation.h
include/gstreamer-%%VERSION%%/gst/video/videooverlay.h
-lib/girepository-1.0/GstAllocators-%%VERSION%%.typelib
-lib/girepository-1.0/GstApp-%%VERSION%%.typelib
-lib/girepository-1.0/GstAudio-%%VERSION%%.typelib
-lib/girepository-1.0/GstPbutils-%%VERSION%%.typelib
-lib/girepository-1.0/GstRtp-%%VERSION%%.typelib
-lib/girepository-1.0/GstRtsp-%%VERSION%%.typelib
-lib/girepository-1.0/GstSdp-%%VERSION%%.typelib
-lib/girepository-1.0/GstTag-%%VERSION%%.typelib
-lib/girepository-1.0/GstVideo-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstAllocators-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstApp-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstAudio-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstPbutils-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstRtp-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstRtsp-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstSdp-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstTag-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstVideo-%%VERSION%%.typelib
lib/gstreamer-%%VERSION%%/libgstadder.so
lib/gstreamer-%%VERSION%%/libgstapp.so
lib/gstreamer-%%VERSION%%/libgstaudioconvert.so
@@ -155,9 +158,8 @@ lib/gstreamer-%%VERSION%%/libgstrawparse.so
lib/gstreamer-%%VERSION%%/libgstsubparse.so
lib/gstreamer-%%VERSION%%/libgsttcp.so
lib/gstreamer-%%VERSION%%/libgsttypefindfunctions.so
-lib/gstreamer-%%VERSION%%/libgstvideoconvert.so
+lib/gstreamer-%%VERSION%%/libgstvideoconvertscale.so
lib/gstreamer-%%VERSION%%/libgstvideorate.so
-lib/gstreamer-%%VERSION%%/libgstvideoscale.so
lib/gstreamer-%%VERSION%%/libgstvideotestsrc.so
lib/gstreamer-%%VERSION%%/libgstvolume.so
lib/libgstallocators-%%VERSION%%.so
@@ -205,18 +207,18 @@ libdata/pkgconfig/gstreamer-rtsp-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-sdp-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-tag-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-video-%%VERSION%%.pc
-man/man1/gst-device-monitor-%%VERSION%%.1.gz
-man/man1/gst-discoverer-%%VERSION%%.1.gz
-man/man1/gst-play-%%VERSION%%.1.gz
-share/gir-1.0/GstAllocators-%%VERSION%%.gir
-share/gir-1.0/GstApp-%%VERSION%%.gir
-share/gir-1.0/GstAudio-%%VERSION%%.gir
-share/gir-1.0/GstPbutils-%%VERSION%%.gir
-share/gir-1.0/GstRtp-%%VERSION%%.gir
-share/gir-1.0/GstRtsp-%%VERSION%%.gir
-share/gir-1.0/GstSdp-%%VERSION%%.gir
-share/gir-1.0/GstTag-%%VERSION%%.gir
-share/gir-1.0/GstVideo-%%VERSION%%.gir
+share/man/man1/gst-device-monitor-%%VERSION%%.1.gz
+share/man/man1/gst-discoverer-%%VERSION%%.1.gz
+share/man/man1/gst-play-%%VERSION%%.1.gz
+share/gir-%%VERSION%%/GstAllocators-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstApp-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstAudio-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstPbutils-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstRtp-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstRtsp-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstSdp-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstTag-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstVideo-%%VERSION%%.gir
share/gst-plugins-base/%%VERSION%%/license-translations.dict
share/locale/af/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/az/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
@@ -239,6 +241,7 @@ share/locale/hu/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/id/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/it/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/ja/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
+share/locale/ka/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/lt/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/lv/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
share/locale/nb/LC_MESSAGES/gst-plugins-base-%%VERSION%%.mo
diff --git a/multimedia/gstreamer1-qt/Makefile b/multimedia/gstreamer1-qt/Makefile
index f1898215529c..9306fc77e5a4 100644
--- a/multimedia/gstreamer1-qt/Makefile
+++ b/multimedia/gstreamer1-qt/Makefile
@@ -1,6 +1,6 @@
PORTNAME= gstreamer1
PORTVERSION= 1.2.0
-PORTREVISION= 26
+PORTREVISION= 28
CATEGORIES= multimedia
MASTER_SITES= http://gstreamer.freedesktop.org/src/qt-gstreamer/
PKGNAMESUFFIX= -qt5
@@ -8,6 +8,7 @@ DISTNAME= qt-gstreamer-${PORTVERSION}
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt ${FLAVOR:C/qt//} bindings for GStreamer 1.x multimedia library
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,9 +19,10 @@ LIB_DEPENDS= libboost_thread.so:devel/boost-libs \
CONFLICTS_INSTALL= gstreamer${PKGNAMESUFFIX}
USES= bison cmake compiler:c++11-lang gl gnome gstreamer pathfix pkgconfig qt:5 tar:xz
+USE_CXXSTD= c++11
USE_GL= gl
USE_GNOME= glib20
-USE_QT= buildtools_build qmake_build core declarative gui network opengl \
+USE_QT= buildtools:build qmake:build core declarative gui network opengl \
testlib widgets
USE_LDCONFIG= yes
diff --git a/multimedia/gstreamer1-qt/files/patch-elements_gstqtvideosink_gstqtvideosinkplugin.h b/multimedia/gstreamer1-qt/files/patch-elements_gstqtvideosink_gstqtvideosinkplugin.h
index 28ed5c003094..381d9a01b69c 100644
--- a/multimedia/gstreamer1-qt/files/patch-elements_gstqtvideosink_gstqtvideosinkplugin.h
+++ b/multimedia/gstreamer1-qt/files/patch-elements_gstqtvideosink_gstqtvideosinkplugin.h
@@ -1,10 +1,12 @@
---- elements/gstqtvideosink/gstqtvideosinkplugin.h.orig 2021-08-03 00:05:38 UTC
+--- elements/gstqtvideosink/gstqtvideosinkplugin.h.orig 2014-07-08 18:38:36 UTC
+++ elements/gstqtvideosink/gstqtvideosinkplugin.h
-@@ -28,7 +28,7 @@ GST_DEBUG_CATEGORY_EXTERN(gst_qt_video_sink_debug);
+@@ -27,8 +27,8 @@ GST_DEBUG_CATEGORY_EXTERN(gst_qt_video_sink_debug);
+ #define DEFINE_TYPE_FULL(cpp_type, type_name, parent_type, additional_initializations) \
GType cpp_type::get_type() \
{ \
- static volatile gsize gonce_data = 0; \
+- static volatile gsize gonce_data = 0; \
- if (g_once_init_enter(&gonce_data)) { \
++ static gsize gonce_data = 0; \
+ if (g_once_init_enter((unsigned long *)&gonce_data)) { \
GType type = 0; \
GTypeInfo info; \
diff --git a/multimedia/gstreamer1-qt/files/patch-src_QGst_event.cpp b/multimedia/gstreamer1-qt/files/patch-src_QGst_event.cpp
new file mode 100644
index 000000000000..835c2efdaca2
--- /dev/null
+++ b/multimedia/gstreamer1-qt/files/patch-src_QGst_event.cpp
@@ -0,0 +1,11 @@
+--- src/QGst/event.cpp.orig 2014-07-08 18:38:36 UTC
++++ src/QGst/event.cpp
+@@ -125,7 +125,7 @@ Segment SegmentEvent::segment() const
+ //********************************************************
+ TagEventPtr TagEvent::create(const TagList & taglist)
+ {
+- GstEvent * e = gst_event_new_tag(gst_tag_list_copy(taglist));
++ GstEvent * e = gst_event_new_tag(gst_tag_list_copy(&taglist));
+ return TagEventPtr::wrap(e, false);
+ }
+
diff --git a/multimedia/gstreamer1-qt/files/patch-src_QGst_message.cpp b/multimedia/gstreamer1-qt/files/patch-src_QGst_message.cpp
new file mode 100644
index 000000000000..5e039c0bbc0b
--- /dev/null
+++ b/multimedia/gstreamer1-qt/files/patch-src_QGst_message.cpp
@@ -0,0 +1,11 @@
+--- src/QGst/message.cpp.orig 2014-07-08 18:38:36 UTC
++++ src/QGst/message.cpp
+@@ -157,7 +157,7 @@ QString InfoMessage::debugMessage() const
+
+ TagMessagePtr TagMessage::create(const ObjectPtr & source, const TagList & taglist)
+ {
+- GstMessage *m = gst_message_new_tag(source, gst_tag_list_copy(taglist));
++ GstMessage *m = gst_message_new_tag(source, gst_tag_list_copy(&taglist));
+ return TagMessagePtr::wrap(m, false);
+ }
+
diff --git a/multimedia/gstreamer1-qt/pkg-descr b/multimedia/gstreamer1-qt/pkg-descr
index b9ef136b2756..cdb4e44feaa4 100644
--- a/multimedia/gstreamer1-qt/pkg-descr
+++ b/multimedia/gstreamer1-qt/pkg-descr
@@ -1,5 +1,3 @@
QtGStreamer is a set of libraries providing C++ bindings for GStreamer
with a Qt-style API, plus some helper classes and elements for
integrating GStreamer better in Qt applications.
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer1-rtsp-server/Makefile b/multimedia/gstreamer1-rtsp-server/Makefile
index bf72ebdb01d0..f01a54f185f0 100644
--- a/multimedia/gstreamer1-rtsp-server/Makefile
+++ b/multimedia/gstreamer1-rtsp-server/Makefile
@@ -1,24 +1,24 @@
-# Created by: Koop Mast <kwm@FreeBSD.org>
-
PORTNAME= gstreamer1-rtsp-server
-PORTVERSION= 1.16.2
+PORTVERSION= 1.22.4
CATEGORIES= multimedia
-MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-rtsp-server/
+MASTER_SITES= https://gstreamer.freedesktop.org/src/gst-rtsp-server/
DISTNAME= gst-rtsp-server-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GStreamer library for building a RTSP server
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL20+
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= gmake gnome gstreamer libtool pathfix pkgconfig tar:xz
+USES= bison gnome gstreamer libtool meson ninja pathfix pkgconfig python:build tar:xz
USE_LDCONFIG= yes
-GNU_CONFIGURE= yes
USE_GNOME= glib20 introspection:build
USE_GSTREAMER= good bad
-INSTALL_TARGET= install-strip
+MESON_ARGS= -Ddoc=disabled
+
+BINARY_ALIAS= python3=${PYTHON_VERSION}
-PLIST_SUB= VERSION=1.0 SOVERSION=0.1602.0
+PLIST_SUB= VERSION=1.0 SOVERSION=0.2204.0
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-rtsp-server/distinfo b/multimedia/gstreamer1-rtsp-server/distinfo
index 24e972ed5ace..948f697b0411 100644
--- a/multimedia/gstreamer1-rtsp-server/distinfo
+++ b/multimedia/gstreamer1-rtsp-server/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1586566691
-SHA256 (gst-rtsp-server-1.16.2.tar.xz) = de07a2837b3b04820ce68264a4909f70c221b85dbff0cede7926e9cdbb1dc26e
-SIZE (gst-rtsp-server-1.16.2.tar.xz) = 693368
+TIMESTAMP = 1687416226
+SHA256 (gst-rtsp-server-1.22.4.tar.xz) = 4666612d7a99c60dcd6f0bdba1b7a74d2562a0501b2a3e0576f0916bf1d8811b
+SIZE (gst-rtsp-server-1.22.4.tar.xz) = 272712
diff --git a/multimedia/gstreamer1-rtsp-server/pkg-descr b/multimedia/gstreamer1-rtsp-server/pkg-descr
index 878de08c6856..c96119b433ca 100644
--- a/multimedia/gstreamer1-rtsp-server/pkg-descr
+++ b/multimedia/gstreamer1-rtsp-server/pkg-descr
@@ -1,3 +1 @@
gst-rtsp-server is a library on top of GStreamer for building an RTSP server
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer1-transcoder/Makefile b/multimedia/gstreamer1-transcoder/Makefile
deleted file mode 100644
index 8eaee16ea96e..000000000000
--- a/multimedia/gstreamer1-transcoder/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Created by: Ben Woods <woodsb02@FreeBSD.org>
-
-PORTNAME= gstreamer1-transcoder
-PORTVERSION= 1.16.0
-CATEGORIES= multimedia
-
-MAINTAINER= kwm@FreeBSD.org
-COMMENT= GStreamer Transcoding API
-
-LICENSE= LGPL21
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-USES= compiler gnome gstreamer meson pkgconfig python:3.3+ #shebangfix
-USE_GNOME= introspection
-USE_GSTREAMER= core
-USE_LDCONFIG= yes
-
-BINARY_ALIAS= python3=${PYTHON_VERSION}
-#SHEBANG_FILES= configure
-
-USE_GITHUB= yes
-GH_ACCOUNT= pitivi
-GH_PROJECT= gst-transcoder
-
-OPTIONS_DEFINE= DOCS
-
-DOCS_BUILD_DEPENDS= gtkdoc-check:textproc/gtk-doc
-DOCS_MESON_FALSE= disable_doc
-DOCSDIR= ${PREFIX}/share/gtk-doc/html/gstreamer-transcoder/
-
-.include <bsd.port.pre.mk>
-
-.if ${CHOSEN_COMPILER_TYPE} == gcc
-post-patch:
- ${REINPLACE_CMD} -e '/-Wno-pedantic/d' \
- ${WRKSRC}/meson.build
-.endif
-
-.include <bsd.port.post.mk>
diff --git a/multimedia/gstreamer1-transcoder/distinfo b/multimedia/gstreamer1-transcoder/distinfo
deleted file mode 100644
index fab4166ee67e..000000000000
--- a/multimedia/gstreamer1-transcoder/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1568457624
-SHA256 (pitivi-gst-transcoder-1.16.0_GH0.tar.gz) = b5e65c70f2827aee42810120ca9637fd1f56e7cccf825b1b2f20e575cebdcd62
-SIZE (pitivi-gst-transcoder-1.16.0_GH0.tar.gz) = 38543
diff --git a/multimedia/gstreamer1-transcoder/pkg-descr b/multimedia/gstreamer1-transcoder/pkg-descr
deleted file mode 100644
index e0e18e145f01..000000000000
--- a/multimedia/gstreamer1-transcoder/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-Transcodes a stream defined by its first <input-uri> argument to the place
-defined by its second <output-uri> argument into the format described in its
-third <encoding-format> argument or using the given <output-uri> file extension.
-
-WWW: https://github.com/pitivi/gst-transcoder
diff --git a/multimedia/gstreamer1-transcoder/pkg-plist b/multimedia/gstreamer1-transcoder/pkg-plist
deleted file mode 100644
index 6343f3bbccb0..000000000000
--- a/multimedia/gstreamer1-transcoder/pkg-plist
+++ /dev/null
@@ -1,34 +0,0 @@
-bin/gst-transcoder-1.0
-include/gstreamer-1.0/gst/transcoder/gsttranscoder.h
-lib/girepository-1.0/GstTranscoder-1.0.typelib
-lib/gstreamer-1.0/libgsttranscode.so
-lib/libgsttranscoder-1.0.so
-lib/libgsttranscoder-1.0.so.0
-libdata/pkgconfig/gst-transcoder-1.0.pc
-share/gir-1.0/GstTranscoder-1.0.gir
-share/gstreamer-1.0/encoding-profiles/device/dvd.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/avi.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/flv.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/mkv.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/mp3.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/mp4.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/oga.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/ogv.gep
-share/gstreamer-1.0/encoding-profiles/file-extension/webm.gep
-share/gstreamer-1.0/encoding-profiles/online-services/youtube.gep
-%%PORTDOCS%%%%DOCSDIR%%GstTranscoder.html
-%%PORTDOCS%%%%DOCSDIR%%GstTranscoderSignalDispatcher.html
-%%PORTDOCS%%%%DOCSDIR%%annotation-glossary.html
-%%PORTDOCS%%%%DOCSDIR%%api-index-full.html
-%%PORTDOCS%%%%DOCSDIR%%ch01.html
-%%PORTDOCS%%%%DOCSDIR%%gst-transcoder-hierarchy.html
-%%PORTDOCS%%%%DOCSDIR%%gst-transcoder.devhelp2
-%%PORTDOCS%%%%DOCSDIR%%home.png
-%%PORTDOCS%%%%DOCSDIR%%index.html
-%%PORTDOCS%%%%DOCSDIR%%left-insensitive.png
-%%PORTDOCS%%%%DOCSDIR%%left.png
-%%PORTDOCS%%%%DOCSDIR%%right-insensitive.png
-%%PORTDOCS%%%%DOCSDIR%%right.png
-%%PORTDOCS%%%%DOCSDIR%%style.css
-%%PORTDOCS%%%%DOCSDIR%%up-insensitive.png
-%%PORTDOCS%%%%DOCSDIR%%up.png
diff --git a/multimedia/gstreamer1-vaapi/Makefile b/multimedia/gstreamer1-vaapi/Makefile
index d494655e401f..bbc6ef7459b3 100644
--- a/multimedia/gstreamer1-vaapi/Makefile
+++ b/multimedia/gstreamer1-vaapi/Makefile
@@ -1,39 +1,40 @@
-# Created by: Koop Mast <kwm@rainbow-runner.nl>
-
PORTNAME= gstreamer1-vaapi
-PORTVERSION= 1.16.2
-PORTREVISION= 2
+PORTVERSION= 1.22.4
CATEGORIES= multimedia
MASTER_SITES= https://gstreamer.freedesktop.org/src/gstreamer-vaapi/
DISTNAME= gstreamer-vaapi-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GStreamer hardware video decoding via VA-API plug-in
+WWW= https://github.com/GStreamer/gstreamer-vaapi
LICENSE= LGPL21
LIB_DEPENDS= libva.so:multimedia/libva
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USES= compiler:c11 gettext-runtime gl gmake gnome gstreamer libtool \
- pkgconfig tar:xz xorg
+USES= bison compiler:c11 gettext-runtime gl gnome gstreamer libtool \
+ meson ninja pkgconfig python:build tar:xz xorg
USE_LDCONFIG= yes
USE_GNOME= glib20
-USE_GSTREAMER= bad gl
+USE_GSTREAMER= bad
USE_GL= gl
USE_XORG= x11 xrandr xrender xorgproto
+MESON_ARGS= -Ddoc=disabled -Dexamples=disabled
-OPTIONS_DEFINE= DRM WAYLAND
+BINARY_ALIAS= python3=${PYTHON_VERSION}
-DRM_DESC= Raw KMS/DRM backend
+OPTIONS_DEFINE= DRM WAYLAND
+OPTIONS_DEFAULT=DRM WAYLAND
-DRM_CONFIGURE_ENABLE= drm
-DRM_LIB_DEPENDS= libudev.so:devel/libudev-devd \
- libdrm.so:graphics/libdrm
+DRM_DESC= KMS console and headless support
+DRM_BUILD_DEPENDS= libdrm>0:graphics/libdrm
+DRM_LIB_DEPENDS= libudev.so:devel/libudev-devd
+DRM_MESON_ENABLED= drm
-WAYLAND_CONFIGURE_ENABLE= wayland
+WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.15:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libva-wayland.so:multimedia/libva \
- libwayland-client.so:graphics/wayland
+ libwayland-client.so:graphics/wayland
+WAYLAND_MESON_ENABLED= wayland
+WAYLAND_IMPLIES= DRM
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-vaapi/distinfo b/multimedia/gstreamer1-vaapi/distinfo
index 801a99e11d87..dfcc671b731c 100644
--- a/multimedia/gstreamer1-vaapi/distinfo
+++ b/multimedia/gstreamer1-vaapi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575826374
-SHA256 (gstreamer-vaapi-1.16.2.tar.xz) = 191de7b0ab64a85dd0875c990721e7be95518f60e2a9106beca162004ed7c601
-SIZE (gstreamer-vaapi-1.16.2.tar.xz) = 1095012
+TIMESTAMP = 1687416252
+SHA256 (gstreamer-vaapi-1.22.4.tar.xz) = 967b8e353d82d0081a68dc53639b25d9fb4ca89bfa1e061403e0cd7d23585ba6
+SIZE (gstreamer-vaapi-1.22.4.tar.xz) = 545404
diff --git a/multimedia/gstreamer1-vaapi/pkg-descr b/multimedia/gstreamer1-vaapi/pkg-descr
index afeb62c6625a..a01b543ff9b6 100644
--- a/multimedia/gstreamer1-vaapi/pkg-descr
+++ b/multimedia/gstreamer1-vaapi/pkg-descr
@@ -4,5 +4,3 @@ VA-API. Depending on the underlying hardware, the following video
decoders are supported: JPEG, MPEG-2, MPEG-4:2, H.264 and VC-1.
Renderers are available for X11, GLX, Wayland and raw DRM for headless
pipelines.
-
-WWW: https://github.com/GStreamer/gstreamer-vaapi
diff --git a/multimedia/gstreamer1-vaapi/pkg-plist b/multimedia/gstreamer1-vaapi/pkg-plist
index 7eef5458a3c1..4144bda81efa 100644
--- a/multimedia/gstreamer1-vaapi/pkg-plist
+++ b/multimedia/gstreamer1-vaapi/pkg-plist
@@ -1,36 +1 @@
lib/gstreamer-1.0/libgstvaapi.so
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/api-index-full.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/ch01.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/ch02.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/ch03.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-1.0.devhelp2
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-plugin-vaapi.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapidecodebin.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapih263dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapih264dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapih264enc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapih265dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapih265enc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapijpegdec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapijpegenc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapimpeg2dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapimpeg2enc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapimpeg4dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapipostproc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapisink.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapivc1dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapivp8dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapivp8enc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapivp9dec.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-plugins-vaapivp9enc.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/gstreamer-vaapi-running.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/home.png
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/index.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/left-insensitive.png
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/left.png
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/object-tree.html
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/right-insensitive.png
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/right.png
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/style.css
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/up-insensitive.png
-share/gtk-doc/html/gstreamer-vaapi-plugins-1.0/up.png
diff --git a/multimedia/gstreamer1-validate/Makefile b/multimedia/gstreamer1-validate/Makefile
index 51647e906ba0..b22e9ea50e9a 100644
--- a/multimedia/gstreamer1-validate/Makefile
+++ b/multimedia/gstreamer1-validate/Makefile
@@ -1,20 +1,21 @@
-# Created by: Koop Mast <kwm@FreeBSD.org>
-
PORTNAME= gstreamer1-validate
-PORTVERSION= 1.16.1
+PORTVERSION= 1.16.3
+PORTREVISION= 2
CATEGORIES= multimedia
-MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-validate/
+MASTER_SITES= https://gstreamer.freedesktop.org/src/gst-validate/
DISTNAME= gst-validate-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Gstreamer element validation suite
-
-LIB_DEPENDS= libjson-glib-1.0.so:devel/json-glib \
- libgstrtspserver-1.0.so:multimedia/gstreamer1-rtsp-server
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
+LIB_DEPENDS= libjson-glib-1.0.so:devel/json-glib \
+ libgstrtspserver-1.0.so:multimedia/gstreamer1-rtsp-server \
+ libharfbuzz.so:print/harfbuzz
+
USES= compiler:c11 gettext-runtime gmake gnome gstreamer libtool pathfix \
pkgconfig python shebangfix tar:xz
SHEBANG_FILES= tools/gst-validate-launcher.in
@@ -24,6 +25,8 @@ USE_GNOME= cairo gdkpixbuf2 gtk30 introspection:build
INSTALL_TARGET= install-strip
USE_PYTHON= noflavors
-PLIST_SUB= VERSION=1.0 SOVERSION=0.1601.0
+BINARY_ALIAS= python3=${PYTHON_VERSION}
+
+PLIST_SUB= VERSION=1.0 SOVERSION=0.1603.0
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1-validate/distinfo b/multimedia/gstreamer1-validate/distinfo
index 57cd04556d39..6e490e081c7e 100644
--- a/multimedia/gstreamer1-validate/distinfo
+++ b/multimedia/gstreamer1-validate/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575056805
-SHA256 (gst-validate-1.16.1.tar.xz) = 7f079b9b2a127604b98e297037dc8847ef50f4ce2b508aa2df0cac5b77562899
-SIZE (gst-validate-1.16.1.tar.xz) = 735364
+TIMESTAMP = 1662141068
+SHA256 (gst-validate-1.16.3.tar.xz) = c2064e887324af6aa476ca669234936711f253b29042f617f1d9f2597c4bf92b
+SIZE (gst-validate-1.16.3.tar.xz) = 742180
diff --git a/multimedia/gstreamer1-validate/pkg-descr b/multimedia/gstreamer1-validate/pkg-descr
index e065f73dba5c..3634917d0f6f 100644
--- a/multimedia/gstreamer1-validate/pkg-descr
+++ b/multimedia/gstreamer1-validate/pkg-descr
@@ -9,5 +9,3 @@ tools, located at tools/ directory. It is also possible to monitor
GstPipelines from any application by using the LD_PRELOAD gstvalidate
lib. The third way of using it is to write your own application that
links and uses libgstvalidate.
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/gstreamer1/Makefile b/multimedia/gstreamer1/Makefile
index 073fec563d87..2222a67ed1dd 100644
--- a/multimedia/gstreamer1/Makefile
+++ b/multimedia/gstreamer1/Makefile
@@ -1,34 +1,28 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= gstreamer
-PORTVERSION= 1.16.2
+PORTVERSION= 1.22.10
CATEGORIES= multimedia
-MASTER_SITES= GNOME \
- http://gstreamer.freedesktop.org/src/gstreamer/
+MASTER_SITES= https://gstreamer.freedesktop.org/src/gstreamer/
PKGNAMESUFFIX= 1
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Media applications framework
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL20+
LICENSE_FILE= ${WRKSRC}/COPYING
-USES= bison cpe gmake gnome libtool pathfix perl5 pkgconfig python tar:xz
-USE_PERL5= build
+USES= bison libtool gnome meson ninja pkgconfig python:build shebangfix tar:xz
USE_GNOME= glib20 introspection:build
-CPE_VENDOR= gstreamer_project
+LIB_DEPENDS= libunwind.so:devel/libunwind
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --disable-tests \
- --disable-examples \
- --disable-failing-tests \
- --disable-fatal-warnings \
- --disable-gtk-doc
-CONFIGURE_ENV= ac_cv_func_register_printf_function="no"
-INSTALL_TARGET= install-strip
+CONFIGURE_ARGS= -D tests=disabled \
+ -D examples=disabled \
+ -D dbghelp=disabled \
+ -D doc=disabled \
+ -D libdw=disabled
PLIST_SUB= VERSION=${GST10_VERSION} \
- SOVERSION=0.1602.0
+ SOVERSION=0.2210.0
USE_LDCONFIG= yes
GST10_VERSION= 1.0
@@ -36,20 +30,19 @@ GST10_VERSION= 1.0
PORTSCOUT= limitw:1,even
OPTIONS_SUB= yes
-OPTIONS_DEFINE= NLS
+OPTIONS_DEFINE= BASH NLS
+OPTIONS_DEFAULT=BASH
-OPTIONS_DEFINE_aarch64= LIBUNWIND
-OPTIONS_DEFFAULT_aarch64= LIBUNWIND
-OPTIONS_DEFINE_amd64= LIBUNWIND
-OPTIONS_DEFAULT_amd64= LIBUNWIND
-OPTIONS_DEFINE_i386= LIBUNWIND
-OPTIONS_DEFFAULT_i386= LIBUNWIND
+BASH_BUILD_DEPENDS= bash-completion>0:shells/bash-completion
+BASH_MESON_ENABLED= bash-completion
NLS_USES= gettext
-NLS_CONFIGURE_ENABLE= nls
+NLS_MESON_ENABLED= nls
-LIBUNWIND_DESC= Libunwind is optionally used by the leaks tracer
-LIBUNWIND_LIB_DEPENDS= libunwind.so:devel/libunwind
-LIBUNWIND_CONFIGURE_WITH= unwind
+SHEBANG_FILES= gst/parse/get_flex_version.py \
+ scripts/extract-release-date-from-doap-file.py \
+ docs/gst-plugins-doc-cache-generator.py
+python_OLD_CMD= "/usr/bin/env python3"
+python_CMD= ${SETENV} ${PYTHON_VERSION}
.include <bsd.port.mk>
diff --git a/multimedia/gstreamer1/distinfo b/multimedia/gstreamer1/distinfo
index 368a9761e3b6..a4daa95cef24 100644
--- a/multimedia/gstreamer1/distinfo
+++ b/multimedia/gstreamer1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1575817893
-SHA256 (gstreamer-1.16.2.tar.xz) = e3f044246783fd685439647373fa13ba14f7ab0b346eadd06437092f8419e94e
-SIZE (gstreamer-1.16.2.tar.xz) = 3328600
+TIMESTAMP = 1709494424
+SHA256 (gstreamer-1.22.10.tar.xz) = 969aaef396f252ce925132a4be2aa004e0320f5c1baf0acaaae09c544a6759f4
+SIZE (gstreamer-1.22.10.tar.xz) = 1799780
diff --git a/multimedia/gstreamer1/files/patch-Makefile.in b/multimedia/gstreamer1/files/patch-Makefile.in
deleted file mode 100644
index c1cf546a8818..000000000000
--- a/multimedia/gstreamer1/files/patch-Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.in.orig 2018-09-16 12:03:27 UTC
-+++ Makefile.in
-@@ -569,7 +569,7 @@ top_srcdir = @top_srcdir@
- DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
- aclocaldir = $(datadir)/aclocal
- aclocal_DATA = gst-element-check-1.0.m4
--SUBDIRS = pkgconfig gst libs plugins tests docs po m4 common data \
-+SUBDIRS = pkgconfig gst libs plugins tests po m4 common data \
- $(am__append_1)
-
- # These are all the possible subdirs
diff --git a/multimedia/gstreamer1/files/patch-libs_gst_controller_Makefile.in b/multimedia/gstreamer1/files/patch-libs_gst_controller_Makefile.in
deleted file mode 100644
index ee76c5cb2286..000000000000
--- a/multimedia/gstreamer1/files/patch-libs_gst_controller_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- libs/gst/controller/Makefile.in.orig 2019-12-03 10:52:27 UTC
-+++ libs/gst/controller/Makefile.in
-@@ -591,7 +591,7 @@ libgstcontroller_@GST_API_VERSION@_la_CFLAGS = $(GST_O
- libgstcontroller_@GST_API_VERSION@_la_LIBADD = $(GST_OBJ_LIBS) $(LIBM)
- libgstcontroller_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) $(GST_LT_LDFLAGS)
- CLEANFILES = *.gcno *.gcda *.gcov $(BUILT_SOURCES) $(am__append_1)
--enum_headers = $(foreach h,$(glib_enum_headers),\n\#include \"$(h)\")
-+enum_headers = $(foreach h,$(glib_enum_headers),\n#include \"$(h)\")
- @HAVE_INTROSPECTION_TRUE@BUILT_GIRSOURCES = GstController-@GST_API_VERSION@.gir
- @HAVE_INTROSPECTION_TRUE@gir_headers = $(patsubst %,$(srcdir)/%, \
- @HAVE_INTROSPECTION_TRUE@ $(libgstcontroller_@GST_API_VERSION@_include_HEADERS)) \
diff --git a/multimedia/gstreamer1/pkg-descr b/multimedia/gstreamer1/pkg-descr
index 7624d0349452..883e177b82d1 100644
--- a/multimedia/gstreamer1/pkg-descr
+++ b/multimedia/gstreamer1/pkg-descr
@@ -16,7 +16,5 @@ the license of the code they were derived from, usually GPL or BSD.
No, GStreamer is a development framework for creating applications
like media players, video editors, streaming media broadcasters and
so on. That said, very good media players can easily be built on
-top of GStreamer and we even include a simple yet functional
-mediaplayer with GStreamer called Gst-Player
-
-WWW: https://gstreamer.freedesktop.org/
+top of GStreamer and a simple yet functional player gst-play is
+included in the framework via the plugins port.
diff --git a/multimedia/gstreamer1/pkg-plist b/multimedia/gstreamer1/pkg-plist
index beca08391fb4..f49a63175fd5 100644
--- a/multimedia/gstreamer1/pkg-plist
+++ b/multimedia/gstreamer1/pkg-plist
@@ -120,14 +120,15 @@ include/gstreamer-%%VERSION%%/gst/net/gstnetclientclock.h
include/gstreamer-%%VERSION%%/gst/net/gstnetcontrolmessagemeta.h
include/gstreamer-%%VERSION%%/gst/net/gstnettimepacket.h
include/gstreamer-%%VERSION%%/gst/net/gstnettimeprovider.h
+include/gstreamer-%%VERSION%%/gst/net/gstnetutils.h
include/gstreamer-%%VERSION%%/gst/net/gstptpclock.h
include/gstreamer-%%VERSION%%/gst/net/net-prelude.h
include/gstreamer-%%VERSION%%/gst/net/net.h
-lib/girepository-1.0/Gst-%%VERSION%%.typelib
-lib/girepository-1.0/GstBase-%%VERSION%%.typelib
-lib/girepository-1.0/GstCheck-%%VERSION%%.typelib
-lib/girepository-1.0/GstController-%%VERSION%%.typelib
-lib/girepository-1.0/GstNet-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/Gst-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstBase-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstCheck-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstController-%%VERSION%%.typelib
+lib/girepository-%%VERSION%%/GstNet-%%VERSION%%.typelib
lib/gstreamer-%%VERSION%%/libgstcoreelements.so
lib/gstreamer-%%VERSION%%/libgstcoretracers.so
lib/libgstbase-%%VERSION%%.so
@@ -150,25 +151,27 @@ libdata/pkgconfig/gstreamer-base-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-check-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-controller-%%VERSION%%.pc
libdata/pkgconfig/gstreamer-net-%%VERSION%%.pc
-libexec/gstreamer-%%VERSION%%/gst-completion-helper
+%%BASH%%libexec/gstreamer-%%VERSION%%/gst-completion-helper
+libexec/gstreamer-%%VERSION%%/gst-hotdoc-plugins-scanner
libexec/gstreamer-%%VERSION%%/gst-plugin-scanner
+libexec/gstreamer-%%VERSION%%/gst-plugins-doc-cache-generator
@(root,wheel,4755) libexec/gstreamer-%%VERSION%%/gst-ptp-helper
-man/man1/gst-inspect-%%VERSION%%.1.gz
-man/man1/gst-launch-%%VERSION%%.1.gz
-man/man1/gst-stats-%%VERSION%%.1.gz
-man/man1/gst-typefind-%%VERSION%%.1.gz
+share/man/man1/gst-inspect-%%VERSION%%.1.gz
+share/man/man1/gst-launch-%%VERSION%%.1.gz
+share/man/man1/gst-stats-%%VERSION%%.1.gz
+share/man/man1/gst-typefind-%%VERSION%%.1.gz
share/aclocal/gst-element-check-%%VERSION%%.m4
-share/bash-completion/completions/gst-inspect-%%VERSION%%
-share/bash-completion/completions/gst-launch-%%VERSION%%
-share/bash-completion/helpers/gst
+%%BASH%%share/bash-completion/completions/gst-inspect-%%VERSION%%
+%%BASH%%share/bash-completion/completions/gst-launch-%%VERSION%%
+%%BASH%%share/bash-completion/helpers/gst
share/gdb/auto-load%%RESETPREFIX%%/lib/libgstreamer-%%VERSION%%.so.%%SOVERSION%%-gdb.py
-share/gir-1.0/Gst-%%VERSION%%.gir
-share/gir-1.0/GstBase-%%VERSION%%.gir
-share/gir-1.0/GstCheck-%%VERSION%%.gir
-share/gir-1.0/GstController-%%VERSION%%.gir
-share/gir-1.0/GstNet-%%VERSION%%.gir
%%DATADIR%%-%%VERSION%%/gdb/glib_gobject_helper.py
%%DATADIR%%-%%VERSION%%/gdb/gst_gdb.py
+share/gir-%%VERSION%%/Gst-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstBase-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstCheck-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstController-%%VERSION%%.gir
+share/gir-%%VERSION%%/GstNet-%%VERSION%%.gir
%%NLS%%share/locale/af/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/ast/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/az/LC_MESSAGES/gstreamer-%%VERSION%%.mo
@@ -192,6 +195,8 @@ share/gir-1.0/GstNet-%%VERSION%%.gir
%%NLS%%share/locale/id/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/it/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/ja/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+%%NLS%%share/locale/ka/LC_MESSAGES/gstreamer-%%VERSION%%.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/lt/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/nb/LC_MESSAGES/gstreamer-%%VERSION%%.mo
%%NLS%%share/locale/nl/LC_MESSAGES/gstreamer-%%VERSION%%.mo
diff --git a/multimedia/gstreamermm/Makefile b/multimedia/gstreamermm/Makefile
index 0f25a5c4ebea..ce6f3b2da79a 100644
--- a/multimedia/gstreamermm/Makefile
+++ b/multimedia/gstreamermm/Makefile
@@ -1,9 +1,6 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-# $MCom: ports/multimedia/gstreamermm/Makefile,v 1.6 2009/09/26 13:42:00 marcus Exp $
-
PORTNAME= gstreamermm
PORTVERSION= 1.10.0
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= multimedia
MASTER_SITES= GNOME
diff --git a/multimedia/gtk-pipe-viewer/Makefile b/multimedia/gtk-pipe-viewer/Makefile
new file mode 100644
index 000000000000..71ab535b0d00
--- /dev/null
+++ b/multimedia/gtk-pipe-viewer/Makefile
@@ -0,0 +1,14 @@
+PORTNAME= pipe-viewer
+PKGNAMEPREFIX= gtk-
+
+MAINTAINER= DtxdF@disroot.org
+COMMENT= Application for searching and playing videos from YouTube (gtk)
+
+CONFLICTS_INSTALL= multimedia/pipe-viewer
+
+MASTERDIR= ${.CURDIR}/../pipe-viewer
+
+OPTIONS_DEFAULT= FORK_MANAGER GTK3 JSON_XS LINE_BREAK LOCAL_CACHE \
+ READLINE SHARE_DIR YT_DLP
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/gtk-youtube-viewer/Makefile b/multimedia/gtk-youtube-viewer/Makefile
index 76e9730017f7..a59f833d7837 100644
--- a/multimedia/gtk-youtube-viewer/Makefile
+++ b/multimedia/gtk-youtube-viewer/Makefile
@@ -1,11 +1,11 @@
-# Created by: Rusmir Dusko <nemysis@FreeBSD.org>
-
PORTNAME= gtk-youtube-viewer
-PORTVERSION= 3.10.0
+PORTVERSION= 3.10.5
+PORTREVISION= 1
CATEGORIES= multimedia perl5
MAINTAINER= nc@FreeBSD.org
COMMENT= GTK Search and play YouTube videos streaming in MPlayer
+WWW= https://github.com/trizen/youtube-viewer
LICENSE= ART10 GPLv3
LICENSE_COMB= dual
diff --git a/multimedia/gtk-youtube-viewer/distinfo b/multimedia/gtk-youtube-viewer/distinfo
index 9c997bc3efff..6645ec99144a 100644
--- a/multimedia/gtk-youtube-viewer/distinfo
+++ b/multimedia/gtk-youtube-viewer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652287356
-SHA256 (trizen-youtube-viewer-3.10.0_GH0.tar.gz) = 68a2bd03c1f9a01809505e9beef75b4f64119f3709b3fb9ae6343d8b50c0bc85
-SIZE (trizen-youtube-viewer-3.10.0_GH0.tar.gz) = 262932
+TIMESTAMP = 1674076465
+SHA256 (trizen-youtube-viewer-3.10.5_GH0.tar.gz) = 5b2c2cf14ecd6aa18a681e3c25ca64720ec4c56cfd179f07d64d84ec4c5054ff
+SIZE (trizen-youtube-viewer-3.10.5_GH0.tar.gz) = 265462
diff --git a/multimedia/gtk-youtube-viewer/pkg-descr b/multimedia/gtk-youtube-viewer/pkg-descr
index f53eace220f8..5aa817c7562c 100644
--- a/multimedia/gtk-youtube-viewer/pkg-descr
+++ b/multimedia/gtk-youtube-viewer/pkg-descr
@@ -1,4 +1,2 @@
GTK YouTube Viewer is created to be a flexible and reliable open-source
application which is dedicated to streaming YouTube Videos with MPlayer.
-
-WWW: https://github.com/trizen/youtube-viewer
diff --git a/multimedia/handbrake/Makefile b/multimedia/handbrake/Makefile
index 85b2d0298819..165298f17787 100644
--- a/multimedia/handbrake/Makefile
+++ b/multimedia/handbrake/Makefile
@@ -1,8 +1,6 @@
-# Created by: Andrew Thompson <andy@fud.org.nz>
-
PORTNAME= handbrake
-DISTVERSION= 1.5.1
-PORTREVISION= 2
+DISTVERSION= 1.7.2
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= https://github.com/HandBrake/HandBrake/releases/download/${DISTVERSION}/
MASTER_SITES+= https://github.com/HandBrake/HandBrake-contribs/releases/download/contribs/:contrib
@@ -12,16 +10,18 @@ DIST_SUBDIR= ${PORTNAME}
MAINTAINER= naito.yuichiro@gmail.com
COMMENT= Versatile DVD ripper and video transcoder
+WWW= https://handbrake.fr/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
-ONLY_FOR_ARCHS= amd64 i386 powerpc powerpc64 powerpc64le
+ONLY_FOR_ARCHS= amd64 powerpc powerpc64 powerpc64le
BUILD_DEPENDS= bash:shells/bash \
nasm:devel/nasm \
- cmake:devel/cmake \
- meson:devel/meson
+ cmake:devel/cmake-core \
+ meson:devel/meson \
+ git:devel/git@lite
LIB_DEPENDS= libdbus-1.so:devel/dbus \
libgudev-1.0.so:devel/libgudev \
libharfbuzz.so:print/harfbuzz \
@@ -44,16 +44,18 @@ LIB_DEPENDS= libdbus-1.so:devel/dbus \
libjansson.so:devel/jansson
USES= autoreconf:build compiler:c11 gmake iconv libtool:build \
- localbase:ldflags ninja:build pkgconfig python:3.6+,build
+ localbase:ldflags ninja:build pkgconfig python:build
-CONTRIB_FILES= fdk-aac-2.0.1.tar.gz \
- ffmpeg-4.4.1.tar.bz2 \
- libbluray-1.3.0.tar.bz2 \
+CONTRIB_FILES= SVT-AV1-v1.7.0.tar.gz \
+ fdk-aac-2.0.2.tar.gz \
+ ffmpeg-6.1.tar.bz2 \
+ libbluray-1.3.4.tar.bz2 \
libdvdnav-6.1.1.tar.bz2 \
- libdvdread-6.1.1.tar.bz2 \
- dav1d-0.9.2.tar.bz2 \
- x265_3.5.tar.gz \
- zimg-3.0.3.tar.gz
+ libdvdread-6.1.3.tar.bz2 \
+ dav1d-1.3.0.tar.bz2 \
+ dovi_tool-libdovi-3.1.2.tar.gz \
+ x265-snapshot-20230403-12776.tar.gz \
+ zimg-3.0.5.tar.gz
.if !defined(PACKAGE_BUILDING)
# DVDCSS version hardcoded in contrib/libdvdread/libdvdread-5.0.0-6-gcb1ae87/src/dvd_input.c (dlopen'ed)
@@ -81,7 +83,6 @@ LDFLAGS+= -L${BUILD_WRKSRC}/contrib/lib
OPTIONS_DEFINE= FDK_AAC VPL X11
OPTIONS_DEFAULT= VPL X11
-OPTIONS_EXCLUDE_i386= VPL
OPTIONS_EXCLUDE_powerpc= VPL
OPTIONS_EXCLUDE_powerpc64= VPL
OPTIONS_EXCLUDE_powerpc64le= VPL
@@ -90,7 +91,7 @@ OPTIONS_SUB= yes
FDK_AAC_DESC= Enable non-free Fraunhofer FDK AAC codec
VPL_DESC= Intel oneVPL (aka Quick Sync Video)
-X11_DESC= Build GTK+3 based GUI program
+X11_DESC= Build GTK 3 based GUI program
FDK_AAC_CONFIGURE_ENABLE= fdk-aac
FDK_AAC_VARS= LICENSE+=FDK_AAC LICENSE_COMB=multi
@@ -105,7 +106,6 @@ VPL_CONFIGURE_ON= --enable-qsv
X11_CONFIGURE_ENV= COMPILER_PATH=${LOCALBASE}/bin
X11_MAKE_ENV= COMPILER_PATH=${LOCALBASE}/bin
-X11_CONFIGURE_ON= --disable-gtk-update-checks
X11_CONFIGURE_OFF= --disable-gtk
X11_LIB_DEPENDS= libvpx.so:multimedia/libvpx \
libnotify.so:devel/libnotify
@@ -122,9 +122,7 @@ pre-configure:
cd ${DISTDIR}/${DIST_SUBDIR} && \
${INSTALL_DATA} ${CONTRIB_FILES} \
${WRKSRC}/download
-# Following patches reduces warnings with clang.
- ${CP} ${FILESDIR}/P00-freebsd-libavutil-x86-asm-h.patch ${WRKSRC}/contrib/ffmpeg
- ${CP} ${FILESDIR}/P01-freebsd-ifo_types.h.patch ${WRKSRC}/contrib/libdvdread
+
# for powerpc64
# picked from multimedia/ffmpeg/files/patch-libswscale_ppc_yuv2rgb__altivec.c
${CP} ${FILESDIR}/P02-freebsd-ppc-libswscale.patch ${WRKSRC}/contrib/ffmpeg
diff --git a/multimedia/handbrake/distinfo b/multimedia/handbrake/distinfo
index aa033bbf2775..1028ff6dcb1f 100644
--- a/multimedia/handbrake/distinfo
+++ b/multimedia/handbrake/distinfo
@@ -1,19 +1,23 @@
-TIMESTAMP = 1642516070
-SHA256 (handbrake/HandBrake-1.5.1-source.tar.bz2) = 3999fe06d5309c819799a73a968a8ec3840e7840c2b64af8f5cdb7fd8c9430f0
-SIZE (handbrake/HandBrake-1.5.1-source.tar.bz2) = 16137974
-SHA256 (handbrake/fdk-aac-2.0.1.tar.gz) = a4142815d8d52d0e798212a5adea54ecf42bcd4eec8092b37a8cb615ace91dc6
-SIZE (handbrake/fdk-aac-2.0.1.tar.gz) = 2488373
-SHA256 (handbrake/ffmpeg-4.4.1.tar.bz2) = 8fc9f20ac5ed95115a9e285647add0eedd5cc1a98a039ada14c132452f98ac42
-SIZE (handbrake/ffmpeg-4.4.1.tar.bz2) = 11494996
-SHA256 (handbrake/libbluray-1.3.0.tar.bz2) = e2dbaf99e84e0a9725f4985bcb85d41e52c2261cc651d8884b1b790b5ef016f9
-SIZE (handbrake/libbluray-1.3.0.tar.bz2) = 754069
+TIMESTAMP = 1703662528
+SHA256 (handbrake/HandBrake-1.7.2-source.tar.bz2) = 6a0fa23420483a2d74e58f0ad9944931d8f2e65bee63cf17333cbd9cb560ba93
+SIZE (handbrake/HandBrake-1.7.2-source.tar.bz2) = 9429824
+SHA256 (handbrake/SVT-AV1-v1.7.0.tar.gz) = ce0973584f1a187aa4abf63f509ff8464397120878e322a3153f87e9c161fc4f
+SIZE (handbrake/SVT-AV1-v1.7.0.tar.gz) = 10164910
+SHA256 (handbrake/fdk-aac-2.0.2.tar.gz) = 7812b4f0cf66acda0d0fe4302545339517e702af7674dd04e5fe22a5ade16a90
+SIZE (handbrake/fdk-aac-2.0.2.tar.gz) = 2506597
+SHA256 (handbrake/ffmpeg-6.1.tar.bz2) = eb7da3de7dd3ce48a9946ab447a7346bd11a3a85e6efb8f2c2ce637e7f547611
+SIZE (handbrake/ffmpeg-6.1.tar.bz2) = 12637240
+SHA256 (handbrake/libbluray-1.3.4.tar.bz2) = 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b
+SIZE (handbrake/libbluray-1.3.4.tar.bz2) = 756323
SHA256 (handbrake/libdvdnav-6.1.1.tar.bz2) = c191a7475947d323ff7680cf92c0fb1be8237701885f37656c64d04e98d18d48
SIZE (handbrake/libdvdnav-6.1.1.tar.bz2) = 367606
-SHA256 (handbrake/libdvdread-6.1.1.tar.bz2) = 3e357309a17c5be3731385b9eabda6b7e3fa010f46022a06f104553bf8e21796
-SIZE (handbrake/libdvdread-6.1.1.tar.bz2) = 392134
-SHA256 (handbrake/dav1d-0.9.2.tar.bz2) = 0d198c4fe63fe7f0395b1b17de75b21c8c4508cd3204996229355759efa30ef8
-SIZE (handbrake/dav1d-0.9.2.tar.bz2) = 833722
-SHA256 (handbrake/x265_3.5.tar.gz) = e70a3335cacacbba0b3a20ec6fecd6783932288ebc8163ad74bcc9606477cae8
-SIZE (handbrake/x265_3.5.tar.gz) = 1537044
-SHA256 (handbrake/zimg-3.0.3.tar.gz) = 5e002992bfe8b9d2867fdc9266dc84faca46f0bfd931acc2ae0124972b6170a7
-SIZE (handbrake/zimg-3.0.3.tar.gz) = 326585
+SHA256 (handbrake/libdvdread-6.1.3.tar.bz2) = ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369
+SIZE (handbrake/libdvdread-6.1.3.tar.bz2) = 395439
+SHA256 (handbrake/dav1d-1.3.0.tar.bz2) = bde8db3d0583a4f3733bb5a4ac525556ffd03ab7dcd8a6e7c091bee28d9466b1
+SIZE (handbrake/dav1d-1.3.0.tar.bz2) = 1033699
+SHA256 (handbrake/dovi_tool-libdovi-3.1.2.tar.gz) = 3c74f8f6afdb7d4be97210df201a28a48676b2ebe10c20961176e81e2fd98c36
+SIZE (handbrake/dovi_tool-libdovi-3.1.2.tar.gz) = 450556
+SHA256 (handbrake/x265-snapshot-20230403-12776.tar.gz) = 23898695c5520e9e971d12e88125d5ad03ad67f462fc8ecaa016b48adad7cb20
+SIZE (handbrake/x265-snapshot-20230403-12776.tar.gz) = 1622414
+SHA256 (handbrake/zimg-3.0.5.tar.gz) = a9a0226bf85e0d83c41a8ebe4e3e690e1348682f6a2a7838f1b8cbff1b799bcf
+SIZE (handbrake/zimg-3.0.5.tar.gz) = 326694
diff --git a/multimedia/handbrake/files/P00-freebsd-libavutil-x86-asm-h.patch b/multimedia/handbrake/files/P00-freebsd-libavutil-x86-asm-h.patch
deleted file mode 100644
index 84338221317a..000000000000
--- a/multimedia/handbrake/files/P00-freebsd-libavutil-x86-asm-h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/libavutil/x86/asm.h.orig 2018-04-14 08:34:28.000000000 +0900
-+++ b/libavutil/x86/asm.h 2018-06-23 22:34:29.258291000 +0900
-@@ -72,7 +72,7 @@
- typedef int x86_reg;
- #endif
-
--#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE))
-+#define HAVE_7REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE && HAVE_EBP_AVAILABLE && !defined(__clang__)))
- #define HAVE_6REGS (ARCH_X86_64 || (HAVE_EBX_AVAILABLE || HAVE_EBP_AVAILABLE))
-
- #if ARCH_X86_64 && defined(PIC)
diff --git a/multimedia/handbrake/files/P01-freebsd-ifo_types.h.patch b/multimedia/handbrake/files/P01-freebsd-ifo_types.h.patch
deleted file mode 100644
index a9bd0d46b218..000000000000
--- a/multimedia/handbrake/files/P01-freebsd-ifo_types.h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/dvdread/ifo_types.h.orig 2015-06-27 19:35:59.043370000 +0200
-+++ b/src/dvdread/ifo_types.h 2015-06-27 19:37:10.885577000 +0200
-@@ -32,7 +32,7 @@
-
- #if defined(__GNUC__)
- #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
--#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
-+#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && !defined(__clang__)
- #define ATTRIBUTE_PACKED __attribute__ ((packed,gcc_struct))
- #else
- #define ATTRIBUTE_PACKED __attribute__ ((packed))
diff --git a/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs
new file mode 100644
index 000000000000..bc0f471efe37
--- /dev/null
+++ b/multimedia/handbrake/files/patch-contrib_ffmpeg_module.defs
@@ -0,0 +1,18 @@
+Disable vulkan support.
+Handbrake doesn't require Vulkan but if it is installed in build environment
+(for other ports like QT5), It fails to build Handbrake, because following
+definitions has been removed since vulkan-headers-1.3.238.
+
+* VK_EXT_VIDEO_DECODE_H264_EXTENSION_NAME
+* VK_EXT_VIDEO_DECODE_H265_EXTENSION_NAME
+
+--- contrib/ffmpeg/module.defs.orig 2022-12-28 08:43:46 UTC
++++ contrib/ffmpeg/module.defs
+@@ -37,6 +37,7 @@ FFMPEG.CONFIGURE.extra = \
+ --enable-libzimg \
+ --disable-hwaccels \
+ --disable-vdpau \
++ --disable-vulkan \
+ --disable-encoders \
+ --enable-libmp3lame \
+ --enable-encoder=aac \
diff --git a/multimedia/handbrake/files/patch-contrib_x265__10bit_module.defs b/multimedia/handbrake/files/patch-contrib_x265__10bit_module.defs
deleted file mode 100644
index a73eb577e907..000000000000
--- a/multimedia/handbrake/files/patch-contrib_x265__10bit_module.defs
+++ /dev/null
@@ -1,13 +0,0 @@
---- contrib/x265_10bit/module.defs.orig 2020-01-25 15:34:39 UTC
-+++ contrib/x265_10bit/module.defs
-@@ -19,6 +19,10 @@ X265_10.CONFIGURE.static =
- X265_10.CONFIGURE.shared = -DENABLE_SHARED=OFF
- X265_10.CONFIGURE.extra = -DENABLE_CLI=OFF -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF
-
-+ifneq (x86_64,$(BUILD.machine))
-+ X265_10.CONFIGURE.extra += -DENABLE_ASSEMBLY=0
-+endif
-+
- ifneq (1,$(FEATURE.numa))
- X265_10.CONFIGURE.extra += -DENABLE_LIBNUMA=OFF
- endif
diff --git a/multimedia/handbrake/files/patch-contrib_x265__12bit_module.defs b/multimedia/handbrake/files/patch-contrib_x265__12bit_module.defs
deleted file mode 100644
index 2ba4e68fd2a1..000000000000
--- a/multimedia/handbrake/files/patch-contrib_x265__12bit_module.defs
+++ /dev/null
@@ -1,13 +0,0 @@
---- contrib/x265_12bit/module.defs.orig 2020-01-25 15:34:39 UTC
-+++ contrib/x265_12bit/module.defs
-@@ -19,6 +19,10 @@ X265_12.CONFIGURE.static =
- X265_12.CONFIGURE.shared = -DENABLE_SHARED=OFF
- X265_12.CONFIGURE.extra = -DENABLE_CLI=OFF -DHIGH_BIT_DEPTH=ON -DEXPORT_C_API=OFF -DMAIN12=ON
-
-+ifneq (x86_64,$(BUILD.machine))
-+ X265_12.CONFIGURE.extra += -DENABLE_ASSEMBLY=0
-+endif
-+
- ifneq (1,$(FEATURE.numa))
- X265_12.CONFIGURE.extra += -DENABLE_LIBNUMA=OFF
- endif
diff --git a/multimedia/handbrake/files/patch-libhb_module.defs b/multimedia/handbrake/files/patch-libhb_module.defs
deleted file mode 100644
index 43f46e6260c5..000000000000
--- a/multimedia/handbrake/files/patch-libhb_module.defs
+++ /dev/null
@@ -1,15 +0,0 @@
---- libhb/module.defs.orig 2022-01-10 19:11:37 UTC
-+++ libhb/module.defs
-@@ -46,7 +46,11 @@ LIBHB.GCC.D += __LIBHB__ USE_PTHREAD
- LIBHB.GCC.I += $(LIBHB.build/) $(CONTRIB.build/)include
-
- ifeq (1,$(FEATURE.qsv))
-- LIBHB.GCC.I += $(CONTRIB.build/)include/vpl
-+ ifeq ($(HOST.system),freebsd))
-+ LIBHB.GCC.I += $(LOCALBASE)/include/vpl
-+ else
-+ LIBHB.GCC.I += $(CONTRIB.build/)include/vpl
-+ endif
- endif
-
- ifneq (,$(filter $(HOST.system),freebsd netbsd))
diff --git a/multimedia/handbrake/files/patch-libhb_nlmeans.c b/multimedia/handbrake/files/patch-libhb_nlmeans.c
deleted file mode 100644
index 312da052a922..000000000000
--- a/multimedia/handbrake/files/patch-libhb_nlmeans.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libhb/nlmeans.c.orig 2018-06-17 04:23:34 UTC
-+++ libhb/nlmeans.c
-@@ -898,7 +898,7 @@ static int nlmeans_init(hb_filter_object_t *filter,
- NLMeansFunctions *functions = &pv->functions;
-
- functions->build_integral = build_integral_scalar;
--#if defined(ARCH_X86)
-+#if defined(ARCH_X86) && defined(__X86_64)
- nlmeans_init_x86(functions);
- #endif
-
diff --git a/multimedia/handbrake/files/patch-libhb_nlmeans__x86.c b/multimedia/handbrake/files/patch-libhb_nlmeans__x86.c
deleted file mode 100644
index 6baf7c01576a..000000000000
--- a/multimedia/handbrake/files/patch-libhb_nlmeans__x86.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- libhb/nlmeans_x86.c.orig 2017-10-05 21:17:34 UTC
-+++ libhb/nlmeans_x86.c
-@@ -10,7 +10,7 @@
-
- #include "hb.h" // needed for ARCH_X86
-
--#if defined(ARCH_X86)
-+#if defined(ARCH_X86) && defined(__X86_64)
-
- #include <emmintrin.h>
-
diff --git a/multimedia/handbrake/files/patch-scripts_repo-info.sh b/multimedia/handbrake/files/patch-scripts_repo-info.sh
index e00f06222ddd..5cfac8c244fd 100644
--- a/multimedia/handbrake/files/patch-scripts_repo-info.sh
+++ b/multimedia/handbrake/files/patch-scripts_repo-info.sh
@@ -1,11 +1,11 @@
---- scripts/repo-info.sh.orig 2021-08-15 11:58:50 UTC
+--- scripts/repo-info.sh.orig 2023-11-12 12:42:45 UTC
+++ scripts/repo-info.sh
@@ -1,7 +1,7 @@
- #!/usr/bin/env bash
+ #!/bin/sh
#
# Retrieves git repository info for directory ${1} using command ${2}
-
+exit 1
- function repo_info()
+ repo_info()
{
- local repo_dir git_exe commit upstream err
+ # Process args
diff --git a/multimedia/handbrake/pkg-descr b/multimedia/handbrake/pkg-descr
index fdb63d28ebc9..8d52023f6fc1 100644
--- a/multimedia/handbrake/pkg-descr
+++ b/multimedia/handbrake/pkg-descr
@@ -19,5 +19,3 @@ Outputs:
HandBrake also includes support for chapters, subtitles, advanced video
filters, and more. It is also useful for making videos compatible with
portable video devices such as the Apple iPod/iPhone.
-
-WWW: http://handbrake.fr/
diff --git a/multimedia/handbrake/pkg-plist b/multimedia/handbrake/pkg-plist
index bed618e8dcb6..58dff1638400 100644
--- a/multimedia/handbrake/pkg-plist
+++ b/multimedia/handbrake/pkg-plist
@@ -2,20 +2,23 @@ bin/HandBrakeCLI
%%X11%%bin/ghb
%%X11%%bin/HandBrake
%%X11%%share/applications/fr.handbrake.ghb.desktop
-%%X11%%share/icons/hicolor/scalable/apps/hb-icon.svg
%%X11%%share/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg
%%X11%%share/locale/af/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/bg/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/ca/LC_MESSAGES/ghb.mo
%%X11%%share/locale/co/LC_MESSAGES/ghb.mo
%%X11%%share/locale/cs/LC_MESSAGES/ghb.mo
%%X11%%share/locale/da/LC_MESSAGES/ghb.mo
%%X11%%share/locale/de/LC_MESSAGES/ghb.mo
%%X11%%share/locale/es/LC_MESSAGES/ghb.mo
%%X11%%share/locale/eu/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/fi/LC_MESSAGES/ghb.mo
%%X11%%share/locale/fr/LC_MESSAGES/ghb.mo
%%X11%%share/locale/he/LC_MESSAGES/ghb.mo
%%X11%%share/locale/hr/LC_MESSAGES/ghb.mo
%%X11%%share/locale/it/LC_MESSAGES/ghb.mo
%%X11%%share/locale/ja/LC_MESSAGES/ghb.mo
+%%X11%%share/locale/ka/LC_MESSAGES/ghb.mo
%%X11%%share/locale/ko/LC_MESSAGES/ghb.mo
%%X11%%share/locale/nl/LC_MESSAGES/ghb.mo
%%X11%%share/locale/no/LC_MESSAGES/ghb.mo
diff --git a/multimedia/haruna/Makefile b/multimedia/haruna/Makefile
index b41af4653448..35336f799720 100644
--- a/multimedia/haruna/Makefile
+++ b/multimedia/haruna/Makefile
@@ -1,23 +1,29 @@
PORTNAME= haruna
-DISTVERSION= 0.8.0
-MASTER_SITES= KDE/stable/${PORTNAME}/
+DISTVERSION= 0.12.3
CATEGORIES= multimedia kde
+MASTER_SITES= KDE/stable/${PORTNAME}/
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE video player
+WWW= https://invent.kde.org/multimedia/haruna
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/LICENSES/GPL-3.0-or-later.txt
-LIB_DEPENDS= libmpv.so:multimedia/mpv
+LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
+ libmpv.so:multimedia/mpv
RUN_DEPENDS= kio-extras>0:devel/kio-extras \
yt-dlp:www/yt-dlp
-USES= cmake compiler:c++11-lang kde:5 qt:5 tar:xz
-USE_KDE= auth bookmarks codecs completion config configwidgets coreaddons \
- filemetadata i18n iconthemes kirigami2 itemviews jobwidgets kio \
- service solid widgetsaddons windowsystem xmlgui \
- ecm_build doctools_build \
- breeze_run breeze-icons_run qqc2-desktop-style_run
+USES= cmake compiler:c++11-lang desktop-file-utils kde:5 pkgconfig qt:5 tar:xz xorg
+USE_KDE= auth breeze codecs completion config configwidgets coreaddons \
+ doctools filemetadata i18n iconthemes kirigami2 jobwidgets \
+ kio service solid widgetsaddons windowsystem \
+ ecm:build doctools:build \
+ breeze-icons:run qqc2-desktop-style:run
USE_QT= concurrent core dbus declarative gui network quickcontrols2 \
- widgets xml \
- buildtools_build qmake_build
+ widgets x11extras xml \
+ buildtools:build qmake:build
+USE_XORG= x11
.include <bsd.port.mk>
diff --git a/multimedia/haruna/distinfo b/multimedia/haruna/distinfo
index 7bf2dbc71100..2dfb024268de 100644
--- a/multimedia/haruna/distinfo
+++ b/multimedia/haruna/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650517557
-SHA256 (haruna-0.8.0.tar.xz) = dfea4a415d1c41992342c9684382974b2510e5dff06b8a27c29f2c3cc54c3dfe
-SIZE (haruna-0.8.0.tar.xz) = 2372804
+TIMESTAMP = 1701039338
+SHA256 (haruna-0.12.3.tar.xz) = d0202e0060ae86e10c461e7529f6de6b67f8281bf7b82c845479f46772b9fa6f
+SIZE (haruna-0.12.3.tar.xz) = 602272
diff --git a/multimedia/haruna/pkg-descr b/multimedia/haruna/pkg-descr
index 4da912192cd1..562f19409cbc 100644
--- a/multimedia/haruna/pkg-descr
+++ b/multimedia/haruna/pkg-descr
@@ -1,3 +1 @@
Haruna is an open source video player built with Qt/QML and libmpv.
-
-WWW: https://invent.kde.org/multimedia/haruna
diff --git a/multimedia/haruna/pkg-plist b/multimedia/haruna/pkg-plist
index c3024094445b..9d93c49cb236 100644
--- a/multimedia/haruna/pkg-plist
+++ b/multimedia/haruna/pkg-plist
@@ -25,16 +25,23 @@ share/locale/eu/LC_MESSAGES/haruna.mo
share/locale/fi/LC_MESSAGES/haruna.mo
share/locale/fr/LC_MESSAGES/haruna.mo
share/locale/hi/LC_MESSAGES/haruna.mo
+share/locale/id/LC_MESSAGES/haruna.mo
share/locale/it/LC_MESSAGES/haruna.mo
+share/locale/ja/LC_MESSAGES/haruna.mo
+share/locale/ka/LC_MESSAGES/haruna.mo
share/locale/ko/LC_MESSAGES/haruna.mo
+share/locale/lt/LC_MESSAGES/haruna.mo
share/locale/nl/LC_MESSAGES/haruna.mo
share/locale/pl/LC_MESSAGES/haruna.mo
share/locale/pt/LC_MESSAGES/haruna.mo
+share/locale/pt_BR/LC_MESSAGES/haruna.mo
share/locale/ru/LC_MESSAGES/haruna.mo
share/locale/sk/LC_MESSAGES/haruna.mo
share/locale/sl/LC_MESSAGES/haruna.mo
share/locale/sv/LC_MESSAGES/haruna.mo
share/locale/ta/LC_MESSAGES/haruna.mo
+share/locale/tr/LC_MESSAGES/haruna.mo
share/locale/uk/LC_MESSAGES/haruna.mo
share/locale/zh_CN/LC_MESSAGES/haruna.mo
+share/locale/zh_TW/LC_MESSAGES/haruna.mo
share/metainfo/org.kde.haruna.metainfo.xml
diff --git a/multimedia/harvid/Makefile b/multimedia/harvid/Makefile
index f124fab582f6..1184f7becfb5 100644
--- a/multimedia/harvid/Makefile
+++ b/multimedia/harvid/Makefile
@@ -1,11 +1,12 @@
PORTNAME= harvid
DISTVERSIONPREFIX= v
-DISTVERSION= 0.8.2
-PORTREVISION= 3
+DISTVERSION= 0.9.1
+PORTREVISION= 4
CATEGORIES= multimedia
MAINTAINER= marcelbonnet@gmail.com
COMMENT= Extract still images from movies and serve them via HTTP
+WWW= https://x42.github.io/harvid/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -21,7 +22,7 @@ LLD_UNSAFE= yes
MAKE_JOBS_UNSAFE= yes # https://github.com/x42/harvid/issues/5
PLIST_FILES= bin/harvid \
- man/man1/harvid.1.gz
+ share/man/man1/harvid.1.gz
post-install:
@${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/harvid
diff --git a/multimedia/harvid/distinfo b/multimedia/harvid/distinfo
index b8bd2725f736..e41851e7e790 100644
--- a/multimedia/harvid/distinfo
+++ b/multimedia/harvid/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1519465247
-SHA256 (x42-harvid-v0.8.2_GH0.tar.gz) = 3e3e22f554c7c8f0efe3ca400200e95c9fd5c0495cc76c4ae08991bc2abbc358
-SIZE (x42-harvid-v0.8.2_GH0.tar.gz) = 116541
+TIMESTAMP = 1678872633
+SHA256 (x42-harvid-v0.9.1_GH0.tar.gz) = 6a3c881644b4c044d01ebd06bc8388b2f85764d7f1efac4a3cdeac9858f156a5
+SIZE (x42-harvid-v0.9.1_GH0.tar.gz) = 117187
diff --git a/multimedia/harvid/files/patch-common.mak b/multimedia/harvid/files/patch-common.mak
index 515e0af8d914..3cfc63ad54fd 100644
--- a/multimedia/harvid/files/patch-common.mak
+++ b/multimedia/harvid/files/patch-common.mak
@@ -5,7 +5,7 @@
bindir ?= $(PREFIX)/bin
-mandir ?= $(PREFIX)/share/man
-+mandir ?= $(PREFIX)/man
++mandir ?= $(PREFIX)/share/man
libdir ?= $(PREFIX)/lib
docdir ?= $(PREFIX)/share/doc
includedir ?= $(PREFIX)/include
diff --git a/multimedia/harvid/files/patch-src_Makefile b/multimedia/harvid/files/patch-src_Makefile
index 0b68ea8e6ca6..a4107daadbc1 100644
--- a/multimedia/harvid/files/patch-src_Makefile
+++ b/multimedia/harvid/files/patch-src_Makefile
@@ -1,13 +1,13 @@
---- src/Makefile.orig 2018-02-24 09:51:55 UTC
+--- src/Makefile.orig 2023-03-15 09:34:19 UTC
+++ src/Makefile
-@@ -16,9 +16,9 @@ ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONF
+@@ -16,9 +16,9 @@ ifeq ($(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) pkg-c
$(error "libpng is required - install libpng-dev")
endif
--ifeq ($(shell $(ECHO) "\#include <stdio.h>\n\#include <jpeglib.h>\nint main() { struct jpeg_error_mgr jerr; jpeg_std_error(&jerr); return 0; }" | $(CC) -pipe -x c -o $(CONFIGTEMP) $(ARCHINCLUDES) $(LDFLAGS) - -ljpeg 2>/dev/null || echo no; $(RM) -f $(CONFIGTEMP)), no)
+-ifeq ($(shell $(CC) ../misc/jpeg-test.c -o $(CONFIGTEMP) $(ARCHINCLUDES) $(LDFLAGS) -ljpeg 2>/dev/null || echo no; $(RM) -f $(CONFIGTEMP)), no)
- $(error "libjpeg is required - install libjpeg-dev, libjpeg8-dev or libjpeg62-dev")
-endif
-+#ifeq ($(shell $(ECHO) "\#include <stdio.h>\n\#include <jpeglib.h>\nint main() { struct jpeg_error_mgr jerr; jpeg_std_error(&jerr); return 0; }" | $(CC) -pipe -x c -o $(CONFIGTEMP) $(ARCHINCLUDES) $(LDFLAGS) - -ljpeg 2>/dev/null || echo no; $(RM) -f $(CONFIGTEMP)), no)
++#ifeq ($(shell $(CC) ../misc/jpeg-test.c -o $(CONFIGTEMP) $(ARCHINCLUDES) $(LDFLAGS) -ljpeg 2>/dev/null || echo no; $(RM) -f $(CONFIGTEMP)), no)
+# $(error "libjpeg is required - install libjpeg-dev, libjpeg8-dev or libjpeg62-dev")
+#endif
diff --git a/multimedia/harvid/pkg-descr b/multimedia/harvid/pkg-descr
index 359b1582ad26..e578786fcbc7 100644
--- a/multimedia/harvid/pkg-descr
+++ b/multimedia/harvid/pkg-descr
@@ -2,5 +2,3 @@ Harvid efficiently provides frame-accurate data and acts as second level
cache for rendering the video-timeline in Ardour, but it is not limited to
that: it has applications for any task that requires a high-performance
frame-accurate online image extraction processor.
-
-WWW: http://x42.github.io/harvid/
diff --git a/multimedia/helvum/Makefile b/multimedia/helvum/Makefile
index 978dc0fa38bf..de2c27aed5b2 100644
--- a/multimedia/helvum/Makefile
+++ b/multimedia/helvum/Makefile
@@ -1,166 +1,46 @@
PORTNAME= helvum
-DISTVERSION= 0.3.4
-PORTREVISION= 3
+DISTVERSION= 0.5.1
+PORTREVISION= 6
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= GTK patchbay for PipeWire
+WWW= https://gitlab.freedesktop.org/ryuukyu/helvum
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= llvm${LLVM_DEFAULT}>0:devel/llvm${LLVM_DEFAULT}
LIB_DEPENDS= libgraphene-1.0.so:graphics/graphene \
libpipewire-0.3.so:multimedia/pipewire
-USES= cargo desktop-file-utils gnome meson pkgconfig
+USES= cargo gnome llvm meson pkgconfig
USE_GITLAB= yes
-USE_GNOME= cairo gtk40
+USE_GNOME= cairo gtk40 libadwaita
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= ryuukyu
-GL_COMMIT= 094681637ec8f9f2acdb993230e10da88aa3fedb
MAKE_ENV= ${CARGO_ENV}
-PLIST_FILES= bin/${PORTNAME}
-
-CARGO_CRATES= aho-corasick-0.7.15 \
- ansi_term-0.12.1 \
- anyhow-1.0.53 \
- arrayvec-0.5.2 \
- atty-0.2.14 \
- autocfg-1.0.1 \
- bindgen-0.59.2 \
- bitflags-1.3.2 \
- bitvec-0.19.6 \
- cairo-rs-0.15.1 \
- cairo-sys-rs-0.15.1 \
- cc-1.0.72 \
- cexpr-0.6.0 \
- cfg-expr-0.8.1 \
- cfg-expr-0.9.1 \
- cfg-if-0.1.10 \
- cfg-if-1.0.0 \
- clang-sys-1.3.0 \
- clap-2.34.0 \
- cookie-factory-0.3.2 \
- either-1.6.1 \
- env_logger-0.9.0 \
- errno-0.2.8 \
- errno-dragonfly-0.1.2 \
- field-offset-0.3.4 \
- funty-1.1.0 \
- futures-channel-0.3.19 \
- futures-core-0.3.19 \
- futures-executor-0.3.19 \
- futures-io-0.3.19 \
- futures-task-0.3.19 \
- futures-util-0.3.19 \
- gdk-pixbuf-0.15.4 \
- gdk-pixbuf-sys-0.15.1 \
- gdk4-0.4.6 \
- gdk4-sys-0.4.2 \
- gio-0.15.4 \
- gio-sys-0.15.4 \
- glib-0.15.4 \
- glib-macros-0.15.3 \
- glib-sys-0.15.4 \
- glob-0.3.0 \
- gobject-sys-0.15.1 \
- graphene-rs-0.15.1 \
- graphene-sys-0.15.1 \
- gsk4-0.4.6 \
- gsk4-sys-0.4.2 \
- gtk4-0.4.6 \
- gtk4-macros-0.4.3 \
- gtk4-sys-0.4.5 \
- heck-0.3.3 \
- heck-0.4.0 \
- hermit-abi-0.1.19 \
- humantime-2.1.0 \
- itertools-0.10.3 \
- lazy_static-1.4.0 \
- lazycell-1.3.0 \
- lexical-core-0.7.6 \
- libc-0.2.116 \
- libloading-0.7.3 \
- libspa-0.4.1 \
- libspa-sys-0.4.1 \
- log-0.4.14 \
- memchr-2.3.4 \
- memoffset-0.6.5 \
- minimal-lexical-0.2.1 \
- nix-0.14.1 \
- nom-6.2.1 \
- nom-7.1.0 \
- once_cell-1.9.0 \
- pango-0.15.2 \
- pango-sys-0.15.1 \
- peeking_take_while-0.1.2 \
- pest-2.1.3 \
- pin-project-lite-0.2.8 \
- pin-utils-0.1.0 \
- pipewire-0.4.1 \
- pipewire-sys-0.4.1 \
- pkg-config-0.3.24 \
- proc-macro-crate-1.1.0 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
- proc-macro2-1.0.36 \
- quote-1.0.15 \
- radium-0.5.3 \
- regex-1.4.6 \
- regex-syntax-0.6.25 \
- rustc-hash-1.1.0 \
- rustc_version-0.3.3 \
- ryu-1.0.9 \
- semver-0.11.0 \
- semver-parser-0.10.2 \
- serde-1.0.136 \
- shlex-1.1.0 \
- signal-0.7.0 \
- slab-0.4.5 \
- smallvec-1.8.0 \
- static_assertions-1.1.0 \
- strsim-0.8.0 \
- strum-0.21.0 \
- strum_macros-0.21.1 \
- syn-1.0.86 \
- system-deps-3.2.0 \
- system-deps-6.0.1 \
- tap-1.0.1 \
- termcolor-1.1.2 \
- textwrap-0.11.0 \
- thiserror-1.0.30 \
- thiserror-impl-1.0.30 \
- toml-0.5.8 \
- ucd-trie-0.1.3 \
- unicode-segmentation-1.8.0 \
- unicode-width-0.1.9 \
- unicode-xid-0.2.2 \
- vec_map-0.8.2 \
- version-compare-0.0.11 \
- version-compare-0.1.0 \
- version_check-0.9.4 \
- void-1.0.2 \
- which-4.2.4 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- wyz-0.2.0
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_TEST= no
+PLIST_FILES= bin/${PORTNAME} \
+ share/applications/org.pipewire.Helvum.desktop \
+ share/icons/hicolor/scalable/apps/org.pipewire.Helvum.svg \
+ share/icons/hicolor/symbolic/apps/org.pipewire.Helvum-symbolic.svg \
+ share/metainfo/org.pipewire.Helvum.metainfo.xml
post-patch:
- @${REINPLACE_CMD} -e 's,"llvm-config,&${LLVM_DEFAULT},' \
- ${WRKSRC}/cargo-crates/clang-sys-*/build/common.rs \
- ${WRKSRC}/cargo-crates/clang-sys-*/src/support.rs
+ @${REINPLACE_CMD} -e 's,"llvm-config,"${LLVM_CONFIG},' \
+ ${WRKSRC_crate_clang-sys}/build/common.rs \
+ ${WRKSRC_crate_clang-sys}/src/support.rs
+ @${REINPLACE_CMD} -e '/update_desktop_database/d' \
+ ${WRKSRC}/meson.build
# Make each cargo subcommand very verbose
+# Add explicit <triple> subdir for --target from USES=cargo
@${REINPLACE_CMD} -e "/cargo_options =/s/ '--/&verbose', &verbose', &/" \
+ -e "/cp/s,'src',& / '${CARGO_BUILD_TARGET}'," \
${WRKSRC}/src/meson.build
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} != FreeBSD || ${OSVERSION} < 1300134
-LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim
-LDFLAGS+= -lepoll-shim
-.endif
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
.include <bsd.port.mk>
diff --git a/multimedia/helvum/Makefile.crates b/multimedia/helvum/Makefile.crates
new file mode 100644
index 000000000000..349c344fbd17
--- /dev/null
+++ b/multimedia/helvum/Makefile.crates
@@ -0,0 +1,103 @@
+CARGO_CRATES= aho-corasick-1.1.1 \
+ anyhow-1.0.75 \
+ autocfg-1.1.0 \
+ bindgen-0.66.1 \
+ bitflags-1.3.2 \
+ bitflags-2.4.0 \
+ cairo-rs-0.18.2 \
+ cairo-sys-rs-0.18.2 \
+ cc-1.0.83 \
+ cexpr-0.6.0 \
+ cfg-expr-0.15.5 \
+ cfg-if-1.0.0 \
+ clang-sys-1.6.1 \
+ convert_case-0.6.0 \
+ cookie-factory-0.3.2 \
+ equivalent-1.0.1 \
+ field-offset-0.3.6 \
+ futures-channel-0.3.28 \
+ futures-core-0.3.28 \
+ futures-executor-0.3.28 \
+ futures-io-0.3.28 \
+ futures-macro-0.3.28 \
+ futures-task-0.3.28 \
+ futures-util-0.3.28 \
+ gdk-pixbuf-0.18.0 \
+ gdk-pixbuf-sys-0.18.0 \
+ gdk4-0.7.3 \
+ gdk4-sys-0.7.2 \
+ gio-0.18.2 \
+ gio-sys-0.18.1 \
+ glib-0.18.2 \
+ glib-macros-0.18.2 \
+ glib-sys-0.18.1 \
+ glob-0.3.1 \
+ gobject-sys-0.18.0 \
+ graphene-rs-0.18.1 \
+ graphene-sys-0.18.1 \
+ gsk4-0.7.3 \
+ gsk4-sys-0.7.3 \
+ gtk4-0.7.3 \
+ gtk4-macros-0.7.2 \
+ gtk4-sys-0.7.3 \
+ hashbrown-0.14.0 \
+ heck-0.4.1 \
+ indexmap-2.0.1 \
+ lazy_static-1.4.0 \
+ lazycell-1.3.0 \
+ libadwaita-0.5.3 \
+ libadwaita-sys-0.5.3 \
+ libc-0.2.148 \
+ libloading-0.7.4 \
+ libspa-0.7.2 \
+ libspa-sys-0.7.2 \
+ log-0.4.20 \
+ memchr-2.6.3 \
+ memoffset-0.7.1 \
+ memoffset-0.9.0 \
+ minimal-lexical-0.2.1 \
+ nix-0.26.4 \
+ nom-7.1.3 \
+ once_cell-1.18.0 \
+ pango-0.18.0 \
+ pango-sys-0.18.0 \
+ peeking_take_while-0.1.2 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ pipewire-0.7.2 \
+ pipewire-sys-0.7.2 \
+ pkg-config-0.3.27 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro2-1.0.67 \
+ quote-1.0.33 \
+ regex-1.9.5 \
+ regex-automata-0.3.8 \
+ regex-syntax-0.7.5 \
+ rustc-hash-1.1.0 \
+ rustc_version-0.4.0 \
+ semver-1.0.19 \
+ serde-1.0.188 \
+ serde_derive-1.0.188 \
+ serde_spanned-0.6.3 \
+ shlex-1.2.0 \
+ slab-0.4.9 \
+ smallvec-1.11.1 \
+ syn-1.0.109 \
+ syn-2.0.37 \
+ system-deps-6.1.1 \
+ target-lexicon-0.12.11 \
+ thiserror-1.0.49 \
+ thiserror-impl-1.0.49 \
+ toml-0.7.8 \
+ toml_datetime-0.6.3 \
+ toml_edit-0.19.15 \
+ unicode-ident-1.0.12 \
+ unicode-segmentation-1.10.1 \
+ version-compare-0.1.1 \
+ version_check-0.9.4 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ winnow-0.5.15
diff --git a/multimedia/helvum/distinfo b/multimedia/helvum/distinfo
index 82d01b4983e0..720a29eec7ba 100644
--- a/multimedia/helvum/distinfo
+++ b/multimedia/helvum/distinfo
@@ -1,253 +1,209 @@
-TIMESTAMP = 1643792892
-SHA256 (rust/crates/aho-corasick-0.7.15.crate) = 7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5
-SIZE (rust/crates/aho-corasick-0.7.15.crate) = 113071
-SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
-SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
-SHA256 (rust/crates/anyhow-1.0.53.crate) = 94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0
-SIZE (rust/crates/anyhow-1.0.53.crate) = 44233
-SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
-SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
-SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (rust/crates/bindgen-0.59.2.crate) = 2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8
-SIZE (rust/crates/bindgen-0.59.2.crate) = 206267
+TIMESTAMP = 1695903180
+SHA256 (rust/crates/aho-corasick-1.1.1.crate) = ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab
+SIZE (rust/crates/aho-corasick-1.1.1.crate) = 182812
+SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
+SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bindgen-0.66.1.crate) = f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7
+SIZE (rust/crates/bindgen-0.66.1.crate) = 218860
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitvec-0.19.6.crate) = 55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33
-SIZE (rust/crates/bitvec-0.19.6.crate) = 147956
-SHA256 (rust/crates/cairo-rs-0.15.1.crate) = b869e97a87170f96762f9f178eae8c461147e722ba21dd8814105bf5716bf14a
-SIZE (rust/crates/cairo-rs-0.15.1.crate) = 48370
-SHA256 (rust/crates/cairo-sys-rs-0.15.1.crate) = 3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8
-SIZE (rust/crates/cairo-sys-rs-0.15.1.crate) = 11280
-SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
-SIZE (rust/crates/cc-1.0.72.crate) = 57495
+SHA256 (rust/crates/bitflags-2.4.0.crate) = b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635
+SIZE (rust/crates/bitflags-2.4.0.crate) = 36954
+SHA256 (rust/crates/cairo-rs-0.18.2.crate) = 1c0466dfa8c0ee78deef390c274ad756801e0a6dbb86c5ef0924a298c5761c4d
+SIZE (rust/crates/cairo-rs-0.18.2.crate) = 54200
+SHA256 (rust/crates/cairo-sys-rs-0.18.2.crate) = 685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51
+SIZE (rust/crates/cairo-sys-rs-0.18.2.crate) = 11855
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
-SHA256 (rust/crates/cfg-expr-0.8.1.crate) = b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e
-SIZE (rust/crates/cfg-expr-0.8.1.crate) = 34539
-SHA256 (rust/crates/cfg-expr-0.9.1.crate) = 3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7
-SIZE (rust/crates/cfg-expr-0.9.1.crate) = 37363
-SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
-SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-expr-0.15.5.crate) = 03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3
+SIZE (rust/crates/cfg-expr-0.15.5.crate) = 41639
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/clang-sys-1.3.0.crate) = fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90
-SIZE (rust/crates/clang-sys-1.3.0.crate) = 37713
-SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
-SIZE (rust/crates/clap-2.34.0.crate) = 202210
+SHA256 (rust/crates/clang-sys-1.6.1.crate) = c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f
+SIZE (rust/crates/clang-sys-1.6.1.crate) = 41346
+SHA256 (rust/crates/convert_case-0.6.0.crate) = ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca
+SIZE (rust/crates/convert_case-0.6.0.crate) = 18675
SHA256 (rust/crates/cookie-factory-0.3.2.crate) = 396de984970346b0d9e93d1415082923c679e5ae5c3ee3dcbd104f5610af126b
SIZE (rust/crates/cookie-factory-0.3.2.crate) = 14325
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
-SHA256 (rust/crates/env_logger-0.9.0.crate) = 0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3
-SIZE (rust/crates/env_logger-0.9.0.crate) = 33573
-SHA256 (rust/crates/errno-0.2.8.crate) = f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1
-SIZE (rust/crates/errno-0.2.8.crate) = 9276
-SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
-SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
-SHA256 (rust/crates/field-offset-0.3.4.crate) = 1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92
-SIZE (rust/crates/field-offset-0.3.4.crate) = 6046
-SHA256 (rust/crates/funty-1.1.0.crate) = fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7
-SIZE (rust/crates/funty-1.1.0.crate) = 11631
-SHA256 (rust/crates/futures-channel-0.3.19.crate) = ba3dda0b6588335f360afc675d0564c17a77a2bda81ca178a4b6081bd86c7f0b
-SIZE (rust/crates/futures-channel-0.3.19.crate) = 31940
-SHA256 (rust/crates/futures-core-0.3.19.crate) = d0c8ff0461b82559810cdccfde3215c3f373807f5e5232b71479bff7bb2583d7
-SIZE (rust/crates/futures-core-0.3.19.crate) = 14666
-SHA256 (rust/crates/futures-executor-0.3.19.crate) = 29d6d2ff5bb10fb95c85b8ce46538a2e5f5e7fdc755623a7d4529ab8a4ed9d2a
-SIZE (rust/crates/futures-executor-0.3.19.crate) = 17286
-SHA256 (rust/crates/futures-io-0.3.19.crate) = b1f9d34af5a1aac6fb380f735fe510746c38067c5bf16c7fd250280503c971b2
-SIZE (rust/crates/futures-io-0.3.19.crate) = 8901
-SHA256 (rust/crates/futures-task-0.3.19.crate) = 6ee7c6485c30167ce4dfb83ac568a849fe53274c831081476ee13e0dce1aad72
-SIZE (rust/crates/futures-task-0.3.19.crate) = 11894
-SHA256 (rust/crates/futures-util-0.3.19.crate) = d9b5cf40b47a271f77a8b1bec03ca09044d99d2372c0de244e66430761127164
-SIZE (rust/crates/futures-util-0.3.19.crate) = 149240
-SHA256 (rust/crates/gdk-pixbuf-0.15.4.crate) = 73aa2f5de1b45710da90a55863276667dc3a3264aaf6a2aeace62bb015244d49
-SIZE (rust/crates/gdk-pixbuf-0.15.4.crate) = 15237
-SHA256 (rust/crates/gdk-pixbuf-sys-0.15.1.crate) = 413424d9818621fa3cfc8a3a915cdb89a7c3c507d56761b4ec83a9a98e587171
-SIZE (rust/crates/gdk-pixbuf-sys-0.15.1.crate) = 9870
-SHA256 (rust/crates/gdk4-0.4.6.crate) = d9df40006277ff44538fe758400fc671146f6f2665978b6b57d2408db3c2becf
-SIZE (rust/crates/gdk4-0.4.6.crate) = 85067
-SHA256 (rust/crates/gdk4-sys-0.4.2.crate) = 48a39e34abe35ee2cf54a1e29dd983accecd113ad30bdead5050418fa92f2a1b
-SIZE (rust/crates/gdk4-sys-0.4.2.crate) = 63630
-SHA256 (rust/crates/gio-0.15.4.crate) = 56f906022fe89505b4e7b6c59a62d4ca3c090904f286cf61f1b245afcb20897d
-SIZE (rust/crates/gio-0.15.4.crate) = 188752
-SHA256 (rust/crates/gio-sys-0.15.4.crate) = 97225e1b9c7c48ed7fec4377fdc72702965bfbfd3a944b928ccbb5d8ed82ccc9
-SIZE (rust/crates/gio-sys-0.15.4.crate) = 79247
-SHA256 (rust/crates/glib-0.15.4.crate) = e385b6c17a1add7d0fbc64d38e2e742346d3e8b22e5fa3734e5cdca2be24028d
-SIZE (rust/crates/glib-0.15.4.crate) = 195190
-SHA256 (rust/crates/glib-macros-0.15.3.crate) = e58b262ff65ef771003873cea8c10e0fe854f1c508d48d62a4111a1ff163f7d1
-SIZE (rust/crates/glib-macros-0.15.3.crate) = 27245
-SHA256 (rust/crates/glib-sys-0.15.4.crate) = 0c4f08dd67f74b223fedbbb30e73145b9acd444e67cc4d77d0598659b7eebe7e
-SIZE (rust/crates/glib-sys-0.15.4.crate) = 59856
-SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
-SIZE (rust/crates/glob-0.3.0.crate) = 18724
-SHA256 (rust/crates/gobject-sys-0.15.1.crate) = 6edb1f0b3e4c08e2a0a490d1082ba9e902cdff8ff07091e85c6caec60d17e2ab
-SIZE (rust/crates/gobject-sys-0.15.1.crate) = 17589
-SHA256 (rust/crates/graphene-rs-0.15.1.crate) = 7c54f9fbbeefdb62c99f892dfca35f83991e2cb5b46a8dc2a715e58612f85570
-SIZE (rust/crates/graphene-rs-0.15.1.crate) = 17651
-SHA256 (rust/crates/graphene-sys-0.15.1.crate) = 03f311acb023cf7af5537f35de028e03706136eead7f25a31e8fd26f5011e0b3
-SIZE (rust/crates/graphene-sys-0.15.1.crate) = 11456
-SHA256 (rust/crates/gsk4-0.4.6.crate) = 1bf63d454e2f75abd92ee6de0ac9fc5aaf1018cd9c458aaf9de296c5cbab6bb9
-SIZE (rust/crates/gsk4-0.4.6.crate) = 24241
-SHA256 (rust/crates/gsk4-sys-0.4.2.crate) = e31d21d7ce02ba261bb24c50c4ab238a10b41a2c97c32afffae29471b7cca69b
-SIZE (rust/crates/gsk4-sys-0.4.2.crate) = 11817
-SHA256 (rust/crates/gtk4-0.4.6.crate) = 9e841556e3fe55d8a43ada76b7b08a5f65570bbdfe3b8f72c333053b8832c626
-SIZE (rust/crates/gtk4-0.4.6.crate) = 529740
-SHA256 (rust/crates/gtk4-macros-0.4.3.crate) = 573db42bb64973a4d5f718b73caa7204285a1a665308a23b11723d0ee56ec305
-SIZE (rust/crates/gtk4-macros-0.4.3.crate) = 10116
-SHA256 (rust/crates/gtk4-sys-0.4.5.crate) = c47c075e8f795c38f6e9a47b51a73eab77b325f83c0154979ed4d4245c36490d
-SIZE (rust/crates/gtk4-sys-0.4.5.crate) = 99876
-SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (rust/crates/heck-0.3.3.crate) = 10260
-SHA256 (rust/crates/heck-0.4.0.crate) = 2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9
-SIZE (rust/crates/heck-0.4.0.crate) = 11161
-SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
-SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
-SIZE (rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
-SIZE (rust/crates/itertools-0.10.3.crate) = 118661
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
+SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
+SHA256 (rust/crates/futures-channel-0.3.28.crate) = 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2
+SIZE (rust/crates/futures-channel-0.3.28.crate) = 32281
+SHA256 (rust/crates/futures-core-0.3.28.crate) = 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c
+SIZE (rust/crates/futures-core-0.3.28.crate) = 14780
+SHA256 (rust/crates/futures-executor-0.3.28.crate) = ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0
+SIZE (rust/crates/futures-executor-0.3.28.crate) = 17743
+SHA256 (rust/crates/futures-io-0.3.28.crate) = 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964
+SIZE (rust/crates/futures-io-0.3.28.crate) = 8910
+SHA256 (rust/crates/futures-macro-0.3.28.crate) = 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72
+SIZE (rust/crates/futures-macro-0.3.28.crate) = 11272
+SHA256 (rust/crates/futures-task-0.3.28.crate) = 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65
+SIZE (rust/crates/futures-task-0.3.28.crate) = 11848
+SHA256 (rust/crates/futures-util-0.3.28.crate) = 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533
+SIZE (rust/crates/futures-util-0.3.28.crate) = 158510
+SHA256 (rust/crates/gdk-pixbuf-0.18.0.crate) = bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3
+SIZE (rust/crates/gdk-pixbuf-0.18.0.crate) = 18173
+SHA256 (rust/crates/gdk-pixbuf-sys-0.18.0.crate) = 3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7
+SIZE (rust/crates/gdk-pixbuf-sys-0.18.0.crate) = 9674
+SHA256 (rust/crates/gdk4-0.7.3.crate) = 7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6
+SIZE (rust/crates/gdk4-0.7.3.crate) = 88832
+SHA256 (rust/crates/gdk4-sys-0.7.2.crate) = dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0
+SIZE (rust/crates/gdk4-sys-0.7.2.crate) = 64775
+SHA256 (rust/crates/gio-0.18.2.crate) = 57052f84e8e5999b258e8adf8f5f2af0ac69033864936b8b6838321db2f759b1
+SIZE (rust/crates/gio-0.18.2.crate) = 205555
+SHA256 (rust/crates/gio-sys-0.18.1.crate) = 37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2
+SIZE (rust/crates/gio-sys-0.18.1.crate) = 81369
+SHA256 (rust/crates/glib-0.18.2.crate) = 1c316afb01ce8067c5eaab1fc4f2cd47dc21ce7b6296358605e2ffab23ccbd19
+SIZE (rust/crates/glib-0.18.2.crate) = 267214
+SHA256 (rust/crates/glib-macros-0.18.2.crate) = f8da903822b136d42360518653fcf154455defc437d3e7a81475bf9a95ff1e47
+SIZE (rust/crates/glib-macros-0.18.2.crate) = 50855
+SHA256 (rust/crates/glib-sys-0.18.1.crate) = 063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898
+SIZE (rust/crates/glib-sys-0.18.1.crate) = 60464
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/gobject-sys-0.18.0.crate) = 0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44
+SIZE (rust/crates/gobject-sys-0.18.0.crate) = 18699
+SHA256 (rust/crates/graphene-rs-0.18.1.crate) = 3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401
+SIZE (rust/crates/graphene-rs-0.18.1.crate) = 17724
+SHA256 (rust/crates/graphene-sys-0.18.1.crate) = cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59
+SIZE (rust/crates/graphene-sys-0.18.1.crate) = 11573
+SHA256 (rust/crates/gsk4-0.7.3.crate) = 0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e
+SIZE (rust/crates/gsk4-0.7.3.crate) = 33660
+SHA256 (rust/crates/gsk4-sys-0.7.3.crate) = 12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55
+SIZE (rust/crates/gsk4-sys-0.7.3.crate) = 15050
+SHA256 (rust/crates/gtk4-0.7.3.crate) = 5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842
+SIZE (rust/crates/gtk4-0.7.3.crate) = 468953
+SHA256 (rust/crates/gtk4-macros-0.7.2.crate) = d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f
+SIZE (rust/crates/gtk4-macros-0.7.2.crate) = 16770
+SHA256 (rust/crates/gtk4-sys-0.7.3.crate) = 54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8
+SIZE (rust/crates/gtk4-sys-0.7.3.crate) = 106028
+SHA256 (rust/crates/hashbrown-0.14.0.crate) = 2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a
+SIZE (rust/crates/hashbrown-0.14.0.crate) = 116103
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/indexmap-2.0.1.crate) = ad227c3af19d4914570ad36d30409928b75967c298feb9ea1969db3a610bb14e
+SIZE (rust/crates/indexmap-2.0.1.crate) = 64305
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
-SHA256 (rust/crates/lexical-core-0.7.6.crate) = 6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe
-SIZE (rust/crates/lexical-core-0.7.6.crate) = 494385
-SHA256 (rust/crates/libc-0.2.116.crate) = 565dbd88872dbe4cc8a46e527f26483c1d1f7afa6b884a3bd6cd893d4f98da74
-SIZE (rust/crates/libc-0.2.116.crate) = 566648
-SHA256 (rust/crates/libloading-0.7.3.crate) = efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd
-SIZE (rust/crates/libloading-0.7.3.crate) = 27378
-SHA256 (rust/crates/libspa-0.4.1.crate) = aeb373e8b03740369c5fe48a557c6408b6898982d57e17940de144375d472743
-SIZE (rust/crates/libspa-0.4.1.crate) = 32491
-SHA256 (rust/crates/libspa-sys-0.4.1.crate) = d301a2fc2fed0a97c13836408a4d98f419af0c2695ecf74e634a214c17beefa6
-SIZE (rust/crates/libspa-sys-0.4.1.crate) = 2603
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
-SHA256 (rust/crates/memchr-2.3.4.crate) = 0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525
-SIZE (rust/crates/memchr-2.3.4.crate) = 23077
-SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
-SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
+SHA256 (rust/crates/libadwaita-0.5.3.crate) = 2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c
+SIZE (rust/crates/libadwaita-0.5.3.crate) = 100024
+SHA256 (rust/crates/libadwaita-sys-0.5.3.crate) = 5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a
+SIZE (rust/crates/libadwaita-sys-0.5.3.crate) = 24713
+SHA256 (rust/crates/libc-0.2.148.crate) = 9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b
+SIZE (rust/crates/libc-0.2.148.crate) = 690988
+SHA256 (rust/crates/libloading-0.7.4.crate) = b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f
+SIZE (rust/crates/libloading-0.7.4.crate) = 27580
+SHA256 (rust/crates/libspa-0.7.2.crate) = 0434617020ddca18b86067912970c55410ca654cdafd775480322f50b857a8c4
+SIZE (rust/crates/libspa-0.7.2.crate) = 54357
+SHA256 (rust/crates/libspa-sys-0.7.2.crate) = b3e70ca3f3e70f858ef363046d06178c427b4e0b63d210c95fd87d752679d345
+SIZE (rust/crates/libspa-sys-0.7.2.crate) = 10156
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/memchr-2.6.3.crate) = 8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c
+SIZE (rust/crates/memchr-2.6.3.crate) = 94377
+SHA256 (rust/crates/memoffset-0.7.1.crate) = 5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4
+SIZE (rust/crates/memoffset-0.7.1.crate) = 8556
+SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
+SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
-SHA256 (rust/crates/nix-0.14.1.crate) = 6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce
-SIZE (rust/crates/nix-0.14.1.crate) = 185227
-SHA256 (rust/crates/nom-6.2.1.crate) = 9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6
-SIZE (rust/crates/nom-6.2.1.crate) = 148362
-SHA256 (rust/crates/nom-7.1.0.crate) = 1b1d11e1ef389c76fe5b81bcaf2ea32cf88b62bc494e19f493d0b30e7a930109
-SIZE (rust/crates/nom-7.1.0.crate) = 115647
-SHA256 (rust/crates/once_cell-1.9.0.crate) = da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5
-SIZE (rust/crates/once_cell-1.9.0.crate) = 30702
-SHA256 (rust/crates/pango-0.15.2.crate) = 79211eff430c29cc38c69e0ab54bc78fa1568121ca9737707eee7f92a8417a94
-SIZE (rust/crates/pango-0.15.2.crate) = 43604
-SHA256 (rust/crates/pango-sys-0.15.1.crate) = 7022c2fb88cd2d9d55e1a708a8c53a3ae8678234c4a54bf623400aeb7f31fac2
-SIZE (rust/crates/pango-sys-0.15.1.crate) = 24709
+SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b
+SIZE (rust/crates/nix-0.26.4.crate) = 279099
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
+SHA256 (rust/crates/pango-0.18.0.crate) = 06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1
+SIZE (rust/crates/pango-0.18.0.crate) = 47499
+SHA256 (rust/crates/pango-sys-0.18.0.crate) = 436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5
+SIZE (rust/crates/pango-sys-0.18.0.crate) = 24709
SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
-SHA256 (rust/crates/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
-SIZE (rust/crates/pest-2.1.3.crate) = 77986
-SHA256 (rust/crates/pin-project-lite-0.2.8.crate) = e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c
-SIZE (rust/crates/pin-project-lite-0.2.8.crate) = 27847
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pipewire-0.4.1.crate) = 5de050d879e7b8d9313429ec314b88b26fe48ba29a6ecc3bc8289d3673fee6c8
-SIZE (rust/crates/pipewire-0.4.1.crate) = 36546
-SHA256 (rust/crates/pipewire-sys-0.4.1.crate) = 9b4aa5ef9f3afef7dbb335106f69bd6bb541259e8796c693810cde20db1eb949
-SIZE (rust/crates/pipewire-sys-0.4.1.crate) = 2297
-SHA256 (rust/crates/pkg-config-0.3.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe
-SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489
-SHA256 (rust/crates/proc-macro-crate-1.1.0.crate) = 1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83
-SIZE (rust/crates/proc-macro-crate-1.1.0.crate) = 8535
+SHA256 (rust/crates/pipewire-0.7.2.crate) = a2d009c8dd65e890b515a71950f7e4c801523b8894ff33863a40830bf762e9e9
+SIZE (rust/crates/pipewire-0.7.2.crate) = 46643
+SHA256 (rust/crates/pipewire-sys-0.7.2.crate) = 890c084e7b737246cb4799c86b71a0e4da536031ff7473dd639eba9f95039f64
+SIZE (rust/crates/pipewire-sys-0.7.2.crate) = 3009
+SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
+SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
-SHA256 (rust/crates/proc-macro2-1.0.36.crate) = c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029
-SIZE (rust/crates/proc-macro2-1.0.36.crate) = 41411
-SHA256 (rust/crates/quote-1.0.15.crate) = 864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145
-SIZE (rust/crates/quote-1.0.15.crate) = 27281
-SHA256 (rust/crates/radium-0.5.3.crate) = 941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8
-SIZE (rust/crates/radium-0.5.3.crate) = 7588
-SHA256 (rust/crates/regex-1.4.6.crate) = 2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759
-SIZE (rust/crates/regex-1.4.6.crate) = 242248
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
+SHA256 (rust/crates/proc-macro2-1.0.67.crate) = 3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328
+SIZE (rust/crates/proc-macro2-1.0.67.crate) = 43683
+SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
+SIZE (rust/crates/quote-1.0.33.crate) = 28090
+SHA256 (rust/crates/regex-1.9.5.crate) = 697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47
+SIZE (rust/crates/regex-1.9.5.crate) = 253883
+SHA256 (rust/crates/regex-automata-0.3.8.crate) = c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795
+SIZE (rust/crates/regex-automata-0.3.8.crate) = 610113
+SHA256 (rust/crates/regex-syntax-0.7.5.crate) = dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da
+SIZE (rust/crates/regex-syntax-0.7.5.crate) = 343366
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
-SHA256 (rust/crates/rustc_version-0.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
-SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
-SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
-SIZE (rust/crates/ryu-1.0.9.crate) = 48391
-SHA256 (rust/crates/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
-SIZE (rust/crates/semver-0.11.0.crate) = 20826
-SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
-SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
-SHA256 (rust/crates/serde-1.0.136.crate) = ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789
-SIZE (rust/crates/serde-1.0.136.crate) = 76158
-SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
-SIZE (rust/crates/shlex-1.1.0.crate) = 5199
-SHA256 (rust/crates/signal-0.7.0.crate) = 2f6ce83b159ab6984d2419f495134972b48754d13ff2e3f8c998339942b56ed9
-SIZE (rust/crates/signal-0.7.0.crate) = 11974
-SHA256 (rust/crates/slab-0.4.5.crate) = 9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5
-SIZE (rust/crates/slab-0.4.5.crate) = 15888
-SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
-SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
-SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
-SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
-SIZE (rust/crates/strsim-0.8.0.crate) = 9309
-SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
-SIZE (rust/crates/strum-0.21.0.crate) = 5296
-SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
-SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
-SHA256 (rust/crates/syn-1.0.86.crate) = 8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b
-SIZE (rust/crates/syn-1.0.86.crate) = 235126
-SHA256 (rust/crates/system-deps-3.2.0.crate) = 480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6
-SIZE (rust/crates/system-deps-3.2.0.crate) = 21476
-SHA256 (rust/crates/system-deps-6.0.1.crate) = ad3a97fdef3daf935d929b3e97e5a6a680cd4622e40c2941ca0875d6566416f8
-SIZE (rust/crates/system-deps-6.0.1.crate) = 22873
-SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
-SIZE (rust/crates/tap-1.0.1.crate) = 11316
-SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
-SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
-SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
-SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
-SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
-SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
-SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
-SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.crate) = 54219
-SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
-SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
-SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
-SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
-SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
-SHA256 (rust/crates/version-compare-0.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
-SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
-SHA256 (rust/crates/version-compare-0.1.0.crate) = fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73
-SIZE (rust/crates/version-compare-0.1.0.crate) = 14169
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/semver-1.0.19.crate) = ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0
+SIZE (rust/crates/semver-1.0.19.crate) = 30027
+SHA256 (rust/crates/serde-1.0.188.crate) = cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e
+SIZE (rust/crates/serde-1.0.188.crate) = 76230
+SHA256 (rust/crates/serde_derive-1.0.188.crate) = 4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2
+SIZE (rust/crates/serde_derive-1.0.188.crate) = 55563
+SHA256 (rust/crates/serde_spanned-0.6.3.crate) = 96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186
+SIZE (rust/crates/serde_spanned-0.6.3.crate) = 7737
+SHA256 (rust/crates/shlex-1.2.0.crate) = a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380
+SIZE (rust/crates/shlex-1.2.0.crate) = 6584
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.11.1.crate) = 942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a
+SIZE (rust/crates/smallvec-1.11.1.crate) = 34831
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.37.crate) = 7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8
+SIZE (rust/crates/syn-2.0.37.crate) = 243250
+SHA256 (rust/crates/system-deps-6.1.1.crate) = 30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3
+SIZE (rust/crates/system-deps-6.1.1.crate) = 24171
+SHA256 (rust/crates/target-lexicon-0.12.11.crate) = 9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a
+SIZE (rust/crates/target-lexicon-0.12.11.crate) = 24594
+SHA256 (rust/crates/thiserror-1.0.49.crate) = 1177e8c6d7ede7afde3585fd2513e611227efd6481bd78d2e82ba1ce16557ed4
+SIZE (rust/crates/thiserror-1.0.49.crate) = 18912
+SHA256 (rust/crates/thiserror-impl-1.0.49.crate) = 10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc
+SIZE (rust/crates/thiserror-impl-1.0.49.crate) = 15101
+SHA256 (rust/crates/toml-0.7.8.crate) = dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257
+SIZE (rust/crates/toml-0.7.8.crate) = 49671
+SHA256 (rust/crates/toml_datetime-0.6.3.crate) = 7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b
+SIZE (rust/crates/toml_datetime-0.6.3.crate) = 10770
+SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421
+SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-segmentation-1.10.1.crate) = 1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36
+SIZE (rust/crates/unicode-segmentation-1.10.1.crate) = 98416
+SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29
+SIZE (rust/crates/version-compare-0.1.1.crate) = 13224
SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
SIZE (rust/crates/version_check-0.9.4.crate) = 14895
-SHA256 (rust/crates/void-1.0.2.crate) = 6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d
-SIZE (rust/crates/void-1.0.2.crate) = 2356
-SHA256 (rust/crates/which-4.2.4.crate) = 2a5a7e487e921cf220206864a94a89b6c6905bfc19f1057fa26a4cb360e5c1d2
-SIZE (rust/crates/which-4.2.4.crate) = 9259
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/wyz-0.2.0.crate) = 85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214
-SIZE (rust/crates/wyz-0.2.0.crate) = 12926
-SHA256 (ryuukyu-helvum-094681637ec8f9f2acdb993230e10da88aa3fedb_GL0.tar.gz) = a35b353227be21dde5af9a11dad4479311c6260e7c447fecdba006ba47822758
-SIZE (ryuukyu-helvum-094681637ec8f9f2acdb993230e10da88aa3fedb_GL0.tar.gz) = 130635
+SHA256 (rust/crates/winnow-0.5.15.crate) = 7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc
+SIZE (rust/crates/winnow-0.5.15.crate) = 145621
+SHA256 (helvum-0.5.1.tar.bz2) = d4f5cc0c3a70a91edfc816f12a10426dadd9ca74ea82662e2df5e6c4eb31d8ca
+SIZE (helvum-0.5.1.tar.bz2) = 165923
diff --git a/multimedia/helvum/files/patch-pipewire-i386 b/multimedia/helvum/files/patch-pipewire-i386
new file mode 100644
index 000000000000..45037451bfc2
--- /dev/null
+++ b/multimedia/helvum/files/patch-pipewire-i386
@@ -0,0 +1,53 @@
+https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/commit/ff923ee9dfe0
+
+error[E0308]: mismatched types
+ --> cargo-crates/libspa-0.7.2/src/pod/parser.rs:180:75
+ |
+180 | let res = spa_sys::spa_pod_parser_get_long(self.as_raw_ptr(), long.as_mut_ptr());
+ | -------------------------------- ^^^^^^^^^^^^^^^^^ expected `*mut i64`, found `*mut i32`
+ | |
+ | arguments to this function are incorrect
+ |
+ = note: expected raw pointer `*mut i64`
+ found raw pointer `*mut i32`
+note: function defined here
+ --> cargo-crates/libspa-sys-0.7.2/src/pod/parser.rs:61:12
+ |
+61 | pub fn spa_pod_parser_get_long(parser: *mut spa_pod_parser, value: *mut i64) -> c_int;
+ | ^^^^^^^^^^^^^^^^^^^^^^^
+
+--- cargo-crates/libspa-0.7.2/src/pod/parser.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/libspa-0.7.2/src/pod/parser.rs
+@@ -2,7 +2,7 @@ use std::{
+ // SPDX-License-Identifier: MIT
+
+ use std::{
+- ffi::{c_char, c_double, c_float, c_int, c_long, c_void, CStr},
++ ffi::{c_char, c_double, c_float, c_void, CStr},
+ marker::PhantomData,
+ mem::MaybeUninit,
+ };
+@@ -162,9 +162,9 @@ impl<'d> Parser<'d> {
+ }
+ }
+
+- pub fn get_int(&mut self) -> Result<c_int, Errno> {
++ pub fn get_int(&mut self) -> Result<i32, Errno> {
+ unsafe {
+- let mut int: MaybeUninit<c_int> = MaybeUninit::uninit();
++ let mut int: MaybeUninit<i32> = MaybeUninit::uninit();
+ let res = spa_sys::spa_pod_parser_get_int(self.as_raw_ptr(), int.as_mut_ptr());
+ if res >= 0 {
+ Ok(int.assume_init())
+@@ -174,9 +174,9 @@ impl<'d> Parser<'d> {
+ }
+ }
+
+- pub fn get_long(&mut self) -> Result<c_long, Errno> {
++ pub fn get_long(&mut self) -> Result<i64, Errno> {
+ unsafe {
+- let mut long: MaybeUninit<c_long> = MaybeUninit::uninit();
++ let mut long: MaybeUninit<i64> = MaybeUninit::uninit();
+ let res = spa_sys::spa_pod_parser_get_long(self.as_raw_ptr(), long.as_mut_ptr());
+ if res >= 0 {
+ Ok(long.assume_init())
diff --git a/multimedia/helvum/files/patch-pipewire_32bit b/multimedia/helvum/files/patch-pipewire_32bit
deleted file mode 100644
index c163976525bc..000000000000
--- a/multimedia/helvum/files/patch-pipewire_32bit
+++ /dev/null
@@ -1,27 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/merge_requests/108
-
-error[E0277]: the trait bound `i32: From<u32>` is not satisfied
- --> cargo-crates/pipewire-0.4.1/src/loop_.rs:414:50
- |
-414 | tv_nsec: duration.subsec_nanos().into(),
- | ^^^^ the trait `From<u32>` is not implemented for `i32`
- |
- = help: the following implementations were found:
- <i32 as From<NonZeroI32>>
- <i32 as From<bool>>
- <i32 as From<i16>>
- <i32 as From<i8>>
- and 3 others
- = note: required because of the requirements on the impl of `Into<i32>` for `u32`
-
---- cargo-crates/pipewire-0.4.1/src/loop_.rs.orig 1973-11-29 21:33:09 UTC
-+++ cargo-crates/pipewire-0.4.1/src/loop_.rs
-@@ -411,7 +411,7 @@ where
- fn duration_to_timespec(duration: Duration) -> spa_sys::timespec {
- spa_sys::timespec {
- tv_sec: duration.as_secs().try_into().expect("Duration too long"),
-- tv_nsec: duration.subsec_nanos().into(),
-+ tv_nsec: duration.subsec_nanos() as libc::c_long,
- }
- }
-
diff --git a/multimedia/helvum/files/patch-pipewire_eventfd b/multimedia/helvum/files/patch-pipewire_eventfd
deleted file mode 100644
index 98f0eb26b222..000000000000
--- a/multimedia/helvum/files/patch-pipewire_eventfd
+++ /dev/null
@@ -1,29 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/commit/f1dd2f9f3086
-
-error[E0425]: cannot find function `eventfd` in crate `libc`
- --> cargo-crates/pipewire-0.4.1/src/channel.rs:220:34
- |
-220 | let eventfd = unsafe { libc::eventfd(0, libc::EFD_CLOEXEC) };
- | ^^^^^^^ not found in `libc`
-
-
---- cargo-crates/pipewire-0.4.1/src/channel.rs.orig 1973-11-29 21:33:09 UTC
-+++ cargo-crates/pipewire-0.4.1/src/channel.rs
-@@ -217,7 +217,17 @@ where
- {
- // Manually open an eventfd that we can use to signal the loop thread to check for messages
- // via an IoSource.
-+ #[cfg(target_os = "linux")]
- let eventfd = unsafe { libc::eventfd(0, libc::EFD_CLOEXEC) };
-+ #[cfg(target_os = "freebsd")]
-+ let eventfd = {
-+ // Added in FreeBSD 13, libc crate doesn't target that yet
-+ use std::os::raw::{c_int, c_uint};
-+ extern "C" {
-+ pub fn eventfd(name: c_uint, flags: c_int) -> c_int;
-+ }
-+ unsafe { eventfd(0, 0x00100000) }
-+ };
- if eventfd == -1 {
- panic!("Failed to create eventfd: {}", errno::errno())
- }
diff --git a/multimedia/helvum/files/patch-pipewire_init b/multimedia/helvum/files/patch-pipewire_init
index 93aaa506357a..cfb035de43d9 100644
--- a/multimedia/helvum/files/patch-pipewire_init
+++ b/multimedia/helvum/files/patch-pipewire_init
@@ -14,9 +14,9 @@ error[E0425]: cannot find function `pw_deinit` in crate `pw_sys`
165 | pw_sys::pw_deinit()
| ^^^^^^^^^ not found in `pw_sys`
---- cargo-crates/pipewire-0.4.1/src/lib.rs.orig 1973-11-29 21:33:09 UTC
-+++ cargo-crates/pipewire-0.4.1/src/lib.rs
-@@ -153,7 +153,7 @@ pub mod prelude {
+--- cargo-crates/pipewire-0.7.2/src/lib.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/pipewire-0.7.2/src/lib.rs
+@@ -152,7 +152,7 @@ pub fn init() {
pub fn init() {
use once_cell::sync::OnceCell;
static INITIALIZED: OnceCell<()> = OnceCell::new();
@@ -25,7 +25,7 @@ error[E0425]: cannot find function `pw_deinit` in crate `pw_sys`
}
/// Deinitialize PipeWire
-@@ -162,7 +162,7 @@ pub fn init() {
+@@ -161,7 +161,7 @@ pub unsafe fn deinit() {
/// This must only be called once during the lifetime of the process, once no PipeWire threads
/// are running anymore and all PipeWire resources are released.
pub unsafe fn deinit() {
@@ -34,8 +34,8 @@ error[E0425]: cannot find function `pw_deinit` in crate `pw_sys`
}
#[cfg(test)]
---- cargo-crates/pipewire-sys-0.4.1/build.rs.orig 1973-11-29 21:33:09 UTC
-+++ cargo-crates/pipewire-sys-0.4.1/build.rs
+--- cargo-crates/pipewire-sys-0.7.2/build.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/pipewire-sys-0.7.2/build.rs
@@ -19,6 +19,7 @@ fn main() {
// included header files changed.
.parse_callbacks(Box::new(bindgen::CargoCallbacks))
@@ -44,8 +44,8 @@ error[E0425]: cannot find function `pw_deinit` in crate `pw_sys`
.allowlist_function("pw_.*")
.allowlist_type("pw_.*")
.allowlist_var("pw_.*")
---- cargo-crates/pipewire-sys-0.4.1/src/lib.rs.orig 1973-11-29 21:33:09 UTC
-+++ cargo-crates/pipewire-sys-0.4.1/src/lib.rs
+--- cargo-crates/pipewire-sys-0.7.2/src/lib.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/pipewire-sys-0.7.2/src/lib.rs
@@ -20,8 +20,8 @@ mod tests {
#[test]
fn init() {
diff --git a/multimedia/helvum/pkg-descr b/multimedia/helvum/pkg-descr
index 616311600b12..2bb6a32e589d 100644
--- a/multimedia/helvum/pkg-descr
+++ b/multimedia/helvum/pkg-descr
@@ -1,3 +1 @@
Helvum is a GTK-based patchbay for PipeWire, inspired by Catia for JACK.
-
-WWW: https://gitlab.freedesktop.org/ryuukyu/helvum
diff --git a/multimedia/hypnotix/Makefile b/multimedia/hypnotix/Makefile
index 77b2c1d17f1f..70107182b478 100644
--- a/multimedia/hypnotix/Makefile
+++ b/multimedia/hypnotix/Makefile
@@ -1,10 +1,11 @@
PORTNAME= hypnotix
-DISTVERSION= 1.4
-PORTREVISION= 1
+DISTVERSION= 2.9
+PORTREVISION= 4
CATEGORIES= multimedia
MAINTAINER= mistresssilvara@hotmail.com
COMMENT= IPTV streaming application using mpv
+WWW= https://github.com/linuxmint/hypnotix
LICENSE= GPLv3 PD
LICENSE_COMB= multi
@@ -14,9 +15,10 @@ LIB_DEPENDS= libmpv.so:multimedia/mpv \
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gobject3>0:devel/py-gobject3@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}imdbpy>0:www/py-imdbpy@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}setproctitle>0:devel/py-setproctitle@${PY_FLAVOR}
+ ${PYTHON_PKGNAMEPREFIX}setproctitle>0:devel/py-setproctitle@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}unidecode>0:converters/py-unidecode@${PY_FLAVOR}
-USES= python:3.6+ shebangfix gnome
+USES= python shebangfix gnome
USE_GNOME= gtk30 glib20 gdkpixbuf2 pango
GLIB_SCHEMAS= org.x.hypnotix.gschema.xml
diff --git a/multimedia/hypnotix/distinfo b/multimedia/hypnotix/distinfo
index b6ae55eade82..5660f6ecc413 100644
--- a/multimedia/hypnotix/distinfo
+++ b/multimedia/hypnotix/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1612905899
-SHA256 (linuxmint-hypnotix-1.4_GH0.tar.gz) = d5ebe0f959b11647f98fba8dcdf6ead8b595dbf43e3b44554b7af7fa82d127cf
-SIZE (linuxmint-hypnotix-1.4_GH0.tar.gz) = 2220636
+TIMESTAMP = 1667534762
+SHA256 (linuxmint-hypnotix-2.9_GH0.tar.gz) = b5ae90bdec7b0d9d78bac2143f2130a04aad4789575325e8ab490cbb1c444408
+SIZE (linuxmint-hypnotix-2.9_GH0.tar.gz) = 155040
diff --git a/multimedia/hypnotix/pkg-descr b/multimedia/hypnotix/pkg-descr
index 23422ed2f426..4dfd1eac5160 100644
--- a/multimedia/hypnotix/pkg-descr
+++ b/multimedia/hypnotix/pkg-descr
@@ -6,5 +6,3 @@ It can support multiple IPTV providers of the following types:
* M3U URL
* Xtream API
* Local M3U playlist
-
-WWW: https://github.com/linuxmint/hypnotix
diff --git a/multimedia/hypnotix/pkg-plist b/multimedia/hypnotix/pkg-plist
index cd1bb343abac..94535a80d73a 100644
--- a/multimedia/hypnotix/pkg-plist
+++ b/multimedia/hypnotix/pkg-plist
@@ -2,163 +2,192 @@
lib/hypnotix/common.py
@(,,755) lib/hypnotix/hypnotix.py
lib/hypnotix/mpv.py
+lib/hypnotix/xtream.py
share/applications/hypnotix.desktop
+share/icons/hicolor/scalable/apps/hypnotix.svg
%%DATADIR%%/generic_tv_logo.png
%%DATADIR%%/hypnotix.css
%%DATADIR%%/hypnotix.ui
-%%DATADIR%%/pictures/badges/afghanistan.png
-%%DATADIR%%/pictures/badges/albania.png
-%%DATADIR%%/pictures/badges/algeria.png
-%%DATADIR%%/pictures/badges/andora.png
-%%DATADIR%%/pictures/badges/angola.png
-%%DATADIR%%/pictures/badges/argentina.png
-%%DATADIR%%/pictures/badges/armenia.png
-%%DATADIR%%/pictures/badges/australia.png
-%%DATADIR%%/pictures/badges/austria.png
-%%DATADIR%%/pictures/badges/bahrain.png
-%%DATADIR%%/pictures/badges/bangladesh.png
-%%DATADIR%%/pictures/badges/barbados.png
-%%DATADIR%%/pictures/badges/belgium.png
-%%DATADIR%%/pictures/badges/bostwana.png
-%%DATADIR%%/pictures/badges/brazil.png
-%%DATADIR%%/pictures/badges/bulgaria.png
-%%DATADIR%%/pictures/badges/cameroon.png
-%%DATADIR%%/pictures/badges/canada.png
-%%DATADIR%%/pictures/badges/chile.png
-%%DATADIR%%/pictures/badges/china.png
-%%DATADIR%%/pictures/badges/colombia.png
-%%DATADIR%%/pictures/badges/costarica.png
-%%DATADIR%%/pictures/badges/croatia.png
-%%DATADIR%%/pictures/badges/cuba.png
-%%DATADIR%%/pictures/badges/cyprus.png
-%%DATADIR%%/pictures/badges/czech.png
-%%DATADIR%%/pictures/badges/denmark.png
-%%DATADIR%%/pictures/badges/ecuador.png
-%%DATADIR%%/pictures/badges/egypt.png
-%%DATADIR%%/pictures/badges/esperanto.png
-%%DATADIR%%/pictures/badges/estonia.png
-%%DATADIR%%/pictures/badges/ethiopia.png
-%%DATADIR%%/pictures/badges/europe.png
-%%DATADIR%%/pictures/badges/finland.png
-%%DATADIR%%/pictures/badges/france.png
-%%DATADIR%%/pictures/badges/georgia.png
-%%DATADIR%%/pictures/badges/germany.png
-%%DATADIR%%/pictures/badges/ghana.png
-%%DATADIR%%/pictures/badges/greece.png
-%%DATADIR%%/pictures/badges/honduras.png
-%%DATADIR%%/pictures/badges/hongkong.png
-%%DATADIR%%/pictures/badges/hungary.png
-%%DATADIR%%/pictures/badges/iceland.png
-%%DATADIR%%/pictures/badges/india.png
-%%DATADIR%%/pictures/badges/indonesia.png
-%%DATADIR%%/pictures/badges/irak.png
-%%DATADIR%%/pictures/badges/iran.png
-%%DATADIR%%/pictures/badges/ireland.png
-%%DATADIR%%/pictures/badges/israel.png
-%%DATADIR%%/pictures/badges/italy.png
-%%DATADIR%%/pictures/badges/ivory.png
-%%DATADIR%%/pictures/badges/jamaica.png
-%%DATADIR%%/pictures/badges/japan.png
-%%DATADIR%%/pictures/badges/kenya.png
-%%DATADIR%%/pictures/badges/korea.png
-%%DATADIR%%/pictures/badges/koweit.png
-%%DATADIR%%/pictures/badges/laos.png
-%%DATADIR%%/pictures/badges/latvia.png
-%%DATADIR%%/pictures/badges/lebanon.png
-%%DATADIR%%/pictures/badges/liechtenstein.png
-%%DATADIR%%/pictures/badges/lithuania.png
-%%DATADIR%%/pictures/badges/luxembourg.png
-%%DATADIR%%/pictures/badges/lybia.png
-%%DATADIR%%/pictures/badges/malaysia.png
-%%DATADIR%%/pictures/badges/malta.png
-%%DATADIR%%/pictures/badges/mexico.png
-%%DATADIR%%/pictures/badges/morocco.png
-%%DATADIR%%/pictures/badges/movies.png
-%%DATADIR%%/pictures/badges/mozambique.png
-%%DATADIR%%/pictures/badges/music.png
-%%DATADIR%%/pictures/badges/namibia.png
-%%DATADIR%%/pictures/badges/nepal.png
-%%DATADIR%%/pictures/badges/netherlands.png
-%%DATADIR%%/pictures/badges/newzealand.png
-%%DATADIR%%/pictures/badges/nicaragua.png
-%%DATADIR%%/pictures/badges/nigeria.png
-%%DATADIR%%/pictures/badges/norway.png
-%%DATADIR%%/pictures/badges/pakistan.png
-%%DATADIR%%/pictures/badges/panama.png
-%%DATADIR%%/pictures/badges/paraguay.png
-%%DATADIR%%/pictures/badges/peru.png
-%%DATADIR%%/pictures/badges/philippines.png
-%%DATADIR%%/pictures/badges/poland.png
-%%DATADIR%%/pictures/badges/portugal.png
-%%DATADIR%%/pictures/badges/romania.png
-%%DATADIR%%/pictures/badges/russia.png
-%%DATADIR%%/pictures/badges/rw.png
-%%DATADIR%%/pictures/badges/saudi.png
-%%DATADIR%%/pictures/badges/scotland.png
-%%DATADIR%%/pictures/badges/senegal.png
-%%DATADIR%%/pictures/badges/serbia.png
-%%DATADIR%%/pictures/badges/singapore.png
-%%DATADIR%%/pictures/badges/slovakia.png
-%%DATADIR%%/pictures/badges/slovenia.png
-%%DATADIR%%/pictures/badges/south-africa.png
-%%DATADIR%%/pictures/badges/spain.png
-%%DATADIR%%/pictures/badges/sweden.png
-%%DATADIR%%/pictures/badges/switzerland.png
-%%DATADIR%%/pictures/badges/syria.png
-%%DATADIR%%/pictures/badges/taiwan.png
-%%DATADIR%%/pictures/badges/tanzania.png
-%%DATADIR%%/pictures/badges/thailand.png
-%%DATADIR%%/pictures/badges/togo.png
-%%DATADIR%%/pictures/badges/tunisia.png
-%%DATADIR%%/pictures/badges/turkey.png
-%%DATADIR%%/pictures/badges/uganda.png
-%%DATADIR%%/pictures/badges/uk.png
-%%DATADIR%%/pictures/badges/ukraine.png
-%%DATADIR%%/pictures/badges/uruguay.png
-%%DATADIR%%/pictures/badges/usa.png
-%%DATADIR%%/pictures/badges/uzbekistan.png
-%%DATADIR%%/pictures/badges/venezuela.png
-%%DATADIR%%/pictures/badges/vietnam.png
-%%DATADIR%%/pictures/badges/wales.png
-%%DATADIR%%/pictures/badges/yemen.png
-%%DATADIR%%/pictures/badges/zambia.png
-%%DATADIR%%/pictures/badges/zimbabwe.png
+%%DATADIR%%/pictures/badges/afghanistan.svg
+%%DATADIR%%/pictures/badges/albania.svg
+%%DATADIR%%/pictures/badges/algeria.svg
+%%DATADIR%%/pictures/badges/andorra.svg
+%%DATADIR%%/pictures/badges/angola.svg
+%%DATADIR%%/pictures/badges/argentina.svg
+%%DATADIR%%/pictures/badges/armenia.svg
+%%DATADIR%%/pictures/badges/australia.svg
+%%DATADIR%%/pictures/badges/austria.svg
+%%DATADIR%%/pictures/badges/bahrain.svg
+%%DATADIR%%/pictures/badges/bangladesh.svg
+%%DATADIR%%/pictures/badges/barbados.svg
+%%DATADIR%%/pictures/badges/belarus.svg
+%%DATADIR%%/pictures/badges/belgium.svg
+%%DATADIR%%/pictures/badges/botswana.svg
+%%DATADIR%%/pictures/badges/brazil.svg
+%%DATADIR%%/pictures/badges/bulgaria.svg
+%%DATADIR%%/pictures/badges/cameroon.svg
+%%DATADIR%%/pictures/badges/canada.svg
+%%DATADIR%%/pictures/badges/chile.svg
+%%DATADIR%%/pictures/badges/china.svg
+%%DATADIR%%/pictures/badges/colombia.svg
+%%DATADIR%%/pictures/badges/costarica.svg
+%%DATADIR%%/pictures/badges/croatia.svg
+%%DATADIR%%/pictures/badges/cuba.svg
+%%DATADIR%%/pictures/badges/cyprus.svg
+%%DATADIR%%/pictures/badges/czech.svg
+%%DATADIR%%/pictures/badges/de.svg
+%%DATADIR%%/pictures/badges/denmark.svg
+%%DATADIR%%/pictures/badges/ecuador.svg
+%%DATADIR%%/pictures/badges/egypt.svg
+%%DATADIR%%/pictures/badges/en.svg
+%%DATADIR%%/pictures/badges/es.svg
+%%DATADIR%%/pictures/badges/esperanto.svg
+%%DATADIR%%/pictures/badges/estonia.svg
+%%DATADIR%%/pictures/badges/ethiopia.svg
+%%DATADIR%%/pictures/badges/europe.svg
+%%DATADIR%%/pictures/badges/finland.svg
+%%DATADIR%%/pictures/badges/fr.svg
+%%DATADIR%%/pictures/badges/france.svg
+%%DATADIR%%/pictures/badges/georgia.svg
+%%DATADIR%%/pictures/badges/germany.svg
+%%DATADIR%%/pictures/badges/ghana.svg
+%%DATADIR%%/pictures/badges/greece.svg
+%%DATADIR%%/pictures/badges/honduras.svg
+%%DATADIR%%/pictures/badges/hongkong.svg
+%%DATADIR%%/pictures/badges/hungary.svg
+%%DATADIR%%/pictures/badges/iceland.svg
+%%DATADIR%%/pictures/badges/india.svg
+%%DATADIR%%/pictures/badges/indonesia.svg
+%%DATADIR%%/pictures/badges/irak.svg
+%%DATADIR%%/pictures/badges/iran.svg
+%%DATADIR%%/pictures/badges/iraq.svg
+%%DATADIR%%/pictures/badges/ireland.svg
+%%DATADIR%%/pictures/badges/israel.svg
+%%DATADIR%%/pictures/badges/it.svg
+%%DATADIR%%/pictures/badges/italy.svg
+%%DATADIR%%/pictures/badges/ivory.svg
+%%DATADIR%%/pictures/badges/jamaica.svg
+%%DATADIR%%/pictures/badges/japan.svg
+%%DATADIR%%/pictures/badges/kenya.svg
+%%DATADIR%%/pictures/badges/korea.svg
+%%DATADIR%%/pictures/badges/kuweit.svg
+%%DATADIR%%/pictures/badges/laos.svg
+%%DATADIR%%/pictures/badges/latvia.svg
+%%DATADIR%%/pictures/badges/lebanon.svg
+%%DATADIR%%/pictures/badges/liechtenstein.svg
+%%DATADIR%%/pictures/badges/lithuania.svg
+%%DATADIR%%/pictures/badges/luxembourg.svg
+%%DATADIR%%/pictures/badges/lybia.svg
+%%DATADIR%%/pictures/badges/malaysia.svg
+%%DATADIR%%/pictures/badges/malta.svg
+%%DATADIR%%/pictures/badges/marino.svg
+%%DATADIR%%/pictures/badges/mexico.svg
+%%DATADIR%%/pictures/badges/monaco.svg
+%%DATADIR%%/pictures/badges/morocco.svg
+%%DATADIR%%/pictures/badges/movies.svg
+%%DATADIR%%/pictures/badges/mozambique.svg
+%%DATADIR%%/pictures/badges/music.svg
+%%DATADIR%%/pictures/badges/namibia.svg
+%%DATADIR%%/pictures/badges/nepal.svg
+%%DATADIR%%/pictures/badges/netherlands.svg
+%%DATADIR%%/pictures/badges/news.svg
+%%DATADIR%%/pictures/badges/newzealand.svg
+%%DATADIR%%/pictures/badges/nicaragua.svg
+%%DATADIR%%/pictures/badges/nigeria.svg
+%%DATADIR%%/pictures/badges/norway.svg
+%%DATADIR%%/pictures/badges/pakistan.svg
+%%DATADIR%%/pictures/badges/panama.svg
+%%DATADIR%%/pictures/badges/paraguay.svg
+%%DATADIR%%/pictures/badges/peru.svg
+%%DATADIR%%/pictures/badges/philippines.svg
+%%DATADIR%%/pictures/badges/poland.svg
+%%DATADIR%%/pictures/badges/portugal.svg
+%%DATADIR%%/pictures/badges/README
+%%DATADIR%%/pictures/badges/romania.svg
+%%DATADIR%%/pictures/badges/russia.svg
+%%DATADIR%%/pictures/badges/rw.svg
+%%DATADIR%%/pictures/badges/saudi.svg
+%%DATADIR%%/pictures/badges/scotland.svg
+%%DATADIR%%/pictures/badges/senegal.svg
+%%DATADIR%%/pictures/badges/serbia.svg
+%%DATADIR%%/pictures/badges/singapore.svg
+%%DATADIR%%/pictures/badges/slovakia.svg
+%%DATADIR%%/pictures/badges/slovenia.svg
+%%DATADIR%%/pictures/badges/south-africa.svg
+%%DATADIR%%/pictures/badges/spain.svg
+%%DATADIR%%/pictures/badges/sweden.svg
+%%DATADIR%%/pictures/badges/switzerland.svg
+%%DATADIR%%/pictures/badges/syria.svg
+%%DATADIR%%/pictures/badges/taiwan.svg
+%%DATADIR%%/pictures/badges/tanzania.svg
+%%DATADIR%%/pictures/badges/thailand.svg
+%%DATADIR%%/pictures/badges/togo.svg
+%%DATADIR%%/pictures/badges/tunisia.svg
+%%DATADIR%%/pictures/badges/turkey.svg
+%%DATADIR%%/pictures/badges/uganda.svg
+%%DATADIR%%/pictures/badges/uk.svg
+%%DATADIR%%/pictures/badges/ukraine.svg
+%%DATADIR%%/pictures/badges/uruguay.svg
+%%DATADIR%%/pictures/badges/usa.svg
+%%DATADIR%%/pictures/badges/uzbekistan.svg
+%%DATADIR%%/pictures/badges/venezuela.svg
+%%DATADIR%%/pictures/badges/vietnam.svg
+%%DATADIR%%/pictures/badges/wales.svg
+%%DATADIR%%/pictures/badges/yemen.svg
+%%DATADIR%%/pictures/badges/zambia.svg
+%%DATADIR%%/pictures/badges/zimbabwe.svg
%%DATADIR%%/pictures/movies.svg
%%DATADIR%%/pictures/series.svg
%%DATADIR%%/pictures/tv.svg
%%DATADIR%%/shortcuts.ui
-share/icons/hicolor/scalable/apps/hypnotix.svg
%%NLS%%share/locale/am/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/ar/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/be/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/bg/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/ca/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/cs/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/cy/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/da/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/de/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/el/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/es/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/et/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/eu/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/fi/LC_MESSAGES/hypnotix.mo
-%%NLS%%share/locale/fr/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/fr_CA/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/he/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/hi/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/hr/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/hu/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/ia/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/id/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/ie/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/is/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/it/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/ja/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/kab/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/kn/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/ko/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/la/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/nl/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/oc/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/pl/LC_MESSAGES/hypnotix.mo
-%%NLS%%share/locale/pt/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/ro/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/ru/LC_MESSAGES/hypnotix.mo
-%%NLS%%share/locale/sr/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/sl/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/sq/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/sr@latin/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/sv/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/tr/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/uk/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/uz/LC_MESSAGES/hypnotix.mo
+%%NLS%%share/locale/vi/LC_MESSAGES/hypnotix.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/hypnotix.mo
diff --git a/multimedia/imagination/Makefile b/multimedia/imagination/Makefile
deleted file mode 100644
index e05e6b2caa4d..000000000000
--- a/multimedia/imagination/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# Created by: Jesse <jessefrgsmith@yahoo.ca>
-
-PORTNAME= imagination
-PORTVERSION= 3.0
-PORTREVISION= 13
-CATEGORIES= multimedia
-MASTER_SITES= SF
-
-MAINTAINER= jessefrgsmith@yahoo.ca
-COMMENT= DVD slideshow maker
-
-DEPRECATED= Obsolete, majority of DVD players made in the last 15+ years have been able to do image slideshows
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= libsox.so:audio/sox \
- libavcodec.so:multimedia/ffmpeg
-
-GNU_CONFIGURE= yes
-USES= gmake gnome libtool localbase pkgconfig
-USE_GNOME= gtk20 intltool libxslt
-INSTALL_TARGET= install-strip
-
-OPTIONS_DEFINE= NLS
-OPTIONS_SUB= yes
-NLS_CONFIGURE_ENABLE= nls
-NLS_USES= gettext
-NLS_USES_OFF= gettext-tools
-
-post-patch:
- @${REINPLACE_CMD} '/^SUBDIRS =/s/doc//' ${WRKSRC}/Makefile.in
- @${REINPLACE_CMD} '/^imagination_LDADD =/s/$$/ -lm/' \
- ${WRKSRC}/src/Makefile.in
-
-.include <bsd.port.mk>
diff --git a/multimedia/imagination/distinfo b/multimedia/imagination/distinfo
deleted file mode 100644
index aeb7a9f5f052..000000000000
--- a/multimedia/imagination/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (imagination-3.0.tar.gz) = 417d8586d9c85109b87d30b9c196d63531a637cbc2ffb3c12b48a873bfcb4b1e
-SIZE (imagination-3.0.tar.gz) = 3327784
diff --git a/multimedia/imagination/files/patch-configure b/multimedia/imagination/files/patch-configure
deleted file mode 100644
index 087578d6476c..000000000000
--- a/multimedia/imagination/files/patch-configure
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./configure.orig 2011-03-06 20:06:44.000000000 +0000
-+++ ./configure 2014-03-14 15:08:46.000000000 +0000
-@@ -12499,7 +12499,7 @@
-
- LIBTOOL="$LIBTOOL --silent"
-
--pkg_modules="gtk+-2.0 >= 2.14.0 gthread-2.0"
-+pkg_modules="gtk+-2.0 >= 2.14.0 gthread-2.0 gmodule-2.0"
-
-
-
-@@ -13029,7 +13029,7 @@
-
- fi
- fi
-- USE_NLS=yes
-+ #USE_NLS=yes
-
-
- gt_cv_have_gettext=no
diff --git a/multimedia/imagination/files/patch-use-plugins.h b/multimedia/imagination/files/patch-use-plugins.h
deleted file mode 100644
index 2afb0d4c8bb4..000000000000
--- a/multimedia/imagination/files/patch-use-plugins.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/support.h.orig 2014-02-11 08:51:06.175251265 +0100
-+++ src/support.h 2014-02-11 08:51:14.270248604 +0100
-@@ -20,7 +20,7 @@
- #ifndef __IMAGINATION_SUPPORT_H
- #define __IMAGINATION_SUPPORT_H
-
--#define PLUGINS_INSTALLED 0
-+#define PLUGINS_INSTALLED 1
-
- #ifdef HAVE_CONFIG_H
- # include <config.h>
diff --git a/multimedia/imagination/pkg-descr b/multimedia/imagination/pkg-descr
deleted file mode 100644
index 9995e098315c..000000000000
--- a/multimedia/imagination/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Imagination is a simple DVD slide show maker. It uses sox and ffmpeg
-to create slide shows containing images and audio tracks.
-
-WWW: http://imagination.sourceforge.net/
diff --git a/multimedia/imagination/pkg-plist b/multimedia/imagination/pkg-plist
deleted file mode 100644
index 74f0bd65f908..000000000000
--- a/multimedia/imagination/pkg-plist
+++ /dev/null
@@ -1,181 +0,0 @@
-bin/imagination
-lib/imagination/bar_wipe.so
-lib/imagination/barn_door_wipe.so
-lib/imagination/bow_tie_wipe.so
-lib/imagination/box_wipe.so
-lib/imagination/clock_wipe.so
-lib/imagination/diagonal_wipe.so
-lib/imagination/ellipse_wipe.so
-lib/imagination/four_box_wipe.so
-lib/imagination/insert.so
-lib/imagination/misc.so
-lib/imagination/misc_diagonal_wipe.so
-lib/imagination/misc_shape_wipe.so
-lib/imagination/push_wipe.so
-lib/imagination/rochade.so
-lib/imagination/wave.so
-share/applications/imagination.desktop
-share/icons/hicolor/16x16/apps/imagination.png
-share/icons/hicolor/24x24/apps/imagination.png
-share/icons/hicolor/48x48/apps/imagination.png
-share/icons/hicolor/scalable/apps/imagination.svg
-%%DATADIR%%/pixmaps/imagination-1.gif
-%%DATADIR%%/pixmaps/imagination-1.png
-%%DATADIR%%/pixmaps/imagination-10.gif
-%%DATADIR%%/pixmaps/imagination-10.png
-%%DATADIR%%/pixmaps/imagination-11.gif
-%%DATADIR%%/pixmaps/imagination-11.png
-%%DATADIR%%/pixmaps/imagination-12.gif
-%%DATADIR%%/pixmaps/imagination-12.png
-%%DATADIR%%/pixmaps/imagination-13.gif
-%%DATADIR%%/pixmaps/imagination-13.png
-%%DATADIR%%/pixmaps/imagination-14.gif
-%%DATADIR%%/pixmaps/imagination-14.png
-%%DATADIR%%/pixmaps/imagination-15.gif
-%%DATADIR%%/pixmaps/imagination-15.png
-%%DATADIR%%/pixmaps/imagination-16.gif
-%%DATADIR%%/pixmaps/imagination-16.png
-%%DATADIR%%/pixmaps/imagination-17.gif
-%%DATADIR%%/pixmaps/imagination-17.png
-%%DATADIR%%/pixmaps/imagination-18.gif
-%%DATADIR%%/pixmaps/imagination-18.png
-%%DATADIR%%/pixmaps/imagination-19.gif
-%%DATADIR%%/pixmaps/imagination-19.png
-%%DATADIR%%/pixmaps/imagination-2.gif
-%%DATADIR%%/pixmaps/imagination-2.png
-%%DATADIR%%/pixmaps/imagination-20.gif
-%%DATADIR%%/pixmaps/imagination-20.png
-%%DATADIR%%/pixmaps/imagination-21.gif
-%%DATADIR%%/pixmaps/imagination-21.png
-%%DATADIR%%/pixmaps/imagination-22.gif
-%%DATADIR%%/pixmaps/imagination-22.png
-%%DATADIR%%/pixmaps/imagination-23.gif
-%%DATADIR%%/pixmaps/imagination-23.png
-%%DATADIR%%/pixmaps/imagination-24.gif
-%%DATADIR%%/pixmaps/imagination-24.png
-%%DATADIR%%/pixmaps/imagination-25.gif
-%%DATADIR%%/pixmaps/imagination-25.png
-%%DATADIR%%/pixmaps/imagination-26.gif
-%%DATADIR%%/pixmaps/imagination-26.png
-%%DATADIR%%/pixmaps/imagination-27.gif
-%%DATADIR%%/pixmaps/imagination-27.png
-%%DATADIR%%/pixmaps/imagination-28.gif
-%%DATADIR%%/pixmaps/imagination-28.png
-%%DATADIR%%/pixmaps/imagination-29.gif
-%%DATADIR%%/pixmaps/imagination-29.png
-%%DATADIR%%/pixmaps/imagination-3.gif
-%%DATADIR%%/pixmaps/imagination-3.png
-%%DATADIR%%/pixmaps/imagination-32.gif
-%%DATADIR%%/pixmaps/imagination-32.png
-%%DATADIR%%/pixmaps/imagination-33.gif
-%%DATADIR%%/pixmaps/imagination-33.png
-%%DATADIR%%/pixmaps/imagination-34.gif
-%%DATADIR%%/pixmaps/imagination-34.png
-%%DATADIR%%/pixmaps/imagination-35.gif
-%%DATADIR%%/pixmaps/imagination-35.png
-%%DATADIR%%/pixmaps/imagination-36.gif
-%%DATADIR%%/pixmaps/imagination-36.png
-%%DATADIR%%/pixmaps/imagination-37.gif
-%%DATADIR%%/pixmaps/imagination-37.png
-%%DATADIR%%/pixmaps/imagination-38.gif
-%%DATADIR%%/pixmaps/imagination-38.png
-%%DATADIR%%/pixmaps/imagination-39.gif
-%%DATADIR%%/pixmaps/imagination-39.png
-%%DATADIR%%/pixmaps/imagination-4.gif
-%%DATADIR%%/pixmaps/imagination-4.png
-%%DATADIR%%/pixmaps/imagination-40.gif
-%%DATADIR%%/pixmaps/imagination-40.png
-%%DATADIR%%/pixmaps/imagination-41.gif
-%%DATADIR%%/pixmaps/imagination-41.png
-%%DATADIR%%/pixmaps/imagination-42.gif
-%%DATADIR%%/pixmaps/imagination-42.png
-%%DATADIR%%/pixmaps/imagination-43.gif
-%%DATADIR%%/pixmaps/imagination-43.png
-%%DATADIR%%/pixmaps/imagination-44.gif
-%%DATADIR%%/pixmaps/imagination-44.png
-%%DATADIR%%/pixmaps/imagination-45.gif
-%%DATADIR%%/pixmaps/imagination-45.png
-%%DATADIR%%/pixmaps/imagination-46.gif
-%%DATADIR%%/pixmaps/imagination-46.png
-%%DATADIR%%/pixmaps/imagination-47.gif
-%%DATADIR%%/pixmaps/imagination-47.png
-%%DATADIR%%/pixmaps/imagination-48.gif
-%%DATADIR%%/pixmaps/imagination-48.png
-%%DATADIR%%/pixmaps/imagination-49.gif
-%%DATADIR%%/pixmaps/imagination-49.png
-%%DATADIR%%/pixmaps/imagination-5.gif
-%%DATADIR%%/pixmaps/imagination-5.png
-%%DATADIR%%/pixmaps/imagination-50.gif
-%%DATADIR%%/pixmaps/imagination-50.png
-%%DATADIR%%/pixmaps/imagination-51.gif
-%%DATADIR%%/pixmaps/imagination-51.png
-%%DATADIR%%/pixmaps/imagination-52.gif
-%%DATADIR%%/pixmaps/imagination-52.png
-%%DATADIR%%/pixmaps/imagination-53.gif
-%%DATADIR%%/pixmaps/imagination-53.png
-%%DATADIR%%/pixmaps/imagination-54.gif
-%%DATADIR%%/pixmaps/imagination-54.png
-%%DATADIR%%/pixmaps/imagination-55.gif
-%%DATADIR%%/pixmaps/imagination-55.png
-%%DATADIR%%/pixmaps/imagination-56.gif
-%%DATADIR%%/pixmaps/imagination-56.png
-%%DATADIR%%/pixmaps/imagination-57.gif
-%%DATADIR%%/pixmaps/imagination-57.png
-%%DATADIR%%/pixmaps/imagination-58.gif
-%%DATADIR%%/pixmaps/imagination-58.png
-%%DATADIR%%/pixmaps/imagination-59.gif
-%%DATADIR%%/pixmaps/imagination-59.png
-%%DATADIR%%/pixmaps/imagination-6.gif
-%%DATADIR%%/pixmaps/imagination-6.png
-%%DATADIR%%/pixmaps/imagination-60.gif
-%%DATADIR%%/pixmaps/imagination-60.png
-%%DATADIR%%/pixmaps/imagination-61.gif
-%%DATADIR%%/pixmaps/imagination-61.png
-%%DATADIR%%/pixmaps/imagination-62.gif
-%%DATADIR%%/pixmaps/imagination-62.png
-%%DATADIR%%/pixmaps/imagination-63.gif
-%%DATADIR%%/pixmaps/imagination-63.png
-%%DATADIR%%/pixmaps/imagination-64.gif
-%%DATADIR%%/pixmaps/imagination-64.png
-%%DATADIR%%/pixmaps/imagination-65.gif
-%%DATADIR%%/pixmaps/imagination-65.png
-%%DATADIR%%/pixmaps/imagination-66.gif
-%%DATADIR%%/pixmaps/imagination-66.png
-%%DATADIR%%/pixmaps/imagination-67.gif
-%%DATADIR%%/pixmaps/imagination-67.png
-%%DATADIR%%/pixmaps/imagination-68.gif
-%%DATADIR%%/pixmaps/imagination-68.png
-%%DATADIR%%/pixmaps/imagination-69.gif
-%%DATADIR%%/pixmaps/imagination-69.png
-%%DATADIR%%/pixmaps/imagination-7.gif
-%%DATADIR%%/pixmaps/imagination-7.png
-%%DATADIR%%/pixmaps/imagination-70.gif
-%%DATADIR%%/pixmaps/imagination-70.png
-%%DATADIR%%/pixmaps/imagination-71.gif
-%%DATADIR%%/pixmaps/imagination-71.png
-%%DATADIR%%/pixmaps/imagination-8.gif
-%%DATADIR%%/pixmaps/imagination-8.png
-%%DATADIR%%/pixmaps/imagination-9.gif
-%%DATADIR%%/pixmaps/imagination-9.png
-%%DATADIR%%/pixmaps/imagination-add-new-slide.png
-%%DATADIR%%/pixmaps/imagination-file-not-found.png
-%%DATADIR%%/pixmaps/imagination-generate.png
-%%DATADIR%%/pixmaps/imagination-pos-0.png
-%%DATADIR%%/pixmaps/imagination-pos-1.png
-%%DATADIR%%/pixmaps/imagination-pos-2.png
-%%DATADIR%%/pixmaps/imagination-pos-3.png
-%%DATADIR%%/pixmaps/imagination-pos-4.png
-%%DATADIR%%/pixmaps/imagination-pos-5.png
-%%DATADIR%%/pixmaps/imagination-pos-6.png
-%%DATADIR%%/pixmaps/imagination-pos-7.png
-%%DATADIR%%/pixmaps/imagination-pos-8.png
-%%DATADIR%%/pixmaps/imagination-text.png
-%%NLS%%share/locale/cs/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/de/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/en_GB/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/fr/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/it/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/pt_BR/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/sv/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/imagination.mo
-%%NLS%%share/locale/zh_TW/LC_MESSAGES/imagination.mo
diff --git a/multimedia/intel-media-sdk/Makefile b/multimedia/intel-media-sdk/Makefile
index def9d9a849fd..0153117215d5 100644
--- a/multimedia/intel-media-sdk/Makefile
+++ b/multimedia/intel-media-sdk/Makefile
@@ -1,10 +1,11 @@
PORTNAME= intel-media-sdk
DISTVERSIONPREFIX= intel-mediasdk-
-DISTVERSION= 22.4.1
+DISTVERSION= 22.5.4
CATEGORIES= multimedia
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Hardware video decoding/encoding/filtering on Intel GPUs
+WWW= https://github.com/Intel-Media-SDK/MediaSDK
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/intel-media-sdk/distinfo b/multimedia/intel-media-sdk/distinfo
index 911761304157..c62548a5260f 100644
--- a/multimedia/intel-media-sdk/distinfo
+++ b/multimedia/intel-media-sdk/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650938041
-SHA256 (Intel-Media-SDK-MediaSDK-intel-mediasdk-22.4.1_GH0.tar.gz) = 4e53b750b1e5423c154a7abb56747a5892e27f3c848af8cc6692d208b9063360
-SIZE (Intel-Media-SDK-MediaSDK-intel-mediasdk-22.4.1_GH0.tar.gz) = 11656957
+TIMESTAMP = 1711037959
+SHA256 (Intel-Media-SDK-MediaSDK-intel-mediasdk-22.5.4_GH0.tar.gz) = 0eb04409a226da6e752576d60c46a3ec969ddfe03042897088367392207c7ab3
+SIZE (Intel-Media-SDK-MediaSDK-intel-mediasdk-22.5.4_GH0.tar.gz) = 11658475
diff --git a/multimedia/intel-media-sdk/pkg-descr b/multimedia/intel-media-sdk/pkg-descr
index 5b9892108c9f..9be141593d32 100644
--- a/multimedia/intel-media-sdk/pkg-descr
+++ b/multimedia/intel-media-sdk/pkg-descr
@@ -8,5 +8,3 @@ Supported video decoders: HEVC, AVC, VP8, VP9, MPEG-2, VC1, JPEG, AV1
Supported video pre-processing filters: Color Conversion, Deinterlace,
Denoise, Resize, Rotate, Composition
-
-WWW: http://mediasdk.intel.com/
diff --git a/multimedia/iriverter/Makefile b/multimedia/iriverter/Makefile
deleted file mode 100644
index 63cd4e97d17c..000000000000
--- a/multimedia/iriverter/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
-PORTNAME= iriverter
-PORTVERSION= 0.16
-PORTREVISION= 10
-CATEGORIES= multimedia java
-MASTER_SITES= SF
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Cross-platform frontend to mencoder
-
-DEPRECATED= Obsolete and unmaintained for 15+ years, please consider using multimedia/handbrake
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= ${JAVALIBDIR}/swt.jar:x11-toolkits/swt
-RUN_DEPENDS= ${JAVALIBDIR}/swt.jar:x11-toolkits/swt \
- mencoder:multimedia/mencoder
-
-USE_JAVA= yes
-GNU_CONFIGURE= yes
-USES= gmake tar:bzip2
-
-CONFIGURE_ARGS= --with-swt="${JAVALIBDIR}/swt.jar"
-
-.include <bsd.port.mk>
diff --git a/multimedia/iriverter/distinfo b/multimedia/iriverter/distinfo
deleted file mode 100644
index 9a8d7c11acad..000000000000
--- a/multimedia/iriverter/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (iriverter-0.16.tar.bz2) = 2a7aaad4cd6f57704b52c80305c0fa1fffdae4476c6f171e583d54db3baf5582
-SIZE (iriverter-0.16.tar.bz2) = 305237
diff --git a/multimedia/iriverter/pkg-descr b/multimedia/iriverter/pkg-descr
deleted file mode 100644
index eb9c739dbd58..000000000000
--- a/multimedia/iriverter/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-A cross-platform frontend to mencoder designed to facilitate the conversion
-of almost any video format to one that is playable on various multimedia
-players.
-
-WWW: http://iriverter.sourceforge.net/
diff --git a/multimedia/iriverter/pkg-plist b/multimedia/iriverter/pkg-plist
deleted file mode 100644
index 4efed3b96861..000000000000
--- a/multimedia/iriverter/pkg-plist
+++ /dev/null
@@ -1,36 +0,0 @@
-bin/iriverter
-share/applications/iriverter.desktop
-%%DATADIR%%/doc/html/advanced.html
-%%DATADIR%%/doc/html/index.html
-%%DATADIR%%/doc/html/installing.html
-%%DATADIR%%/doc/html/introduction.html
-%%DATADIR%%/doc/html/linux.html
-%%DATADIR%%/doc/html/options.html
-%%DATADIR%%/doc/html/osx.html
-%%DATADIR%%/doc/html/other.html
-%%DATADIR%%/doc/html/playing.html
-%%DATADIR%%/doc/html/troubleshooting.html
-%%DATADIR%%/doc/html/using.html
-%%DATADIR%%/doc/images/caution.gif
-%%DATADIR%%/doc/images/convert-24.png
-%%DATADIR%%/doc/images/directory-24.png
-%%DATADIR%%/doc/images/dvd-24.png
-%%DATADIR%%/doc/images/home.gif
-%%DATADIR%%/doc/images/important.gif
-%%DATADIR%%/doc/images/next.gif
-%%DATADIR%%/doc/images/note.gif
-%%DATADIR%%/doc/images/prev.gif
-%%DATADIR%%/doc/images/singlevideo-24.png
-%%DATADIR%%/doc/images/tip.gif
-%%DATADIR%%/doc/images/toc-blank.gif
-%%DATADIR%%/doc/images/toc-minus.gif
-%%DATADIR%%/doc/images/toc-plus.gif
-%%DATADIR%%/doc/images/up.gif
-%%DATADIR%%/doc/images/warning.gif
-%%DATADIR%%/lib/iriverter.jar
-%%DATADIR%%/profiles/h300.profile
-%%DATADIR%%/profiles/pmp.profile
-%%DATADIR%%/profiles/u10.profile
-%%DATADIR%%/profiles/x5.profile
-%%DATADIR%%/profiles/zvm.profile
-share/pixmaps/iriverter.png
diff --git a/multimedia/iso2mkv/Makefile b/multimedia/iso2mkv/Makefile
index d156b645dd5a..6baf336ce664 100644
--- a/multimedia/iso2mkv/Makefile
+++ b/multimedia/iso2mkv/Makefile
@@ -1,14 +1,13 @@
-# Created by: Alexander Botero-Lowry <alexbl@FreeBSD.org>
-
PORTNAME= iso2mkv
DISTVERSION= 2011-05-02
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= multimedia
MASTER_SITES= http://5ko.free.fr/dl/
DISTNAME= ${PORTNAME}
MAINTAINER= ports@FreeBSD.org
COMMENT= Script to convert DVD image, device, or VIDEO_TS to mkv
+WWW= http://5ko.free.fr/en/iso2mkv.html
LICENSE= MIT
diff --git a/multimedia/iso2mkv/pkg-descr b/multimedia/iso2mkv/pkg-descr
index d5c6154cca8a..97c867bb04dc 100644
--- a/multimedia/iso2mkv/pkg-descr
+++ b/multimedia/iso2mkv/pkg-descr
@@ -9,5 +9,3 @@ installed, won't work). This is only a shell script that wraps the other
programs. If you can watch the DVD with MPlayer, you can compress it with
iso2mkv. Other used programs (hopefully included in most GNU/Linux
distributions as well a FreeBSD :) ) are basename, bc, nice, stat.
-
-WWW: http://5ko.free.fr/en/iso2mkv.html
diff --git a/multimedia/jellyfin/Makefile b/multimedia/jellyfin/Makefile
new file mode 100644
index 000000000000..1dd696d2f431
--- /dev/null
+++ b/multimedia/jellyfin/Makefile
@@ -0,0 +1,56 @@
+PORTNAME= jellyfin
+DISTVERSION= 10.8.13
+PORTREVISION= 1
+CATEGORIES= multimedia
+MASTER_SITES= https://github.com/Thefrank/jellyfin-server-freebsd/releases/download/v${DISTVERSION}/
+DISTFILES= jellyfin-combined_${DISTVERSION}_freebsd-${ARCH}.tar.gz \
+ libSkiaSharp.so
+EXTRACT_ONLY= jellyfin-combined_${DISTVERSION}_freebsd-${ARCH}.tar.gz
+
+MAINTAINER= michiel@vanbaak.eu
+COMMENT= Jellyfin Server Component with WebUI
+WWW= https://jellyfin.org/
+
+LICENSE= BSD3CLAUSE GPLv2
+LICENSE_COMB= multi
+
+ONLY_FOR_ARCHS= amd64
+
+LIB_DEPENDS+= libfontconfig.so:x11-fonts/fontconfig
+RUN_DEPENDS= ca_root_nss>0:security/ca_root_nss \
+ ffmpeg>0:multimedia/ffmpeg \
+ icu>0:devel/icu \
+ krb5>0:security/krb5 \
+ libinotify>0:devel/libinotify \
+ libunwind>0:devel/libunwind \
+ mediainfo>0:multimedia/mediainfo
+
+USES= sqlite:3 ssl:run
+USE_RC_SUBR= jellyfin
+
+NO_BUILD= YES
+
+SUB_FILES= jellyfin pkg-message
+SUB_LIST= DATADIR=${LOCALBASE}/jellyfin \
+ GROUPS=${GROUPS} \
+ USERS=${USERS}
+
+NO_WRKSUBDIR= YES
+WRKSRC= ${WRKDIR}/jf
+
+USERS= jellyfin
+GROUPS= jellyfin
+
+.include <bsd.port.options.mk>
+
+do-install:
+ cd ${WRKSRC} && ${COPYTREE_SHARE} . ${STAGEDIR}/${LOCALBASE}/jellyfin "! ( -type f -name *\.so -or -type f -name "jellyfin" )"
+ cd ${WRKSRC} && ${COPYTREE_BIN} . ${STAGEDIR}/${LOCALBASE}/jellyfin " -type f -name "jellyfin" "
+ ${INSTALL_DATA} ${DISTDIR}/libSkiaSharp.so ${STAGEDIR}/${LOCALBASE}/jellyfin && ${INSTALL_DATA} ${WRKSRC}/*.so ${STAGEDIR}/${LOCALBASE}/jellyfin
+
+#This can be done one of a number ways including: symlink, a .config override (using dllmap), or libmap.
+post-install:
+ @${ECHO_CMD} "libe_sqlite3.so libsqlite3.so" \
+ >${STAGEDIR}${PREFIX}/etc/libmap.d/jellyfin.conf
+
+.include <bsd.port.mk>
diff --git a/multimedia/jellyfin/distinfo b/multimedia/jellyfin/distinfo
new file mode 100644
index 000000000000..e795d60357bd
--- /dev/null
+++ b/multimedia/jellyfin/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1701391119
+SHA256 (jellyfin-combined_10.8.13_freebsd-amd64.tar.gz) = 17ffd823b6df5fbb6ad32988377962d8a4985e230d1b4a8e71fcbcf19e12473e
+SIZE (jellyfin-combined_10.8.13_freebsd-amd64.tar.gz) = 70441475
+SHA256 (libSkiaSharp.so) = dbcf1e116bda5a6d0a1865d353de769aed936cd89e22f7db921613e5cbedaccf
+SIZE (libSkiaSharp.so) = 7555664
diff --git a/multimedia/jellyfin/files/jellyfin.in b/multimedia/jellyfin/files/jellyfin.in
new file mode 100755
index 000000000000..86ee201c0ff0
--- /dev/null
+++ b/multimedia/jellyfin/files/jellyfin.in
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+# PROVIDE: jellyfin
+# REQUIRE: LOGIN network
+# KEYWORD: shutdown
+#
+# extraargs typically can remain unset
+# extraargs accepts as string any of:
+# --nowebclient Indicates that the web server should not host the web client.
+# -w, --webdir Path to the Jellyfin web UI resources. Defaults to ./jellyfin-web
+# -c, --configdir Path to use for configuration data (user settings and pictures).
+# -l, --logdir Path to use for writing log files. Defaults to $datadir/log
+# --ffmpeg Path to external FFmpeg executable to use. Defaults to PATH.
+# --published-server-url Jellyfin Server URL to publish via auto discover process
+#
+#
+# variable definitions
+# jellyfin_exec_dir Path to the actual jellyfin binary Defaults to %%DATADIR%%
+# jellyfin_data_dir Path to use for the data folder (database files, etc.) Defaults to /var/db/jellyfin
+# jellyfin_cache_dir Path to use for caching. Defaults to /var/cache/jellyfin
+# jellyfin_pid_dir Path to use for the pid file. Defaults to /var/run/jellyfin
+
+. /etc/rc.subr
+name=jellyfin
+rcvar=jellyfin_enable
+load_rc_config $name
+
+: ${jellyfin_enable:=NO}
+: ${jellyfin_user:="jellyfin"}
+: ${jellyfin_group:="jellyfin"}
+: ${jellyfin_extraargs:=""}
+: ${jellyfin_exec_dir:="%%DATADIR%%"}
+: ${jellyfin_data_dir:="/var/db/jellyfin"}
+: ${jellyfin_cache_dir:="/var/cache/jellyfin"}
+: ${jellyfin_pid_dir:="/var/run/jellyfin"}
+
+pidfile="${jellyfin_pid_dir}/${name}_daemon.pid"
+pidfile_child="${jellyfin_pid_dir}/${name}_child.pid"
+command="/usr/sbin/daemon"
+
+
+start_precmd=${name}_precmd
+jellyfin_precmd() {
+ export PATH="/sbin:/bin:/usr/sbin:/usr/bin:%%LOCALBASE%%/sbin:%%LOCALBASE%%/bin"
+
+ if [ ! -d ${jellyfin_exec_dir} ]; then
+ install -d -o ${jellyfin_user} -g ${jellyfin_group} ${jellyfin_exec_dir}
+ fi
+
+ if [ ! -d ${jellyfin_data_dir} ]; then
+ install -d -o ${jellyfin_user} -g ${jellyfin_group} ${jellyfin_data_dir}
+ fi
+
+ if [ ! -d ${jellyfin_cache_dir} ]; then
+ install -d -o ${jellyfin_user} -g ${jellyfin_group} ${jellyfin_cache_dir}
+ fi
+
+ if [ ! -d ${jellyfin_pid_dir} ]; then
+ install -d -o ${jellyfin_user} -g ${jellyfin_group} ${jellyfin_pid_dir}
+ fi
+
+ # .NET 6+ use dual mode sockets to avoid the separate AF handling.
+ # disable .NET use of V6 if no ipv6 is configured.
+ # See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=259194#c17
+ ifconfig -a -u -G lo | grep -q inet6
+ if [ $? == 1 ]; then
+ export DOTNET_SYSTEM_NET_DISABLEIPV6=1
+ fi
+
+ if [ `uname -K` -ge 1400092 ]; then
+ export CLR_OPENSSL_VERSION_OVERRIDE=30
+ fi
+
+ rc_flags="-r -f -p ${pidfile_child} -P ${pidfile} ${jellyfin_exec_dir}/jellyfin --datadir ${jellyfin_data_dir} --cachedir ${jellyfin_cache_dir} ${jellyfin_extraargs} >> /dev/null 2>&1 ${rc_flags}"
+}
+
+run_rc_command "$1"
+
diff --git a/multimedia/jellyfin/files/pkg-message.in b/multimedia/jellyfin/files/pkg-message.in
new file mode 100755
index 000000000000..7190e32cc86a
--- /dev/null
+++ b/multimedia/jellyfin/files/pkg-message.in
@@ -0,0 +1,53 @@
+[
+{ type: install
+ message: <<EOM
+
+jellyfin relies on Microsoft dotNET5+ SDK to be built
+Microsoft does not have an official version of dotNET for FreeBSD
+
+This package was built with an UNOFFICIAL UNSUPPORTED version of dotNET
+If this is something that you do not want, remove this package with
+"pkg remove jellyfin"
+
+This package installs a service file.
+Enable it with "service jellyfin enable"
+Start it with "service jellyfin start".
+
+The service file uses daemon to restart jellyfin if it crashes.
+The service file will also change the permissions so that the updater works.
+If this behavior is unwanted you will need to edit the RC file manually and
+remove the daemon and/or the permissions changes.
+
+If you are running this in a jail please set "allow.mlock" or similar
+for this jail otherwise the program will fail to start.
+
+dotNET does not work well inside jails that are missing either a) VNET or
+b) ip6=inherit. The service file will try workaround any user misconfiguration
+but is not perfect.
+
+EOM
+}
+{ type: upgrade
+ message: <<EOM
+
+Those upgrading, as a reminder:
+
+This package installs a service file.
+Enable it with "service jellyfin enable"
+Start it with "service jellyfin start".
+
+The service file uses daemon to restart jellyfin if it crashes.
+The service file will also change the permissions so that the updater works.
+If this behavior is unwanted you will need to edit the RC file manually and
+remove the daemon and/or the permissions changes.
+
+If you are running this in a jail please set "allow.mlock" or similar
+for this jail otherwise the program will fail to start.
+
+dotNET does not work well inside jails that are missing either a) VNET or
+b) ip6=inherit. The service file will try workaround any user misconfiguration
+but is not perfect.
+
+EOM
+}
+]
diff --git a/multimedia/jellyfin/pkg-descr b/multimedia/jellyfin/pkg-descr
new file mode 100755
index 000000000000..cbd278d56484
--- /dev/null
+++ b/multimedia/jellyfin/pkg-descr
@@ -0,0 +1,5 @@
+Jellyfin is the volunteer-built media solution that
+puts you in control of your media.
+Stream to any device from your own server, with no strings attached.
+
+Your media, your server, your way.
diff --git a/multimedia/jellyfin/pkg-plist b/multimedia/jellyfin/pkg-plist
new file mode 100755
index 000000000000..e498a58b932c
--- /dev/null
+++ b/multimedia/jellyfin/pkg-plist
@@ -0,0 +1,1998 @@
+etc/libmap.d/jellyfin.conf
+jellyfin/BDInfo.dll
+jellyfin/BlurHashSharp.SkiaSharp.dll
+jellyfin/BlurHashSharp.dll
+jellyfin/CommandLine.dll
+jellyfin/DiscUtils.Core.dll
+jellyfin/DiscUtils.Iso9660.dll
+jellyfin/DiscUtils.Streams.dll
+jellyfin/DiscUtils.Udf.dll
+jellyfin/DotNet.Glob.dll
+jellyfin/DvdLib.dll
+jellyfin/DvdLib.xml
+jellyfin/Emby.Dlna.dll
+jellyfin/Emby.Dlna.xml
+jellyfin/Emby.Drawing.dll
+jellyfin/Emby.Drawing.xml
+jellyfin/Emby.Naming.dll
+jellyfin/Emby.Naming.xml
+jellyfin/Emby.Notifications.dll
+jellyfin/Emby.Notifications.xml
+jellyfin/Emby.Photos.dll
+jellyfin/Emby.Photos.xml
+jellyfin/Emby.Server.Implementations.dll
+jellyfin/Emby.Server.Implementations.xml
+jellyfin/Jellyfin.Api.dll
+jellyfin/Jellyfin.Api.xml
+jellyfin/Jellyfin.Data.dll
+jellyfin/Jellyfin.Data.xml
+jellyfin/Jellyfin.Drawing.Skia.dll
+jellyfin/Jellyfin.Drawing.Skia.xml
+jellyfin/Jellyfin.Extensions.dll
+jellyfin/Jellyfin.Extensions.xml
+jellyfin/Jellyfin.MediaEncoding.Hls.dll
+jellyfin/Jellyfin.MediaEncoding.Hls.xml
+jellyfin/Jellyfin.MediaEncoding.Keyframes.dll
+jellyfin/Jellyfin.MediaEncoding.Keyframes.xml
+jellyfin/Jellyfin.Networking.dll
+jellyfin/Jellyfin.Networking.xml
+jellyfin/Jellyfin.Server.Implementations.dll
+jellyfin/Jellyfin.Server.Implementations.xml
+jellyfin/Jellyfin.XmlTv.dll
+jellyfin/MediaBrowser.Common.dll
+jellyfin/MediaBrowser.Common.xml
+jellyfin/MediaBrowser.Controller.dll
+jellyfin/MediaBrowser.Controller.xml
+jellyfin/MediaBrowser.LocalMetadata.dll
+jellyfin/MediaBrowser.LocalMetadata.xml
+jellyfin/MediaBrowser.MediaEncoding.dll
+jellyfin/MediaBrowser.MediaEncoding.xml
+jellyfin/MediaBrowser.Model.dll
+jellyfin/MediaBrowser.Model.xml
+jellyfin/MediaBrowser.Providers.dll
+jellyfin/MediaBrowser.Providers.xml
+jellyfin/MediaBrowser.XbmcMetadata.dll
+jellyfin/MediaBrowser.XbmcMetadata.xml
+jellyfin/Microsoft.AspNetCore.Antiforgery.dll
+jellyfin/Microsoft.AspNetCore.Authentication.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Authentication.Cookies.dll
+jellyfin/Microsoft.AspNetCore.Authentication.Core.dll
+jellyfin/Microsoft.AspNetCore.Authentication.OAuth.dll
+jellyfin/Microsoft.AspNetCore.Authentication.dll
+jellyfin/Microsoft.AspNetCore.Authorization.Policy.dll
+jellyfin/Microsoft.AspNetCore.Authorization.dll
+jellyfin/Microsoft.AspNetCore.Components.Authorization.dll
+jellyfin/Microsoft.AspNetCore.Components.Forms.dll
+jellyfin/Microsoft.AspNetCore.Components.Server.dll
+jellyfin/Microsoft.AspNetCore.Components.Web.dll
+jellyfin/Microsoft.AspNetCore.Components.dll
+jellyfin/Microsoft.AspNetCore.Connections.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.CookiePolicy.dll
+jellyfin/Microsoft.AspNetCore.Cors.dll
+jellyfin/Microsoft.AspNetCore.Cryptography.Internal.dll
+jellyfin/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll
+jellyfin/Microsoft.AspNetCore.DataProtection.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.DataProtection.Extensions.dll
+jellyfin/Microsoft.AspNetCore.DataProtection.dll
+jellyfin/Microsoft.AspNetCore.Diagnostics.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Diagnostics.HealthChecks.dll
+jellyfin/Microsoft.AspNetCore.Diagnostics.dll
+jellyfin/Microsoft.AspNetCore.HostFiltering.dll
+jellyfin/Microsoft.AspNetCore.Hosting.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Hosting.Server.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Hosting.dll
+jellyfin/Microsoft.AspNetCore.Html.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Http.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Http.Connections.Common.dll
+jellyfin/Microsoft.AspNetCore.Http.Connections.dll
+jellyfin/Microsoft.AspNetCore.Http.Extensions.dll
+jellyfin/Microsoft.AspNetCore.Http.Features.dll
+jellyfin/Microsoft.AspNetCore.Http.Results.dll
+jellyfin/Microsoft.AspNetCore.Http.dll
+jellyfin/Microsoft.AspNetCore.HttpLogging.dll
+jellyfin/Microsoft.AspNetCore.HttpOverrides.dll
+jellyfin/Microsoft.AspNetCore.HttpsPolicy.dll
+jellyfin/Microsoft.AspNetCore.Identity.dll
+jellyfin/Microsoft.AspNetCore.Localization.Routing.dll
+jellyfin/Microsoft.AspNetCore.Localization.dll
+jellyfin/Microsoft.AspNetCore.Metadata.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Mvc.ApiExplorer.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Core.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Cors.dll
+jellyfin/Microsoft.AspNetCore.Mvc.DataAnnotations.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Formatters.Json.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Formatters.Xml.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Localization.dll
+jellyfin/Microsoft.AspNetCore.Mvc.Razor.dll
+jellyfin/Microsoft.AspNetCore.Mvc.RazorPages.dll
+jellyfin/Microsoft.AspNetCore.Mvc.TagHelpers.dll
+jellyfin/Microsoft.AspNetCore.Mvc.ViewFeatures.dll
+jellyfin/Microsoft.AspNetCore.Mvc.dll
+jellyfin/Microsoft.AspNetCore.Razor.Runtime.dll
+jellyfin/Microsoft.AspNetCore.Razor.dll
+jellyfin/Microsoft.AspNetCore.ResponseCaching.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.ResponseCaching.dll
+jellyfin/Microsoft.AspNetCore.ResponseCompression.dll
+jellyfin/Microsoft.AspNetCore.Rewrite.dll
+jellyfin/Microsoft.AspNetCore.Routing.Abstractions.dll
+jellyfin/Microsoft.AspNetCore.Routing.dll
+jellyfin/Microsoft.AspNetCore.Server.HttpSys.dll
+jellyfin/Microsoft.AspNetCore.Server.IIS.dll
+jellyfin/Microsoft.AspNetCore.Server.IISIntegration.dll
+jellyfin/Microsoft.AspNetCore.Server.Kestrel.Core.dll
+jellyfin/Microsoft.AspNetCore.Server.Kestrel.Transport.Quic.dll
+jellyfin/Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.dll
+jellyfin/Microsoft.AspNetCore.Server.Kestrel.dll
+jellyfin/Microsoft.AspNetCore.Session.dll
+jellyfin/Microsoft.AspNetCore.SignalR.Common.dll
+jellyfin/Microsoft.AspNetCore.SignalR.Core.dll
+jellyfin/Microsoft.AspNetCore.SignalR.Protocols.Json.dll
+jellyfin/Microsoft.AspNetCore.SignalR.dll
+jellyfin/Microsoft.AspNetCore.StaticFiles.dll
+jellyfin/Microsoft.AspNetCore.WebSockets.dll
+jellyfin/Microsoft.AspNetCore.WebUtilities.dll
+jellyfin/Microsoft.AspNetCore.dll
+jellyfin/Microsoft.Bcl.AsyncInterfaces.dll
+jellyfin/Microsoft.CSharp.dll
+jellyfin/Microsoft.Data.Sqlite.dll
+jellyfin/Microsoft.EntityFrameworkCore.Abstractions.dll
+jellyfin/Microsoft.EntityFrameworkCore.Relational.dll
+jellyfin/Microsoft.EntityFrameworkCore.Sqlite.dll
+jellyfin/Microsoft.EntityFrameworkCore.dll
+jellyfin/Microsoft.Extensions.Caching.Abstractions.dll
+jellyfin/Microsoft.Extensions.Caching.Memory.dll
+jellyfin/Microsoft.Extensions.Configuration.Abstractions.dll
+jellyfin/Microsoft.Extensions.Configuration.Binder.dll
+jellyfin/Microsoft.Extensions.Configuration.CommandLine.dll
+jellyfin/Microsoft.Extensions.Configuration.EnvironmentVariables.dll
+jellyfin/Microsoft.Extensions.Configuration.FileExtensions.dll
+jellyfin/Microsoft.Extensions.Configuration.Ini.dll
+jellyfin/Microsoft.Extensions.Configuration.Json.dll
+jellyfin/Microsoft.Extensions.Configuration.KeyPerFile.dll
+jellyfin/Microsoft.Extensions.Configuration.UserSecrets.dll
+jellyfin/Microsoft.Extensions.Configuration.Xml.dll
+jellyfin/Microsoft.Extensions.Configuration.dll
+jellyfin/Microsoft.Extensions.DependencyInjection.Abstractions.dll
+jellyfin/Microsoft.Extensions.DependencyInjection.dll
+jellyfin/Microsoft.Extensions.DependencyModel.dll
+jellyfin/Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions.dll
+jellyfin/Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore.dll
+jellyfin/Microsoft.Extensions.Diagnostics.HealthChecks.dll
+jellyfin/Microsoft.Extensions.Features.dll
+jellyfin/Microsoft.Extensions.FileProviders.Abstractions.dll
+jellyfin/Microsoft.Extensions.FileProviders.Composite.dll
+jellyfin/Microsoft.Extensions.FileProviders.Embedded.dll
+jellyfin/Microsoft.Extensions.FileProviders.Physical.dll
+jellyfin/Microsoft.Extensions.FileSystemGlobbing.dll
+jellyfin/Microsoft.Extensions.Hosting.Abstractions.dll
+jellyfin/Microsoft.Extensions.Hosting.dll
+jellyfin/Microsoft.Extensions.Http.dll
+jellyfin/Microsoft.Extensions.Identity.Core.dll
+jellyfin/Microsoft.Extensions.Identity.Stores.dll
+jellyfin/Microsoft.Extensions.Localization.Abstractions.dll
+jellyfin/Microsoft.Extensions.Localization.dll
+jellyfin/Microsoft.Extensions.Logging.Abstractions.dll
+jellyfin/Microsoft.Extensions.Logging.Configuration.dll
+jellyfin/Microsoft.Extensions.Logging.Console.dll
+jellyfin/Microsoft.Extensions.Logging.Debug.dll
+jellyfin/Microsoft.Extensions.Logging.EventLog.dll
+jellyfin/Microsoft.Extensions.Logging.EventSource.dll
+jellyfin/Microsoft.Extensions.Logging.TraceSource.dll
+jellyfin/Microsoft.Extensions.Logging.dll
+jellyfin/Microsoft.Extensions.ObjectPool.dll
+jellyfin/Microsoft.Extensions.Options.ConfigurationExtensions.dll
+jellyfin/Microsoft.Extensions.Options.DataAnnotations.dll
+jellyfin/Microsoft.Extensions.Options.dll
+jellyfin/Microsoft.Extensions.Primitives.dll
+jellyfin/Microsoft.Extensions.WebEncoders.dll
+jellyfin/Microsoft.JSInterop.dll
+jellyfin/Microsoft.Net.Http.Headers.dll
+jellyfin/Microsoft.OpenApi.dll
+jellyfin/Microsoft.VisualBasic.Core.dll
+jellyfin/Microsoft.VisualBasic.dll
+jellyfin/Microsoft.Win32.Primitives.dll
+jellyfin/Microsoft.Win32.Registry.dll
+jellyfin/Microsoft.Win32.SystemEvents.dll
+jellyfin/Mono.Nat.dll
+jellyfin/NEbml.Core.dll
+jellyfin/Newtonsoft.Json.dll
+jellyfin/PlaylistsNET.dll
+jellyfin/PriorityQueue.dll
+jellyfin/Prometheus.AspNetCore.dll
+jellyfin/Prometheus.NetCore.dll
+jellyfin/Prometheus.NetStandard.dll
+jellyfin/RSSDP.dll
+jellyfin/Resources/Configuration/logging.json
+jellyfin/SQLitePCL.pretty.dll
+jellyfin/SQLitePCLRaw.batteries_v2.dll
+jellyfin/SQLitePCLRaw.core.dll
+jellyfin/SQLitePCLRaw.provider.e_sqlite3.dll
+jellyfin/Serilog.AspNetCore.dll
+jellyfin/Serilog.Enrichers.Thread.dll
+jellyfin/Serilog.Extensions.Hosting.dll
+jellyfin/Serilog.Extensions.Logging.dll
+jellyfin/Serilog.Formatting.Compact.dll
+jellyfin/Serilog.Settings.Configuration.dll
+jellyfin/Serilog.Sinks.Async.dll
+jellyfin/Serilog.Sinks.Console.dll
+jellyfin/Serilog.Sinks.Debug.dll
+jellyfin/Serilog.Sinks.File.dll
+jellyfin/Serilog.Sinks.Graylog.Core.dll
+jellyfin/Serilog.Sinks.Graylog.dll
+jellyfin/Serilog.dll
+jellyfin/SharpCompress.dll
+jellyfin/SkiaSharp.Extended.Svg.dll
+jellyfin/SkiaSharp.dll
+jellyfin/Swashbuckle.AspNetCore.ReDoc.dll
+jellyfin/Swashbuckle.AspNetCore.Swagger.dll
+jellyfin/Swashbuckle.AspNetCore.SwaggerGen.dll
+jellyfin/Swashbuckle.AspNetCore.SwaggerUI.dll
+jellyfin/System.AppContext.dll
+jellyfin/System.Buffers.dll
+jellyfin/System.Collections.Concurrent.dll
+jellyfin/System.Collections.Immutable.dll
+jellyfin/System.Collections.NonGeneric.dll
+jellyfin/System.Collections.Specialized.dll
+jellyfin/System.Collections.dll
+jellyfin/System.ComponentModel.Annotations.dll
+jellyfin/System.ComponentModel.DataAnnotations.dll
+jellyfin/System.ComponentModel.EventBasedAsync.dll
+jellyfin/System.ComponentModel.Primitives.dll
+jellyfin/System.ComponentModel.TypeConverter.dll
+jellyfin/System.ComponentModel.dll
+jellyfin/System.Configuration.dll
+jellyfin/System.Console.dll
+jellyfin/System.Core.dll
+jellyfin/System.Data.Common.dll
+jellyfin/System.Data.DataSetExtensions.dll
+jellyfin/System.Data.dll
+jellyfin/System.Diagnostics.Contracts.dll
+jellyfin/System.Diagnostics.Debug.dll
+jellyfin/System.Diagnostics.DiagnosticSource.dll
+jellyfin/System.Diagnostics.EventLog.dll
+jellyfin/System.Diagnostics.FileVersionInfo.dll
+jellyfin/System.Diagnostics.Process.dll
+jellyfin/System.Diagnostics.StackTrace.dll
+jellyfin/System.Diagnostics.TextWriterTraceListener.dll
+jellyfin/System.Diagnostics.Tools.dll
+jellyfin/System.Diagnostics.TraceSource.dll
+jellyfin/System.Diagnostics.Tracing.dll
+jellyfin/System.Drawing.Common.dll
+jellyfin/System.Drawing.Primitives.dll
+jellyfin/System.Drawing.dll
+jellyfin/System.Dynamic.Runtime.dll
+jellyfin/System.Formats.Asn1.dll
+jellyfin/System.Globalization.Calendars.dll
+jellyfin/System.Globalization.Extensions.dll
+jellyfin/System.Globalization.dll
+jellyfin/System.IO.Compression.Brotli.dll
+jellyfin/System.IO.Compression.FileSystem.dll
+jellyfin/System.IO.Compression.ZipFile.dll
+jellyfin/System.IO.Compression.dll
+jellyfin/System.IO.FileSystem.AccessControl.dll
+jellyfin/System.IO.FileSystem.DriveInfo.dll
+jellyfin/System.IO.FileSystem.Primitives.dll
+jellyfin/System.IO.FileSystem.Watcher.dll
+jellyfin/System.IO.FileSystem.dll
+jellyfin/System.IO.IsolatedStorage.dll
+jellyfin/System.IO.MemoryMappedFiles.dll
+jellyfin/System.IO.Pipelines.dll
+jellyfin/System.IO.Pipes.AccessControl.dll
+jellyfin/System.IO.Pipes.dll
+jellyfin/System.IO.UnmanagedMemoryStream.dll
+jellyfin/System.IO.dll
+jellyfin/System.Linq.Async.dll
+jellyfin/System.Linq.Expressions.dll
+jellyfin/System.Linq.Parallel.dll
+jellyfin/System.Linq.Queryable.dll
+jellyfin/System.Linq.dll
+jellyfin/System.Memory.dll
+jellyfin/System.Net.Http.Json.dll
+jellyfin/System.Net.Http.dll
+jellyfin/System.Net.HttpListener.dll
+jellyfin/System.Net.Mail.dll
+jellyfin/System.Net.NameResolution.dll
+jellyfin/System.Net.NetworkInformation.dll
+jellyfin/System.Net.Ping.dll
+jellyfin/System.Net.Primitives.dll
+jellyfin/System.Net.Quic.dll
+jellyfin/System.Net.Requests.dll
+jellyfin/System.Net.Security.dll
+jellyfin/System.Net.ServicePoint.dll
+jellyfin/System.Net.Sockets.dll
+jellyfin/System.Net.WebClient.dll
+jellyfin/System.Net.WebHeaderCollection.dll
+jellyfin/System.Net.WebProxy.dll
+jellyfin/System.Net.WebSockets.Client.dll
+jellyfin/System.Net.WebSockets.dll
+jellyfin/System.Net.dll
+jellyfin/System.Numerics.Vectors.dll
+jellyfin/System.Numerics.dll
+jellyfin/System.ObjectModel.dll
+jellyfin/System.Private.CoreLib.dll
+jellyfin/System.Private.DataContractSerialization.dll
+jellyfin/System.Private.Uri.dll
+jellyfin/System.Private.Xml.Linq.dll
+jellyfin/System.Private.Xml.dll
+jellyfin/System.Reflection.DispatchProxy.dll
+jellyfin/System.Reflection.Emit.ILGeneration.dll
+jellyfin/System.Reflection.Emit.Lightweight.dll
+jellyfin/System.Reflection.Emit.dll
+jellyfin/System.Reflection.Extensions.dll
+jellyfin/System.Reflection.Metadata.dll
+jellyfin/System.Reflection.Primitives.dll
+jellyfin/System.Reflection.TypeExtensions.dll
+jellyfin/System.Reflection.dll
+jellyfin/System.Resources.Reader.dll
+jellyfin/System.Resources.ResourceManager.dll
+jellyfin/System.Resources.Writer.dll
+jellyfin/System.Runtime.CompilerServices.Unsafe.dll
+jellyfin/System.Runtime.CompilerServices.VisualC.dll
+jellyfin/System.Runtime.Extensions.dll
+jellyfin/System.Runtime.Handles.dll
+jellyfin/System.Runtime.InteropServices.RuntimeInformation.dll
+jellyfin/System.Runtime.InteropServices.dll
+jellyfin/System.Runtime.Intrinsics.dll
+jellyfin/System.Runtime.Loader.dll
+jellyfin/System.Runtime.Numerics.dll
+jellyfin/System.Runtime.Serialization.Formatters.dll
+jellyfin/System.Runtime.Serialization.Json.dll
+jellyfin/System.Runtime.Serialization.Primitives.dll
+jellyfin/System.Runtime.Serialization.Xml.dll
+jellyfin/System.Runtime.Serialization.dll
+jellyfin/System.Runtime.dll
+jellyfin/System.Security.AccessControl.dll
+jellyfin/System.Security.Claims.dll
+jellyfin/System.Security.Cryptography.Algorithms.dll
+jellyfin/System.Security.Cryptography.Cng.dll
+jellyfin/System.Security.Cryptography.Csp.dll
+jellyfin/System.Security.Cryptography.Encoding.dll
+jellyfin/System.Security.Cryptography.OpenSsl.dll
+jellyfin/System.Security.Cryptography.Pkcs.dll
+jellyfin/System.Security.Cryptography.Primitives.dll
+jellyfin/System.Security.Cryptography.X509Certificates.dll
+jellyfin/System.Security.Cryptography.Xml.dll
+jellyfin/System.Security.Principal.Windows.dll
+jellyfin/System.Security.Principal.dll
+jellyfin/System.Security.SecureString.dll
+jellyfin/System.Security.dll
+jellyfin/System.ServiceModel.Web.dll
+jellyfin/System.ServiceProcess.dll
+jellyfin/System.Text.Encoding.CodePages.dll
+jellyfin/System.Text.Encoding.Extensions.dll
+jellyfin/System.Text.Encoding.dll
+jellyfin/System.Text.Encodings.Web.dll
+jellyfin/System.Text.Json.dll
+jellyfin/System.Text.RegularExpressions.dll
+jellyfin/System.Threading.Channels.dll
+jellyfin/System.Threading.Overlapped.dll
+jellyfin/System.Threading.Tasks.Dataflow.dll
+jellyfin/System.Threading.Tasks.Extensions.dll
+jellyfin/System.Threading.Tasks.Parallel.dll
+jellyfin/System.Threading.Tasks.dll
+jellyfin/System.Threading.Thread.dll
+jellyfin/System.Threading.ThreadPool.dll
+jellyfin/System.Threading.Timer.dll
+jellyfin/System.Threading.dll
+jellyfin/System.Transactions.Local.dll
+jellyfin/System.Transactions.dll
+jellyfin/System.ValueTuple.dll
+jellyfin/System.Web.HttpUtility.dll
+jellyfin/System.Web.dll
+jellyfin/System.Windows.dll
+jellyfin/System.Xml.Linq.dll
+jellyfin/System.Xml.ReaderWriter.dll
+jellyfin/System.Xml.Serialization.dll
+jellyfin/System.Xml.XDocument.dll
+jellyfin/System.Xml.XPath.XDocument.dll
+jellyfin/System.Xml.XPath.dll
+jellyfin/System.Xml.XmlDocument.dll
+jellyfin/System.Xml.XmlSerializer.dll
+jellyfin/System.Xml.dll
+jellyfin/System.dll
+jellyfin/TMDbLib.dll
+jellyfin/TagLibSharp.dll
+jellyfin/UtfUnknown.dll
+jellyfin/WindowsBase.dll
+jellyfin/jellyfin
+jellyfin/jellyfin-web/00ba85c0ee4e5fa95518.woff2
+jellyfin/jellyfin-web/00e179283dcbeb75a765.woff2
+jellyfin/jellyfin-web/014f4284992c2fee595f.woff2
+jellyfin/jellyfin-web/01cdd11d0f1b21d93a30.woff2
+jellyfin/jellyfin-web/01db87186b25bab45522.woff2
+jellyfin/jellyfin-web/0206df33bab9a7d25316.woff2
+jellyfin/jellyfin-web/024bb6be81397e3cf2f6.woff2
+jellyfin/jellyfin-web/02cbfd56570eb9cf43d4.woff2
+jellyfin/jellyfin-web/02f68352af629b04bccb.woff2
+jellyfin/jellyfin-web/03006ac8a2f394a5afa7.woff2
+jellyfin/jellyfin-web/031327648e7a447d0874.woff2
+jellyfin/jellyfin-web/037fcd9bd3d2346c65a9.woff2
+jellyfin/jellyfin-web/03816665d661f6d3c2f1.woff2
+jellyfin/jellyfin-web/03bf7e4cb70e9da0e279.woff2
+jellyfin/jellyfin-web/03f75dfcbb1068d90d80.woff2
+jellyfin/jellyfin-web/047323808c9ee6fe2ef7.woff2
+jellyfin/jellyfin-web/0499141be459e807090f.woff2
+jellyfin/jellyfin-web/04baa27f48bc61614a18.woff2
+jellyfin/jellyfin-web/04c2df186277ee1eae9c.woff2
+jellyfin/jellyfin-web/04c5b2653b873cbb7388.woff2
+jellyfin/jellyfin-web/050d409bf235fa166f03.woff2
+jellyfin/jellyfin-web/05c4f31cc8a16acba441.woff2
+jellyfin/jellyfin-web/05ce956e7fb34303e89b.woff2
+jellyfin/jellyfin-web/05cf39c0c16eb7083067.woff2
+jellyfin/jellyfin-web/06087505694a181fdf1f.woff2
+jellyfin/jellyfin-web/063a5db683b7cba193ba.woff2
+jellyfin/jellyfin-web/063eb1998fca023658b6.woff2
+jellyfin/jellyfin-web/06504a88e4f52e2690bf.woff2
+jellyfin/jellyfin-web/0674cdf070471e6f6bd0.woff2
+jellyfin/jellyfin-web/067dfd39d6a79d491201.woff2
+jellyfin/jellyfin-web/0694ee8153ae75d6c9fd.woff2
+jellyfin/jellyfin-web/07950e26aee7c2f3010b.woff2
+jellyfin/jellyfin-web/07e8f9caf72ac25ab4c3.woff2
+jellyfin/jellyfin-web/07ed8410766fa832f94d.woff2
+jellyfin/jellyfin-web/0815c98100e30502f9d2.woff2
+jellyfin/jellyfin-web/0842e82b7ab70c770d78.woff2
+jellyfin/jellyfin-web/0853e46a5169e8157c0a.woff2
+jellyfin/jellyfin-web/086261955ebcd1e7bb88.woff2
+jellyfin/jellyfin-web/0899554aedc9179277be.woff2
+jellyfin/jellyfin-web/08b20180e8c60324aa93.woff2
+jellyfin/jellyfin-web/09338b0ad9049bdabc2c.woff2
+jellyfin/jellyfin-web/0968e37fbb5142d14898.woff2
+jellyfin/jellyfin-web/097088c0ffc365cd783e.woff2
+jellyfin/jellyfin-web/09d00e6919fe26bd024b.woff2
+jellyfin/jellyfin-web/0a402f23da34765a1aaa.woff2
+jellyfin/jellyfin-web/0aa37cebf13ec8fe4a1e.woff2
+jellyfin/jellyfin-web/0b37f660ac0f7f01ab41.png
+jellyfin/jellyfin-web/0b5a4d4790dc287a30ef.woff2
+jellyfin/jellyfin-web/0bc37f088f0cf95b680f.woff2
+jellyfin/jellyfin-web/0be53743e5af154e0aa4.woff2
+jellyfin/jellyfin-web/0be6e8ce39528d572b45.woff2
+jellyfin/jellyfin-web/0bf9cb9f68db6c624f48.woff2
+jellyfin/jellyfin-web/0c1242a77002305354f4.woff2
+jellyfin/jellyfin-web/0c46cb9bd34e756a5000.woff2
+jellyfin/jellyfin-web/0c7193b28e95aa80899b.woff2
+jellyfin/jellyfin-web/0c9aeb6254f84a67f378.woff2
+jellyfin/jellyfin-web/0cc9376d476810b7b6e1.woff2
+jellyfin/jellyfin-web/0ce09a4e86743f475ce6.woff2
+jellyfin/jellyfin-web/0d2b37694d352e7e4c59.svg
+jellyfin/jellyfin-web/0d82132cef805bb45a87.woff2
+jellyfin/jellyfin-web/0d9249a23396590e9eb1.woff2
+jellyfin/jellyfin-web/0db4f5d8ade473d23fba.woff2
+jellyfin/jellyfin-web/0ddfe46ad1cd6c7cbd3c.woff2
+jellyfin/jellyfin-web/0df719b48efcaef953df.png
+jellyfin/jellyfin-web/0e411e3167676f90a3ee.woff2
+jellyfin/jellyfin-web/0eaf4943128fa27dbbd1.woff2
+jellyfin/jellyfin-web/0ed6e440f971f62ff18e.woff2
+jellyfin/jellyfin-web/0f78fce4b6ea725487f8.woff2
+jellyfin/jellyfin-web/0fd7f567a29e06f0240a.woff2
+jellyfin/jellyfin-web/1015.0bf5ad25d447fb7157f0.chunk.js
+jellyfin/jellyfin-web/1059df9b653bf978e27c.woff2
+jellyfin/jellyfin-web/105c01e29b13cc236e08.woff2
+jellyfin/jellyfin-web/1065ac5c6ddf7b2a1513.woff2
+jellyfin/jellyfin-web/106a7abc109fb5e78742.png
+jellyfin/jellyfin-web/107.c3f1c150b97e988cc00c.chunk.js
+jellyfin/jellyfin-web/1074.c45b36f8a574656b1b26.chunk.js
+jellyfin/jellyfin-web/108073e0282d71a0dc56.woff2
+jellyfin/jellyfin-web/10820c05dae0a1f61b4b.woff2
+jellyfin/jellyfin-web/10ac57cdee93cccaa945.woff2
+jellyfin/jellyfin-web/10db1edf9731d044d2df.woff2
+jellyfin/jellyfin-web/1121.2dfd80ff2a9d89beb043.chunk.js
+jellyfin/jellyfin-web/1130.b35a39f4227746874020.chunk.js
+jellyfin/jellyfin-web/114499fe23bc68f6ae66.woff2
+jellyfin/jellyfin-web/114b8712d485891fdc64.woff2
+jellyfin/jellyfin-web/1163ad57994cea43c5d8.woff2
+jellyfin/jellyfin-web/116cebf2afeca043dfed.woff2
+jellyfin/jellyfin-web/1186.fe92c54f5144fba0083b.chunk.js
+jellyfin/jellyfin-web/118cca49079e0ed79f2a.woff2
+jellyfin/jellyfin-web/118f9ab2bb4f3aae8016.woff2
+jellyfin/jellyfin-web/1253.68c8a8e9eebc46382060.chunk.js
+jellyfin/jellyfin-web/128e20c3c52cf5461ca0.woff2
+jellyfin/jellyfin-web/12c667a7bb07d361a55d.woff2
+jellyfin/jellyfin-web/13668a4264ae87f196b7.woff2
+jellyfin/jellyfin-web/138dc0f969d42e093b69.woff2
+jellyfin/jellyfin-web/1392.1de9ddfea6f0ba8ac4a8.chunk.js
+jellyfin/jellyfin-web/13bdf74f61438b04b0ee.woff2
+jellyfin/jellyfin-web/142d834c201895a46a01.png
+jellyfin/jellyfin-web/1453ac4625df4601fd77.woff2
+jellyfin/jellyfin-web/1495.d09fa2b5f9be87134a77.chunk.js
+jellyfin/jellyfin-web/149900c44675a56e590d.woff2
+jellyfin/jellyfin-web/14ae6b3618e228425f84.woff2
+jellyfin/jellyfin-web/14df01103d94d2841d7e.woff2
+jellyfin/jellyfin-web/14dff4a39f5aad4fa9d6.woff2
+jellyfin/jellyfin-web/14fb05ece8f0da67d9da.woff2
+jellyfin/jellyfin-web/1551105116609ee0c354.woff2
+jellyfin/jellyfin-web/156a2454e38669551de3.woff2
+jellyfin/jellyfin-web/15a323fbb23f1ea1941d.woff2
+jellyfin/jellyfin-web/15a69df52a1ebaa7fad2.woff2
+jellyfin/jellyfin-web/15dd2f01242dbcf45810.woff2
+jellyfin/jellyfin-web/161ebbb7a394185348ef.woff2
+jellyfin/jellyfin-web/1629.943bb3078d0efbc593a4.chunk.js
+jellyfin/jellyfin-web/1638.f3ca709b8a34b0cb58c8.chunk.js
+jellyfin/jellyfin-web/164.0257ea1d4e9cb16923fe.chunk.js
+jellyfin/jellyfin-web/1647bc850e1d51920b25.woff2
+jellyfin/jellyfin-web/1656eae7a848abaef2b0.woff2
+jellyfin/jellyfin-web/165dfcf148c81ab5bb2a.woff2
+jellyfin/jellyfin-web/166199c0c71791cdd8a8.woff2
+jellyfin/jellyfin-web/16643e2cb56f854177fe.woff2
+jellyfin/jellyfin-web/16a4f975a02e060143d7.woff2
+jellyfin/jellyfin-web/16fc81178d1aee54f6cc.png
+jellyfin/jellyfin-web/17067557934379f69275.woff2
+jellyfin/jellyfin-web/1722ed5f2da4b95f333e.woff2
+jellyfin/jellyfin-web/1723.29204828b48738ba3291.chunk.js
+jellyfin/jellyfin-web/1723.29204828b48738ba3291.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/17636faa72e21c8c8a94.woff2
+jellyfin/jellyfin-web/17691e41b9dea9660ac5.woff2
+jellyfin/jellyfin-web/179456a5d37d63a3db15.woff2
+jellyfin/jellyfin-web/1797.0b11f2f6f5073594d135.chunk.js
+jellyfin/jellyfin-web/17a86b8e3fc104a76019.woff2
+jellyfin/jellyfin-web/17e4ddcb4e4dc7381817.woff2
+jellyfin/jellyfin-web/182ee77f824606084a1f.woff2
+jellyfin/jellyfin-web/1891.8c2b31f7219aa2b4b8df.chunk.js
+jellyfin/jellyfin-web/1893f523d6b8e183bd39.woff2
+jellyfin/jellyfin-web/18ec9fada126cc3d31d2.woff2
+jellyfin/jellyfin-web/1916.1d5c5908a8de0a32dbd9.chunk.js
+jellyfin/jellyfin-web/194d1b9ef54d0014b3c4.ttf
+jellyfin/jellyfin-web/195af585cc5b18510c3b.woff2
+jellyfin/jellyfin-web/1975.ed792ec5cb0fef66ea79.chunk.js
+jellyfin/jellyfin-web/19c1d5474574043b9918.woff2
+jellyfin/jellyfin-web/19c5a24be5f674583ed8.woff2
+jellyfin/jellyfin-web/19e94a171ad39c828010.woff2
+jellyfin/jellyfin-web/1ab0ea3799a577a398e7.woff2
+jellyfin/jellyfin-web/1ad67f2d2d0e335120f0.woff2
+jellyfin/jellyfin-web/1b23c0a089bdb20ec6c3.woff2
+jellyfin/jellyfin-web/1bddfb89a3ac1c248483.woff2
+jellyfin/jellyfin-web/1c4adae934403b336833.woff2
+jellyfin/jellyfin-web/1cdd852efe637a928b38.woff2
+jellyfin/jellyfin-web/1d0febcd6b40c426fd90.woff2
+jellyfin/jellyfin-web/1d9b93d0cc8caf3ea8e3.woff2
+jellyfin/jellyfin-web/1da15d2ee46a63ee63ca.woff2
+jellyfin/jellyfin-web/1dab23bdb1013876ea75.woff2
+jellyfin/jellyfin-web/1decee026c328a8665a1.woff2
+jellyfin/jellyfin-web/1ebf2d3d7a6f5ecf69b5.woff2
+jellyfin/jellyfin-web/1ed160b098d8491388ec.woff2
+jellyfin/jellyfin-web/1f0f6cdb23348c639cc5.woff2
+jellyfin/jellyfin-web/1f173fcca2582cf6e726.woff2
+jellyfin/jellyfin-web/1f31a63d8369415148f9.woff2
+jellyfin/jellyfin-web/2014.7e48b377462ef85fcb6a.chunk.js
+jellyfin/jellyfin-web/202b0fda56543e35f735.woff2
+jellyfin/jellyfin-web/2045bd0c346f0c20f1e3.woff2
+jellyfin/jellyfin-web/204d568dbb67a5f26e64.woff2
+jellyfin/jellyfin-web/20f4d09514711af2b846.woff2
+jellyfin/jellyfin-web/20fe05c178ab281fdf9b.woff2
+jellyfin/jellyfin-web/21173d2d262774f87ec6.woff2
+jellyfin/jellyfin-web/2137f56f468284c6e377.woff2
+jellyfin/jellyfin-web/2158378931dd443eb112.woff2
+jellyfin/jellyfin-web/2177.6d46dbb6a95623ab7179.chunk.js
+jellyfin/jellyfin-web/22466fd2a985adcd6051.woff2
+jellyfin/jellyfin-web/2294303301ea62be5f04.woff2
+jellyfin/jellyfin-web/22a298f5d51750b0cbe1.woff2
+jellyfin/jellyfin-web/22be27ff4462eac38463.woff2
+jellyfin/jellyfin-web/22d90cda9580f99c0a6b.woff2
+jellyfin/jellyfin-web/22f11519ac568ea0679c.woff2
+jellyfin/jellyfin-web/23576d3f69385c6854b2.woff2
+jellyfin/jellyfin-web/2357982aa14974aa5910.woff2
+jellyfin/jellyfin-web/23a72f5d56f82554aeab.png
+jellyfin/jellyfin-web/23c6d376dd3727382483.woff2
+jellyfin/jellyfin-web/23dec9c1fc5c32faa079.woff2
+jellyfin/jellyfin-web/23e7aba024d449a63eb3.woff2
+jellyfin/jellyfin-web/23fdd77c96367ee47f99.woff2
+jellyfin/jellyfin-web/242920341b9a34eb3c07.woff2
+jellyfin/jellyfin-web/2447.5b21d4c79c513ae78504.chunk.js
+jellyfin/jellyfin-web/2458d9af0362902e25cf.woff2
+jellyfin/jellyfin-web/2471.b6c6d1779e80b0cfa5f3.chunk.js
+jellyfin/jellyfin-web/247ccbd69cf05c0bd60c.woff2
+jellyfin/jellyfin-web/247d5f26f612f4264a3c.woff2
+jellyfin/jellyfin-web/2480.a8aff5afff4ada6a0319.chunk.js
+jellyfin/jellyfin-web/2480d49e5c7ca7a7f5a5.woff2
+jellyfin/jellyfin-web/249.07a41234a268b28676ba.chunk.js
+jellyfin/jellyfin-web/2498a5a4116741727fc1.woff2
+jellyfin/jellyfin-web/2529c99f26dd547d4e4d.woff2
+jellyfin/jellyfin-web/256fa175b81e9216b212.woff2
+jellyfin/jellyfin-web/2574.72b76a11a087fc6a887e.chunk.js
+jellyfin/jellyfin-web/25da0890fd511bd53dc5.woff2
+jellyfin/jellyfin-web/2633.a3eb9de55bb356e92a7d.chunk.js
+jellyfin/jellyfin-web/26a1e6825f292041aec5.woff2
+jellyfin/jellyfin-web/26ccfa584909866167f7.woff2
+jellyfin/jellyfin-web/26d6a84bcc915ad6b631.woff2
+jellyfin/jellyfin-web/26e5fbb0db7f7647a4aa.woff2
+jellyfin/jellyfin-web/274c8ffff914125e8070.woff2
+jellyfin/jellyfin-web/275624eff0eb7b78d94e.woff2
+jellyfin/jellyfin-web/276100397c30001329ab.woff2
+jellyfin/jellyfin-web/2764aee7e7dfa5a30fb9.woff2
+jellyfin/jellyfin-web/2789feea64b47513a61d.woff2
+jellyfin/jellyfin-web/2794beefa7541dec6b96.woff2
+jellyfin/jellyfin-web/28398aac45fb675826d2.woff2
+jellyfin/jellyfin-web/2861a1b6f36f898b951b.woff2
+jellyfin/jellyfin-web/2873681cd40e65429713.woff2
+jellyfin/jellyfin-web/2886.92c21bb89ace19b0f325.chunk.js
+jellyfin/jellyfin-web/2910.5bfa21f160e80b1e7abe.chunk.js
+jellyfin/jellyfin-web/2912.9deb97166610723d8ac2.chunk.js
+jellyfin/jellyfin-web/294.fae645a32cc459e122f3.chunk.js
+jellyfin/jellyfin-web/2966.1d7984c46bb173d43b28.chunk.js
+jellyfin/jellyfin-web/2968.83d49d65dbe977407edf.chunk.js
+jellyfin/jellyfin-web/2971.1fa034fd8b9df5847ba0.chunk.js
+jellyfin/jellyfin-web/2987.5824fb3ed97bd7682d69.chunk.js
+jellyfin/jellyfin-web/299f1800e48878acdebb.woff2
+jellyfin/jellyfin-web/29aaf3f8bd18499b6862.woff2
+jellyfin/jellyfin-web/29b78c91690778319b21.woff2
+jellyfin/jellyfin-web/29ca1450cbfe2741bc5f.woff2
+jellyfin/jellyfin-web/2a1728cb7882b14a097e.woff2
+jellyfin/jellyfin-web/2a6a34d88475ab17f369.woff2
+jellyfin/jellyfin-web/2a6aa1e32b6744c4374e.woff2
+jellyfin/jellyfin-web/2a7070f73554e4b758d0.woff2
+jellyfin/jellyfin-web/2a9d975ce7940b53eb18.woff2
+jellyfin/jellyfin-web/2aa0355396e87f58c17b.woff2
+jellyfin/jellyfin-web/2b177cd262fcb7ffda81.woff2
+jellyfin/jellyfin-web/2b74f17efe286f31217a.woff2
+jellyfin/jellyfin-web/2bac0a2023f4336ad641.woff2
+jellyfin/jellyfin-web/2bd96ef55e5a852b7ad4.woff2
+jellyfin/jellyfin-web/2bedd7a38a283ac9a0af.woff2
+jellyfin/jellyfin-web/2c0ee60975847734ef3e.woff2
+jellyfin/jellyfin-web/2c1545acfaf6aee50ae0.woff2
+jellyfin/jellyfin-web/2c77638fa860e6280cb5.woff2
+jellyfin/jellyfin-web/2c9124a3ca881c130ca7.woff2
+jellyfin/jellyfin-web/2cb65cb1b71bc1db27d2.woff2
+jellyfin/jellyfin-web/2cb8ac05f1eda3dc8360.woff2
+jellyfin/jellyfin-web/2cd44c070f572678bc3d.woff2
+jellyfin/jellyfin-web/2d3967a7ce2ed03f996d.woff2
+jellyfin/jellyfin-web/2d751b4ec158d3afbadc.woff2
+jellyfin/jellyfin-web/2d9730f8d79336ab732d.woff2
+jellyfin/jellyfin-web/2df0b63c10d28f2d5703.woff2
+jellyfin/jellyfin-web/2e175edcb1465e14d138.woff2
+jellyfin/jellyfin-web/2e3a8b29cebd9345197a.woff2
+jellyfin/jellyfin-web/2e53fab52522d161a25d.woff2
+jellyfin/jellyfin-web/2e627ce29f0380684e97.woff2
+jellyfin/jellyfin-web/2e7d2a6bfff87184f914.woff2
+jellyfin/jellyfin-web/2edacb325ed3c216e8c7.woff2
+jellyfin/jellyfin-web/2f2f08b5ee81d9ef1d75.woff2
+jellyfin/jellyfin-web/2f72292f0004a474d19b.woff2
+jellyfin/jellyfin-web/2fa57b4877c5b635be04.woff2
+jellyfin/jellyfin-web/2fac4e1e2f9c6bfdbbf3.woff2
+jellyfin/jellyfin-web/2fd255ef78d55e25911d.woff2
+jellyfin/jellyfin-web/301f64e0988884b108b7.woff2
+jellyfin/jellyfin-web/3052.e0e8dd4f53cde00c1f14.chunk.js
+jellyfin/jellyfin-web/30b6999c99620ce06fc4.woff2
+jellyfin/jellyfin-web/3106.7b1a8e3374b3c5b3a2bb.chunk.js
+jellyfin/jellyfin-web/3112652ddbf23489b098.woff2
+jellyfin/jellyfin-web/314c807d695734ae6b98.woff2
+jellyfin/jellyfin-web/315cd54847c2a00268e8.woff2
+jellyfin/jellyfin-web/31656cd1009552576ed1.woff2
+jellyfin/jellyfin-web/31844583f1a3b0c39e9b.woff2
+jellyfin/jellyfin-web/319.fe24f447e7d05a44eadb.chunk.js
+jellyfin/jellyfin-web/31bdc4cb67fe2cf354bf.woff2
+jellyfin/jellyfin-web/3202.9f50fa95ecee0f0da1a6.chunk.js
+jellyfin/jellyfin-web/320a408d6d7d9d8829ab.woff2
+jellyfin/jellyfin-web/3302.a5e9a6e7e268696a7c93.chunk.js
+jellyfin/jellyfin-web/3308a88cf7452dca2dc2.woff2
+jellyfin/jellyfin-web/333790433edeccefc28d.woff2
+jellyfin/jellyfin-web/3339e7e924801a34fb21.woff2
+jellyfin/jellyfin-web/33587f1eebca94571814.woff2
+jellyfin/jellyfin-web/33a722d0a9598cf29af0.woff2
+jellyfin/jellyfin-web/33b04ba592abc68c06af.woff2
+jellyfin/jellyfin-web/33b22879bf191a7230a2.woff2
+jellyfin/jellyfin-web/33b4b957e4f6fac5ff80.woff2
+jellyfin/jellyfin-web/33bd9d752a0311e9dba8.woff2
+jellyfin/jellyfin-web/342492b1404e6bb33ba3.woff2
+jellyfin/jellyfin-web/3428dfddf83532b3c890.woff2
+jellyfin/jellyfin-web/3446f6519756de032d2c.woff2
+jellyfin/jellyfin-web/3462.9353dfc5446580dd0853.chunk.js
+jellyfin/jellyfin-web/34a5698f547103618565.woff2
+jellyfin/jellyfin-web/34a8e99c88da3c7fdf14.woff2
+jellyfin/jellyfin-web/34e92b4355e1e53bb8b2.woff2
+jellyfin/jellyfin-web/3520ae3957a2d8a832de.woff2
+jellyfin/jellyfin-web/3555fea12c2afd18c876.woff2
+jellyfin/jellyfin-web/3585.47e5b3f83703fc252a4d.chunk.js
+jellyfin/jellyfin-web/35f465c284a9a24ed585.woff2
+jellyfin/jellyfin-web/35f96ed66f2a29a0959a.woff2
+jellyfin/jellyfin-web/36.7d76806520249ebc3459.chunk.js
+jellyfin/jellyfin-web/3604.036f7d3912ddd97551dd.chunk.js
+jellyfin/jellyfin-web/36270bc2cc622195f234.woff2
+jellyfin/jellyfin-web/3629.fa631940ac05e9f453f0.chunk.js
+jellyfin/jellyfin-web/3651.1a659b128d15f5488ba5.chunk.js
+jellyfin/jellyfin-web/367153c38d80af087e4f.woff2
+jellyfin/jellyfin-web/3675215a5e70969a0652.woff2
+jellyfin/jellyfin-web/3690006fe4e087a680c8.woff2
+jellyfin/jellyfin-web/36968bc9f110b2f047a6.woff2
+jellyfin/jellyfin-web/36a957b077a6f4f06caf.woff2
+jellyfin/jellyfin-web/36f23ff824bc2111e5ba.woff2
+jellyfin/jellyfin-web/3733.ded63077eb83a51625af.chunk.js
+jellyfin/jellyfin-web/37386c7711a04455567d.woff2
+jellyfin/jellyfin-web/3793.d0b3a6a1e2ba5944f89e.chunk.js
+jellyfin/jellyfin-web/379bab68d056910336f9.png
+jellyfin/jellyfin-web/37acbd41c8b2310ec981.woff2
+jellyfin/jellyfin-web/37d38717686aa679068e.woff2
+jellyfin/jellyfin-web/3800.8530c66fa98e791ccde3.chunk.js
+jellyfin/jellyfin-web/385d31ae18ca56944598.woff2
+jellyfin/jellyfin-web/3897.a1f49ef69c45028e3ad3.chunk.js
+jellyfin/jellyfin-web/38a43a6ce08a85bcdd02.woff2
+jellyfin/jellyfin-web/38c749fd22bd3de10a0a.woff2
+jellyfin/jellyfin-web/3914173e93f7adad0687.woff2
+jellyfin/jellyfin-web/39209dd2362c0db7c673.png
+jellyfin/jellyfin-web/3929.c59ea1f5eace443cafec.chunk.js
+jellyfin/jellyfin-web/3940.b9080bb12fc6778223d4.chunk.js
+jellyfin/jellyfin-web/3989.ae3a8a482c4f70fbcdd7.chunk.js
+jellyfin/jellyfin-web/399255bfc1e43c46db48.woff2
+jellyfin/jellyfin-web/39ad19f097b2795aef79.woff2
+jellyfin/jellyfin-web/39bbe3f6a422f12462f2.woff2
+jellyfin/jellyfin-web/3a17ac00d905a838a5b2.woff2
+jellyfin/jellyfin-web/3a3bcfcf67ef612f6f5b.woff2
+jellyfin/jellyfin-web/3a6749d65507519b67a6.woff2
+jellyfin/jellyfin-web/3a9a2a79ffabd486bd6d.woff2
+jellyfin/jellyfin-web/3aef578c4e8f633e8037.woff2
+jellyfin/jellyfin-web/3b50b1e7b9226eb05823.woff2
+jellyfin/jellyfin-web/3b54aabf79197080a31a.woff2
+jellyfin/jellyfin-web/3bfecbfa7a5146fc3968.woff2
+jellyfin/jellyfin-web/3c6ca3cf906a3cadc4ef.woff2
+jellyfin/jellyfin-web/3ca5d499fdaaf7c00239.woff2
+jellyfin/jellyfin-web/3d518c14578297f3fe30.woff2
+jellyfin/jellyfin-web/3d6265b8c6ea84dcf2d1.woff2
+jellyfin/jellyfin-web/3e048325f324bb5797cc.woff2
+jellyfin/jellyfin-web/3e06b975592bc3eef4bc.woff2
+jellyfin/jellyfin-web/3e1422fbde278e1e7c01.woff2
+jellyfin/jellyfin-web/3e3e3bb8a5f7a313a4f8.woff2
+jellyfin/jellyfin-web/3e97b9ab49aa431dfc2a.woff2
+jellyfin/jellyfin-web/3f3fe0fd3a0b637b5030.png
+jellyfin/jellyfin-web/3f782eb0a0b31f092aa6.woff2
+jellyfin/jellyfin-web/3f9cf8e421e72dd86621.woff2
+jellyfin/jellyfin-web/3fa90c593184d5737eb3.png
+jellyfin/jellyfin-web/3fd77986ba3ad574c799.woff2
+jellyfin/jellyfin-web/402a35420fd8073e1882.woff2
+jellyfin/jellyfin-web/408c8f81f93039c80b6f.woff2
+jellyfin/jellyfin-web/40a85ad58d176dd022e9.woff2
+jellyfin/jellyfin-web/4111.5d5f967b5eafd7a8d971.chunk.js
+jellyfin/jellyfin-web/411c2e94d41be7c0174a.woff2
+jellyfin/jellyfin-web/4136.2e3527457708556946b5.chunk.js
+jellyfin/jellyfin-web/413f295e5a7a88c47fd8.woff2
+jellyfin/jellyfin-web/415f56c1857f53f54d90.woff2
+jellyfin/jellyfin-web/4176.8adb2a4923ae38222783.chunk.js
+jellyfin/jellyfin-web/418dda919b98cf1e7631.woff2
+jellyfin/jellyfin-web/418e9e9ec7e9d26f9353.woff2
+jellyfin/jellyfin-web/41a621ae8cfe20d8cee3.woff2
+jellyfin/jellyfin-web/41c28b875107b43eefa9.woff2
+jellyfin/jellyfin-web/41d30898b11834bf82bc.woff2
+jellyfin/jellyfin-web/4231.838d088fc5720ab423f8.chunk.js
+jellyfin/jellyfin-web/4258.7eafeb978a4a336c8222.chunk.js
+jellyfin/jellyfin-web/4268.ae930337a9cf5e3c3b63.chunk.js
+jellyfin/jellyfin-web/4291.b963b8b61cf8a9570109.chunk.js
+jellyfin/jellyfin-web/4291.b963b8b61cf8a9570109.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/4293d79aaa7196eb9ea3.woff2
+jellyfin/jellyfin-web/42ca3809491d486ebbab.woff2
+jellyfin/jellyfin-web/42d2cf9236a2fb79f559.woff2
+jellyfin/jellyfin-web/42f2229d8b30538ae470.woff2
+jellyfin/jellyfin-web/4316.eb0b394196b0f5b0eece.chunk.js
+jellyfin/jellyfin-web/43200a393655112b7825.woff2
+jellyfin/jellyfin-web/4333.cfb1664db2e629f294eb.chunk.js
+jellyfin/jellyfin-web/4337.872fd4b02b75a54a5df9.chunk.js
+jellyfin/jellyfin-web/433803f3e5e8fa3a41bd.woff2
+jellyfin/jellyfin-web/4373.98e74466306fce90e225.chunk.js
+jellyfin/jellyfin-web/43a0931b165f996655fc.woff2
+jellyfin/jellyfin-web/43d27aeff3b57a77de99.woff2
+jellyfin/jellyfin-web/43fb0e8af9561e3859a7.woff2
+jellyfin/jellyfin-web/4420.50529d69dd3a5c8d523d.chunk.js
+jellyfin/jellyfin-web/4431.3f5838536a35fec80a8b.chunk.js
+jellyfin/jellyfin-web/44afb823c25c57fbad4c.woff2
+jellyfin/jellyfin-web/44bd6487b4528325247b.woff2
+jellyfin/jellyfin-web/44d3856e1f76f7a0ff2c.woff2
+jellyfin/jellyfin-web/44e21235d4207f8b6961.woff2
+jellyfin/jellyfin-web/4503.9ea1fd12b3f5afb186b4.chunk.js
+jellyfin/jellyfin-web/4557.8bd11bd0dd29f19fe1cc.chunk.js
+jellyfin/jellyfin-web/455ee4f33f6d125f40a2.woff2
+jellyfin/jellyfin-web/45aaad07976d68caac2d.woff2
+jellyfin/jellyfin-web/46.e190b7a5c796a76caf0b.chunk.js
+jellyfin/jellyfin-web/4602.d2bd494203b9d0d8456f.chunk.js
+jellyfin/jellyfin-web/4608.60447c4220898c4d73bc.chunk.js
+jellyfin/jellyfin-web/4609.63d4dd28702eba339ddc.chunk.js
+jellyfin/jellyfin-web/4614.d45ef1058782abaeada5.chunk.js
+jellyfin/jellyfin-web/4615.cb8e223f554f92832acc.chunk.js
+jellyfin/jellyfin-web/4656.e3df9ac4733a6bdbb9d0.chunk.js
+jellyfin/jellyfin-web/468bb7404fe3b3637932.woff2
+jellyfin/jellyfin-web/4693cd7479607a5a53ae.woff2
+jellyfin/jellyfin-web/46b78ee4f93764420617.woff2
+jellyfin/jellyfin-web/471.d67bce425535bea6ec56.chunk.js
+jellyfin/jellyfin-web/4727.6b541647f617bab871c1.chunk.js
+jellyfin/jellyfin-web/474d9fc3bd5eb784adcd.woff2
+jellyfin/jellyfin-web/47b25878887ef87ed9ed.woff2
+jellyfin/jellyfin-web/47d3ea13726c9fbe0163.woff2
+jellyfin/jellyfin-web/47db78aed771d3d5275a.woff2
+jellyfin/jellyfin-web/47fba15e3417448ce703.woff2
+jellyfin/jellyfin-web/4829.06c2d6044083e74d3684.chunk.js
+jellyfin/jellyfin-web/4867.b3159a20ebe938de37fb.chunk.js
+jellyfin/jellyfin-web/487f73dcef4bd9806e4d.woff2
+jellyfin/jellyfin-web/48dc106250bad3c0b8ed.woff2
+jellyfin/jellyfin-web/48dd9dff47abd15b12b5.woff2
+jellyfin/jellyfin-web/48f6a9d8dd2075e64ab6.woff2
+jellyfin/jellyfin-web/492.87c6efa70bba9de87897.chunk.js
+jellyfin/jellyfin-web/4946af81aa7ba1544221.woff2
+jellyfin/jellyfin-web/4987.f0606e40b76c1ea2e8a4.chunk.js
+jellyfin/jellyfin-web/499788bbc5231e765bde.woff2
+jellyfin/jellyfin-web/49c4a3594dc04b70de29.woff2
+jellyfin/jellyfin-web/49c64f2a04b513866e5f.woff2
+jellyfin/jellyfin-web/49cdd1cae3abc3fffe68.woff2
+jellyfin/jellyfin-web/49d14d0eb7bcdf6f2d1b.png
+jellyfin/jellyfin-web/49e327431385289765c6.woff2
+jellyfin/jellyfin-web/4a5dd5df319dedadb388.woff2
+jellyfin/jellyfin-web/4a5ebedd1e793be619a1.woff2
+jellyfin/jellyfin-web/4a5f3b6a4de38815ca2c.woff2
+jellyfin/jellyfin-web/4a7a6449a2edd06cdaa5.woff2
+jellyfin/jellyfin-web/4a838ecb37707f4756ff.woff2
+jellyfin/jellyfin-web/4aa6e527680b42467da0.woff2
+jellyfin/jellyfin-web/4b2888a8ea6826dcc63c.woff2
+jellyfin/jellyfin-web/4b2fe7e69a05d239fbf6.woff2
+jellyfin/jellyfin-web/4b3a8298c4338680f261.woff2
+jellyfin/jellyfin-web/4b7bcb362cda32269026.woff2
+jellyfin/jellyfin-web/4bd2058cc6ffa49642da.woff2
+jellyfin/jellyfin-web/4c0fe176697a234606ca.woff2
+jellyfin/jellyfin-web/4c681156cb4425b9ffb5.woff2
+jellyfin/jellyfin-web/4c6ec96a4e2e1b2f2b09.woff2
+jellyfin/jellyfin-web/4d039a13416949bbb782.woff2
+jellyfin/jellyfin-web/4d12cb3cca29af3e2aa9.woff2
+jellyfin/jellyfin-web/4d16e435e6bfd83c9172.woff2
+jellyfin/jellyfin-web/4d81af7f0fbf996caf23.woff2
+jellyfin/jellyfin-web/4d9db26bf4ea7ab3e536.woff2
+jellyfin/jellyfin-web/4df4acb7c184133c924c.woff2
+jellyfin/jellyfin-web/4e1d0c01c23c62fe6ae8.woff2
+jellyfin/jellyfin-web/4e37809cc0347e1838f9.woff2
+jellyfin/jellyfin-web/4ebfc43c2901dfe34c81.woff2
+jellyfin/jellyfin-web/4ede8f6c845621b8f176.woff2
+jellyfin/jellyfin-web/4ee4a92dbb5612b50f2c.woff2
+jellyfin/jellyfin-web/4f2a39a7f41e3dabdb28.woff2
+jellyfin/jellyfin-web/4f2afeb2c2c8814acf56.woff2
+jellyfin/jellyfin-web/4f68a2ff0923a5a0620a.woff2
+jellyfin/jellyfin-web/4f83ca88bb8a4e216a4a.woff2
+jellyfin/jellyfin-web/4f961e457c407c2fa36c.woff2
+jellyfin/jellyfin-web/4fa7bba9ab9d75bc3c79.woff2
+jellyfin/jellyfin-web/4faf56c7f3f67ad0e36f.woff2
+jellyfin/jellyfin-web/5048ca8358b998ed49d8.woff2
+jellyfin/jellyfin-web/5058.9f338115ce120ead687f.chunk.js
+jellyfin/jellyfin-web/5058a1145e2c69eec64c.woff2
+jellyfin/jellyfin-web/507fee561c9edc372663.woff2
+jellyfin/jellyfin-web/512.95fe79f27fe4dd82b7fc.chunk.js
+jellyfin/jellyfin-web/514fa94782ef6e557adf.woff2
+jellyfin/jellyfin-web/5150.15865c773d74b47a2d61.chunk.js
+jellyfin/jellyfin-web/5161.09b8433aa6f204cd8033.chunk.js
+jellyfin/jellyfin-web/5184.821885c9949145381069.chunk.js
+jellyfin/jellyfin-web/51b35eb1734fb316b8c4.woff2
+jellyfin/jellyfin-web/51b3d2b0dfaba6650275.woff2
+jellyfin/jellyfin-web/51e4d1f47fca1c5529b7.woff2
+jellyfin/jellyfin-web/51f178b61e1587c4aeff.woff2
+jellyfin/jellyfin-web/5222.5f1fb3876fc6fcdf0907.chunk.js
+jellyfin/jellyfin-web/522fa270807b7b12a9ba.png
+jellyfin/jellyfin-web/5275.1361a1791898a4a4f0f0.chunk.js
+jellyfin/jellyfin-web/527ea11013cdc0132ebd.woff2
+jellyfin/jellyfin-web/528.77e39a8fe119c30348ee.chunk.js
+jellyfin/jellyfin-web/5282.f47793bcd628ec53c889.chunk.js
+jellyfin/jellyfin-web/52c1b605e0ff7f8bc4c9.woff2
+jellyfin/jellyfin-web/52e0195dec9449519b0c.woff2
+jellyfin/jellyfin-web/531482127e93d955b5df.woff2
+jellyfin/jellyfin-web/532a3192551480ecffc0.woff2
+jellyfin/jellyfin-web/5344.ba39498f5437b10527d7.chunk.js
+jellyfin/jellyfin-web/534cc40e20870d0399a0.woff2
+jellyfin/jellyfin-web/5350e4b63548b08011ad.woff2
+jellyfin/jellyfin-web/5356.f165d25623c79a4e3676.chunk.js
+jellyfin/jellyfin-web/53ae1f3b45691c0501b4.woff2
+jellyfin/jellyfin-web/53e1c46684eb302180d3.woff2
+jellyfin/jellyfin-web/5428c1a9fa4a1e7cf649.woff2
+jellyfin/jellyfin-web/5487.a6e79037c4e3cc8353ff.chunk.js
+jellyfin/jellyfin-web/5487.a6e79037c4e3cc8353ff.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/54e01e0b8a04ec186860.woff2
+jellyfin/jellyfin-web/5523571f6f5453df2e64.woff2
+jellyfin/jellyfin-web/554300d8e9865234a84d.woff2
+jellyfin/jellyfin-web/55477d54c83325d623bc.woff2
+jellyfin/jellyfin-web/556e68b7e1edbb060975.woff2
+jellyfin/jellyfin-web/5584.4b1f320d197467589a54.chunk.js
+jellyfin/jellyfin-web/558e282bad64a92c39f6.woff2
+jellyfin/jellyfin-web/55c97dc85e6c5cb36138.woff2
+jellyfin/jellyfin-web/55f63ebf37a4d9ca69cc.woff2
+jellyfin/jellyfin-web/5649.d0d55274d7aeed4f2e64.chunk.js
+jellyfin/jellyfin-web/5653.666747ecc77046fed177.chunk.js
+jellyfin/jellyfin-web/5661.26be9ac19ca3358066ae.chunk.js
+jellyfin/jellyfin-web/5672.845d051c6e12784c35b1.chunk.js
+jellyfin/jellyfin-web/567cc045bd5b98b49c90.woff2
+jellyfin/jellyfin-web/568c45009f5bb341256b.woff2
+jellyfin/jellyfin-web/569e36a7b6bf748ad40f.woff2
+jellyfin/jellyfin-web/56b05ae3ffb5f69670db.woff2
+jellyfin/jellyfin-web/56d28e8ac6ebcdf00aa2.woff2
+jellyfin/jellyfin-web/5717e312c1e208b7fb51.woff2
+jellyfin/jellyfin-web/5725.c402f1e3be6526de2c24.chunk.js
+jellyfin/jellyfin-web/572a3c0c20ecf02746a7.woff2
+jellyfin/jellyfin-web/574.c2a1067664b21842ccb2.chunk.js
+jellyfin/jellyfin-web/5740.a144cbe15436c67c4387.chunk.js
+jellyfin/jellyfin-web/5765.1cf15c4cc2fac20cdf52.chunk.js
+jellyfin/jellyfin-web/5781805130f711eb4d24.woff2
+jellyfin/jellyfin-web/57bdbd5a17acded44aa2.woff2
+jellyfin/jellyfin-web/57f0d02741ca25fad2af.woff2
+jellyfin/jellyfin-web/58b794efe72af29a9d32.woff2
+jellyfin/jellyfin-web/5936.1927638f756c51297e09.chunk.js
+jellyfin/jellyfin-web/5937d4b8cc9bc446b61b.woff2
+jellyfin/jellyfin-web/59cbfc2ee8aa00ea6fbb.woff2
+jellyfin/jellyfin-web/59f943cf8e9e8ba5f3d3.woff2
+jellyfin/jellyfin-web/5a06baf4a414d3caafc2.woff2
+jellyfin/jellyfin-web/5a5544028eb8f113b964.woff2
+jellyfin/jellyfin-web/5a56d1afc0cec93479a2.woff2
+jellyfin/jellyfin-web/5a9ce280a56930137328.woff2
+jellyfin/jellyfin-web/5aabb7d0aadbcf8399bd.woff2
+jellyfin/jellyfin-web/5ad6fd282da19dc89718.woff2
+jellyfin/jellyfin-web/5af0e8e0cedf5c801e72.woff2
+jellyfin/jellyfin-web/5bbfff17682ff95a5387.woff2
+jellyfin/jellyfin-web/5be7969ca2aa21ac837e.woff2
+jellyfin/jellyfin-web/5c064b2e0b952a72ccba.woff2
+jellyfin/jellyfin-web/5c824039c9288092730c.woff2
+jellyfin/jellyfin-web/5ccb9e2036ade531aaba.woff2
+jellyfin/jellyfin-web/5ce0bf41ce84d815b291.woff2
+jellyfin/jellyfin-web/5d83139f266cfb398ebe.woff2
+jellyfin/jellyfin-web/5e8f77dbf711d4ea2e9a.woff2
+jellyfin/jellyfin-web/5eb8fe45cd9184bacc43.woff2
+jellyfin/jellyfin-web/5ede88c26add83a3a17b.woff2
+jellyfin/jellyfin-web/5ee9271f54b2c7871d8f.woff2
+jellyfin/jellyfin-web/5f29f85ca30bdec03a66.woff2
+jellyfin/jellyfin-web/5f5fd628c197272e6d81.woff2
+jellyfin/jellyfin-web/5f8674dbf17f97b966ea.woff2
+jellyfin/jellyfin-web/5f9bcc9789ecd1adde5d.woff2
+jellyfin/jellyfin-web/5fc2c5bfdfdf02ab5c34.woff2
+jellyfin/jellyfin-web/5fd99aec589b127e435e.woff2
+jellyfin/jellyfin-web/60067984582ecba15475.woff2
+jellyfin/jellyfin-web/6018e17b9197fb625d2f.woff2
+jellyfin/jellyfin-web/6021.0c7b5908c69424803713.chunk.js
+jellyfin/jellyfin-web/6056.8523e548045542f04e77.chunk.js
+jellyfin/jellyfin-web/605666dbb1821a8b47a5.woff2
+jellyfin/jellyfin-web/6064310fa03553fbd65a.woff2
+jellyfin/jellyfin-web/6066.e7a401c37dea7ee795d8.chunk.js
+jellyfin/jellyfin-web/6078.9e381be76535e688d9e4.chunk.js
+jellyfin/jellyfin-web/607c518bb0e78484ce8f.woff2
+jellyfin/jellyfin-web/60930209f3303b3558d3.woff2
+jellyfin/jellyfin-web/609cd0e39c88c808ebba.woff2
+jellyfin/jellyfin-web/60be37fe1b69e1bc1db3.woff2
+jellyfin/jellyfin-web/60d67353a80da4e2d0d7.woff2
+jellyfin/jellyfin-web/60e94475431ef19c7c1b.woff2
+jellyfin/jellyfin-web/611c4bf9d7bc2967ffcf.woff2
+jellyfin/jellyfin-web/6129b3f03253e017f19d.woff2
+jellyfin/jellyfin-web/6180.41b4b7d8cac38e292c44.chunk.js
+jellyfin/jellyfin-web/6185.b48780097585dc61a177.chunk.js
+jellyfin/jellyfin-web/61d738d4ab443d604c28.woff2
+jellyfin/jellyfin-web/62192f0360ad766c901e.woff2
+jellyfin/jellyfin-web/6249.22baa96b692ff4696c54.chunk.js
+jellyfin/jellyfin-web/624eaa2977a0aa8e51bc.woff2
+jellyfin/jellyfin-web/624ec23c4e22fc2a84b2.woff2
+jellyfin/jellyfin-web/6281.3a004033ecd56092f22f.chunk.js
+jellyfin/jellyfin-web/62bd2586f493262d0479.woff2
+jellyfin/jellyfin-web/6324321a750e90ca32b5.woff2
+jellyfin/jellyfin-web/6332f6c5f6a5c8355741.woff2
+jellyfin/jellyfin-web/633b353167d76d93b1b5.woff2
+jellyfin/jellyfin-web/6343bc74ec6f2b547428.woff2
+jellyfin/jellyfin-web/634f7533936860596ea0.woff2
+jellyfin/jellyfin-web/6372.d6913143db9abe36f7bb.chunk.js
+jellyfin/jellyfin-web/63892040a56b199695df.woff2
+jellyfin/jellyfin-web/63a725fe1cf89cb9f7dc.woff2
+jellyfin/jellyfin-web/63c0cc206c2abb3c2008.woff2
+jellyfin/jellyfin-web/642d3bc678e5fd3c124a.woff2
+jellyfin/jellyfin-web/643d53ec0131306becc7.woff2
+jellyfin/jellyfin-web/648c25fffbbc9503cb5f.woff2
+jellyfin/jellyfin-web/649dc8de760f327967fa.woff2
+jellyfin/jellyfin-web/64cf906fb0240d24a316.woff2
+jellyfin/jellyfin-web/64d966784cd77b03a79c.json
+jellyfin/jellyfin-web/65514675c22b85967b15.woff2
+jellyfin/jellyfin-web/6558.a4cc1e95c82507ec2819.chunk.js
+jellyfin/jellyfin-web/6560.1c740c7543b9ae7f4f89.chunk.js
+jellyfin/jellyfin-web/656ca25cf03c99f3d45c.woff2
+jellyfin/jellyfin-web/65a5bfab58ebc61e6a07.woff2
+jellyfin/jellyfin-web/65de49033adc007a8dae.woff2
+jellyfin/jellyfin-web/6641.df1707c3fa544ffd12b6.chunk.js
+jellyfin/jellyfin-web/664409414259e8d780b1.woff2
+jellyfin/jellyfin-web/6666196d27dbf1fc98c0.woff2
+jellyfin/jellyfin-web/6668.195d5ffa301ac0ece5b4.chunk.js
+jellyfin/jellyfin-web/6708.f700d3bdaddc4e5f7014.chunk.js
+jellyfin/jellyfin-web/672a6c47dbd9977c5738.woff2
+jellyfin/jellyfin-web/675403a0cf9ec56723a1.woff2
+jellyfin/jellyfin-web/67662fd9e021578917b9.woff2
+jellyfin/jellyfin-web/67669bb16a3348771a23.woff2
+jellyfin/jellyfin-web/67740341818b8cfb1eee.woff2
+jellyfin/jellyfin-web/6776cdcefb24162b61aa.woff2
+jellyfin/jellyfin-web/6787.52ae5f823378b8442d5e.chunk.js
+jellyfin/jellyfin-web/679.0891029ce5764866e367.chunk.js
+jellyfin/jellyfin-web/679.0891029ce5764866e367.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/67a32172c109532fca2a.woff2
+jellyfin/jellyfin-web/67c4ec0fb78ff1162508.woff2
+jellyfin/jellyfin-web/67e70711cd8a378a3ee2.woff2
+jellyfin/jellyfin-web/680e7ddeb3a091e1c892.woff2
+jellyfin/jellyfin-web/6842e887e0cde979889d.woff2
+jellyfin/jellyfin-web/685f2f3333429e8c6620.woff2
+jellyfin/jellyfin-web/6860.2a1db91db01f62d4b8a5.chunk.js
+jellyfin/jellyfin-web/6885.5c8ce6633ad9116bdc7f.chunk.js
+jellyfin/jellyfin-web/68d8f22313e87e264536.woff2
+jellyfin/jellyfin-web/68dad57e0f6bd7b9ebea.woff2
+jellyfin/jellyfin-web/6948.129ef78ccec127f98072.chunk.js
+jellyfin/jellyfin-web/69970b01403ff687e984.woff2
+jellyfin/jellyfin-web/69cf12e50e3a804d09bb.woff2
+jellyfin/jellyfin-web/69d93558357e585334be.woff2
+jellyfin/jellyfin-web/69ec94918e485f814116.woff2
+jellyfin/jellyfin-web/6a2e2e6b4186720e5d4f.png
+jellyfin/jellyfin-web/6a798a8311b2874361d7.woff2
+jellyfin/jellyfin-web/6aed78cf0282e8d461b3.woff2
+jellyfin/jellyfin-web/6b38dfeee44f0b09eca8.woff2
+jellyfin/jellyfin-web/6b8e79f5d9522467abb1.woff2
+jellyfin/jellyfin-web/6bd69c8c7ee74f006e56.woff2
+jellyfin/jellyfin-web/6c13de4eabadd6fecab3.woff2
+jellyfin/jellyfin-web/6c87f14ad87f26d9f82b.woff2
+jellyfin/jellyfin-web/6ca1668b9b105ed97b7c.woff2
+jellyfin/jellyfin-web/6cedce2f3e0523c35293.woff2
+jellyfin/jellyfin-web/6cf016238dc5134398a8.woff2
+jellyfin/jellyfin-web/6d2d11f59546a5a668dd.woff2
+jellyfin/jellyfin-web/6d60df8b787784c65893.woff2
+jellyfin/jellyfin-web/6d63916d40c7d54069e2.woff2
+jellyfin/jellyfin-web/6d8e5d87d1c770625e04.woff2
+jellyfin/jellyfin-web/6dc940845eb90bc42f5a.woff2
+jellyfin/jellyfin-web/6de874568a98308c4a74.png
+jellyfin/jellyfin-web/6dff9c88a24d84731f39.woff2
+jellyfin/jellyfin-web/6e32c743a8d324c2ebd0.woff2
+jellyfin/jellyfin-web/6ea762a6750616a08aa5.woff2
+jellyfin/jellyfin-web/6f0fdf3d0940f6364c9b.woff2
+jellyfin/jellyfin-web/6f45a8bf898d8e48786a.woff2
+jellyfin/jellyfin-web/6f7d58782be9d308999d.woff2
+jellyfin/jellyfin-web/6f86365b64a0ab6d273f.woff2
+jellyfin/jellyfin-web/70094791867e95fad2e3.woff2
+jellyfin/jellyfin-web/701cf6c618cbb835b0fa.woff2
+jellyfin/jellyfin-web/7031f5c5f8e4f21e2c59.woff2
+jellyfin/jellyfin-web/7046.e40be1a1a18eb7064fc7.chunk.js
+jellyfin/jellyfin-web/704d4289cd6af4dd1c14.woff2
+jellyfin/jellyfin-web/7057.9660e63d08405b02fa85.chunk.js
+jellyfin/jellyfin-web/70865eb33506e84dc3ac.woff2
+jellyfin/jellyfin-web/709f759e8f5900c5fc10.woff2
+jellyfin/jellyfin-web/70a363a4c14a0d76f15f.woff2
+jellyfin/jellyfin-web/70e0d9b7f93e36e9110e.woff2
+jellyfin/jellyfin-web/70f4eca20bf535460b0a.woff2
+jellyfin/jellyfin-web/71058c319cfbad453d7c.woff2
+jellyfin/jellyfin-web/7114.45a2b4e313851560cf66.chunk.js
+jellyfin/jellyfin-web/713a2067d095d88b1797.woff2
+jellyfin/jellyfin-web/7147.e14fc911fe48bac04b06.chunk.js
+jellyfin/jellyfin-web/7159956e33dc3e3e707a.woff2
+jellyfin/jellyfin-web/71f122221fdbded08dc8.woff2
+jellyfin/jellyfin-web/71fb7fb7b9568b93c6b8.woff2
+jellyfin/jellyfin-web/7206447cf82c6cb96875.woff2
+jellyfin/jellyfin-web/7216.c44fc07f8a77e7dde5c9.chunk.js
+jellyfin/jellyfin-web/7219.acd780ee80361fb47de1.chunk.js
+jellyfin/jellyfin-web/72203afe3cb3e32018b6.woff2
+jellyfin/jellyfin-web/72442838bd9c527e9aa2.woff2
+jellyfin/jellyfin-web/7265fcda3ecb4789af35.woff2
+jellyfin/jellyfin-web/7267608a18f83e55a624.woff2
+jellyfin/jellyfin-web/7277.f8ac82783a023dc1d2e9.chunk.js
+jellyfin/jellyfin-web/7282.fb356d4e2f76f65e6dea.chunk.js
+jellyfin/jellyfin-web/72c1406a7a5d3a335d78.woff2
+jellyfin/jellyfin-web/72d44d530e08b940e603.woff2
+jellyfin/jellyfin-web/72ec4c02180a8298b214.woff2
+jellyfin/jellyfin-web/72fbee828395ff11b5c9.woff2
+jellyfin/jellyfin-web/7307.2ea30e90541e93856371.chunk.js
+jellyfin/jellyfin-web/73370761592b61c21032.woff2
+jellyfin/jellyfin-web/734d04fcab4be1e12f60.woff2
+jellyfin/jellyfin-web/735567272a980a802d6f.woff2
+jellyfin/jellyfin-web/738a3e9a5dc835152df5.woff2
+jellyfin/jellyfin-web/7390fc49a7b5039c644e.woff2
+jellyfin/jellyfin-web/73a178bd8f97d83b3ed4.woff2
+jellyfin/jellyfin-web/73b0c520a21c03957722.woff2
+jellyfin/jellyfin-web/741ae8aa81b6b026491e.woff2
+jellyfin/jellyfin-web/7436593dbbde17766579.woff2
+jellyfin/jellyfin-web/7478b5615077b6ec7a19.woff2
+jellyfin/jellyfin-web/7487812b5bb65d1a80e6.woff2
+jellyfin/jellyfin-web/74ce2b743c33a4197e5c.gif
+jellyfin/jellyfin-web/7507.437962d91a460df2ecbf.chunk.js
+jellyfin/jellyfin-web/753d58fe88f32e748a1d.woff2
+jellyfin/jellyfin-web/757.88cafa47f16afbf076f3.chunk.js
+jellyfin/jellyfin-web/75856e74dc4561bea142.woff2
+jellyfin/jellyfin-web/75a26880cc0c62243629.woff2
+jellyfin/jellyfin-web/75b3df7478f9ee4354a5.woff2
+jellyfin/jellyfin-web/75b9f108fcb3da70d1f3.woff2
+jellyfin/jellyfin-web/762605e7532a5acab20b.woff2
+jellyfin/jellyfin-web/7686f6a8a990e381d4be.woff2
+jellyfin/jellyfin-web/768810fe851e9d4a5dd8.woff2
+jellyfin/jellyfin-web/76aba4e1921c8c50f55c.woff2
+jellyfin/jellyfin-web/76fd096dd9d5e67a7273.woff2
+jellyfin/jellyfin-web/7800f7f232a983980676.woff2
+jellyfin/jellyfin-web/7829cecd99313609f0c3.woff2
+jellyfin/jellyfin-web/784a2398ae2659fbeb38.woff2
+jellyfin/jellyfin-web/785cf0062307651f7d38.woff2
+jellyfin/jellyfin-web/7860.6d6adc949fc3e4f6a82f.chunk.js
+jellyfin/jellyfin-web/7876c9f0d9154830fc7c.woff2
+jellyfin/jellyfin-web/78b7846fdfc6ffae4cbb.woff2
+jellyfin/jellyfin-web/7923.ac1408a8be794a464d81.chunk.js
+jellyfin/jellyfin-web/79b24539b956fca1fb89.woff2
+jellyfin/jellyfin-web/79be4e9c5dfd16090054.woff2
+jellyfin/jellyfin-web/79ecba9fcfe1b4ab8502.woff2
+jellyfin/jellyfin-web/7a80c22de8565ba9ec24.woff2
+jellyfin/jellyfin-web/7ab5533187dc246238f6.woff2
+jellyfin/jellyfin-web/7adefaa09a51d1fcdb02.woff2
+jellyfin/jellyfin-web/7afafb81199d8c8198b0.woff2
+jellyfin/jellyfin-web/7b04d12d6778f67f5e84.woff2
+jellyfin/jellyfin-web/7b196848cd4a28a17fb7.woff2
+jellyfin/jellyfin-web/7b57674d7b559b496fe4.woff2
+jellyfin/jellyfin-web/7b5eb6dd19455f92600b.woff2
+jellyfin/jellyfin-web/7b689e9c7ef9844c9565.woff2
+jellyfin/jellyfin-web/7b8ef9809145cfec0aa6.png
+jellyfin/jellyfin-web/7c10ea2940ac43f9e007.woff2
+jellyfin/jellyfin-web/7c1f74c957c812af8b3b.woff2
+jellyfin/jellyfin-web/7c296e0db9aef0b0079f.woff2
+jellyfin/jellyfin-web/7cbf93eb3439ce199a4a.woff2
+jellyfin/jellyfin-web/7ce6cbed7f9390aed8f1.woff2
+jellyfin/jellyfin-web/7d178327085e684d15e5.woff2
+jellyfin/jellyfin-web/7d66b726e2cbc6c7b2f3.woff2
+jellyfin/jellyfin-web/7d6d2a44042722675463.woff2
+jellyfin/jellyfin-web/7d6f46c1878ed593b420.woff2
+jellyfin/jellyfin-web/7d99987de27ac3500fbf.woff2
+jellyfin/jellyfin-web/7e15a8c6ecdf19a7bb11.woff2
+jellyfin/jellyfin-web/7e6d5ac2370be948fe4c.woff2
+jellyfin/jellyfin-web/7ea1099dff9ffdc54fc2.woff2
+jellyfin/jellyfin-web/7f23ea92461056e530d6.woff2
+jellyfin/jellyfin-web/7f65400c6b61f9dd1187.woff2
+jellyfin/jellyfin-web/7f710822fa35e19bdcef.woff2
+jellyfin/jellyfin-web/7f7d360817a87fe48d36.woff2
+jellyfin/jellyfin-web/7f9ca3381c6f669cbffa.woff2
+jellyfin/jellyfin-web/7f9e84325f1a67094f70.woff2
+jellyfin/jellyfin-web/7fd056648da065782dcc.woff2
+jellyfin/jellyfin-web/8000.5ab9c5012856fa89518c.chunk.js
+jellyfin/jellyfin-web/8013.a7a620c47f27bdc1b322.chunk.js
+jellyfin/jellyfin-web/8037.8cf125e4bd5ebe0a117f.chunk.js
+jellyfin/jellyfin-web/80371478e7f1f080aa03.woff2
+jellyfin/jellyfin-web/808f82bf68372ea6dfd6.woff2
+jellyfin/jellyfin-web/80ec7b7b581431ffdd7b.woff2
+jellyfin/jellyfin-web/80fbdc75370a5e23e654.woff2
+jellyfin/jellyfin-web/8103d264ae00203c2665.woff2
+jellyfin/jellyfin-web/8129.79716e4e35b7343748e9.chunk.js
+jellyfin/jellyfin-web/81a315fdb7630d3cae9d.woff2
+jellyfin/jellyfin-web/81a4a3f25d3b8d1fda93.woff2
+jellyfin/jellyfin-web/81aed0fadaebc2c9125c.woff2
+jellyfin/jellyfin-web/81ce428db1a9a998fc0d.woff2
+jellyfin/jellyfin-web/81d08a3b6da0b2068e67.woff2
+jellyfin/jellyfin-web/81e1ea2d0d1412afb557.woff2
+jellyfin/jellyfin-web/822deea797ca34f96f03.woff2
+jellyfin/jellyfin-web/8233.82228f339f6ae66a80d5.chunk.js
+jellyfin/jellyfin-web/8233.82228f339f6ae66a80d5.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/82675d8db70d7b612bcd.woff2
+jellyfin/jellyfin-web/8276.0dc6051919d35535189d.chunk.js
+jellyfin/jellyfin-web/82b4503dd0cc7277f718.woff2
+jellyfin/jellyfin-web/82bd3f6c967de642d00e.woff2
+jellyfin/jellyfin-web/82fe1d679c293fe88ff8.woff2
+jellyfin/jellyfin-web/831293a96137b72b85fa.woff2
+jellyfin/jellyfin-web/832.7571973c499e99883a68.chunk.js
+jellyfin/jellyfin-web/835543aa7ec123238dc9.woff2
+jellyfin/jellyfin-web/83839de69f6aa3c00023.woff2
+jellyfin/jellyfin-web/8397.9e3cb2ea6b4f6f33b35f.chunk.js
+jellyfin/jellyfin-web/83aa1a642dbd68239b77.woff2
+jellyfin/jellyfin-web/83fe061c2d558f5ee23c.woff2
+jellyfin/jellyfin-web/842077e9b365a97cb536.woff2
+jellyfin/jellyfin-web/845df535e7caf87a6753.woff2
+jellyfin/jellyfin-web/84830cfd1652a5f8f4c7.woff2
+jellyfin/jellyfin-web/84a2553b2d140a931ff3.woff2
+jellyfin/jellyfin-web/84bbba58119359db3696.woff2
+jellyfin/jellyfin-web/84ff580f775112d8be1a.woff2
+jellyfin/jellyfin-web/8504.2db13a89f6ff6a44e615.chunk.js
+jellyfin/jellyfin-web/8537.e871787c68882af3c8d7.chunk.js
+jellyfin/jellyfin-web/85963d3a540139a0e896.woff2
+jellyfin/jellyfin-web/860bd1305613c438188c.woff2
+jellyfin/jellyfin-web/860e442ec5e345416975.woff2
+jellyfin/jellyfin-web/860f08428f959867d7a1.woff2
+jellyfin/jellyfin-web/8626.526fb3bf6f48072dc352.chunk.js
+jellyfin/jellyfin-web/867cab7fbdaa90ae8d70.woff2
+jellyfin/jellyfin-web/8692.fbecb48c3d6b151c5c54.chunk.js
+jellyfin/jellyfin-web/8699ac24556c0ac7b657.woff2
+jellyfin/jellyfin-web/86c035956cd93a07ab07.woff2
+jellyfin/jellyfin-web/86f6b0f51b4d216d435a.woff2
+jellyfin/jellyfin-web/8706.b016f57e2ceec9d94269.chunk.js
+jellyfin/jellyfin-web/872.8adb3ac7d3a4135c5f23.chunk.js
+jellyfin/jellyfin-web/875589f87fa3bb1b6167.woff2
+jellyfin/jellyfin-web/876c8ad7bff13b444cd2.woff2
+jellyfin/jellyfin-web/87ddf157413af9175eed.woff2
+jellyfin/jellyfin-web/8806.ec2b50c21ecd06d43f54.chunk.js
+jellyfin/jellyfin-web/8828bc44e22bf7481e3c.woff2
+jellyfin/jellyfin-web/884c38b33526cd62e83a.woff2
+jellyfin/jellyfin-web/88531351a5930a3d2cf9.woff2
+jellyfin/jellyfin-web/886cb8ee38342e844d9d.woff2
+jellyfin/jellyfin-web/8872.af01f38827899f440345.chunk.js
+jellyfin/jellyfin-web/88cb5baf7e467e5a442a.woff2
+jellyfin/jellyfin-web/89062f6f21352518656d.woff2
+jellyfin/jellyfin-web/8995.1f32057f557fb0fbc74b.chunk.js
+jellyfin/jellyfin-web/89c689f127f0109ea5e1.woff2
+jellyfin/jellyfin-web/8a52b42ca2a3e15ab233.woff2
+jellyfin/jellyfin-web/8a53d8c4656e10b429d0.woff2
+jellyfin/jellyfin-web/8a564d456131fcf391ba.woff2
+jellyfin/jellyfin-web/8a821f71e1b93b7981d1.woff2
+jellyfin/jellyfin-web/8b3b8b3a62f62177d66f.woff2
+jellyfin/jellyfin-web/8b44afb041ce7c26e02a.woff2
+jellyfin/jellyfin-web/8b6cc9eec941d321de6f.woff2
+jellyfin/jellyfin-web/8c7081a9ede2a0ffc1c0.woff2
+jellyfin/jellyfin-web/8cff34fbe6de6933d502.woff2
+jellyfin/jellyfin-web/8d09dafee460384f846e.woff2
+jellyfin/jellyfin-web/8d12361895887ed27c5c.woff2
+jellyfin/jellyfin-web/8d2a95d02ba8bde08bfe.woff2
+jellyfin/jellyfin-web/8d454dbef7b7d62610ec.woff2
+jellyfin/jellyfin-web/8e7d099aa48b74d21943.woff2
+jellyfin/jellyfin-web/8ea016db6d5639236192.woff2
+jellyfin/jellyfin-web/8edab46e0613bf2590ff.woff2
+jellyfin/jellyfin-web/8f233aa6b9f478d82229.woff2
+jellyfin/jellyfin-web/8f7f41c31a92c21385f5.woff2
+jellyfin/jellyfin-web/8f84a2085142bf86060b.woff2
+jellyfin/jellyfin-web/8f90657001348d5886db.woff2
+jellyfin/jellyfin-web/8f94a8a857b404040cfe.woff2
+jellyfin/jellyfin-web/8fa7af9cdc3602d83403.woff2
+jellyfin/jellyfin-web/8fbee7ab6f135c916cc7.woff2
+jellyfin/jellyfin-web/90066f43753e73ad42dd.woff2
+jellyfin/jellyfin-web/9022.e7319d3b5663f5d1fddb.chunk.js
+jellyfin/jellyfin-web/9022e0a2a847d56ccc9a.woff2
+jellyfin/jellyfin-web/90471e989e93c6f2f5bf.woff2
+jellyfin/jellyfin-web/9066be49e0766a0f97b8.woff2
+jellyfin/jellyfin-web/906a02d75b8440ab351d.woff2
+jellyfin/jellyfin-web/90bac85639bd265347bb.woff2
+jellyfin/jellyfin-web/9165.277616214c098c84902d.chunk.js
+jellyfin/jellyfin-web/91d1ec0022cbe483026a.woff2
+jellyfin/jellyfin-web/91d6c2eef5e18c45300b.woff2
+jellyfin/jellyfin-web/9204.afb730a3a92d61b2f388.chunk.js
+jellyfin/jellyfin-web/9310afd765d3e3e59ded.woff2
+jellyfin/jellyfin-web/93163993ede57c3b3f81.woff2
+jellyfin/jellyfin-web/934a621a2e27805b1158.woff2
+jellyfin/jellyfin-web/9368.c8a47b39dd4cdedf4c9d.chunk.js
+jellyfin/jellyfin-web/939d512a4163b4b766e2.woff2
+jellyfin/jellyfin-web/93c67f46e03f8cc4a1ee.woff2
+jellyfin/jellyfin-web/943cd28d8619da5efe90.woff2
+jellyfin/jellyfin-web/9440.e9b0ba5367358d862b89.chunk.js
+jellyfin/jellyfin-web/9446.0de19fc1e1795712d9c8.chunk.js
+jellyfin/jellyfin-web/9451.f6c20398eb08116243f2.chunk.js
+jellyfin/jellyfin-web/945e49c83bcc86c69596.woff2
+jellyfin/jellyfin-web/94a7706ebf336dbab6bb.woff2
+jellyfin/jellyfin-web/94ee7bd90aaab40f0612.woff2
+jellyfin/jellyfin-web/951de3a544f9985694fa.woff2
+jellyfin/jellyfin-web/954974164f19b165f834.woff2
+jellyfin/jellyfin-web/9560.753c4a148659310e1326.chunk.js
+jellyfin/jellyfin-web/9606.d848194b7280afdcc8da.chunk.js
+jellyfin/jellyfin-web/960a4b0bd822d93cd272.woff2
+jellyfin/jellyfin-web/962e657ca16c3beedc4f.woff2
+jellyfin/jellyfin-web/964.9c7b49a22ac5255746a9.chunk.js
+jellyfin/jellyfin-web/971b479e312d38a9f698.woff2
+jellyfin/jellyfin-web/972363dbecd3b5cb5003.woff2
+jellyfin/jellyfin-web/9789.8359b1c51d230841f66b.chunk.js
+jellyfin/jellyfin-web/97adcb22ddd0b0d7d464.woff2
+jellyfin/jellyfin-web/97df86f6112687ccacd9.woff2
+jellyfin/jellyfin-web/97f9211576d8856f9886.woff2
+jellyfin/jellyfin-web/97fa76690355b20182b6.woff2
+jellyfin/jellyfin-web/9800.ca719c365fb298aec137.chunk.js
+jellyfin/jellyfin-web/982.bcca4c0f82d88f93d3e4.chunk.js
+jellyfin/jellyfin-web/984502137f13717ffce1.woff2
+jellyfin/jellyfin-web/986126509865265d5af7.woff2
+jellyfin/jellyfin-web/98f33bada94d2956aabf.woff2
+jellyfin/jellyfin-web/9904.308cec8501101778c445.chunk.js
+jellyfin/jellyfin-web/9944.7c989716de118dc7f50a.chunk.js
+jellyfin/jellyfin-web/994dc55535710eb869df.woff2
+jellyfin/jellyfin-web/9961656782570d55cfb8.woff2
+jellyfin/jellyfin-web/9965ff8df0362b66ae08.woff2
+jellyfin/jellyfin-web/9969.f509eca5817a8a38255e.chunk.js
+jellyfin/jellyfin-web/9974.3b1bf88d70fa7e52a5fc.chunk.js
+jellyfin/jellyfin-web/99ff2c4541b0651e5150.woff2
+jellyfin/jellyfin-web/9a221aad50b5129fa877.woff2
+jellyfin/jellyfin-web/9a23779ec4c6352e301e.woff2
+jellyfin/jellyfin-web/9a3cfd9fbc0920b976db.woff2
+jellyfin/jellyfin-web/9a401523d0397317388d.woff2
+jellyfin/jellyfin-web/9a5d1d02ae526c656954.woff2
+jellyfin/jellyfin-web/9b536b2d79d9048e4e28.woff2
+jellyfin/jellyfin-web/9b67c90897bf4878f168.woff2
+jellyfin/jellyfin-web/9b88e07341540368636c.woff2
+jellyfin/jellyfin-web/9bf3444225d1831929e9.woff2
+jellyfin/jellyfin-web/9c240ed0448222923c71.woff2
+jellyfin/jellyfin-web/9ca3865b69a6638d3b0d.woff2
+jellyfin/jellyfin-web/9ca3dc388da9afdabe79.woff2
+jellyfin/jellyfin-web/9cb303ac9e587d1d34ea.woff2
+jellyfin/jellyfin-web/9cc80869c201f0da5ce6.woff2
+jellyfin/jellyfin-web/9cd3d4a2e5005ade8daa.woff2
+jellyfin/jellyfin-web/9d147657bab43dc15c14.woff2
+jellyfin/jellyfin-web/9d20e38ac67af4fce39d.woff2
+jellyfin/jellyfin-web/9d4053f8f867039234d7.woff2
+jellyfin/jellyfin-web/9d5e8bb58af9a3f9eb91.woff2
+jellyfin/jellyfin-web/9d614e1456d42c96692e.woff2
+jellyfin/jellyfin-web/9d7151811580facd9cbf.woff2
+jellyfin/jellyfin-web/9dcfacc808f63a216c52.woff2
+jellyfin/jellyfin-web/9e7a8bdf9e0f6c55e14c.woff2
+jellyfin/jellyfin-web/9e8f5032924d1d02fcd9.woff2
+jellyfin/jellyfin-web/9f7c8d97bc9387660fdc.woff2
+jellyfin/jellyfin-web/9f7e03c88d5adb435698.woff2
+jellyfin/jellyfin-web/9fa19bf2bd6c23a055e4.woff2
+jellyfin/jellyfin-web/9fa5f7bd0fa2652867e6.woff2
+jellyfin/jellyfin-web/9fcfebc7e5a6bc598474.woff2
+jellyfin/jellyfin-web/NewUserPage.2cea142d4f66ba17a150.chunk.js
+jellyfin/jellyfin-web/NewUserPage.2cea142d4f66ba17a150.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/SearchPage.84aafa6e8bd0e5a31778.chunk.js
+jellyfin/jellyfin-web/SearchPage.84aafa6e8bd0e5a31778.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/UserEditPage.4f6ef466462ef46af1d8.chunk.js
+jellyfin/jellyfin-web/UserEditPage.4f6ef466462ef46af1d8.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/UserLibraryAccessPage.f92659ced2e34f704e70.chunk.js
+jellyfin/jellyfin-web/UserLibraryAccessPage.f92659ced2e34f704e70.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/UserParentalControl.dc78fac9604a9efc0d9e.chunk.js
+jellyfin/jellyfin-web/UserParentalControl.dc78fac9604a9efc0d9e.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/UserPasswordPage.e6b5bcea2de7832e7808.chunk.js
+jellyfin/jellyfin-web/UserPasswordPage.e6b5bcea2de7832e7808.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/UserProfilePage.87b76c819a8519e4782c.chunk.js
+jellyfin/jellyfin-web/UserProfilePage.87b76c819a8519e4782c.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/UserProfilesPage.7b31ee5169355ef6df62.chunk.js
+jellyfin/jellyfin-web/UserProfilesPage.7b31ee5169355ef6df62.chunk.js.LICENSE.txt
+jellyfin/jellyfin-web/a011f56ebc551121c500.woff2
+jellyfin/jellyfin-web/a024b5f582be60a79ab8.woff2
+jellyfin/jellyfin-web/a02a04b12eaf315d697d.woff2
+jellyfin/jellyfin-web/a0398bdbebd9aa8826e3.woff2
+jellyfin/jellyfin-web/a0962c370dd75ee08cc6.woff2
+jellyfin/jellyfin-web/a0a20baf48f695ec3a2d.woff2
+jellyfin/jellyfin-web/a0ab7e852914a766067f.woff2
+jellyfin/jellyfin-web/a0e4059d81c4ca5012e2.woff2
+jellyfin/jellyfin-web/a0edd8efc05c1f6923bb.woff2
+jellyfin/jellyfin-web/a12eb158a4113ee68ede.woff2
+jellyfin/jellyfin-web/a1556d07d81363b1a37e.woff2
+jellyfin/jellyfin-web/a213d04e0ffa1d94da19.woff2
+jellyfin/jellyfin-web/a2419acdc97a4c3823df.woff2
+jellyfin/jellyfin-web/a29624a3ee9e17d56705.woff2
+jellyfin/jellyfin-web/a305fef0b462b0fe39e1.woff2
+jellyfin/jellyfin-web/a332fba223aa7bb15680.woff2
+jellyfin/jellyfin-web/a34734f499b38354c11e.woff2
+jellyfin/jellyfin-web/a353a1db51c3dedf1068.woff2
+jellyfin/jellyfin-web/a3643d92acd4d6076cf7.woff2
+jellyfin/jellyfin-web/a3720b5c9cf90c14a2a8.woff2
+jellyfin/jellyfin-web/a38381d23c5b358c02b6.woff2
+jellyfin/jellyfin-web/a45326079a168accecf9.woff2
+jellyfin/jellyfin-web/a4773317f9348ab37a60.woff2
+jellyfin/jellyfin-web/a4aa323dfefcebd79358.woff2
+jellyfin/jellyfin-web/a50663fd866798345c75.woff2
+jellyfin/jellyfin-web/a55f214b3f05f3d41afa.woff2
+jellyfin/jellyfin-web/a590dd6346172d16a247.woff2
+jellyfin/jellyfin-web/a6aac7bd528feb72e943.woff2
+jellyfin/jellyfin-web/a6b3ad288720a3626da0.woff2
+jellyfin/jellyfin-web/a6bac16af7b7abcc621f.woff2
+jellyfin/jellyfin-web/a704db4187b5f10a3b28.woff2
+jellyfin/jellyfin-web/a730d95da2f7406c1690.woff2
+jellyfin/jellyfin-web/a78520db9363c06bdb2e.woff2
+jellyfin/jellyfin-web/a7916f741fb1cb45b8a3.woff2
+jellyfin/jellyfin-web/a8048b8c480a39601b52.woff2
+jellyfin/jellyfin-web/a84cc54a1b57d30f308b.woff2
+jellyfin/jellyfin-web/a894b0745dced00fa584.woff2
+jellyfin/jellyfin-web/a8c4ac9528856f15ab2a.woff2
+jellyfin/jellyfin-web/a8dc923fbf3b43db3cec.woff2
+jellyfin/jellyfin-web/a94d5f97274c94ca8bff.woff2
+jellyfin/jellyfin-web/a954861314517e5f15cd.woff2
+jellyfin/jellyfin-web/a96221312e0d84f11e00.woff2
+jellyfin/jellyfin-web/a962662957ebbb8eb436.png
+jellyfin/jellyfin-web/a99efa629d3e88829929.woff2
+jellyfin/jellyfin-web/a9cce5245c0e5946a8b3.woff2
+jellyfin/jellyfin-web/aa7511364f2ab0215a4f.woff2
+jellyfin/jellyfin-web/aa966500df02e3282d3d.woff2
+jellyfin/jellyfin-web/ab211827eb8768935733.woff2
+jellyfin/jellyfin-web/ab3b29b5bb19d28b3eea.woff2
+jellyfin/jellyfin-web/ab71cf50ee077c211a7f.woff2
+jellyfin/jellyfin-web/ab9d62ff8cd8bc5ddd9a.woff2
+jellyfin/jellyfin-web/aba5a52b7bea72efce7e.woff2
+jellyfin/jellyfin-web/ac11f2429e04c0aa2423.woff2
+jellyfin/jellyfin-web/ac5c4946fda41796ab0b.woff2
+jellyfin/jellyfin-web/aca4ce10ac7f2fde1313.woff2
+jellyfin/jellyfin-web/ad54c668878984808ce0.woff2
+jellyfin/jellyfin-web/ade7110afae9ca41546b.woff2
+jellyfin/jellyfin-web/ae65ac9b6fdd970a4aa9.woff2
+jellyfin/jellyfin-web/aee11122dbe80c64fddb.woff2
+jellyfin/jellyfin-web/aef30bd507a35c7688c7.woff
+jellyfin/jellyfin-web/af3ad1acfb4daf41c4c4.woff2
+jellyfin/jellyfin-web/af45fd9d002e003b50f1.woff2
+jellyfin/jellyfin-web/af70e923b2eb6ffeafd0.woff2
+jellyfin/jellyfin-web/af915d7cb9cf382caecc.woff2
+jellyfin/jellyfin-web/afaf4f2ac88e8dab66ec.woff2
+jellyfin/jellyfin-web/apiclient.d.ts
+jellyfin/jellyfin-web/assets/audio/silence.mp3
+jellyfin/jellyfin-web/assets/img/avatar.png
+jellyfin/jellyfin-web/assets/img/banner-dark.png
+jellyfin/jellyfin-web/assets/img/banner-light.png
+jellyfin/jellyfin-web/assets/img/devices/android.svg
+jellyfin/jellyfin-web/assets/img/devices/apple.svg
+jellyfin/jellyfin-web/assets/img/devices/chrome.svg
+jellyfin/jellyfin-web/assets/img/devices/edge.svg
+jellyfin/jellyfin-web/assets/img/devices/edgechromium.svg
+jellyfin/jellyfin-web/assets/img/devices/firefox.svg
+jellyfin/jellyfin-web/assets/img/devices/html5.svg
+jellyfin/jellyfin-web/assets/img/devices/kodi.svg
+jellyfin/jellyfin-web/assets/img/devices/msie.svg
+jellyfin/jellyfin-web/assets/img/devices/opera.svg
+jellyfin/jellyfin-web/assets/img/devices/other.svg
+jellyfin/jellyfin-web/assets/img/devices/playstation.svg
+jellyfin/jellyfin-web/assets/img/devices/safari.svg
+jellyfin/jellyfin-web/assets/img/devices/samsungtv.svg
+jellyfin/jellyfin-web/assets/img/devices/windows.svg
+jellyfin/jellyfin-web/assets/img/devices/xbox.svg
+jellyfin/jellyfin-web/assets/img/equalizer.gif
+jellyfin/jellyfin-web/assets/img/fresh.svg
+jellyfin/jellyfin-web/assets/img/icon-transparent.png
+jellyfin/jellyfin-web/assets/img/rotten.svg
+jellyfin/jellyfin-web/assets/splash/ipad_splash.png
+jellyfin/jellyfin-web/assets/splash/ipad_splash_l.png
+jellyfin/jellyfin-web/assets/splash/ipadpro1_splash.png
+jellyfin/jellyfin-web/assets/splash/ipadpro1_splash_l.png
+jellyfin/jellyfin-web/assets/splash/ipadpro2_splash.png
+jellyfin/jellyfin-web/assets/splash/ipadpro2_splash_l.png
+jellyfin/jellyfin-web/assets/splash/ipadpro3_splash.png
+jellyfin/jellyfin-web/assets/splash/ipadpro3_splash_l.png
+jellyfin/jellyfin-web/assets/splash/iphone5_splash.png
+jellyfin/jellyfin-web/assets/splash/iphone5_splash_l.png
+jellyfin/jellyfin-web/assets/splash/iphone6_splash.png
+jellyfin/jellyfin-web/assets/splash/iphone6_splash_l.png
+jellyfin/jellyfin-web/assets/splash/iphoneplus_splash.png
+jellyfin/jellyfin-web/assets/splash/iphoneplus_splash_l.png
+jellyfin/jellyfin-web/assets/splash/iphonex_splash.png
+jellyfin/jellyfin-web/assets/splash/iphonex_splash_l.png
+jellyfin/jellyfin-web/assets/splash/iphonexr_splash.png
+jellyfin/jellyfin-web/assets/splash/iphonexr_splash_l.png
+jellyfin/jellyfin-web/assets/splash/iphonexsmax_splash.png
+jellyfin/jellyfin-web/assets/splash/iphonexsmax_splash_l.png
+jellyfin/jellyfin-web/b0b5d7b45bf99fd74ab6.woff2
+jellyfin/jellyfin-web/b0c02df0a36b25aa7f6b.woff2
+jellyfin/jellyfin-web/b0c70447f78f04253517.woff2
+jellyfin/jellyfin-web/b0ca610ca80901202f2b.woff2
+jellyfin/jellyfin-web/b0e2612fa20f5735701c.woff2
+jellyfin/jellyfin-web/b10580d1baac9625edfd.woff2
+jellyfin/jellyfin-web/b1221b20d15be61b8cda.woff2
+jellyfin/jellyfin-web/b1572bac6c40a00e0738.woff2
+jellyfin/jellyfin-web/b1a26761df02629d57a8.woff2
+jellyfin/jellyfin-web/b1bbef969b74609447d6.woff2
+jellyfin/jellyfin-web/b1c676e7afe15ddaf247.woff2
+jellyfin/jellyfin-web/b1cc95249b4872ebe338.woff2
+jellyfin/jellyfin-web/b1ec90a45cd3c90fe3bb.woff2
+jellyfin/jellyfin-web/b22d23232b9cbb5ae4bd.woff2
+jellyfin/jellyfin-web/b28274941b2ab84851ae.woff2
+jellyfin/jellyfin-web/b342b07f01a1758ec6e5.woff2
+jellyfin/jellyfin-web/b37d320194b55b0f0654.woff2
+jellyfin/jellyfin-web/b392134c75b256499e42.woff2
+jellyfin/jellyfin-web/b3a953f7867ea0e92797.woff2
+jellyfin/jellyfin-web/b3b7f728b0a4556aa4a6.woff2
+jellyfin/jellyfin-web/b431ec581214a85b9955.woff2
+jellyfin/jellyfin-web/b452b12d530410e7ef62.woff2
+jellyfin/jellyfin-web/b59ada8f3931fa0d3377.woff2
+jellyfin/jellyfin-web/b5bc13b4dc5cd6cef49f.woff2
+jellyfin/jellyfin-web/b5c1267edb88996875c6.woff2
+jellyfin/jellyfin-web/b62b284d05477cce9108.woff2
+jellyfin/jellyfin-web/b63a66e538e57d1b0e89.woff2
+jellyfin/jellyfin-web/b63e01da5ade7df922f5.woff2
+jellyfin/jellyfin-web/b660a5dfa8923ae5e19f.woff2
+jellyfin/jellyfin-web/b694f808c07822ab5927.woff2
+jellyfin/jellyfin-web/b6ef2d87c5ecc21c1311.woff2
+jellyfin/jellyfin-web/b70d9b81814f7ac09a45.woff2
+jellyfin/jellyfin-web/b7a29eabc5b513f7a841.woff2
+jellyfin/jellyfin-web/b82dcfcfa71359fb7d7f.woff2
+jellyfin/jellyfin-web/b83e7a88381c42995530.woff2
+jellyfin/jellyfin-web/b84cba06c4090a80f41f.woff2
+jellyfin/jellyfin-web/b85638fac92fb9c40af1.woff2
+jellyfin/jellyfin-web/b89df67e89ea87ef70b7.woff2
+jellyfin/jellyfin-web/b8abdc4aa8a6690313b0.woff2
+jellyfin/jellyfin-web/b8c79e4f31a329b9253f.woff2
+jellyfin/jellyfin-web/b96b711aec5cc3d60d87.woff2
+jellyfin/jellyfin-web/b9929e251bc3cec482d0.woff2
+jellyfin/jellyfin-web/b9e80ff144bfe12fa796.woff2
+jellyfin/jellyfin-web/ba154d95a85f35c26fea.woff2
+jellyfin/jellyfin-web/ba1bf47c53f46253d9e2.woff2
+jellyfin/jellyfin-web/ba2162fa343f79114863.woff2
+jellyfin/jellyfin-web/ba927e247364333d9b5b.woff2
+jellyfin/jellyfin-web/baa7dfd4fe822662bef0.woff2
+jellyfin/jellyfin-web/baafa93a783b76e667ec.png
+jellyfin/jellyfin-web/bac5157b92fe92ff1456.woff2
+jellyfin/jellyfin-web/backdropScreensaver-plugin.8af771f13a14b5a05c74.chunk.js
+jellyfin/jellyfin-web/bb40b2c3d56c27b64798.woff2
+jellyfin/jellyfin-web/bbb3e6d43389ba0d436c.png
+jellyfin/jellyfin-web/bbe546c2ffc3cd8bfcdb.woff2
+jellyfin/jellyfin-web/bbfd637564542aff1ee5.woff2
+jellyfin/jellyfin-web/bbfe93da850668814376.woff2
+jellyfin/jellyfin-web/bc19b48fc89dffbcb064.woff2
+jellyfin/jellyfin-web/bc20c8e46fc95999cbff.woff2
+jellyfin/jellyfin-web/bc81f68aeb8bd2e80b55.woff2
+jellyfin/jellyfin-web/bc8d51405ec040305a87.ico
+jellyfin/jellyfin-web/bcb7eddc9fb326ec6bf8.woff2
+jellyfin/jellyfin-web/bd04f7f58813a4025247.woff2
+jellyfin/jellyfin-web/bd33f2fb8f1b76fb1835.woff2
+jellyfin/jellyfin-web/bd71c59e4c281208ae4d.woff2
+jellyfin/jellyfin-web/bd8872c08189deda282a.woff2
+jellyfin/jellyfin-web/bdb95967291ebee44ec3.woff2
+jellyfin/jellyfin-web/bdc0745d8e0868784043.woff2
+jellyfin/jellyfin-web/be14bc614e55c636e568.woff2
+jellyfin/jellyfin-web/be6c1556ab3ed32961e5.woff2
+jellyfin/jellyfin-web/bee6e2e45e4537b645a2.woff2
+jellyfin/jellyfin-web/bf19bb33465e1c0572c9.woff2
+jellyfin/jellyfin-web/bf7af2b7590e214060bf.woff2
+jellyfin/jellyfin-web/bf925263d775d762781f.woff2
+jellyfin/jellyfin-web/bf9cede86fca54ce4e3d.woff2
+jellyfin/jellyfin-web/bfa829511b718a28966c.woff2
+jellyfin/jellyfin-web/blurhash.worker.jellyfin.bundle.worker.js
+jellyfin/jellyfin-web/bookPlayer-plugin.90fe01346e3144eeca2e.chunk.js
+jellyfin/jellyfin-web/bookPlayer-style-scss.d0ac7766e169e83c7f1d.chunk.js
+jellyfin/jellyfin-web/bookPlayer-tableOfContents.8d78491762669d30918f.chunk.js
+jellyfin/jellyfin-web/bookPlayer-template-html.78a5c4e0905e44f3d68b.chunk.js
+jellyfin/jellyfin-web/c0049ebc795d0b3e7b1c.woff2
+jellyfin/jellyfin-web/c02e2c7e208e11ec81a9.woff2
+jellyfin/jellyfin-web/c046bda4249deacfa8e7.woff2
+jellyfin/jellyfin-web/c0f3b0a43c2477ff5240.woff2
+jellyfin/jellyfin-web/c115481cba1a17de35de.woff2
+jellyfin/jellyfin-web/c1cb440f1b38a0ea4fe9.woff2
+jellyfin/jellyfin-web/c1d709cc73ee373aa4a7.woff2
+jellyfin/jellyfin-web/c1e4b189f1e34831a17a.woff2
+jellyfin/jellyfin-web/c2024ec790c014de521c.woff2
+jellyfin/jellyfin-web/c20eb411034500f117f9.woff2
+jellyfin/jellyfin-web/c22bbf63eadb5acc94ef.woff2
+jellyfin/jellyfin-web/c23645e174e75523e243.woff2
+jellyfin/jellyfin-web/c24edf7afa8d8e1ea69f.woff2
+jellyfin/jellyfin-web/c2985939197b0bc96ae2.woff2
+jellyfin/jellyfin-web/c2d20e3abd5cb69c03c4.woff2
+jellyfin/jellyfin-web/c2f0c825b5b1fb716280.woff2
+jellyfin/jellyfin-web/c30a2daa6040ebad3fab.woff2
+jellyfin/jellyfin-web/c3188fd0c6b14f58d88d.woff2
+jellyfin/jellyfin-web/c327e2b16383db0201fc.woff2
+jellyfin/jellyfin-web/c33dbdf2fc99ea26edcb.woff2
+jellyfin/jellyfin-web/c368a9a9d47cc67db800.woff2
+jellyfin/jellyfin-web/c36975a74ef451c401f0.woff2
+jellyfin/jellyfin-web/c37305b8755143d8f22a.woff2
+jellyfin/jellyfin-web/c3a8b55b7a328b2a979a.woff2
+jellyfin/jellyfin-web/c3ab17e3d7c362aac0b5.woff2
+jellyfin/jellyfin-web/c4375eb740b588d0ec53.woff2
+jellyfin/jellyfin-web/c46d31a9791e2d263a11.woff2
+jellyfin/jellyfin-web/c4849f0d1f33633434fd.woff2
+jellyfin/jellyfin-web/c48557b7ab88eaa1c925.woff2
+jellyfin/jellyfin-web/c4dac66977e8a757a3ca.eot
+jellyfin/jellyfin-web/c51bb07559d1e75b73d1.woff2
+jellyfin/jellyfin-web/c5939db9128ad6a428db.woff2
+jellyfin/jellyfin-web/c59781755e4bdfe93cec.woff2
+jellyfin/jellyfin-web/c64fe6cd5c0e8d2d9911.woff2
+jellyfin/jellyfin-web/c70d69984ab42352bbdd.woff2
+jellyfin/jellyfin-web/c731d3b7c93ef9150ec3.woff2
+jellyfin/jellyfin-web/c75fa732cf4b72df0b28.woff2
+jellyfin/jellyfin-web/c7723575abf454509d97.woff2
+jellyfin/jellyfin-web/c7b3b6e92830ce57a8fa.woff2
+jellyfin/jellyfin-web/c7e33941720fb24cb0b4.woff2
+jellyfin/jellyfin-web/c84013156d9a5ff0f8aa.woff2
+jellyfin/jellyfin-web/c88ad18f487998bf5d86.woff2
+jellyfin/jellyfin-web/c88b03370aaaf1cbc3e8.woff2
+jellyfin/jellyfin-web/c93da0317c64cb073b2f.woff2
+jellyfin/jellyfin-web/c97f9ae6cc6d782e36c8.woff2
+jellyfin/jellyfin-web/c9953b4fd048df52975b.woff2
+jellyfin/jellyfin-web/c9a6742a91ae5968f95c.woff2
+jellyfin/jellyfin-web/ca325fb3b72c8e9102e3.woff2
+jellyfin/jellyfin-web/cae598c6ca62691fbc6a.woff2
+jellyfin/jellyfin-web/cb603f082084fae68e23.woff2
+jellyfin/jellyfin-web/cb6cdb397b7d43227bd3.woff2
+jellyfin/jellyfin-web/cb6e840e08726299bf8f.svg
+jellyfin/jellyfin-web/cb7221f1de8d8db8abf2.woff2
+jellyfin/jellyfin-web/cbba64b05900ec75bfb6.woff2
+jellyfin/jellyfin-web/cbcda8e2e392297f2e2b.woff2
+jellyfin/jellyfin-web/cbf4d2b7fb71a37fd960.woff2
+jellyfin/jellyfin-web/cc19243093ecdc6cd755.woff2
+jellyfin/jellyfin-web/ccb44dc9db13cbf0ab2a.woff2
+jellyfin/jellyfin-web/cd0c52e0ba34b5c0414c.woff2
+jellyfin/jellyfin-web/cd1a9a62ad4dd98ca316.woff2
+jellyfin/jellyfin-web/cd21fa3844925404c151.woff2
+jellyfin/jellyfin-web/cd4797e1d2e454996017.woff2
+jellyfin/jellyfin-web/cd663d591658f086cc61.woff2
+jellyfin/jellyfin-web/cd855a81305724d871c4.woff2
+jellyfin/jellyfin-web/cdbfca63968f616b8219.woff2
+jellyfin/jellyfin-web/ce2fdeae2464153f4b35.woff2
+jellyfin/jellyfin-web/ce34184a3fa0a02847a7.woff2
+jellyfin/jellyfin-web/ce430f6cc7981c1ca443.woff2
+jellyfin/jellyfin-web/ce548f8f9df42e08bc7d.woff2
+jellyfin/jellyfin-web/ce5a878b28c8a4594460.woff2
+jellyfin/jellyfin-web/ce84f92a0937d605990d.woff2
+jellyfin/jellyfin-web/cea8bb47625ea3e8894b.woff2
+jellyfin/jellyfin-web/cf723e618f634dfc35c1.woff2
+jellyfin/jellyfin-web/cfedc7ec6c911e37b147.woff2
+jellyfin/jellyfin-web/cff52566df75f15f29dd.woff2
+jellyfin/jellyfin-web/chromecastPlayer-plugin.2dedfdab139185b94249.chunk.js
+jellyfin/jellyfin-web/comicsPlayer-plugin.2b2266924a6a8b36836f.chunk.js
+jellyfin/jellyfin-web/comicsPlayer-style-scss.134a8d476fc08f48a9cd.chunk.js
+jellyfin/jellyfin-web/config.json
+jellyfin/jellyfin-web/d017c680b535fe8af37e.woff2
+jellyfin/jellyfin-web/d01c216db3e131237418.woff2
+jellyfin/jellyfin-web/d03d8d28f139d24ab0b0.woff2
+jellyfin/jellyfin-web/d09486c5f016a9e982c6.woff2
+jellyfin/jellyfin-web/d0ae219a37de0b14c99f.woff2
+jellyfin/jellyfin-web/d0e56683308a17dba86d.png
+jellyfin/jellyfin-web/d0e81f1f68ad4bd5a6f8.woff2
+jellyfin/jellyfin-web/d12b157650fa515a5370.woff2
+jellyfin/jellyfin-web/d15b20efec0c4dc609d0.woff2
+jellyfin/jellyfin-web/d17b56f924bede45cacc.woff2
+jellyfin/jellyfin-web/d19804d3ff8ba1c5a440.woff2
+jellyfin/jellyfin-web/d1f40f05ff6168099a04.woff2
+jellyfin/jellyfin-web/d1f5710e77518548d42b.woff2
+jellyfin/jellyfin-web/d200fa3d4322515f7833.woff2
+jellyfin/jellyfin-web/d26236f2d653ab9b12f8.woff2
+jellyfin/jellyfin-web/d274d3ba34218049e93a.woff2
+jellyfin/jellyfin-web/d28a57b1e61f9f0dabd9.png
+jellyfin/jellyfin-web/d2bf87436d6e1d5aaec1.woff2
+jellyfin/jellyfin-web/d31413d3f03c0873ccbb.png
+jellyfin/jellyfin-web/d36a35c5be95855a20c6.woff2
+jellyfin/jellyfin-web/d38287ed1916375241ff.woff2
+jellyfin/jellyfin-web/d3953f5eb107df3e111e.woff2
+jellyfin/jellyfin-web/d39e4518b5bb016833d2.woff2
+jellyfin/jellyfin-web/d3f03e70a4c35b25257f.woff2
+jellyfin/jellyfin-web/d45cf18a1712401294ea.woff2
+jellyfin/jellyfin-web/d46590cf279b34c79d1e.woff2
+jellyfin/jellyfin-web/d4cad13b38f8ac207c0e.woff2
+jellyfin/jellyfin-web/d517e1173e9cbcda800b.woff2
+jellyfin/jellyfin-web/d5342811810af6f0c73c.woff2
+jellyfin/jellyfin-web/d5b0a7b783a410f8eaa0.woff2
+jellyfin/jellyfin-web/d5be32c9d1ac7c6ad9c7.woff2
+jellyfin/jellyfin-web/d60f0fa0b1f4c31f5031.woff2
+jellyfin/jellyfin-web/d6ecf2254db85ff3b545.png
+jellyfin/jellyfin-web/d6fee1ea292832d87250.woff2
+jellyfin/jellyfin-web/d8265f32b54ba0d501db.woff2
+jellyfin/jellyfin-web/d8343c992e0afe127df4.woff2
+jellyfin/jellyfin-web/d845734018ae9a7b66c9.woff2
+jellyfin/jellyfin-web/d87af88a7c5e90d13d7b.woff2
+jellyfin/jellyfin-web/d8939868e2490ee3843c.woff2
+jellyfin/jellyfin-web/d8a537612381a520a97e.woff2
+jellyfin/jellyfin-web/d9568adcc1cb7b5cc888.woff2
+jellyfin/jellyfin-web/d9d022e29743d9e8edc2.woff2
+jellyfin/jellyfin-web/da1017887be7493cabcd.woff2
+jellyfin/jellyfin-web/da6046d408c6386438d3.woff2
+jellyfin/jellyfin-web/da7db52bda663318104f.woff2
+jellyfin/jellyfin-web/da9a0cc5e3cf320c92a2.woff2
+jellyfin/jellyfin-web/dashboard-apikeys-html.f20c9d8f44aef487a94b.chunk.js
+jellyfin/jellyfin-web/dashboard-apikeys.914741c4ff880636a75c.chunk.js
+jellyfin/jellyfin-web/dashboard-dashboard-html.5d7d806dc0f4836f83d8.chunk.js
+jellyfin/jellyfin-web/dashboard-dashboard.ab8dba7055630e007c7e.chunk.js
+jellyfin/jellyfin-web/dashboard-devices-device-html.1fa5745b5bf60c7e629f.chunk.js
+jellyfin/jellyfin-web/dashboard-devices-device.50f5a6ccc75caa26eb73.chunk.js
+jellyfin/jellyfin-web/dashboard-devices-devices-html.ad578ea782c421a65247.chunk.js
+jellyfin/jellyfin-web/dashboard-devices-devices.23f717a336d28e5af72c.chunk.js
+jellyfin/jellyfin-web/dashboard-dlna-profile-html.01df76f0741872e5f88a.chunk.js
+jellyfin/jellyfin-web/dashboard-dlna-profile.49aa06fcb46539d8c945.chunk.js
+jellyfin/jellyfin-web/dashboard-dlna-profiles-html.01e56bc108e027a21f86.chunk.js
+jellyfin/jellyfin-web/dashboard-dlna-profiles.83697207f7af9065bfc4.chunk.js
+jellyfin/jellyfin-web/dashboard-dlna-settings-html.0c4d7f145a13e599efe0.chunk.js
+jellyfin/jellyfin-web/dashboard-dlna-settings.f9e8919985aa9e92a997.chunk.js
+jellyfin/jellyfin-web/dashboard-encodingsettings-html.badfed3707c300ce9a02.chunk.js
+jellyfin/jellyfin-web/dashboard-encodingsettings.915deb82a45de47001df.chunk.js
+jellyfin/jellyfin-web/dashboard-general-html.2f0ee9487692434444ed.chunk.js
+jellyfin/jellyfin-web/dashboard-general.ef98fbaaa6c223e8dbe0.chunk.js
+jellyfin/jellyfin-web/dashboard-library-html.b3aef6e29b5bbc35fba1.chunk.js
+jellyfin/jellyfin-web/dashboard-library.4028bc31c59bed2f2804.chunk.js
+jellyfin/jellyfin-web/dashboard-librarydisplay-html.bf9ae63f1209c6467f9b.chunk.js
+jellyfin/jellyfin-web/dashboard-librarydisplay.9b3ac0e95926f035da69.chunk.js
+jellyfin/jellyfin-web/dashboard-logs-html.f8214e8c7e43e00b595c.chunk.js
+jellyfin/jellyfin-web/dashboard-logs.ca17ec390d0f22e06a35.chunk.js
+jellyfin/jellyfin-web/dashboard-metadataImages.2f16c9f7f4fb2eaa1c9f.chunk.js
+jellyfin/jellyfin-web/dashboard-metadataimages-html.58943341467fc8fb4ed6.chunk.js
+jellyfin/jellyfin-web/dashboard-metadatanfo-html.430929152ae54d68e3be.chunk.js
+jellyfin/jellyfin-web/dashboard-metadatanfo.42cfaa722db252b3fba3.chunk.js
+jellyfin/jellyfin-web/dashboard-networking-html.e36220ee45ae330d3c78.chunk.js
+jellyfin/jellyfin-web/dashboard-networking.7f53ff5943e663096733.chunk.js
+jellyfin/jellyfin-web/dashboard-notifications-notification-index-html.c74f462dcabb38516743.chunk.js
+jellyfin/jellyfin-web/dashboard-notifications-notification.123bf271400b67e3cad4.chunk.js
+jellyfin/jellyfin-web/dashboard-notifications-notifications-index-html.e0bbcc28943844401095.chunk.js
+jellyfin/jellyfin-web/dashboard-notifications-notifications.0a5ffb39d4a35023ee83.chunk.js
+jellyfin/jellyfin-web/dashboard-playback-html.eef48bd2dd79806ca2ae.chunk.js
+jellyfin/jellyfin-web/dashboard-playback.285ac94dc83a9e6996ce.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-add-index-html.4877f9325e3d396a5501.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-add.733f09ac1ca51ff3b94d.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-available-index-html.56475134dc38d38a83fe.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-available.dca7752dd593a455fa10.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-installed-index-html.4217592f5cf158b166ca.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-installed.d4ef656d475d620bde18.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-repositories-index-html.e52c23df6de0a6c3123e.chunk.js
+jellyfin/jellyfin-web/dashboard-plugins-repositories.fb34205c39052185a5b3.chunk.js
+jellyfin/jellyfin-web/dashboard-scheduledtasks-scheduledtask-html.1ff5620ccff487f31c9a.chunk.js
+jellyfin/jellyfin-web/dashboard-scheduledtasks-scheduledtask.55339fc7bfc14624ed1b.chunk.js
+jellyfin/jellyfin-web/dashboard-scheduledtasks-scheduledtasks-html.601afbb8de4832d4021f.chunk.js
+jellyfin/jellyfin-web/dashboard-scheduledtasks-scheduledtasks.92024a9fcb043c8445de.chunk.js
+jellyfin/jellyfin-web/dashboard-serveractivity-html.907df4be93c82320812d.chunk.js
+jellyfin/jellyfin-web/dashboard-serveractivity.b7b3b6e2d7a68dc30c09.chunk.js
+jellyfin/jellyfin-web/dashboard-streaming-html.6c434344327d8ed04eb4.chunk.js
+jellyfin/jellyfin-web/dashboard-streaming.8b7de3f0918fb7354599.chunk.js
+jellyfin/jellyfin-web/dashboard-users-useredit-html.f447688e1b0a5bc4601e.chunk.js
+jellyfin/jellyfin-web/dashboard-users-userlibraryaccess-html.aa49659d2ef882ef43c4.chunk.js
+jellyfin/jellyfin-web/dashboard-users-usernew-html.ddaad2b2da463ee2836e.chunk.js
+jellyfin/jellyfin-web/dashboard-users-userparentalcontrol-html.8c7ce939fd4d23899240.chunk.js
+jellyfin/jellyfin-web/dashboard-users-userpassword-html.30203e428c1f3a7d0d80.chunk.js
+jellyfin/jellyfin-web/dashboard-users-userprofiles-html.39ef9201e88e2218404e.chunk.js
+jellyfin/jellyfin-web/db8b5c649f605b724840.woff2
+jellyfin/jellyfin-web/dbdb31f3a9a6fdf5b75a.woff2
+jellyfin/jellyfin-web/dc20a2ba4b6b1b7cd681.woff2
+jellyfin/jellyfin-web/dc48b3629c85bdc4b1f3.woff2
+jellyfin/jellyfin-web/dcc7adaaa731c3af427f.woff2
+jellyfin/jellyfin-web/dd0662e9aab8b9705e16.woff2
+jellyfin/jellyfin-web/dd327a5a50732deb721e.woff2
+jellyfin/jellyfin-web/ddefed44bbf13cb477bf.woff2
+jellyfin/jellyfin-web/de183566fba5ecb66470.woff2
+jellyfin/jellyfin-web/de20aa06c04d6c0a812a.woff2
+jellyfin/jellyfin-web/de23e2ac02976b08503e.woff2
+jellyfin/jellyfin-web/de35adfd6d81b6fa790a.woff2
+jellyfin/jellyfin-web/de373a548980da8e9fe2.woff2
+jellyfin/jellyfin-web/de5990ba249e53a6931f.woff2
+jellyfin/jellyfin-web/df421938942541dba028.woff2
+jellyfin/jellyfin-web/df6cdfbe2fbb8cef2033.woff2
+jellyfin/jellyfin-web/df7a67f22d61869d91c8.woff2
+jellyfin/jellyfin-web/dfc03017ce93332ca28e.woff2
+jellyfin/jellyfin-web/dff59b4c70ce9e602db0.woff2
+jellyfin/jellyfin-web/e032246dfd4c3714d1c1.woff2
+jellyfin/jellyfin-web/e06911a9c00f79afae2a.woff2
+jellyfin/jellyfin-web/e07f125def54aa6df33c.woff2
+jellyfin/jellyfin-web/e0a2fdcbca4d5c39956c.woff2
+jellyfin/jellyfin-web/e0dc59e7a3f2973244b7.woff2
+jellyfin/jellyfin-web/e0ecff4e1ddfc9fa290f.woff2
+jellyfin/jellyfin-web/e10ab13617273b79c811.woff2
+jellyfin/jellyfin-web/e12d6649999842137e43.woff2
+jellyfin/jellyfin-web/e16a93c72384b7491abd.woff2
+jellyfin/jellyfin-web/e197bf2425f241f10d07.woff2
+jellyfin/jellyfin-web/e1ffd5926197dad19fb8.woff2
+jellyfin/jellyfin-web/e234ca7acee81ef5423f.woff2
+jellyfin/jellyfin-web/e247e64446e3a25e5f16.woff2
+jellyfin/jellyfin-web/e27a5bed27390398c6d4.woff2
+jellyfin/jellyfin-web/e2ada927a630369d2960.woff2
+jellyfin/jellyfin-web/e3052e6543a608a58ccb.woff2
+jellyfin/jellyfin-web/e3229bb5e42e2f2a9c44.woff2
+jellyfin/jellyfin-web/e3a077c3b506b1cba6ae.woff2
+jellyfin/jellyfin-web/e3b2a9db535230b2b80b.woff2
+jellyfin/jellyfin-web/e3b7835988700eef7122.woff2
+jellyfin/jellyfin-web/e3d860f2bb7a89e12f16.woff2
+jellyfin/jellyfin-web/e42e22f61673c3bdf55a.woff2
+jellyfin/jellyfin-web/e4aa219ac4928b421821.woff2
+jellyfin/jellyfin-web/e4aba13f48955f3b4710.woff2
+jellyfin/jellyfin-web/e55ad1b1e4f577fa0d7e.woff2
+jellyfin/jellyfin-web/e564916e58c336238e03.woff2
+jellyfin/jellyfin-web/e5d31ff17dfc5a435c4b.woff2
+jellyfin/jellyfin-web/e5f995c236445967edbc.woff2
+jellyfin/jellyfin-web/e62987a12a58b24f383a.png
+jellyfin/jellyfin-web/e69242e68be1fbd23e41.woff2
+jellyfin/jellyfin-web/e6985f09c1cf8c020e0f.woff2
+jellyfin/jellyfin-web/e6e7c54ac96ac4c977ad.woff2
+jellyfin/jellyfin-web/e75af4d6e395347b2fac.woff2
+jellyfin/jellyfin-web/e77a7605d6b3b5f3308a.woff2
+jellyfin/jellyfin-web/e78f64e6326a19090840.woff2
+jellyfin/jellyfin-web/e7efb21e6f1e244ce01a.woff2
+jellyfin/jellyfin-web/e7f1f2f8443030560172.woff2
+jellyfin/jellyfin-web/e80707a34571b725e616.woff2
+jellyfin/jellyfin-web/e80c1df687fb3fdffd73.woff2
+jellyfin/jellyfin-web/e84048bf55ab90e79be5.woff2
+jellyfin/jellyfin-web/e840be8ef17d3a32cff5.woff2
+jellyfin/jellyfin-web/e86a1ba21f687702a82f.woff2
+jellyfin/jellyfin-web/e88e6bd73c44ad2f352c.woff2
+jellyfin/jellyfin-web/e8b9070638184614de79.woff2
+jellyfin/jellyfin-web/e8cdd6a5f0b771aa433c.woff2
+jellyfin/jellyfin-web/e8d25ff6213bd032afbe.woff2
+jellyfin/jellyfin-web/e8ed0b375068a3bef9da.woff2
+jellyfin/jellyfin-web/e9ae2a9cd7b76130d3fc.woff2
+jellyfin/jellyfin-web/e9d867de4cfbc6616bf7.woff2
+jellyfin/jellyfin-web/ea035359bb14a630fc72.woff2
+jellyfin/jellyfin-web/ea593e8648cc022d9572.woff2
+jellyfin/jellyfin-web/ea747e33eac97d293a2d.woff2
+jellyfin/jellyfin-web/eabc9dd8c97c3b738cac.woff2
+jellyfin/jellyfin-web/eaf269a56f56c08e89c9.woff2
+jellyfin/jellyfin-web/eb8bef4f19b6ad227f46.png
+jellyfin/jellyfin-web/ebee7918d76f0ad43d30.woff2
+jellyfin/jellyfin-web/ec01acb6354adbe1541c.woff2
+jellyfin/jellyfin-web/ec372129e66a57146f5f.woff2
+jellyfin/jellyfin-web/ec37e6dd721912ac8223.woff2
+jellyfin/jellyfin-web/ed5ec6f9b6adddf50dbc.woff2
+jellyfin/jellyfin-web/ed985b7c0683eebb5523.woff2
+jellyfin/jellyfin-web/edaacaa266aee9facda3.woff2
+jellyfin/jellyfin-web/edb2ed604a6d090eb1cc.woff2
+jellyfin/jellyfin-web/edd14035c3b6107810a5.woff2
+jellyfin/jellyfin-web/edee67646614bce0fab4.woff2
+jellyfin/jellyfin-web/edititemmetadata-html.d1175a56f639a4424be0.chunk.js
+jellyfin/jellyfin-web/edititemmetadata.33ba304eb3f4cd08bb66.chunk.js
+jellyfin/jellyfin-web/ee3804fff8ae1221b8a5.woff2
+jellyfin/jellyfin-web/ee4045ff0a18e27a0004.woff2
+jellyfin/jellyfin-web/ee670a6e4a25596006ad.woff2
+jellyfin/jellyfin-web/eeb1c4269b926559113a.woff2
+jellyfin/jellyfin-web/ef90ba8f791117e6ad4b.woff2
+jellyfin/jellyfin-web/ef9b01cfdf5f4054961c.woff2
+jellyfin/jellyfin-web/efe936390979e8a9adef.woff2
+jellyfin/jellyfin-web/effc94e4513cd3175bd8.woff2
+jellyfin/jellyfin-web/experimentalWarnings-plugin.e26361d864eaf4da0881.chunk.js
+jellyfin/jellyfin-web/f1516abe6d5aa7f08ae3.woff2
+jellyfin/jellyfin-web/f2d6fd83444a1ea085c3.woff2
+jellyfin/jellyfin-web/f2d888bd1f86b71ae43c.woff2
+jellyfin/jellyfin-web/f327e78a8499963aeb88.woff2
+jellyfin/jellyfin-web/f390112c6e85bd05995a.woff2
+jellyfin/jellyfin-web/f3a16a6f6fd0be7a1b4a.woff2
+jellyfin/jellyfin-web/f3bc149017432b87da2e.gif
+jellyfin/jellyfin-web/f4172d47241b610c9fed.woff2
+jellyfin/jellyfin-web/f4ac706e02896150a368.woff2
+jellyfin/jellyfin-web/f50de0dc92e6c7e11640.woff2
+jellyfin/jellyfin-web/f54b9f63ad922daefac3.woff2
+jellyfin/jellyfin-web/f5530ad9eb3ad3507e2e.woff2
+jellyfin/jellyfin-web/f56735531ff9118b0ee2.woff2
+jellyfin/jellyfin-web/f573f09ad5fa61c81bdb.woff2
+jellyfin/jellyfin-web/f5bbb798cb2c65908633.png
+jellyfin/jellyfin-web/f5bcdc60fce9a03dee81.woff2
+jellyfin/jellyfin-web/f5bd76e73bf9db8ffe66.woff2
+jellyfin/jellyfin-web/f66b0a00ae593b6cf613.woff2
+jellyfin/jellyfin-web/f68e10f30f3079dcffd2.woff2
+jellyfin/jellyfin-web/f6a75a7695f7a9083c71.woff2
+jellyfin/jellyfin-web/f6c7b9a0262e8063ddcd.woff2
+jellyfin/jellyfin-web/f6ca1b851f5b9e131c7b.woff2
+jellyfin/jellyfin-web/f70206d36bd9b8e02209.woff2
+jellyfin/jellyfin-web/f76f52feaf29e047fec1.woff2
+jellyfin/jellyfin-web/f79f5a2c1f37b7c69a76.woff2
+jellyfin/jellyfin-web/f7ab1f864493a7ee4000.woff2
+jellyfin/jellyfin-web/f7b084b66ffd825f8fbe.woff2
+jellyfin/jellyfin-web/f7b0ac76c55b29307dde.woff2
+jellyfin/jellyfin-web/f7c7314cb9eaf69f144c.woff2
+jellyfin/jellyfin-web/f80c55876841b36ee7aa.woff2
+jellyfin/jellyfin-web/f84cf259da81cce5dcf2.woff2
+jellyfin/jellyfin-web/f8ad07e524b13df2993d.woff2
+jellyfin/jellyfin-web/f90cb2a96d67b133d243.woff2
+jellyfin/jellyfin-web/f94c9e6b50ccd2992f03.woff2
+jellyfin/jellyfin-web/f94ebf203ea0c91a47c6.png
+jellyfin/jellyfin-web/f96e2f68d9ea412cb69f.woff2
+jellyfin/jellyfin-web/f96f9814abcfff143fcc.woff2
+jellyfin/jellyfin-web/f9932a2f5ed3b5c28fb3.woff2
+jellyfin/jellyfin-web/f9d57b41290595d67f3e.woff2
+jellyfin/jellyfin-web/fa1da259ae05aeddb773.woff2
+jellyfin/jellyfin-web/fa296c44e36d8bcbb747.woff2
+jellyfin/jellyfin-web/fa83d2e590121c8642ad.woff2
+jellyfin/jellyfin-web/fa9074d7c255836534be.woff2
+jellyfin/jellyfin-web/fadebe2305a9fbec4a75.woff2
+jellyfin/jellyfin-web/favicon.ico
+jellyfin/jellyfin-web/favicon.png
+jellyfin/jellyfin-web/favorites.8b87661c99b55bec3f1c.chunk.js
+jellyfin/jellyfin-web/fb365b4ccbb60b2260d9.woff2
+jellyfin/jellyfin-web/fb4a8c03425f36b9c148.woff2
+jellyfin/jellyfin-web/fb649dacf5bc855b609e.woff2
+jellyfin/jellyfin-web/fbf479faed4b3157fb44.woff2
+jellyfin/jellyfin-web/fc1f2a681d7bd377ab6c.woff2
+jellyfin/jellyfin-web/fc25e49fd62cc81c9764.woff2
+jellyfin/jellyfin-web/fcfbc89140ac2a9fb629.woff2
+jellyfin/jellyfin-web/fd1120eb039af88e28c7.woff2
+jellyfin/jellyfin-web/fdaea3c4c26688ae9116.woff2
+jellyfin/jellyfin-web/fdb08b5778c30518e778.woff2
+jellyfin/jellyfin-web/fdb9e1ce65c876db7f83.woff2
+jellyfin/jellyfin-web/fdd9985e4129e3fc47a0.woff2
+jellyfin/jellyfin-web/fe9c4954936416fe27db.woff2
+jellyfin/jellyfin-web/ff0a27be5e2d89b4babf.woff2
+jellyfin/jellyfin-web/ff8bcb88227510f2802a.woff2
+jellyfin/jellyfin-web/ffacff5f9e4db9c6c965.woff2
+jellyfin/jellyfin-web/ffd74f0d59db5c81a7cc.woff2
+jellyfin/jellyfin-web/ffe57b21bb0afddccadf.woff2
+jellyfin/jellyfin-web/global.d.ts
+jellyfin/jellyfin-web/home-html.5c3fff1ba3bf5ae955e7.chunk.js
+jellyfin/jellyfin-web/home.4b3e34ee8d1232d66dec.chunk.js
+jellyfin/jellyfin-web/hometab.40e087bf64c11da2f1f3.chunk.js
+jellyfin/jellyfin-web/htmlAudioPlayer-plugin.c5b2001e4020ba039b8e.chunk.js
+jellyfin/jellyfin-web/htmlVideoPlayer-plugin.319152dc3b023f10961e.chunk.js
+jellyfin/jellyfin-web/htmlVideoPlayer-style-scss.e47b5994f02548612f69.chunk.js
+jellyfin/jellyfin-web/index.html
+jellyfin/jellyfin-web/itemDetails-index-html.be1ec4217c8c085ef141.chunk.js
+jellyfin/jellyfin-web/itemDetails.bf6f7025b261f3e8fd41.chunk.js
+jellyfin/jellyfin-web/libraries/npo.js
+jellyfin/jellyfin-web/libraries/npo.js.LICENSE.txt
+jellyfin/jellyfin-web/libraries/pdf.worker.js
+jellyfin/jellyfin-web/libraries/pdf.worker.js.LICENSE.txt
+jellyfin/jellyfin-web/libraries/subtitles-octopus-worker-legacy.data
+jellyfin/jellyfin-web/libraries/subtitles-octopus-worker-legacy.js
+jellyfin/jellyfin-web/libraries/subtitles-octopus-worker-legacy.js.mem
+jellyfin/jellyfin-web/libraries/subtitles-octopus-worker.data
+jellyfin/jellyfin-web/libraries/subtitles-octopus-worker.js
+jellyfin/jellyfin-web/libraries/subtitles-octopus-worker.wasm
+jellyfin/jellyfin-web/libraries/wasm-gen/libarchive.js
+jellyfin/jellyfin-web/libraries/wasm-gen/libarchive.wasm
+jellyfin/jellyfin-web/libraries/worker-bundle.js
+jellyfin/jellyfin-web/list-html.51a2a5ed60374cd9d710.chunk.js
+jellyfin/jellyfin-web/list.a5037f941cad3f4ecdab.chunk.js
+jellyfin/jellyfin-web/livetv-html.52ba6ba9adf8c4a3e363.chunk.js
+jellyfin/jellyfin-web/livetv-livetvchannels.2df04b0bffd3c4087b51.chunk.js
+jellyfin/jellyfin-web/livetv-livetvguide.39bca2f338b006388c48.chunk.js
+jellyfin/jellyfin-web/livetv-livetvrecordings.5f5a816ad21bccc6b01d.chunk.js
+jellyfin/jellyfin-web/livetv-livetvschedule.3259155ff66414cf28bd.chunk.js
+jellyfin/jellyfin-web/livetv-livetvseriestimers.a410b2f161583d3ae2c8.chunk.js
+jellyfin/jellyfin-web/livetv-livetvsuggested.40a5196b57ba3100d8bc.chunk.js
+jellyfin/jellyfin-web/livetvguideprovider-html.6842559804f0eb15e1fb.chunk.js
+jellyfin/jellyfin-web/livetvguideprovider.87b482a85489eb5996bb.chunk.js
+jellyfin/jellyfin-web/livetvsettings-html.fa90231cebaf1a081c69.chunk.js
+jellyfin/jellyfin-web/livetvsettings.7d4a7089e10462351ec2.chunk.js
+jellyfin/jellyfin-web/livetvstatus-html.1b1282ac30abe009d60f.chunk.js
+jellyfin/jellyfin-web/livetvstatus.c5b9fbcd12d1446a867c.chunk.js
+jellyfin/jellyfin-web/livetvtuner-html.57b7939d070a0a95e100.chunk.js
+jellyfin/jellyfin-web/livetvtuner.5fea30179d4855de714b.chunk.js
+jellyfin/jellyfin-web/logoScreensaver-plugin.9c3d151dc04d7d1419d4.chunk.js
+jellyfin/jellyfin-web/logoScreensaver-style-scss.b57b0631c4edad83a587.chunk.js
+jellyfin/jellyfin-web/main.jellyfin.bundle.js
+jellyfin/jellyfin-web/main.jellyfin.bundle.js.LICENSE.txt
+jellyfin/jellyfin-web/manifest.json
+jellyfin/jellyfin-web/movies-moviecollections.ae2ff8ca663d5500e064.chunk.js
+jellyfin/jellyfin-web/movies-moviegenres.41672540c2bf88ac0b46.chunk.js
+jellyfin/jellyfin-web/movies-movies-html.882a1ec9e80e1f4fbbe5.chunk.js
+jellyfin/jellyfin-web/movies-movies.a75abb486e4e5aeb3aee.chunk.js
+jellyfin/jellyfin-web/movies-moviesrecommended.9a566bc19ef8fae6a431.chunk.js
+jellyfin/jellyfin-web/movies-movietrailers.0c453eed501ac7b82c8c.chunk.js
+jellyfin/jellyfin-web/music-music-html.a9d5a25c65d7246fc09e.chunk.js
+jellyfin/jellyfin-web/music-musicalbums.d268c9ddfe3668a46eea.chunk.js
+jellyfin/jellyfin-web/music-musicartists.25506f5f1c5a4bd5294f.chunk.js
+jellyfin/jellyfin-web/music-musicgenres.53352058a7598439408d.chunk.js
+jellyfin/jellyfin-web/music-musicplaylists.982d4989aa13959e6291.chunk.js
+jellyfin/jellyfin-web/music-musicrecommended.8338bb3e354eba28d832.chunk.js
+jellyfin/jellyfin-web/music-songs.8efbf247e9f235f8191f.chunk.js
+jellyfin/jellyfin-web/pdfPlayer-plugin.e750ca6752958867017d.chunk.js
+jellyfin/jellyfin-web/pdfPlayer-style-scss.278d0ec29f1137a8aa8c.chunk.js
+jellyfin/jellyfin-web/photoPlayer-plugin.93906d26e0e9a298402e.chunk.js
+jellyfin/jellyfin-web/playAccessValidation-plugin.695eda17b6e1ebc3974e.chunk.js
+jellyfin/jellyfin-web/playback-queue-index-html.31a57fe231d5dd629c60.chunk.js
+jellyfin/jellyfin-web/playback-queue.937e51462e7ab4c6bee4.chunk.js
+jellyfin/jellyfin-web/playback-video-index-html.567cd42a012609e0c376.chunk.js
+jellyfin/jellyfin-web/playback-video.116561ff925641ffa582.chunk.js
+jellyfin/jellyfin-web/robots.txt
+jellyfin/jellyfin-web/search-html.6152db51c3a6438b695a.chunk.js
+jellyfin/jellyfin-web/serviceworker.js
+jellyfin/jellyfin-web/session-addServer-index-html.28e070990ef55fe32f03.chunk.js
+jellyfin/jellyfin-web/session-addServer.c9babf898edf18873bf7.chunk.js
+jellyfin/jellyfin-web/session-forgotPassword-index-html.83b7639c1ba4763bb4cb.chunk.js
+jellyfin/jellyfin-web/session-forgotPassword.54f623a1afe597430958.chunk.js
+jellyfin/jellyfin-web/session-login-index-html.384c1886b01202a35d87.chunk.js
+jellyfin/jellyfin-web/session-login-login-scss.2b08c881a9882b4e0d7e.chunk.js
+jellyfin/jellyfin-web/session-login.c88fc4019dc5f2693ced.chunk.js
+jellyfin/jellyfin-web/session-resetPassword-index-html.3f403c0642ca76462b3f.chunk.js
+jellyfin/jellyfin-web/session-resetPassword.fb31de20ee8660385080.chunk.js
+jellyfin/jellyfin-web/session-selectServer-index-html.695ec2a8b39d67e4a89c.chunk.js
+jellyfin/jellyfin-web/session-selectServer.8e308b60713734ecb74b.chunk.js
+jellyfin/jellyfin-web/sessionPlayer-plugin.75dd900fb9b57981bae4.chunk.js
+jellyfin/jellyfin-web/shows-episodes.68121c7853a129c0b61d.chunk.js
+jellyfin/jellyfin-web/shows-tvgenres.a65ef704dfb67474eb93.chunk.js
+jellyfin/jellyfin-web/shows-tvrecommended-html.30eaf8fcedc868691a07.chunk.js
+jellyfin/jellyfin-web/shows-tvrecommended.18c0bb007bf970ca033e.chunk.js
+jellyfin/jellyfin-web/shows-tvshows.db823ca7e50954195ed0.chunk.js
+jellyfin/jellyfin-web/shows-tvstudios.390d6424bdd24756eaf4.chunk.js
+jellyfin/jellyfin-web/shows-tvupcoming.8b837fd85fa9cbc2af47.chunk.js
+jellyfin/jellyfin-web/themes/appletv/theme.css
+jellyfin/jellyfin-web/themes/blueradiance/bg.jpg
+jellyfin/jellyfin-web/themes/blueradiance/theme.css
+jellyfin/jellyfin-web/themes/dark/theme.css
+jellyfin/jellyfin-web/themes/light/theme.css
+jellyfin/jellyfin-web/themes/purplehaze/bg.jpg
+jellyfin/jellyfin-web/themes/purplehaze/theme.css
+jellyfin/jellyfin-web/themes/wmc/theme.css
+jellyfin/jellyfin-web/touchicon.png
+jellyfin/jellyfin-web/touchicon114.png
+jellyfin/jellyfin-web/touchicon144.png
+jellyfin/jellyfin-web/touchicon512.png
+jellyfin/jellyfin-web/touchicon72.png
+jellyfin/jellyfin-web/user-controls-index-html.210d69c57d0f4c477edc.chunk.js
+jellyfin/jellyfin-web/user-controls.496dcfe6eb8a3c5e71a1.chunk.js
+jellyfin/jellyfin-web/user-display-index-html.b5c028fe812b8ad94bff.chunk.js
+jellyfin/jellyfin-web/user-display.beb7d3f5e852ff7326cd.chunk.js
+jellyfin/jellyfin-web/user-home-index-html.09311e427516b580e484.chunk.js
+jellyfin/jellyfin-web/user-home.3ae5df2f66113d873698.chunk.js
+jellyfin/jellyfin-web/user-menu-index-html.c0af2989877b8ad83d77.chunk.js
+jellyfin/jellyfin-web/user-menu.56fc5037d303653a9320.chunk.js
+jellyfin/jellyfin-web/user-playback-index-html.c05b7d476f9bc28a1dc1.chunk.js
+jellyfin/jellyfin-web/user-playback.d97a15f1b53a08c22ea2.chunk.js
+jellyfin/jellyfin-web/user-profile-index-html.6ad8e603f1a938d5f053.chunk.js
+jellyfin/jellyfin-web/user-quickConnect-helper.187e698c7a5fc2b67983.chunk.js
+jellyfin/jellyfin-web/user-quickConnect-index-html.ee266bc0b18f76d5e3ed.chunk.js
+jellyfin/jellyfin-web/user-quickConnect.56d0b7d1f709017712e8.chunk.js
+jellyfin/jellyfin-web/user-subtitles-index-html.ef131e12e04ebdee47a9.chunk.js
+jellyfin/jellyfin-web/user-subtitles.b3701e17cead195769f3.chunk.js
+jellyfin/jellyfin-web/wizard-finish-index-html.5575074ae1a5da7be31d.chunk.js
+jellyfin/jellyfin-web/wizard-finish.c364b4f5001f1b799e80.chunk.js
+jellyfin/jellyfin-web/wizard-library-html.a43305e040f3ad5796e0.chunk.js
+jellyfin/jellyfin-web/wizard-remote-index-html.8ab9f3013ef17eb88e4e.chunk.js
+jellyfin/jellyfin-web/wizard-remote.dce1868ea07487f781a4.chunk.js
+jellyfin/jellyfin-web/wizard-settings-index-html.ac4f3af70e18de998571.chunk.js
+jellyfin/jellyfin-web/wizard-settings.d22481665c81ac76e538.chunk.js
+jellyfin/jellyfin-web/wizard-start-index-html.2fc08e91053db501e6f3.chunk.js
+jellyfin/jellyfin-web/wizard-start.253389909e90b3b26c2d.chunk.js
+jellyfin/jellyfin-web/wizard-user-index-html.ba36cd232892c0f1fae7.chunk.js
+jellyfin/jellyfin-web/wizard-user.4d371212cb581460c325.chunk.js
+jellyfin/jellyfin-web/youtubePlayer-plugin.349c2da925a48ef5b55f.chunk.js
+jellyfin/jellyfin-web/youtubePlayer-style-scss.6e734c08fd76dc8497b6.chunk.js
+jellyfin/jellyfin.deps.json
+jellyfin/jellyfin.dll
+jellyfin/jellyfin.runtimeconfig.json
+jellyfin/jellyfin.xml
+jellyfin/libSkiaSharp.so
+jellyfin/libSystem.Globalization.Native.so
+jellyfin/libSystem.IO.Compression.Native.so
+jellyfin/libSystem.Native.so
+jellyfin/libSystem.Net.Security.Native.so
+jellyfin/libSystem.Security.Cryptography.Native.OpenSsl.so
+jellyfin/libclrjit.so
+jellyfin/libcoreclr.so
+jellyfin/libdbgshim.so
+jellyfin/libhostfxr.so
+jellyfin/libhostpolicy.so
+jellyfin/libmscordaccore.so
+jellyfin/libmscordbi.so
+jellyfin/libse.dll
+jellyfin/mscorlib.dll
+jellyfin/netstandard.dll
+jellyfin/prometheus-net.DotNetRuntime.dll
+jellyfin/wwwroot/api-docs/banner-dark.svg
+jellyfin/wwwroot/api-docs/redoc/custom.css
+jellyfin/wwwroot/api-docs/swagger/custom.css
+jellyfin/zlib.net.dll
diff --git a/multimedia/jmref/Makefile b/multimedia/jmref/Makefile
index 2462a999d499..afcb8ec4dd39 100644
--- a/multimedia/jmref/Makefile
+++ b/multimedia/jmref/Makefile
@@ -1,5 +1,3 @@
-# Created by: Steve Wills <steve@mouf.net>
-
PORTNAME= jmref
PORTVERSION= 19.0
PORTREVISION= 1
@@ -7,8 +5,9 @@ CATEGORIES= multimedia
MASTER_SITES= http://iphome.hhi.de/suehring/tml/download/
DISTNAME= jm${PORTVERSION}
-MAINTAINER= swills@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= JM Reference Software
+WWW= https://iphome.hhi.de/suehring/tml
LICENSE= ISO_IEC ITU
LICENSE_COMB= multi
diff --git a/multimedia/jmref/pkg-descr b/multimedia/jmref/pkg-descr
index aa0bff977a01..5d4c2c93afe0 100644
--- a/multimedia/jmref/pkg-descr
+++ b/multimedia/jmref/pkg-descr
@@ -1,3 +1 @@
JM H.264/AVC reference software
-
-WWW: http://iphome.hhi.de/suehring/tml
diff --git a/multimedia/kaffeine/Makefile b/multimedia/kaffeine/Makefile
index 36a2e6ce9ecb..26819febbeb0 100644
--- a/multimedia/kaffeine/Makefile
+++ b/multimedia/kaffeine/Makefile
@@ -1,13 +1,12 @@
-# Created by: arved
-
PORTNAME= kaffeine
DISTVERSION= 2.0.18
-PORTREVISION= 3
+PORTREVISION= 6
CATEGORIES= multimedia kde
MASTER_SITES= KDE/stable/${PORTNAME}
MAINTAINER= kde@FreeBSD.org
COMMENT= Multimedia player based on KDE and VLC
+WWW= https://www.kde.org/applications/multimedia/kaffeine/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -20,11 +19,11 @@ USES= cmake compiler:c++11-lang cpe desktop-file-utils gettext \
pkgconfig kde:5 qt:5 tar:xz xorg
USE_KDE= auth bookmarks codecs completion config configwidgets \
coreaddons i18n itemviews kio solid dbusaddons jobwidgets \
- service widgetsaddons windowsystem xmlgui \
- doctools_build
-USE_QT= concurrent core dbus gui network phonon4 sql svg x11extras xml \
- widgets qmake_build buildtools_build
-USE_XORG= xscrnsaver
+ phonon service widgetsaddons windowsystem xmlgui \
+ doctools:build ecm:build
+USE_QT= concurrent core dbus gui network sql svg x11extras xml \
+ widgets qmake:build buildtools:build
+USE_XORG= x11 xscrnsaver
CPE_VENDOR= kaffeine
CPE_PRODUCT= kaffeine_player
diff --git a/multimedia/kaffeine/pkg-descr b/multimedia/kaffeine/pkg-descr
index ee10c5f14bc9..90022b7871d0 100644
--- a/multimedia/kaffeine/pkg-descr
+++ b/multimedia/kaffeine/pkg-descr
@@ -6,5 +6,3 @@ Kaffeine is a multimedia player based on KDE and VLC.
* Export Playlist to HTML or PDF (KDE-Print)
* Support for saving screenshots as PNG, BMP or XBM
* The ability to prevent the screensaver from activating OSD Titles
-
-WWW: https://www.kde.org/applications/multimedia/kaffeine/
diff --git a/multimedia/kaffeine/pkg-plist b/multimedia/kaffeine/pkg-plist
index 3268c8a06c48..05eee7c7f063 100644
--- a/multimedia/kaffeine/pkg-plist
+++ b/multimedia/kaffeine/pkg-plist
@@ -1,12 +1,4 @@
bin/kaffeine
-man/ca/man1/kaffeine.1.gz
-man/it/man1/kaffeine.1.gz
-man/man1/kaffeine.1.gz
-man/nl/man1/kaffeine.1.gz
-man/pt/man1/kaffeine.1.gz
-man/pt_BR/man1/kaffeine.1.gz
-man/sv/man1/kaffeine.1.gz
-man/uk/man1/kaffeine.1.gz
share/applications/org.kde.kaffeine.desktop
share/doc/HTML/ca/kaffeine/application-x-subrip.png
share/doc/HTML/ca/kaffeine/audio-volume-high.png
@@ -247,6 +239,14 @@ share/locale/ug/LC_MESSAGES/kaffeine.mo
share/locale/uk/LC_MESSAGES/kaffeine.mo
share/locale/zh_CN/LC_MESSAGES/kaffeine.mo
share/locale/zh_TW/LC_MESSAGES/kaffeine.mo
+share/man/ca/man1/kaffeine.1.gz
+share/man/it/man1/kaffeine.1.gz
+share/man/man1/kaffeine.1.gz
+share/man/nl/man1/kaffeine.1.gz
+share/man/pt/man1/kaffeine.1.gz
+share/man/pt_BR/man1/kaffeine.1.gz
+share/man/sv/man1/kaffeine.1.gz
+share/man/uk/man1/kaffeine.1.gz
share/metainfo/org.kde.kaffeine.appdata.xml
share/profiles/kaffeine.profile.xml
share/solid/actions/kaffeine_play_audiocd.desktop
diff --git a/multimedia/kamoso/Makefile b/multimedia/kamoso/Makefile
index da96ed9d9385..3f0fdbaf4c8f 100644
--- a/multimedia/kamoso/Makefile
+++ b/multimedia/kamoso/Makefile
@@ -4,20 +4,22 @@ CATEGORIES= multimedia kde kde-applications
MAINTAINER= kde@FreeBSD.org
COMMENT= Application to take pictures and videos out of your webcam
+WWW= https://userbase.kde.org/Kamoso
LICENSE= GPLv2
-USES= cmake compiler:c++11-lang gettext gl gnome gstreamer kde:5 pkgconfig qt:5 \
- tar:xz
+USES= cmake compiler:c++11-lang gettext gl gnome gstreamer kde:5 \
+ pkgconfig qt:5 tar:xz xorg
USE_GL= gl
USE_GNOME= glib20
USE_KDE= auth bookmarks codecs completion config configwidgets \
coreaddons i18n itemviews jobwidgets kio kirigami2 \
notifications purpose service solid widgetsaddons windowsystem xmlgui \
- ecm_build
+ ecm:build
USE_QT= concurrent core dbus declarative graphicaleffects gui network \
quickcontrols widgets xml \
- buildtools_build qmake_build
+ buildtools:build qmake:build
+USE_XORG= x11
OPTIONS_DEFINE= DOCS
diff --git a/multimedia/kamoso/distinfo b/multimedia/kamoso/distinfo
index 74b7f253c329..8e186a68bb77 100644
--- a/multimedia/kamoso/distinfo
+++ b/multimedia/kamoso/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652179552
-SHA256 (KDE/release-service/22.04.1/kamoso-22.04.1.tar.xz) = 5b8c58640624701b05cb8534c14b26fdccb43828c50eb347e114da9fb32d3d0d
-SIZE (KDE/release-service/22.04.1/kamoso-22.04.1.tar.xz) = 225620
+TIMESTAMP = 1707889324
+SHA256 (KDE/release-service/23.08.5/kamoso-23.08.5.tar.xz) = 84cc4538da2906c1503de97e6fb6f1ef790f0e7b9f3c08f6367770e5bdf08d01
+SIZE (KDE/release-service/23.08.5/kamoso-23.08.5.tar.xz) = 233444
diff --git a/multimedia/kamoso/pkg-descr b/multimedia/kamoso/pkg-descr
index 36e6c5d7fdbd..5d5a9402c125 100644
--- a/multimedia/kamoso/pkg-descr
+++ b/multimedia/kamoso/pkg-descr
@@ -1,4 +1,2 @@
Kamoso is a great program to use your webcam to take pictures or make videos.
It probably should be the best webcam recorder for Linux.
-
-WWW: https://userbase.kde.org/Kamoso
diff --git a/multimedia/kamoso/pkg-plist b/multimedia/kamoso/pkg-plist
index b7949e9f8ad1..1918dbe641e8 100644
--- a/multimedia/kamoso/pkg-plist
+++ b/multimedia/kamoso/pkg-plist
@@ -1,16 +1,17 @@
bin/kamoso
lib/gstreamer-1.0/gstkamosoqt5videosink.so
share/applications/org.kde.kamoso.desktop
+share/icons/hicolor/128x128/apps/kamoso.png
share/icons/hicolor/16x16/apps/kamoso.png
share/icons/hicolor/22x22/apps/kamoso.png
share/icons/hicolor/32x32/apps/kamoso.png
share/icons/hicolor/48x48/apps/kamoso.png
share/icons/hicolor/64x64/apps/kamoso.png
-share/icons/hicolor/128x128/apps/kamoso.png
share/icons/hicolor/scalable/actions/burst.svgz
share/icons/hicolor/scalable/apps/kamoso.svgz
share/knotifications5/kamoso.notifyrc
share/locale/ar/LC_MESSAGES/kamoso.mo
+share/locale/bg/LC_MESSAGES/kamoso.mo
share/locale/bs/LC_MESSAGES/kamoso.mo
share/locale/ca/LC_MESSAGES/kamoso.mo
share/locale/ca@valencia/LC_MESSAGES/kamoso.mo
@@ -30,13 +31,16 @@ share/locale/gl/LC_MESSAGES/kamoso.mo
share/locale/hu/LC_MESSAGES/kamoso.mo
share/locale/ia/LC_MESSAGES/kamoso.mo
share/locale/id/LC_MESSAGES/kamoso.mo
+share/locale/ie/LC_MESSAGES/kamoso.mo
share/locale/is/LC_MESSAGES/kamoso.mo
share/locale/it/LC_MESSAGES/kamoso.mo
share/locale/ja/LC_MESSAGES/kamoso.mo
+share/locale/ka/LC_MESSAGES/kamoso.mo
share/locale/kk/LC_MESSAGES/kamoso.mo
share/locale/ko/LC_MESSAGES/kamoso.mo
share/locale/lt/LC_MESSAGES/kamoso.mo
share/locale/lv/LC_MESSAGES/kamoso.mo
+share/locale/mai/LC_MESSAGES/kamoso.mo
share/locale/mr/LC_MESSAGES/kamoso.mo
share/locale/nb/LC_MESSAGES/kamoso.mo
share/locale/nds/LC_MESSAGES/kamoso.mo
diff --git a/multimedia/kasts/Makefile b/multimedia/kasts/Makefile
new file mode 100644
index 000000000000..1766af2d06a3
--- /dev/null
+++ b/multimedia/kasts/Makefile
@@ -0,0 +1,28 @@
+PORTNAME= kasts
+DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+CATEGORIES= multimedia kde kde-applications
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= KDE podcast app
+WWW= https://apps.kde.org/kasts/
+
+LICENSE= GPLv2+
+
+BUILD_DEPENDS= kirigami-addons>=0.6.1:x11-toolkits/kirigami-addons
+LIB_DEPENDS= libqt5keychain.so:security/qtkeychain@qt5 \
+ libtag.so:audio/taglib \
+ libvlc.so:multimedia/vlc
+RUN_DEPENDS= kirigami-addons>=0.6.1:x11-toolkits/kirigami-addons
+
+USES= cmake desktop-file-utils gettext-runtime gnome gstreamer kde:5 \
+ pkgconfig qt:5 tar:xz xorg
+USE_GNOME= glib20
+USE_GSTREAMER1= yes
+USE_KDE= config coreaddons i18n kirigami2 syndication threadweaver \
+ ecm:build
+USE_QT= core dbus declarative gui multimedia network quickcontrols2 \
+ sql svg widgets xml \
+ buildtools:build qmake:build testlib:build
+USE_XORG= x11
+
+.include <bsd.port.mk>
diff --git a/multimedia/kasts/distinfo b/multimedia/kasts/distinfo
new file mode 100644
index 000000000000..59c2274fa158
--- /dev/null
+++ b/multimedia/kasts/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1707889325
+SHA256 (KDE/release-service/23.08.5/kasts-23.08.5.tar.xz) = 90677828acc841c455d7d6abd22a4270f8c754dd9a55ddc9b08e5ced6816b6d8
+SIZE (KDE/release-service/23.08.5/kasts-23.08.5.tar.xz) = 581312
diff --git a/multimedia/kasts/pkg-descr b/multimedia/kasts/pkg-descr
new file mode 100644
index 000000000000..206c99a09d4b
--- /dev/null
+++ b/multimedia/kasts/pkg-descr
@@ -0,0 +1,10 @@
+Kasts is a convergent podcast application
+
+Its main features are:
+
+- Episode management through play queue
+- Sync playback positions with other clients through gpodder.net
+ or gpodder-nextcloud
+- Variable playback speed
+- Search for podcasts
+- Full system integration: e.g. inhibit system suspend while listening
diff --git a/multimedia/kasts/pkg-plist b/multimedia/kasts/pkg-plist
new file mode 100644
index 000000000000..b2870ec87ff4
--- /dev/null
+++ b/multimedia/kasts/pkg-plist
@@ -0,0 +1,41 @@
+bin/kasts
+lib/libKMediaSession.so
+lib/libKastsSolidExtras.so
+%%QT_QMLDIR%%/org/kde/kasts/solidextras/libkasts-solidextrasqmlplugin.so
+%%QT_QMLDIR%%/org/kde/kasts/solidextras/qmldir
+%%QT_QMLDIR%%/org/kde/kmediasession/libkmediasession-qmlplugin.so
+%%QT_QMLDIR%%/org/kde/kmediasession/qmldir
+share/applications/org.kde.kasts.desktop
+share/icons/hicolor/scalable/actions/media-playback-cloud.svg
+share/icons/hicolor/scalable/apps/kasts-tray-dark.svg
+share/icons/hicolor/scalable/apps/kasts-tray-light.svg
+share/icons/hicolor/scalable/apps/kasts.svg
+share/locale/ca/LC_MESSAGES/kasts.mo
+share/locale/ca@valencia/LC_MESSAGES/kasts.mo
+share/locale/cs/LC_MESSAGES/kasts.mo
+share/locale/de/LC_MESSAGES/kasts.mo
+share/locale/en_GB/LC_MESSAGES/kasts.mo
+share/locale/es/LC_MESSAGES/kasts.mo
+share/locale/eu/LC_MESSAGES/kasts.mo
+share/locale/fi/LC_MESSAGES/kasts.mo
+share/locale/fr/LC_MESSAGES/kasts.mo
+share/locale/ia/LC_MESSAGES/kasts.mo
+share/locale/it/LC_MESSAGES/kasts.mo
+share/locale/ja/LC_MESSAGES/kasts.mo
+share/locale/ka/LC_MESSAGES/kasts.mo
+share/locale/ko/LC_MESSAGES/kasts.mo
+share/locale/lt/LC_MESSAGES/kasts.mo
+share/locale/nl/LC_MESSAGES/kasts.mo
+share/locale/pa/LC_MESSAGES/kasts.mo
+share/locale/pl/LC_MESSAGES/kasts.mo
+share/locale/pt/LC_MESSAGES/kasts.mo
+share/locale/pt_BR/LC_MESSAGES/kasts.mo
+share/locale/ru/LC_MESSAGES/kasts.mo
+share/locale/sk/LC_MESSAGES/kasts.mo
+share/locale/sl/LC_MESSAGES/kasts.mo
+share/locale/sv/LC_MESSAGES/kasts.mo
+share/locale/tr/LC_MESSAGES/kasts.mo
+share/locale/uk/LC_MESSAGES/kasts.mo
+share/locale/zh_CN/LC_MESSAGES/kasts.mo
+share/locale/zh_TW/LC_MESSAGES/kasts.mo
+share/metainfo/org.kde.kasts.appdata.xml
diff --git a/multimedia/kdemultimedia-ffmpegthumbs/Makefile b/multimedia/kdemultimedia-ffmpegthumbs/Makefile
index 0661a3a2c210..9a2eab594396 100644
--- a/multimedia/kdemultimedia-ffmpegthumbs/Makefile
+++ b/multimedia/kdemultimedia-ffmpegthumbs/Makefile
@@ -5,16 +5,19 @@ PKGNAMEPREFIX= kdemultimedia-
MAINTAINER= kde@FreeBSD.org
COMMENT= FFmpeg-based thumbnail generator for video files
+WWW= https://www.kde.org/
LICENSE= GPLv2
LIB_DEPENDS= libswscale.so:multimedia/ffmpeg \
libtag.so:audio/taglib
-USES= cmake compiler:c++11-lang kde:5 pkgconfig qt:5 tar:xz
+USES= cmake compiler:c++11-lang kde:5 pkgconfig qt:5 tar:xz xorg
USE_KDE= completion config coreaddons i18n jobwidgets kio service solid \
- widgetsaddons windowsystem
+ widgetsaddons windowsystem \
+ ecm:build
USE_QT= concurrent core dbus gui network widgets xml \
- buildtools_build qmake_build
+ buildtools:build qmake:build
+USE_XORG= x11
.include <bsd.port.mk>
diff --git a/multimedia/kdemultimedia-ffmpegthumbs/distinfo b/multimedia/kdemultimedia-ffmpegthumbs/distinfo
index 644388920b6a..249e0551d40a 100644
--- a/multimedia/kdemultimedia-ffmpegthumbs/distinfo
+++ b/multimedia/kdemultimedia-ffmpegthumbs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652179554
-SHA256 (KDE/release-service/22.04.1/ffmpegthumbs-22.04.1.tar.xz) = 8c2f7bdccde8f6ee78f8c6fe77cd6d0558fcc0173fb6605f04fddf453c9d7875
-SIZE (KDE/release-service/22.04.1/ffmpegthumbs-22.04.1.tar.xz) = 30380
+TIMESTAMP = 1707889326
+SHA256 (KDE/release-service/23.08.5/ffmpegthumbs-23.08.5.tar.xz) = dad83ce22fccf141bb19fd6192c73dc0cab6365c86251e68f393962f0a5be5df
+SIZE (KDE/release-service/23.08.5/ffmpegthumbs-23.08.5.tar.xz) = 32984
diff --git a/multimedia/kdemultimedia-ffmpegthumbs/pkg-descr b/multimedia/kdemultimedia-ffmpegthumbs/pkg-descr
index dea3186af989..4cfc10cd0e47 100644
--- a/multimedia/kdemultimedia-ffmpegthumbs/pkg-descr
+++ b/multimedia/kdemultimedia-ffmpegthumbs/pkg-descr
@@ -1,3 +1 @@
ffmpeg-based thumbnail creator for video files.
-
-WWW: http://www.kde.org/
diff --git a/multimedia/kdemultimedia-ffmpegthumbs/pkg-plist b/multimedia/kdemultimedia-ffmpegthumbs/pkg-plist
index 04031457c1a5..e11db7447fa4 100644
--- a/multimedia/kdemultimedia-ffmpegthumbs/pkg-plist
+++ b/multimedia/kdemultimedia-ffmpegthumbs/pkg-plist
@@ -1,5 +1,4 @@
-%%QT_PLUGINDIR%%/ffmpegthumbs.so
+%%QT_PLUGINDIR%%/kf5/thumbcreator/ffmpegthumbs.so
share/config.kcfg/ffmpegthumbnailersettings5.kcfg
-share/kservices5/ffmpegthumbs.desktop
share/metainfo/org.kde.ffmpegthumbs.metainfo.xml
share/qlogging-categories5/ffmpegthumbs.categories
diff --git a/multimedia/kdemultimedia/Makefile b/multimedia/kdemultimedia/Makefile
index 8461187dd3e4..eb6a770886e0 100644
--- a/multimedia/kdemultimedia/Makefile
+++ b/multimedia/kdemultimedia/Makefile
@@ -1,10 +1,11 @@
PORTNAME= kdemultimedia
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
-PORTREVISION= 1
+PORTREVISION= 3
CATEGORIES= multimedia kde
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE Multimedia applications (meta port)
+WWW= https://multimedia.kde.org
USES= kde:5 metaport qt:5
USE_QT= #
diff --git a/multimedia/kdemultimedia/pkg-descr b/multimedia/kdemultimedia/pkg-descr
index 039d9ae0eb01..d727399702e8 100644
--- a/multimedia/kdemultimedia/pkg-descr
+++ b/multimedia/kdemultimedia/pkg-descr
@@ -1,3 +1 @@
Multimedia tools for KDE.
-
-WWW: http://multimedia.kde.org
diff --git a/multimedia/kdenlive/Makefile b/multimedia/kdenlive/Makefile
index 4b2deb1beef0..b6ba966886e5 100644
--- a/multimedia/kdenlive/Makefile
+++ b/multimedia/kdenlive/Makefile
@@ -1,33 +1,36 @@
PORTNAME= kdenlive
DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+PORTREVISION= 1
CATEGORIES= multimedia kde kde-applications
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE professional quality non-linear video editing suite
+WWW= https://www.kdenlive.org
LICENSE= GPLv2
LIB_DEPENDS= librttr_core.so:devel/rttr
BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
- ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
+ ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat \
+ ${LOCALBASE}/lib/mlt-7/libmltglaxnimate.so:multimedia/mlt7-glaxnimate
RUN_DEPENDS= ffmpeg${FFMPEG_SUFX}:multimedia/ffmpeg${FFMPEG_SUFX} \
- ${LOCALBASE}/lib/mlt-7/libmltqt.so:multimedia/mlt7-qt5
+ ${LOCALBASE}/lib/mlt-7/libmltqt.so:multimedia/mlt7-qt@qt5 \
+ ${LOCALBASE}/lib/mlt-7/libmltglaxnimate.so:multimedia/mlt7-glaxnimate@qt5
-USES= cmake compiler:c++11-lang desktop-file-utils gettext-tools \
- gl mlt:7 pkgconfig qt:5 shared-mime-info kde:5 tar:xz xorg
+USES= cmake compiler:c++11-lang desktop-file-utils gettext-tools gl \
+ kde:5 mlt:7 pkgconfig qt:5 shared-mime-info tar:xz xorg
USE_GL= gl glu
USE_KDE= archive attica auth bookmarks codecs completion config \
configwidgets coreaddons crash dbusaddons filemetadata \
- guiaddons i18n iconthemes kio itemviews jobwidgets \
- kdeclarative newstuff notifications notifyconfig package \
- service solid sonnet textwidgets widgetsaddons windowsystem \
- xmlgui \
- ecm_build \
- init_run
+ guiaddons i18n iconthemes itemviews jobwidgets kdeclarative \
+ kio newstuff notifications notifyconfig package service solid \
+ sonnet textwidgets widgetsaddons windowsystem xmlgui \
+ ecm:build \
+ init:run
USE_QT= concurrent core dbus declarative gui multimedia network \
- networkauth quickcontrols2 xml \
- buildtools_build qmake_build \
- quickcontrols_run script svg webkit widgets
+ networkauth quickcontrols2 script svg widgets xml \
+ buildtools:build qmake:build \
+ quickcontrols:run
USE_XORG= x11
CFLAGS+= -isystem${LOCALBASE}/include # linux/input.h
CMAKE_ARGS= -DFFMPEG_SUFFIX:STRING="${FFMPEG_SUFX}"
@@ -36,7 +39,7 @@ CMAKE_ARGS= -DFFMPEG_SUFFIX:STRING="${FFMPEG_SUFX}"
FFMPEG_SUFX= # Currently empty.
OPTIONS_DEFINE= DVDWIZARD FILESHARE FREI0R LADSPA SCREENCAST V4L XINE DOCS
-OPTIONS_DEFAULT=DVDWIZARD FILESHARE FREI0R LADSPA SCREENCAST V4L XINE
+OPTIONS_DEFAULT=DVDWIZARD FILESHARE FREI0R LADSPA SCREENCAST V4L
OPTIONS_SUB= yes
DVDWIZARD_DESC= DVD authoring via DVDAuthor and cdrtools
diff --git a/multimedia/kdenlive/distinfo b/multimedia/kdenlive/distinfo
index fb7daa5322a9..75a5b5da5854 100644
--- a/multimedia/kdenlive/distinfo
+++ b/multimedia/kdenlive/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652179553
-SHA256 (KDE/release-service/22.04.1/kdenlive-22.04.1.tar.xz) = ae879041f18ee89b3fef2dc85cbb6899bf184c433b234d0c2145085767952a4e
-SIZE (KDE/release-service/22.04.1/kdenlive-22.04.1.tar.xz) = 12413372
+TIMESTAMP = 1707889325
+SHA256 (KDE/release-service/23.08.5/kdenlive-23.08.5.tar.xz) = 9ae96458e6a257c323f9845341410a140740260f3f8971ce35004de5161a83db
+SIZE (KDE/release-service/23.08.5/kdenlive-23.08.5.tar.xz) = 12728000
diff --git a/multimedia/kdenlive/pkg-descr b/multimedia/kdenlive/pkg-descr
index 97802f1859ad..5eed3bdce808 100644
--- a/multimedia/kdenlive/pkg-descr
+++ b/multimedia/kdenlive/pkg-descr
@@ -3,5 +3,3 @@ which supports DV, AVCHD and HDV editing. Kdenlive relies on several
other open source projects, such as FFmpeg, the MLT video framework
and Frei0r effects. It was designed to answer all needs, from basic
video editing to semi-professional work.
-
-WWW: http://www.kdenlive.org
diff --git a/multimedia/kdenlive/pkg-plist b/multimedia/kdenlive/pkg-plist
index 0d4ada22b3a5..d37fdeb171b2 100644
--- a/multimedia/kdenlive/pkg-plist
+++ b/multimedia/kdenlive/pkg-plist
@@ -1,20 +1,22 @@
bin/kdenlive
bin/kdenlive_render
-%%QT_PLUGINDIR%%/mltpreview.so
-man/man1/kdenlive.1.gz
-man/man1/kdenlive_render.1.gz
+%%QT_PLUGINDIR%%/kf5/thumbcreator/mltpreview.so
share/applications/org.kde.kdenlive.desktop
share/config.kcfg/kdenlivesettings.kcfg
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/BSD-3-Clause.txt
+%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/BSL-1.0.txt
+%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/CC-BY-SA-4.0.txt
+%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/CC0-1.0.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/GPL-2.0-only.txt
-%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/GPL-2.0-or-later.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/GPL-3.0-only.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/GPL-3.0-or-later.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/LGPL-3.0-only.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/LicenseRef-KDE-Accepted-GPL.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/LICENSES/LicenseRef-KDE-Accepted-LGPL.txt
%%PORTDOCS%%%%DOCSDIR%%/Kdenlive/README.md
+share/icons/hicolor/128x128/apps/kdenlive.png
+share/icons/hicolor/128x128/mimetypes/application-x-kdenlivetitle.png
share/icons/hicolor/16x16/actions/add-subtitle.svg
share/icons/hicolor/16x16/actions/keyframe-add.svg
share/icons/hicolor/16x16/actions/keyframe-disable.svg
@@ -34,19 +36,18 @@ share/icons/hicolor/22x22/actions/keyframe-record.svg
share/icons/hicolor/22x22/actions/keyframe-remove.svg
share/icons/hicolor/22x22/actions/keyframe.svg
share/icons/hicolor/22x22/apps/kdenlive.png
+share/icons/hicolor/256x256/apps/kdenlive.png
share/icons/hicolor/32x32/apps/kdenlive.png
share/icons/hicolor/32x32/mimetypes/application-x-kdenlivetitle.png
share/icons/hicolor/48x48/apps/kdenlive.png
share/icons/hicolor/64x64/apps/kdenlive.png
share/icons/hicolor/64x64/mimetypes/application-x-kdenlivetitle.png
-share/icons/hicolor/128x128/apps/kdenlive.png
-share/icons/hicolor/128x128/mimetypes/application-x-kdenlivetitle.png
-share/icons/hicolor/256x256/apps/kdenlive.png
share/icons/hicolor/scalable/actions/add-subtitle.svg
share/icons/hicolor/scalable/apps/kdenlive.svgz
share/icons/hicolor/scalable/mimetypes/application-x-kdenlive.svgz
share/icons/hicolor/scalable/mimetypes/application-x-kdenlivetitle.svgz
share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
+%%DATADIR%%/clipjobsettings.rc
%%DATADIR%%/effect-templates/secondary_color_correction.xml
%%DATADIR%%/effect-templates/shut_off.xml
%%DATADIR%%/effects/acompressor.xml
@@ -70,17 +71,24 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/avfilter_bandpass.xml
%%DATADIR%%/effects/avfilter_bandreject.xml
%%DATADIR%%/effects/avfilter_bass.xml
+%%DATADIR%%/effects/avfilter_bilateral.xml
%%DATADIR%%/effects/avfilter_boxblur.xml
%%DATADIR%%/effects/avfilter_bs2b.xml
%%DATADIR%%/effects/avfilter_bwdif.xml
+%%DATADIR%%/effects/avfilter_cas.xml
%%DATADIR%%/effects/avfilter_chromahold.xml
+%%DATADIR%%/effects/avfilter_chromanr.xml
%%DATADIR%%/effects/avfilter_chromashift.xml
%%DATADIR%%/effects/avfilter_colorbalance.xml
%%DATADIR%%/effects/avfilter_colorchannelmixer.xml
+%%DATADIR%%/effects/avfilter_colorcontrast.xml
+%%DATADIR%%/effects/avfilter_colorcorrect.xml
%%DATADIR%%/effects/avfilter_colorhold.xml
+%%DATADIR%%/effects/avfilter_colorize.xml
%%DATADIR%%/effects/avfilter_colorlevels.xml
%%DATADIR%%/effects/avfilter_colormatrix.xml
%%DATADIR%%/effects/avfilter_colorspace.xml
+%%DATADIR%%/effects/avfilter_colortemperature.xml
%%DATADIR%%/effects/avfilter_compand.xml
%%DATADIR%%/effects/avfilter_compensationdelay.xml
%%DATADIR%%/effects/avfilter_crossfeed.xml
@@ -100,12 +108,13 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/avfilter_doubleweave.xml
%%DATADIR%%/effects/avfilter_drawbox.xml
%%DATADIR%%/effects/avfilter_drawgrid.xml
-%%DATADIR%%/effects/box_blur.xml
%%DATADIR%%/effects/avfilter_edgedetect.xml
%%DATADIR%%/effects/avfilter_elbg.xml
+%%DATADIR%%/effects/avfilter_epx.xml
%%DATADIR%%/effects/avfilter_eq.xml
%%DATADIR%%/effects/avfilter_equalizer.xml
%%DATADIR%%/effects/avfilter_erosion.xml
+%%DATADIR%%/effects/avfilter_exposure.xml
%%DATADIR%%/effects/avfilter_extrastereo.xml
%%DATADIR%%/effects/avfilter_fftdnoiz.xml
%%DATADIR%%/effects/avfilter_fftfilt.xml
@@ -128,6 +137,7 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/avfilter_il.xml
%%DATADIR%%/effects/avfilter_inflate.xml
%%DATADIR%%/effects/avfilter_kerneldeint.xml
+%%DATADIR%%/effects/avfilter_kirsch.xml
%%DATADIR%%/effects/avfilter_lagfun.xml
%%DATADIR%%/effects/avfilter_lenscorrection.xml
%%DATADIR%%/effects/avfilter_limiter.xml
@@ -136,19 +146,24 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/avfilter_lowshelf.xml
%%DATADIR%%/effects/avfilter_lut3d.xml
%%DATADIR%%/effects/avfilter_mcdeint.xml
+%%DATADIR%%/effects/avfilter_median.xml
+%%DATADIR%%/effects/avfilter_monochrome.xml
%%DATADIR%%/effects/avfilter_negate.xml
%%DATADIR%%/effects/avfilter_noise.xml
%%DATADIR%%/effects/avfilter_normalize.xml
%%DATADIR%%/effects/avfilter_phase.xml
+%%DATADIR%%/effects/avfilter_photosensitivity.xml
%%DATADIR%%/effects/avfilter_prewitt.xml
%%DATADIR%%/effects/avfilter_random.xml
%%DATADIR%%/effects/avfilter_removegrain.xml
%%DATADIR%%/effects/avfilter_rgbashift.xml
%%DATADIR%%/effects/avfilter_roberts.xml
%%DATADIR%%/effects/avfilter_sab.xml
+%%DATADIR%%/effects/avfilter_scroll.xml
%%DATADIR%%/effects/avfilter_selectivecolor.xml
%%DATADIR%%/effects/avfilter_separatefields.xml
%%DATADIR%%/effects/avfilter_setrange.xml
+%%DATADIR%%/effects/avfilter_shear.xml
%%DATADIR%%/effects/avfilter_shuffleplanes.xml
%%DATADIR%%/effects/avfilter_smartblur.xml
%%DATADIR%%/effects/avfilter_sobel.xml
@@ -171,6 +186,7 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/avfilter_xbr.xml
%%DATADIR%%/effects/avfilter_yadif.xml
%%DATADIR%%/effects/avfilter_zoompan.xml
+%%DATADIR%%/effects/box_blur.xml
%%DATADIR%%/effects/boxblur.xml
%%DATADIR%%/effects/brightness.xml
%%DATADIR%%/effects/channelcopy.xml
@@ -200,6 +216,7 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/frei0r_bgsubtract0r.xml
%%DATADIR%%/effects/frei0r_bigsh0t_eq_mask.xml
%%DATADIR%%/effects/frei0r_bigsh0t_eq_to_rect.xml
+%%DATADIR%%/effects/frei0r_bigsh0t_eq_to_stereo.xml
%%DATADIR%%/effects/frei0r_bigsh0t_hemi_to_eq.xml
%%DATADIR%%/effects/frei0r_bigsh0t_rect_to_eq.xml
%%DATADIR%%/effects/frei0r_bigsh0t_stabilize_360.xml
@@ -326,7 +343,6 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/qtcrop.xml
%%DATADIR%%/effects/rboctaveshift.xml
%%DATADIR%%/effects/rbpitchscale.xml
-%%DATADIR%%/effects/region.xml
%%DATADIR%%/effects/rotation.xml
%%DATADIR%%/effects/rotation_keyframable.xml
%%DATADIR%%/effects/rotoscoping.xml
@@ -346,6 +362,7 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/effects/swapchannels.xml
%%DATADIR%%/effects/tcolor.xml
%%DATADIR%%/effects/threshold.xml
+%%DATADIR%%/effects/timer.xml
%%DATADIR%%/effects/tracker.xml
%%DATADIR%%/effects/typewriter.xml
%%DATADIR%%/effects/update/frei0r.balanc0r.js
@@ -381,11 +398,11 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/lumas/HD/linear_y.pgm
%%DATADIR%%/lumas/HD/radial-bars.pgm
%%DATADIR%%/lumas/HD/radial.pgm
-%%DATADIR%%/lumas/HD/spiral2.pgm
%%DATADIR%%/lumas/HD/spiral.pgm
+%%DATADIR%%/lumas/HD/spiral2.pgm
+%%DATADIR%%/lumas/HD/square.pgm
%%DATADIR%%/lumas/HD/square2-bars.pgm
%%DATADIR%%/lumas/HD/square2.pgm
-%%DATADIR%%/lumas/HD/square.pgm
%%DATADIR%%/lumas/HD/symmetric_clock.pgm
%%DATADIR%%/lumas/PAL/bi-linear_x.pgm
%%DATADIR%%/lumas/PAL/bi-linear_y.pgm
@@ -399,34 +416,37 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/lumas/PAL/linear_y.pgm
%%DATADIR%%/lumas/PAL/radial-bars.pgm
%%DATADIR%%/lumas/PAL/radial.pgm
-%%DATADIR%%/lumas/PAL/spiral2.pgm
%%DATADIR%%/lumas/PAL/spiral.pgm
+%%DATADIR%%/lumas/PAL/spiral2.pgm
+%%DATADIR%%/lumas/PAL/square.pgm
%%DATADIR%%/lumas/PAL/square2-bars.pgm
%%DATADIR%%/lumas/PAL/square2.pgm
-%%DATADIR%%/lumas/PAL/square.pgm
%%DATADIR%%/lumas/PAL/symmetric_clock.pgm
%%DATADIR%%/luts/BLUE_TINT.cube
%%DATADIR%%/luts/CINEMATIC.cube
%%DATADIR%%/luts/GREEN_TINT.cube
%%DATADIR%%/luts/TEAL_ORANGE.cube
%%DATADIR%%/meta_magiclantern.png
+%%DATADIR%%/profiles/dci_2160p_2398
%%DATADIR%%/profiles/dci_2160p_24
%%DATADIR%%/profiles/dci_2160p_25
+%%DATADIR%%/profiles/dci_2160p_2997
%%DATADIR%%/profiles/dci_2160p_30
%%DATADIR%%/profiles/dci_2160p_50
-%%DATADIR%%/profiles/dci_2160p_60
-%%DATADIR%%/profiles/dci_2160p_2398
-%%DATADIR%%/profiles/dci_2160p_2997
%%DATADIR%%/profiles/dci_2160p_5994
+%%DATADIR%%/profiles/dci_2160p_60
%%DATADIR%%/resourceproviders/archiveorg.json
%%DATADIR%%/resourceproviders/freesound.json
%%DATADIR%%/resourceproviders/pexels_photo.json
%%DATADIR%%/resourceproviders/pexels_video.json
%%DATADIR%%/resourceproviders/pixabay_photo.json
+%%DATADIR%%/scripts/checkgpu.py
%%DATADIR%%/scripts/checkpackages.py
%%DATADIR%%/scripts/otiointerface.py
%%DATADIR%%/scripts/speech.py
%%DATADIR%%/scripts/speechtotext.py
+%%DATADIR%%/scripts/whispertosrt.py
+%%DATADIR%%/scripts/whispertotext.py
%%DATADIR%%/shortcuts/Premiere
%%DATADIR%%/slideanimations.rc
%%DATADIR%%/titles/simple-scroll.kdenlivetitle
@@ -435,13 +455,57 @@ share/icons/hicolor/scalable/mimetypes/video-mlt-playlist.svgz
%%DATADIR%%/transitions/affine.xml
%%DATADIR%%/transitions/composite.xml
%%DATADIR%%/transitions/dissolve.xml
+%%DATADIR%%/transitions/frei0r_addition.xml
+%%DATADIR%%/transitions/frei0r_addition_alpha.xml
+%%DATADIR%%/transitions/frei0r_alphaatop.xml
+%%DATADIR%%/transitions/frei0r_alphain.xml
+%%DATADIR%%/transitions/frei0r_alphaout.xml
+%%DATADIR%%/transitions/frei0r_alphaover.xml
+%%DATADIR%%/transitions/frei0r_alphaxor.xml
+%%DATADIR%%/transitions/frei0r_burn.xml
%%DATADIR%%/transitions/frei0r_cairoaffineblend.xml
%%DATADIR%%/transitions/frei0r_cairoblend.xml
+%%DATADIR%%/transitions/frei0r_color_only.xml
+%%DATADIR%%/transitions/frei0r_darken.xml
+%%DATADIR%%/transitions/frei0r_difference.xml
+%%DATADIR%%/transitions/frei0r_divide.xml
+%%DATADIR%%/transitions/frei0r_dodge.xml
+%%DATADIR%%/transitions/frei0r_grain_extract.xml
+%%DATADIR%%/transitions/frei0r_grain_merge.xml
+%%DATADIR%%/transitions/frei0r_hardlight.xml
+%%DATADIR%%/transitions/frei0r_hue.xml
+%%DATADIR%%/transitions/frei0r_lighten.xml
+%%DATADIR%%/transitions/frei0r_multiply.xml
+%%DATADIR%%/transitions/frei0r_overlay.xml
+%%DATADIR%%/transitions/frei0r_push-down.xml
+%%DATADIR%%/transitions/frei0r_push-left.xml
+%%DATADIR%%/transitions/frei0r_push-right.xml
+%%DATADIR%%/transitions/frei0r_push-up.xml
+%%DATADIR%%/transitions/frei0r_saturation.xml
+%%DATADIR%%/transitions/frei0r_screen.xml
+%%DATADIR%%/transitions/frei0r_slide-down.xml
+%%DATADIR%%/transitions/frei0r_slide-left.xml
+%%DATADIR%%/transitions/frei0r_slide-right.xml
+%%DATADIR%%/transitions/frei0r_slide-up.xml
+%%DATADIR%%/transitions/frei0r_softlight.xml
+%%DATADIR%%/transitions/frei0r_subtract.xml
+%%DATADIR%%/transitions/frei0r_uvmap.xml
+%%DATADIR%%/transitions/frei0r_value.xml
+%%DATADIR%%/transitions/frei0r_wipe-barn-door-h.xml
+%%DATADIR%%/transitions/frei0r_wipe-barn-door-v.xml
+%%DATADIR%%/transitions/frei0r_wipe-circle.xml
+%%DATADIR%%/transitions/frei0r_wipe-down.xml
+%%DATADIR%%/transitions/frei0r_wipe-left.xml
+%%DATADIR%%/transitions/frei0r_wipe-rect.xml
+%%DATADIR%%/transitions/frei0r_wipe-right.xml
+%%DATADIR%%/transitions/frei0r_wipe-up.xml
%%DATADIR%%/transitions/luma.xml
+%%DATADIR%%/transitions/matte.xml
%%DATADIR%%/transitions/mix.xml
%%DATADIR%%/transitions/qtblend.xml
%%DATADIR%%/transitions/region.xml
%%DATADIR%%/transitions/slide.xml
+%%DATADIR%%/transitions/vqm.xml
%%DATADIR%%/transitions/wipe.xml
share/knotifications5/kdenlive.notifyrc
share/knsrcfiles/kdenlive_effects.knsrc
@@ -450,10 +514,7 @@ share/knsrcfiles/kdenlive_luts.knsrc
share/knsrcfiles/kdenlive_renderprofiles.knsrc
share/knsrcfiles/kdenlive_titles.knsrc
share/knsrcfiles/kdenlive_wipes.knsrc
-share/kservices5/mltpreview.desktop
-share/kxmlgui5/kdenlive/kdenliveui.rc
share/locale/ar/LC_MESSAGES/kdenlive.mo
-share/locale/ast/LC_MESSAGES/kdenlive.mo
share/locale/az/LC_MESSAGES/kdenlive.mo
share/locale/bs/LC_MESSAGES/kdenlive.mo
share/locale/ca/LC_MESSAGES/kdenlive.mo
@@ -463,6 +524,7 @@ share/locale/da/LC_MESSAGES/kdenlive.mo
share/locale/de/LC_MESSAGES/kdenlive.mo
share/locale/el/LC_MESSAGES/kdenlive.mo
share/locale/en_GB/LC_MESSAGES/kdenlive.mo
+share/locale/eo/LC_MESSAGES/kdenlive.mo
share/locale/es/LC_MESSAGES/kdenlive.mo
share/locale/et/LC_MESSAGES/kdenlive.mo
share/locale/eu/LC_MESSAGES/kdenlive.mo
@@ -476,6 +538,7 @@ share/locale/hu/LC_MESSAGES/kdenlive.mo
share/locale/id/LC_MESSAGES/kdenlive.mo
share/locale/it/LC_MESSAGES/kdenlive.mo
share/locale/ja/LC_MESSAGES/kdenlive.mo
+share/locale/ka/LC_MESSAGES/kdenlive.mo
share/locale/ko/LC_MESSAGES/kdenlive.mo
share/locale/lt/LC_MESSAGES/kdenlive.mo
share/locale/mr/LC_MESSAGES/kdenlive.mo
@@ -495,6 +558,8 @@ share/locale/ug/LC_MESSAGES/kdenlive.mo
share/locale/uk/LC_MESSAGES/kdenlive.mo
share/locale/zh_CN/LC_MESSAGES/kdenlive.mo
share/locale/zh_TW/LC_MESSAGES/kdenlive.mo
+share/man/man1/kdenlive.1.gz
+share/man/man1/kdenlive_render.1.gz
share/metainfo/org.kde.kdenlive.appdata.xml
share/mime/packages/org.kde.kdenlive.xml
share/mime/packages/westley.xml
diff --git a/multimedia/kew/Makefile b/multimedia/kew/Makefile
new file mode 100644
index 000000000000..a03c4cd7daa1
--- /dev/null
+++ b/multimedia/kew/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= kew
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.4.4
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Command-line music player
+WWW= https://github.com/ravachol/kew
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BROKEN_i386= compilation fails with incompatible pointer, see https://github.com/ravachol/kew/issues/118
+
+LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
+ libchafa.so:graphics/chafa \
+ libfftw3f.so:math/fftw3-float \
+ libfreeimage.so:graphics/freeimage \
+ libopus.so:audio/opus \
+ libopusfile.so:audio/opusfile \
+ libvorbis.so:audio/libvorbis
+
+USES= gettext-runtime gmake gnome pkgconfig
+USE_GNOME= glib20
+
+USE_GITHUB= yes
+GH_ACCOUNT= ravachol
+
+MAKE_ARGS= CC=${CC} PREFIX=${PREFIX}
+
+PLIST_FILES= bin/kew \
+ share/man/man1/kew.1.gz
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/kew
+
+.include <bsd.port.mk>
diff --git a/multimedia/kew/distinfo b/multimedia/kew/distinfo
new file mode 100644
index 000000000000..3c6b5f47edcd
--- /dev/null
+++ b/multimedia/kew/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1712135938
+SHA256 (ravachol-kew-v2.4.4_GH0.tar.gz) = 7637d6d4d360aaba5b750175a5e8781a50cbe756589e0d302e4a5208d8c64ce1
+SIZE (ravachol-kew-v2.4.4_GH0.tar.gz) = 1156275
diff --git a/multimedia/kew/pkg-descr b/multimedia/kew/pkg-descr
new file mode 100644
index 000000000000..a3f4c3a94508
--- /dev/null
+++ b/multimedia/kew/pkg-descr
@@ -0,0 +1,10 @@
+kew is a command-line music player.
+
+Features:
+* Search a music library with partial titles.
+* Creates a playlist based on a matched directory.
+* Has gapless playback (between files of the same format and type) and supports
+ 24-bit audio.
+* Control the player with previous, next and pause.
+* Edit the playlist by enqueueing and removing songs.
+* Private and offline, no data is collected by kew.
diff --git a/multimedia/kf5-kmediaplayer/Makefile b/multimedia/kf5-kmediaplayer/Makefile
index 3194a3d66f64..03b05c30c712 100644
--- a/multimedia/kf5-kmediaplayer/Makefile
+++ b/multimedia/kf5-kmediaplayer/Makefile
@@ -5,12 +5,13 @@ CATEGORIES= multimedia kde kde-frameworks
MAINTAINER= kde@FreeBSD.org
COMMENT= KF5 plugin interface for media player features
-USES= cmake compiler:c++11-lib gettext kde:5 qt:5 tar:xz
+USES= cmake compiler:c++11-lib gettext kde:5 qt:5 tar:xz xorg
USE_KDE= auth codecs completion config configwidgets coreaddons \
- i18n jobwidgets kio parts service sonnet textwidgets \
+ i18n jobwidgets kio parts service solid sonnet textwidgets \
widgetsaddons windowsystem xmlgui \
- ecm_build
+ ecm:build
USE_QT= concurrent core dbus gui network widgets xml \
- buildtools_build qmake_build testlib_build
+ buildtools:build qmake:build testlib:build
+USE_XORG= x11
.include <bsd.port.mk>
diff --git a/multimedia/kf5-kmediaplayer/distinfo b/multimedia/kf5-kmediaplayer/distinfo
index 628a80a4d517..7ff88fb30504 100644
--- a/multimedia/kf5-kmediaplayer/distinfo
+++ b/multimedia/kf5-kmediaplayer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1651936468
-SHA256 (KDE/frameworks/5.94.0/kmediaplayer-5.94.0.tar.xz) = 0bf1f6df0ce21d397ca168307b3b3e57d10c0fb90369cee03bbfbf9fa7d8208c
-SIZE (KDE/frameworks/5.94.0/kmediaplayer-5.94.0.tar.xz) = 9952
+TIMESTAMP = 1707045375
+SHA256 (KDE/frameworks/5.115.0/kmediaplayer-5.115.0.tar.xz) = 95d274982d03ffb592cde5513cf6b4470caef599501f56eaec127611746daaf9
+SIZE (KDE/frameworks/5.115.0/kmediaplayer-5.115.0.tar.xz) = 9948
diff --git a/multimedia/kf5-kmediaplayer/pkg-descr b/multimedia/kf5-kmediaplayer/pkg-descr
index e7384734ee29..2fc6b5a0e527 100644
--- a/multimedia/kf5-kmediaplayer/pkg-descr
+++ b/multimedia/kf5-kmediaplayer/pkg-descr
@@ -1,4 +1,2 @@
KMediaPlayer builds on the KParts framework to provide a common interface for
KParts that can play media files.
-
-WWW: https://api.kde.org/frameworks/kmediaplayer/html/index.html
diff --git a/multimedia/kmplayer/Makefile b/multimedia/kmplayer/Makefile
index b8adc9a43558..160037b80601 100644
--- a/multimedia/kmplayer/Makefile
+++ b/multimedia/kmplayer/Makefile
@@ -1,14 +1,13 @@
-# Created by: Kris Moore
-
PORTNAME= kmplayer
PORTVERSION= 0.12.0b
-PORTREVISION= 5
+PORTREVISION= 7
PORTEPOCH= 3
CATEGORIES= multimedia audio kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION:R}
MAINTAINER= jhale@FreeBSD.org
COMMENT= KDE frontend to Phonon / KDE5
+WWW= https://kmplayer.kde.org/
LICENSE= GPLv2 LGPL21
LICENSE_COMB= multi
@@ -32,15 +31,15 @@ RUN_DEPENDS= mplayer:multimedia/mplayer
USES= cmake compiler:c++11-lang cpe desktop-file-utils gettext-runtime \
gnome kde:5 pkgconfig qt:5 tar:bz2 xorg
USE_GNOME= cairo gdkpixbuf2 gtk20
-USE_QT= concurrent core dbus gui network phonon4 printsupport \
+USE_QT= concurrent core dbus gui network printsupport \
svg widgets x11extras xml \
- buildtools_build qmake_build
+ buildtools:build qmake:build
USE_KDE= auth bookmarks codecs completion config configwidgets \
coreaddons crash ecm guiaddons i18n iconthemes init itemviews \
- jobwidgets mediaplayer notifications parts service \
+ jobwidgets mediaplayer notifications parts phonon service \
textwidgets unitconversion widgetsaddons windowsystem \
xmlgui kdelibs4support kio solid sonnet \
- doctools_build
+ doctools:build
USE_XORG= x11 xcb
.include <bsd.port.mk>
diff --git a/multimedia/kmplayer/files/patch-CMakeLists.txt b/multimedia/kmplayer/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..7d5bc5f4e19c
--- /dev/null
+++ b/multimedia/kmplayer/files/patch-CMakeLists.txt
@@ -0,0 +1,11 @@
+--- CMakeLists.txt.orig 2022-11-22 05:48:52 UTC
++++ CMakeLists.txt
+@@ -1,8 +1,6 @@ project(kmplayer)
+ cmake_minimum_required(VERSION 2.8.12)
+ project(kmplayer)
+
+-cmake_policy(VERSION 2.6)
+-
+ SET(KMPLAYER_MAJOR_VERSION "0")
+ SET(KMPLAYER_MINOR_VERSION "12")
+ SET(KMPLAYER_PATCH_VERSION "0b")
diff --git a/multimedia/kmplayer/pkg-descr b/multimedia/kmplayer/pkg-descr
index 00a1ec18b7f2..f61261270df3 100644
--- a/multimedia/kmplayer/pkg-descr
+++ b/multimedia/kmplayer/pkg-descr
@@ -1,3 +1 @@
KMPlayer, a simple frontend for MPlayer/FFMpeg/Phonon.
-
-WWW: http://kmplayer.kde.org/
diff --git a/multimedia/kodi-addon-inputstream.adaptive/Makefile b/multimedia/kodi-addon-inputstream.adaptive/Makefile
index f87282f75eb3..bb08ac056e6d 100644
--- a/multimedia/kodi-addon-inputstream.adaptive/Makefile
+++ b/multimedia/kodi-addon-inputstream.adaptive/Makefile
@@ -1,19 +1,25 @@
PORTNAME= inputstream.adaptive
-DISTVERSION= 19.0.3
-DISTVERSIONSUFFIX= -Matrix
+DISTVERSION= 20.3.18
+DISTVERSIONSUFFIX= -Nexus
CATEGORIES= multimedia
+EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= decke@FreeBSD.org
COMMENT= Adaptive stream support for Kodi
+WWW= https://github.com/peak3d/inputstream.adaptive
LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE.GPL
+LICENSE_FILE= ${WRKSRC}/LICENSE.md
BUILD_DEPENDS= googletest>0:devel/googletest
LIB_DEPENDS= libexpat.so:textproc/expat2
USES= cmake compiler:c++14-lang kodi
USE_GITHUB= yes
-GH_ACCOUNT= peak3d
+GH_ACCOUNT= peak3d xbmc:bento4
+GH_PROJECT= Bento4:bento4
+GH_TAGNAME= 1.6.0-639-5-Nexus:bento4
+
+CMAKE_ARGS+= -DENABLE_INTERNAL_BENTO4:BOOL=ON -DBENTO4_URL=${DISTDIR}/${DISTFILE_bento4}
.include <bsd.port.mk>
diff --git a/multimedia/kodi-addon-inputstream.adaptive/distinfo b/multimedia/kodi-addon-inputstream.adaptive/distinfo
index b476a24d1121..af7ab27eb6db 100644
--- a/multimedia/kodi-addon-inputstream.adaptive/distinfo
+++ b/multimedia/kodi-addon-inputstream.adaptive/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1647091152
-SHA256 (peak3d-inputstream.adaptive-19.0.3-Matrix_GH0.tar.gz) = 1549422ac1386929dfc1a479898d6311440d1f8bfd1bc94e1fe5da9cc2db805c
-SIZE (peak3d-inputstream.adaptive-19.0.3-Matrix_GH0.tar.gz) = 769928
+TIMESTAMP = 1712590606
+SHA256 (peak3d-inputstream.adaptive-20.3.18-Nexus_GH0.tar.gz) = 0755b27612d44d372bfe2b9fa32e47af616008287998d4b77ae70bcfb782cef9
+SIZE (peak3d-inputstream.adaptive-20.3.18-Nexus_GH0.tar.gz) = 779751
+SHA256 (xbmc-Bento4-1.6.0-639-5-Nexus_GH0.tar.gz) = 3efc43c8146d6a89c4f80208f0e24b1c26ecfc84a2887135b10891612366c373
+SIZE (xbmc-Bento4-1.6.0-639-5-Nexus_GH0.tar.gz) = 5481733
diff --git a/multimedia/kodi-addon-inputstream.adaptive/files/patch-FindBento4.cmake b/multimedia/kodi-addon-inputstream.adaptive/files/patch-FindBento4.cmake
new file mode 100644
index 000000000000..1683b6930422
--- /dev/null
+++ b/multimedia/kodi-addon-inputstream.adaptive/files/patch-FindBento4.cmake
@@ -0,0 +1,12 @@
+--- FindBento4.cmake.orig 2023-01-11 21:37:47 UTC
++++ FindBento4.cmake
+@@ -49,7 +49,8 @@ if(ENABLE_INTERNAL_BENTO4)
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+ -DBUILD_APPS=OFF
+- BUILD_BYPRODUCTS ${BENTO4_LIBRARY})
++ BUILD_BYPRODUCTS ${BENTO4_LIBRARY}
++ INSTALL_COMMAND DESTDIR= ${CMAKE_MAKE_PROGRAM} install)
+ else()
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_BENTO4 REQUIRED)
diff --git a/multimedia/kodi-addon-inputstream.adaptive/pkg-descr b/multimedia/kodi-addon-inputstream.adaptive/pkg-descr
index 610de54b1274..f51b0cc55472 100644
--- a/multimedia/kodi-addon-inputstream.adaptive/pkg-descr
+++ b/multimedia/kodi-addon-inputstream.adaptive/pkg-descr
@@ -6,5 +6,3 @@ according to available bandwith.
For example, it is required by the MPEG-DASH functionality of Kodi's
YouTube addon to support video playback in higher resolutions than 720p.
-
-WWW: https://github.com/peak3d/inputstream.adaptive
diff --git a/multimedia/kodi-addon-peripheral.joystick/Makefile b/multimedia/kodi-addon-peripheral.joystick/Makefile
index bf47cc769e3d..fa057dc76527 100644
--- a/multimedia/kodi-addon-peripheral.joystick/Makefile
+++ b/multimedia/kodi-addon-peripheral.joystick/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan 2018 <rozhuk.im@gmail.com>
-
PORTNAME= peripheral.joystick
-DISTVERSION= 19.0.1
-DISTVERSIONSUFFIX= -Matrix
+DISTVERSION= 20.1.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Joystick support for Kodi
+WWW= https://github.com/xbmc/peripheral.joystick
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-peripheral.joystick/distinfo b/multimedia/kodi-addon-peripheral.joystick/distinfo
index 7ff4327a58aa..c9e5bd1b7e03 100644
--- a/multimedia/kodi-addon-peripheral.joystick/distinfo
+++ b/multimedia/kodi-addon-peripheral.joystick/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641916126
-SHA256 (xbmc-peripheral.joystick-19.0.1-Matrix_GH0.tar.gz) = 65efcfb8b0ed6595082d8d7298ec25b5c31d0189bb8e09ae1bc10989b9655204
-SIZE (xbmc-peripheral.joystick-19.0.1-Matrix_GH0.tar.gz) = 126079
+TIMESTAMP = 1675418602
+SHA256 (xbmc-peripheral.joystick-20.1.0-Nexus_GH0.tar.gz) = cd55ceb9e4a064cd153e90d810d2cb3767ca033e2786066219ed673bc86984be
+SIZE (xbmc-peripheral.joystick-20.1.0-Nexus_GH0.tar.gz) = 126103
diff --git a/multimedia/kodi-addon-peripheral.joystick/pkg-descr b/multimedia/kodi-addon-peripheral.joystick/pkg-descr
index e52e1ac27339..5940349c8b09 100644
--- a/multimedia/kodi-addon-peripheral.joystick/pkg-descr
+++ b/multimedia/kodi-addon-peripheral.joystick/pkg-descr
@@ -1,3 +1 @@
Joystick support for Kodi
-
-WWW: https://github.com/xbmc/peripheral.joystick
diff --git a/multimedia/kodi-addon-pvr.hts/Makefile b/multimedia/kodi-addon-pvr.hts/Makefile
index 047690c811b7..25b39325b4b8 100644
--- a/multimedia/kodi-addon-pvr.hts/Makefile
+++ b/multimedia/kodi-addon-pvr.hts/Makefile
@@ -1,12 +1,11 @@
-# Created by: Bernhard Froehlich <decke@FreeBSD.org>
-
PORTNAME= pvr.hts
-DISTVERSION= 19.0.6
-DISTVERSIONSUFFIX= -Matrix
+DISTVERSION= 20.7.2
+DISTVERSIONSUFFIX= -Nexus
CATEGORIES= multimedia
MAINTAINER= decke@FreeBSD.org
COMMENT= Tvheadend PVR addon for Kodi
+WWW= https://github.com/kodi-pvr/pvr.hts
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-pvr.hts/distinfo b/multimedia/kodi-addon-pvr.hts/distinfo
index a3bdc2636f43..b0a1b5b7982c 100644
--- a/multimedia/kodi-addon-pvr.hts/distinfo
+++ b/multimedia/kodi-addon-pvr.hts/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1644237770
-SHA256 (kodi-pvr-pvr.hts-19.0.6-Matrix_GH0.tar.gz) = 990e5fd0757d48b86675aa124b77629e7fb2de6b27dcfd6f6ccc7ce181d04aeb
-SIZE (kodi-pvr-pvr.hts-19.0.6-Matrix_GH0.tar.gz) = 215049
+TIMESTAMP = 1712590652
+SHA256 (kodi-pvr-pvr.hts-20.7.2-Nexus_GH0.tar.gz) = 244cfc1488aa0c51465af411f3df8884b4a571a08acfa20ac9defdb8ef49022e
+SIZE (kodi-pvr-pvr.hts-20.7.2-Nexus_GH0.tar.gz) = 218776
diff --git a/multimedia/kodi-addon-pvr.hts/pkg-descr b/multimedia/kodi-addon-pvr.hts/pkg-descr
index 941944b2906d..c030794cb9f4 100644
--- a/multimedia/kodi-addon-pvr.hts/pkg-descr
+++ b/multimedia/kodi-addon-pvr.hts/pkg-descr
@@ -1,3 +1 @@
This is a Kodi PVR addon for connecting to a tvheadend backend.
-
-WWW: https://github.com/kodi-pvr/pvr.hts
diff --git a/multimedia/kodi-addon-pvr.iptvsimple/Makefile b/multimedia/kodi-addon-pvr.iptvsimple/Makefile
index 804f29f4fcde..ed11f80079cf 100644
--- a/multimedia/kodi-addon-pvr.iptvsimple/Makefile
+++ b/multimedia/kodi-addon-pvr.iptvsimple/Makefile
@@ -1,12 +1,11 @@
-# Created by: Bernhard Froehlich <decke@FreeBSD.org>
-
PORTNAME= pvr.iptvsimple
-DISTVERSION= 19.1.0
-DISTVERSIONSUFFIX= -Matrix
+DISTVERSION= 20.13.0
+DISTVERSIONSUFFIX= -Nexus
CATEGORIES= multimedia
MAINTAINER= decke@FreeBSD.org
COMMENT= IPTV Live TV and Radio PVR client for Kodi
+WWW= https://github.com/kodi-pvr/pvr.iptvsimple
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-pvr.iptvsimple/distinfo b/multimedia/kodi-addon-pvr.iptvsimple/distinfo
index 72716b5a3665..dc4f63698dad 100644
--- a/multimedia/kodi-addon-pvr.iptvsimple/distinfo
+++ b/multimedia/kodi-addon-pvr.iptvsimple/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1644237738
-SHA256 (kodi-pvr-pvr.iptvsimple-19.1.0-Matrix_GH0.tar.gz) = c92736b3f3c96fe36d7b20b329c82b47180260e3ed40fc456ef709572fad5fb0
-SIZE (kodi-pvr-pvr.iptvsimple-19.1.0-Matrix_GH0.tar.gz) = 352589
+TIMESTAMP = 1702190083
+SHA256 (kodi-pvr-pvr.iptvsimple-20.13.0-Nexus_GH0.tar.gz) = 9edf800d7d5e755c92e9e8f6d3771a74cf3fec23b3aaec5b8535f1a579941a5b
+SIZE (kodi-pvr-pvr.iptvsimple-20.13.0-Nexus_GH0.tar.gz) = 793075
diff --git a/multimedia/kodi-addon-pvr.iptvsimple/pkg-descr b/multimedia/kodi-addon-pvr.iptvsimple/pkg-descr
index 1db7770420f6..e27bad76ca2a 100644
--- a/multimedia/kodi-addon-pvr.iptvsimple/pkg-descr
+++ b/multimedia/kodi-addon-pvr.iptvsimple/pkg-descr
@@ -1,3 +1 @@
This is a Kodi PVR addon for IPTV Live TV and Radio
-
-WWW: https://github.com/kodi-pvr/pvr.iptvsimple
diff --git a/multimedia/kodi-addon-screensaver.biogenesis/Makefile b/multimedia/kodi-addon-screensaver.biogenesis/Makefile
index 76d8dfd6a0ba..b031e2956ad5 100644
--- a/multimedia/kodi-addon-screensaver.biogenesis/Makefile
+++ b/multimedia/kodi-addon-screensaver.biogenesis/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan <rozhuk.im@gmail.com>
-
PORTNAME= screensaver.biogenesis
-PORTVERSION= 19.0.1
-DISTVERSIONSUFFIX= -Matrix
+PORTVERSION= 20.1.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= BioGenesis screensaver for Kodi
+WWW= https://github.com/xbmc/screensaver.biogenesis
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-screensaver.biogenesis/distinfo b/multimedia/kodi-addon-screensaver.biogenesis/distinfo
index f932f82acce8..3b3984a8122f 100644
--- a/multimedia/kodi-addon-screensaver.biogenesis/distinfo
+++ b/multimedia/kodi-addon-screensaver.biogenesis/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641909968
-SHA256 (xbmc-screensaver.biogenesis-19.0.1-Matrix_GH0.tar.gz) = ef90c940f70ae9ffb4e5b6928993f053c24de2180566a5fdb21eea359a6c61df
-SIZE (xbmc-screensaver.biogenesis-19.0.1-Matrix_GH0.tar.gz) = 155167
+TIMESTAMP = 1675418654
+SHA256 (xbmc-screensaver.biogenesis-20.1.0-Nexus_GH0.tar.gz) = dfc291fbafe16444f3a5a5f886ba562b5d7b16ed77f4302017fbbe5f5ef9a82d
+SIZE (xbmc-screensaver.biogenesis-20.1.0-Nexus_GH0.tar.gz) = 155192
diff --git a/multimedia/kodi-addon-screensaver.biogenesis/pkg-descr b/multimedia/kodi-addon-screensaver.biogenesis/pkg-descr
index 4c5c3aac4426..fac8e85d0571 100644
--- a/multimedia/kodi-addon-screensaver.biogenesis/pkg-descr
+++ b/multimedia/kodi-addon-screensaver.biogenesis/pkg-descr
@@ -1,3 +1 @@
BioGenesis screensaver for Kodi
-
-WWW: https://github.com/xbmc/screensaver.biogenesis
diff --git a/multimedia/kodi-addon-screensaver.matrixtrails/Makefile b/multimedia/kodi-addon-screensaver.matrixtrails/Makefile
index 06aa7ec34d0e..019141042de4 100644
--- a/multimedia/kodi-addon-screensaver.matrixtrails/Makefile
+++ b/multimedia/kodi-addon-screensaver.matrixtrails/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan <rozhuk.im@gmail.com>
-
PORTNAME= screensaver.matrixtrails
-PORTVERSION= 19.0.1
-DISTVERSIONSUFFIX= -Matrix
+PORTVERSION= 20.1.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Matrix trails screensaver for Kodi
+WWW= https://github.com/xbmc/screensaver.matrixtrails
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-screensaver.matrixtrails/distinfo b/multimedia/kodi-addon-screensaver.matrixtrails/distinfo
index 9f3277f01fab..a6ea1a15ccd0 100644
--- a/multimedia/kodi-addon-screensaver.matrixtrails/distinfo
+++ b/multimedia/kodi-addon-screensaver.matrixtrails/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641913531
-SHA256 (xbmc-screensaver.matrixtrails-19.0.1-Matrix_GH0.tar.gz) = a7054eedcf7b614f5a9cf584ac1f92225b5b960ff5f8d846372e920319a47d30
-SIZE (xbmc-screensaver.matrixtrails-19.0.1-Matrix_GH0.tar.gz) = 864613
+TIMESTAMP = 1675418699
+SHA256 (xbmc-screensaver.matrixtrails-20.1.0-Nexus_GH0.tar.gz) = 929af1a5a08399449497a13c2eb9761b4770b41445a13ee61d78b82677978ea5
+SIZE (xbmc-screensaver.matrixtrails-20.1.0-Nexus_GH0.tar.gz) = 864615
diff --git a/multimedia/kodi-addon-screensaver.matrixtrails/pkg-descr b/multimedia/kodi-addon-screensaver.matrixtrails/pkg-descr
index 2adca60d5b52..a36eb0144330 100644
--- a/multimedia/kodi-addon-screensaver.matrixtrails/pkg-descr
+++ b/multimedia/kodi-addon-screensaver.matrixtrails/pkg-descr
@@ -1,5 +1,3 @@
Matrix trails screensaver for Kodi
This port is for multimedia/kodi-devel only.
-
-WWW: https://github.com/xbmc/screensaver.matrixtrails
diff --git a/multimedia/kodi-addon-screensaver.stars/Makefile b/multimedia/kodi-addon-screensaver.stars/Makefile
index 676d143f56c7..5ecef16e408d 100644
--- a/multimedia/kodi-addon-screensaver.stars/Makefile
+++ b/multimedia/kodi-addon-screensaver.stars/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan <rozhuk.im@gmail.com>
-
PORTNAME= screensaver.stars
-PORTVERSION= 19.0.0
-DISTVERSIONSUFFIX= -Matrix
+PORTVERSION= 20.1.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Starfield screensaver for Kodi
+WWW= https://github.com/xbmc/screensaver.stars
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-screensaver.stars/distinfo b/multimedia/kodi-addon-screensaver.stars/distinfo
index 3e41169e819a..9c2a6a47ea0d 100644
--- a/multimedia/kodi-addon-screensaver.stars/distinfo
+++ b/multimedia/kodi-addon-screensaver.stars/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641913742
-SHA256 (xbmc-screensaver.stars-19.0.0-Matrix_GH0.tar.gz) = 1c65bd9baa351ba4c5d443205b9e125303e341bd85e99aaf36793f95395372bf
-SIZE (xbmc-screensaver.stars-19.0.0-Matrix_GH0.tar.gz) = 288521
+TIMESTAMP = 1675425172
+SHA256 (xbmc-screensaver.stars-20.1.0-Nexus_GH0.tar.gz) = 5ea0d19c3ef94e9603a0e06c78ae01cd6f9227da7b505eaa7d4527ca6018ea03
+SIZE (xbmc-screensaver.stars-20.1.0-Nexus_GH0.tar.gz) = 288860
diff --git a/multimedia/kodi-addon-screensaver.stars/pkg-descr b/multimedia/kodi-addon-screensaver.stars/pkg-descr
index f4828dfef2d7..f4710188b63f 100644
--- a/multimedia/kodi-addon-screensaver.stars/pkg-descr
+++ b/multimedia/kodi-addon-screensaver.stars/pkg-descr
@@ -1,3 +1 @@
Starfield screensaver for Kodi
-
-WWW: https://github.com/xbmc/screensaver.stars
diff --git a/multimedia/kodi-addon-visualization.fishbmc/Makefile b/multimedia/kodi-addon-visualization.fishbmc/Makefile
index 32afb2d2460f..e7a4ebdd65f1 100644
--- a/multimedia/kodi-addon-visualization.fishbmc/Makefile
+++ b/multimedia/kodi-addon-visualization.fishbmc/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan <rozhuk.im@gmail.com>
-
PORTNAME= visualization.fishbmc
-PORTVERSION= 19.0.1
-DISTVERSIONSUFFIX= -Matrix
+PORTVERSION= 20.2.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Fische visualizer for Kodi
+WWW= https://github.com/xbmc/visualization.fishbmc
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-visualization.fishbmc/distinfo b/multimedia/kodi-addon-visualization.fishbmc/distinfo
index e1d0fbdf59bb..13bea46df13b 100644
--- a/multimedia/kodi-addon-visualization.fishbmc/distinfo
+++ b/multimedia/kodi-addon-visualization.fishbmc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641910145
-SHA256 (xbmc-visualization.fishbmc-19.0.1-Matrix_GH0.tar.gz) = 3023e6cf739985c31ff9a6cd2a217909563b9817de5c1047aab8d9928a00cfd9
-SIZE (xbmc-visualization.fishbmc-19.0.1-Matrix_GH0.tar.gz) = 377087
+TIMESTAMP = 1675418754
+SHA256 (xbmc-visualization.fishbmc-20.2.0-Nexus_GH0.tar.gz) = 168788d7cd292edf9c13c0e0e0148f19b2ecd35edd8f65f24240dff99f01677a
+SIZE (xbmc-visualization.fishbmc-20.2.0-Nexus_GH0.tar.gz) = 378893
diff --git a/multimedia/kodi-addon-visualization.fishbmc/pkg-descr b/multimedia/kodi-addon-visualization.fishbmc/pkg-descr
index 8476d79634b8..46538b81145c 100644
--- a/multimedia/kodi-addon-visualization.fishbmc/pkg-descr
+++ b/multimedia/kodi-addon-visualization.fishbmc/pkg-descr
@@ -1,3 +1 @@
Fische visualizer for Kodi
-
-WWW: https://github.com/xbmc/visualization.fishbmc
diff --git a/multimedia/kodi-addon-visualization.shadertoy/Makefile b/multimedia/kodi-addon-visualization.shadertoy/Makefile
index 435f72fa10a1..4586935df6c7 100644
--- a/multimedia/kodi-addon-visualization.shadertoy/Makefile
+++ b/multimedia/kodi-addon-visualization.shadertoy/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan <rozhuk.im@gmail.com>
-
PORTNAME= visualization.shadertoy
-PORTVERSION= 19.1.2
-DISTVERSIONSUFFIX= -Matrix
+PORTVERSION= 20.3.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Shadertoy visualizer for Kodi
+WWW= https://github.com/xbmc/visualization.shadertoy
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-visualization.shadertoy/distinfo b/multimedia/kodi-addon-visualization.shadertoy/distinfo
index f8c6b05909df..db72ef249c97 100644
--- a/multimedia/kodi-addon-visualization.shadertoy/distinfo
+++ b/multimedia/kodi-addon-visualization.shadertoy/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641915865
-SHA256 (xbmc-visualization.shadertoy-19.1.2-Matrix_GH0.tar.gz) = 49ffaf8ee1a95193d7ac4a6280ae7db8d59ca44c9e5554c0b8cd85a768d1d002
-SIZE (xbmc-visualization.shadertoy-19.1.2-Matrix_GH0.tar.gz) = 12518177
+TIMESTAMP = 1675418811
+SHA256 (xbmc-visualization.shadertoy-20.3.0-Nexus_GH0.tar.gz) = 2f97a34f74ee3e3e1d9fe8cfd37796564f8f88eb4c07d60b27ff635d64a5a724
+SIZE (xbmc-visualization.shadertoy-20.3.0-Nexus_GH0.tar.gz) = 12518208
diff --git a/multimedia/kodi-addon-visualization.shadertoy/pkg-descr b/multimedia/kodi-addon-visualization.shadertoy/pkg-descr
index 72a0714e5dcc..3299666f557c 100644
--- a/multimedia/kodi-addon-visualization.shadertoy/pkg-descr
+++ b/multimedia/kodi-addon-visualization.shadertoy/pkg-descr
@@ -1,3 +1 @@
Shadertoy visualizer for Kodi
-
-WWW: https://github.com/xbmc/visualization.shadertoy
diff --git a/multimedia/kodi-addon-visualization.spectrum/Makefile b/multimedia/kodi-addon-visualization.spectrum/Makefile
index 40f81115c47a..9cb0120a539b 100644
--- a/multimedia/kodi-addon-visualization.spectrum/Makefile
+++ b/multimedia/kodi-addon-visualization.spectrum/Makefile
@@ -1,12 +1,12 @@
-# Created by: Rozhuk Ivan <rozhuk.im@gmail.com>
-
PORTNAME= visualization.spectrum
-PORTVERSION= 19.0.1
-DISTVERSIONSUFFIX= -Matrix
+PORTVERSION= 20.2.0
+DISTVERSIONSUFFIX= -Nexus
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Spectrum visualizer for Kodi
+WWW= https://github.com/xbmc/visualization.spectrum
LICENSE= GPLv2+
diff --git a/multimedia/kodi-addon-visualization.spectrum/distinfo b/multimedia/kodi-addon-visualization.spectrum/distinfo
index 41b49d91d3f5..dd228d884bca 100644
--- a/multimedia/kodi-addon-visualization.spectrum/distinfo
+++ b/multimedia/kodi-addon-visualization.spectrum/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641909248
-SHA256 (xbmc-visualization.spectrum-19.0.1-Matrix_GH0.tar.gz) = 37cea1b82e4b70ab60494b6fe31a5dfd56d7e4feff16347d661f5d14c2f28724
-SIZE (xbmc-visualization.spectrum-19.0.1-Matrix_GH0.tar.gz) = 327360
+TIMESTAMP = 1675418851
+SHA256 (xbmc-visualization.spectrum-20.2.0-Nexus_GH0.tar.gz) = 1c405ea9b6f43ba5f24df13ebce12cb428369279336deb97790917aa675c809f
+SIZE (xbmc-visualization.spectrum-20.2.0-Nexus_GH0.tar.gz) = 327691
diff --git a/multimedia/kodi-addon-visualization.spectrum/pkg-descr b/multimedia/kodi-addon-visualization.spectrum/pkg-descr
index 81e131d555fd..2ee1735abc6d 100644
--- a/multimedia/kodi-addon-visualization.spectrum/pkg-descr
+++ b/multimedia/kodi-addon-visualization.spectrum/pkg-descr
@@ -1,3 +1 @@
Spectrum visualizer for Kodi
-
-WWW: https://github.com/xbmc/visualization.spectrum
diff --git a/multimedia/kodi/Makefile b/multimedia/kodi/Makefile
index 8ecb7383a980..6407e95a6982 100644
--- a/multimedia/kodi/Makefile
+++ b/multimedia/kodi/Makefile
@@ -1,11 +1,11 @@
PORTNAME= kodi
-DISTVERSION= 19.4
-DISTVERSIONSUFFIX= -${KODI_CODENAME}
-PORTREVISION= 4
+DISTVERSION= 20.5
CATEGORIES= multimedia java
+# do not forget to fix devel/kodi-platform when updating kodi
MAINTAINER= yzrh@noema.org
COMMENT= Award winning media center application
+WWW= https://kodi.tv/
LICENSE= GPLv2+
@@ -22,15 +22,13 @@ LIB_DEPENDS= libass.so:multimedia/libass \
libcdio.so:sysutils/libcdio \
libcrossguid.so:devel/libcrossguid \
libcurl.so:ftp/curl \
- libdav1d.so:multimedia/dav1d \
- libdvdnav.so:multimedia/libdvdnav \
- libdvdread.so:multimedia/libdvdread \
libexpat.so:textproc/expat2 \
libfmt.so:devel/libfmt \
libfreetype.so:print/freetype2 \
libfribidi.so:converters/fribidi \
libfstrcmp.so:devel/fstrcmp \
libgif.so:graphics/giflib \
+ libharfbuzz.so:print/harfbuzz \
liblzo2.so:archivers/lzo2 \
libpcre.so:devel/pcre \
libpng.so:graphics/png \
@@ -41,15 +39,22 @@ LIB_DEPENDS= libass.so:multimedia/libass \
libtag.so:audio/taglib \
libtinyxml.so:textproc/tinyxml \
libuuid.so:misc/e2fsprogs-libuuid
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
-USES= cpe cmake compiler:c++14-lang gettext \
- gnome iconv jpeg pkgconfig python:3.5+ sqlite ssl
+USES= autoreconf:build cmake:noninja compiler:c++17-lang cpe \
+ desktop-file-utils gettext gmake gnome iconv jpeg libtool \
+ pkgconfig python sqlite ssl
-KODI_CODENAME= Matrix
+KODI_CODENAME= Nexus
+LIBDVDCSS_VERSION= 1.4.3-Next-Nexus-Alpha2-2
+LIBDVDNAV_VERSION= 6.1.1-Next-Nexus-Alpha2-2
+LIBDVDREAD_VERSION= 6.1.3-Next-Nexus-Alpha2-2
USE_GITHUB= yes
-GH_ACCOUNT= xbmc
-GH_PROJECT= xbmc
+GH_TUPLE= xbmc:xbmc:${DISTVERSION}-${KODI_CODENAME} \
+ xbmc:libdvdcss:${LIBDVDCSS_VERSION}:libdvdcss/tools/depends/target/libdvdcss/native \
+ xbmc:libdvdnav:${LIBDVDNAV_VERSION}:libdvdnav/tools/depends/target/libdvdnav/native \
+ xbmc:libdvdread:${LIBDVDREAD_VERSION}:libdvdread/tools/depends/target/libdvdread/native
KODI_ARCH_aarch64= aarch64
KODI_ARCH_amd64= x86_64
@@ -65,42 +70,42 @@ USE_LDCONFIG= yes
USE_JAVA= yes
JAVA_BUILD= jre
USE_GNOME= libxml2
-CMAKE_ARGS= -DGIT_VERSION="${GH_TAGNAME}" \
- -DDVDNAV_LIBRARY="${LOCALBASE}/lib/libdvdnav.so" \
- -DDVDREAD_LIBRARY="${LOCALBASE}/lib/libdvdread.so" \
- -DLIBDVD_INCLUDE_DIRS="${LOCALBASE}/include"
-CMAKE_OFF= ENABLE_INTERNAL_CROSSGUID
+CMAKE_ARGS= -DGIT_VERSION="${DISTVERSION}-${KODI_CODENAME}" \
+ -DLIBDVDCSS_URL="${DISTDIR}/xbmc-libdvdcss-${LIBDVDCSS_VERSION}_GH0.tar.gz" \
+ -DLIBDVDNAV_URL="${DISTDIR}/xbmc-libdvdnav-${LIBDVDNAV_VERSION}_GH0.tar.gz" \
+ -DLIBDVDREAD_URL="${DISTDIR}/xbmc-libdvdread-${LIBDVDREAD_VERSION}_GH0.tar.gz" \
+ -DCROSSGUID_INCLUDE_DIR="${LOCALBASE}/include"
+CMAKE_OFF= ENABLE_INTERNAL_CROSSGUID ENABLE_INTERNAL_RapidJSON
CONFIGURE_ENV= _CPU_FEATURE="${CPU_FEATURE}"
OPTIONS_SUB= yes
# Broken: BLUETOOTH
-OPTIONS_DEFINE= AIRPLAY AVAHI LIBBLURAY CEC DBUS DVDCSS LCMS2 \
- LIRC WEBSERVER NFS DVD SMB TEST UDEV UPNP \
- VAAPI VDPAU XSLT DOCS
-OPTIONS_DEFAULT= LIBBLURAY CEC LCMS2 WEBSERVER \
+OPTIONS_DEFINE= AIRPLAY AVAHI LIBBLURAY CEC DAV1D DBUS \
+ DVDCSS LCMS2 LIRC WEBSERVER MYSQL NFS DVD SMB TEST \
+ UDEV UPNP VAAPI VDPAU XSLT DOCS
+OPTIONS_DEFAULT= LIBBLURAY CEC LCMS2 WEBSERVER DAV1D \
DVD UPNP VAAPI VDPAU XSLT WAYLAND X11 GL
OPTIONS_DEFAULT_amd64= SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2
OPTIONS_DEFAULT_i386= SSE SSE2 SSE3
OPTIONS_SINGLE= RENDER
OPTIONS_SINGLE_RENDER= GL GLES
-OPTIONS_RADIO= DATABASE
-OPTIONS_RADIO_DATABASE= MARIADB MYSQL
OPTIONS_GROUP= SOUND FEATURE PLATFORM
-# Broken: ALSA
-OPTIONS_GROUP_SOUND= PULSEAUDIO SNDIO
+OPTIONS_GROUP_SOUND= ALSA PIPEWIRE PULSEAUDIO SNDIO
OPTIONS_GROUP_FEATURE= SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2
-OPTIONS_GROUP_PLATFORM=GBM WAYLAND X11
+OPTIONS_GROUP_PLATFORM= GBM WAYLAND X11
OPTIONS_EXCLUDE_aarch64=FEATURE
OPTIONS_EXCLUDE_armv7= FEATURE
OPTIONS_EXCLUDE_armv6= FEATURE
+OPTIONS_EXCLUDE_powerpc64= FEATURE
+OPTIONS_EXCLUDE_powerpc64le= FEATURE
PLATFORM_DESC= Kodi platform
-DATABASE_DESC= Database
FEATURE_DESC= X86 CPU feature
AIRPLAY_DESC= AirPlay support
BLUETOOTH_DESC= Bluetooth support
CEC_DESC= CEC adapter support
+DAV1D_DESC= Use dav1d as AV1 decoder
DVD_DESC= DVD support
UDEV_DESC= Use libudev-devd
XSLT_DESC= Use libxslt
@@ -110,7 +115,6 @@ GL_DESC= OpenGL
GLES_DESC= OpenGL ES
GBM_DESC= GBM support
-MARIADB_DESC= MariaDB database support
SSE2_DESC= Use SSE2 optimized routines
SSE3_DESC= Use SSE3 optimized routines
@@ -137,12 +141,13 @@ LIBBLURAY_CMAKE_BOOL= ENABLE_BLURAY
CEC_LIB_DEPENDS= libcec.so:multimedia/libcec
CEC_CMAKE_BOOL= ENABLE_CEC
+DAV1D_LIB_DEPENDS= libdav1d.so:multimedia/dav1d
+DAV1D_CMAKE_BOOL= ENABLE_DAV1D
+
DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus
DBUS_CMAKE_BOOL= ENABLE_DBUS
-DVDCSS_LIB_DEPENDS= libdvdcss.so:multimedia/libdvdcss
DVDCSS_CMAKE_BOOL= ENABLE_DVDCSS
-DVDCSS_CMAKE_ON= -DDVDCSS_LIBRARY="${LOCALBASE}/lib/libdvdcss.so"
LCMS2_LIB_DEPENDS= liblcms2.so.2:graphics/lcms2
LCMS2_CMAKE_BOOL= ENABLE_LCMS2
@@ -179,12 +184,12 @@ XSLT_LIB_DEPENDS= libxslt.so:textproc/libxslt
XSLT_CMAKE_BOOL= ENABLE_XSLT
GL_CMAKE_ON= -DAPP_RENDER_SYSTEM:STRING="gl"
+GL_USES= gl
+GL_USE= GL=gl
GLES_CMAKE_ON= -DAPP_RENDER_SYSTEM:STRING="gles"
-
-MARIADB_USES= mysql:105m
-MARIADB_CMAKE_BOOL= ENABLE_MARIADBCLIENT
-MARIADB_CMAKE_ON= -DMARIADBCLIENT_INCLUDE_DIR="${LOCALBASE}/include"
+GLES_USES= gl
+GLES_USE= GL=glesv2
MYSQL_USES= mysql
MYSQL_CMAKE_BOOL= ENABLE_MYSQLCLIENT
@@ -192,6 +197,9 @@ MYSQL_CMAKE_BOOL= ENABLE_MYSQLCLIENT
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
ALSA_CMAKE_BOOL= ENABLE_ALSA
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_CMAKE_BOOL= ENABLE_PIPEWIRE
+
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL= ENABLE_PULSEAUDIO
@@ -217,7 +225,9 @@ GBM_LIB_DEPENDS= libepoll-shim.so:devel/libepoll-shim \
libdrm.so:graphics/libdrm \
libxkbcommon.so:x11/libxkbcommon \
libinput.so:x11/libinput
+GBM_RUN_DEPENDS= mesa-dri>0:graphics/mesa-dri
+WAYLAND_CATEGORIES= wayland
WAYLAND_USES= gl
WAYLAND_USE= GL=egl,glu
WAYLAND_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto \
@@ -228,11 +238,15 @@ WAYLAND_LIB_DEPENDS= libdrm.so:graphics/libdrm \
libwayland-client++.so:graphics/waylandpp
X11_USES= xorg gl
-X11_USE= XORG=x11,xext,xrandr GL=egl,gbm,gl,glu
+X11_USE= XORG=x11,xext,xrandr GL=egl,gbm,glu
X11_LIB_DEPENDS= libdrm.so:graphics/libdrm
.include <bsd.port.options.mk>
+.if (!empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MWAYLAND) || !empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MX11) || !empty(PORT_OPTIONS:MWAYLAND) && !empty(PORT_OPTIONS:MX11)) && !empty(PORT_OPTIONS:MGLES)
+BROKEN= option GLES does not build with multiple PLATFORM
+.endif
+
.if !empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MWAYLAND) && !empty(PORT_OPTIONS:MX11)
CMAKE_ARGS+= -DCORE_PLATFORM_NAME:STRING="gbm wayland x11"
.elif empty(PORT_OPTIONS:MGBM) && !empty(PORT_OPTIONS:MWAYLAND) && !empty(PORT_OPTIONS:MX11)
@@ -277,16 +291,14 @@ PLIST_SUB+= KODIX11="@comment "
.endif
post-patch:
- ${REINPLACE_CMD} 's|KODI_DEPENDSBUILD|true|' \
- ${WRKSRC}/cmake/modules/FindLibDvd.cmake
${REINPLACE_CMD} 's|/usr/share|${LOCALBASE}/share|' \
${WRKSRC}/xbmc/platform/linux/input/LibInputSettings.cpp
post-install:
- ${INSTALL_MAN} ${WRKSRC}/docs/manpages/kodi.bin.1 ${STAGEDIR}${MAN1PREFIX}/share/man/man1
- cd ${STAGEDIR}${MAN1PREFIX}/share/man/man1 && ${LN} -s kodi.bin.1.gz kodi.1.gz
- cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} TexturePacker JsonSchemaBuilder
+ ${INSTALL_MAN} ${WRKSRC}/docs/manpages/kodi.bin.1 ${STAGEDIR}${PREFIX}/share/man/man1
+ cd ${STAGEDIR}${PREFIX}/share/man/man1 && ${LN} -s kodi.bin.1.gz kodi.1.gz
+ cd ${STAGEDIR}${PREFIX}/bin && ${STRIP_CMD} JsonSchemaBuilder kodi-TexturePacker
${FIND} ${STAGEDIR}${PREFIX}/lib/kodi -type f -name '*.so' -print0 | ${XARGS} -0 ${STRIP_CMD}
- ${RM} -rf ${STAGEDIR}${PREFIX}/lib/firewalld
+ ${RM} -r ${STAGEDIR}${PREFIX}/lib/firewalld
.include <bsd.port.mk>
diff --git a/multimedia/kodi/distinfo b/multimedia/kodi/distinfo
index 6ad4c3f21f06..9962dfff28b0 100644
--- a/multimedia/kodi/distinfo
+++ b/multimedia/kodi/distinfo
@@ -1,3 +1,9 @@
-TIMESTAMP = 1646484818
-SHA256 (xbmc-xbmc-19.4-Matrix_GH0.tar.gz) = cc026f59fd6e37ae90f3449df50810f1cefa37da9444e1188302d910518710da
-SIZE (xbmc-xbmc-19.4-Matrix_GH0.tar.gz) = 53487622
+TIMESTAMP = 1709571779
+SHA256 (xbmc-xbmc-20.5-20.5-Nexus_GH0.tar.gz) = 9bf3257ebf251d20f276b7f90681985a270779150af2fb395d4b593c04002deb
+SIZE (xbmc-xbmc-20.5-20.5-Nexus_GH0.tar.gz) = 54568445
+SHA256 (xbmc-libdvdcss-1.4.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = f38c4a4e7a4f4da6d8e83b8852489aa3bb6588a915dc41f5ee89d9aad305a06e
+SIZE (xbmc-libdvdcss-1.4.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = 102124
+SHA256 (xbmc-libdvdnav-6.1.1-Next-Nexus-Alpha2-2_GH0.tar.gz) = 584f62a3896794408d46368e2ecf2c6217ab9c676ce85921b2d68b8961f49dfc
+SIZE (xbmc-libdvdnav-6.1.1-Next-Nexus-Alpha2-2_GH0.tar.gz) = 128547
+SHA256 (xbmc-libdvdread-6.1.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = 719130091e3adc9725ba72df808f24a14737a009dca5a4c38c601c0c76449b62
+SIZE (xbmc-libdvdread-6.1.3-Next-Nexus-Alpha2-2_GH0.tar.gz) = 110513
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake b/multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake
new file mode 100644
index 000000000000..4fd05dca7c94
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindCrossGUID.cmake
@@ -0,0 +1,29 @@
+--- cmake/modules/FindCrossGUID.cmake.orig 2022-07-08 10:04:52 UTC
++++ cmake/modules/FindCrossGUID.cmake
+@@ -45,7 +45,7 @@ else()
+ endif()
+
+ if(CROSSGUID_FOUND)
+- find_path(CROSSGUID_INCLUDE_DIR NAMES crossguid/guid.hpp guid.h
++ find_path(CROSSGUID_INCLUDE_DIR NAMES guid.hpp guid.h
+ PATHS ${PC_CROSSGUID_INCLUDEDIR})
+
+ find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid
+@@ -53,7 +53,7 @@ else()
+ find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd crossguid-dgb
+ PATHS ${PC_CROSSGUID_LIBDIR})
+ else()
+- find_path(CROSSGUID_INCLUDE_DIR NAMES crossguid/guid.hpp guid.h)
++ find_path(CROSSGUID_INCLUDE_DIR NAMES guid.hpp guid.h)
+ find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid)
+ find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd)
+ endif()
+@@ -73,7 +73,7 @@ if(CROSSGUID_FOUND)
+ set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR})
+
+ # NEW_CROSSGUID >= 0.2.0 release
+- if(EXISTS "${CROSSGUID_INCLUDE_DIR}/crossguid/guid.hpp")
++ if(EXISTS "${CROSSGUID_INCLUDE_DIR}/guid.hpp")
+ list(APPEND CROSSGUID_DEFINITIONS -DHAVE_NEW_CROSSGUID)
+ endif()
+
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake
new file mode 100644
index 000000000000..450c48a9ed4d
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdCSS.cmake
@@ -0,0 +1,11 @@
+--- cmake/modules/FindLibDvdCSS.cmake.orig 2022-08-18 23:36:30 UTC
++++ cmake/modules/FindLibDvdCSS.cmake
+@@ -63,7 +63,7 @@ if(ENABLE_DVDCSS)
+ ${LIBDVD_ADDITIONAL_ARGS})
+ else()
+ find_program(AUTORECONF autoreconf REQUIRED)
+- find_program(MAKE_EXECUTABLE make REQUIRED)
++ find_program(MAKE_EXECUTABLE gmake REQUIRED)
+
+ set(CONFIGURE_COMMAND ${AUTORECONF} -vif
+ COMMAND ac_cv_path_GIT= ./configure
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake
new file mode 100644
index 000000000000..c8efbe69cbc6
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdNav.cmake
@@ -0,0 +1,11 @@
+--- cmake/modules/FindLibDvdNav.cmake.orig 2022-08-18 23:36:26 UTC
++++ cmake/modules/FindLibDvdNav.cmake
+@@ -76,7 +76,7 @@ if(NOT TARGET LibDvdNav::LibDvdNav)
+ string(APPEND LIBDVDNAV_CFLAGS " -I$<TARGET_PROPERTY:LibDvdRead::LibDvdRead,INTERFACE_INCLUDE_DIRECTORIES> $<TARGET_PROPERTY:LibDvdRead::LibDvdRead,INTERFACE_COMPILE_DEFINITIONS>")
+
+ find_program(AUTORECONF autoreconf REQUIRED)
+- find_program(MAKE_EXECUTABLE make REQUIRED)
++ find_program(MAKE_EXECUTABLE gmake REQUIRED)
+
+ set(CONFIGURE_COMMAND ${AUTORECONF} -vif
+ COMMAND ac_cv_path_GIT= ./configure
diff --git a/multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake
new file mode 100644
index 000000000000..44208f126053
--- /dev/null
+++ b/multimedia/kodi/files/patch-cmake_modules_FindLibDvdRead.cmake
@@ -0,0 +1,11 @@
+--- cmake/modules/FindLibDvdRead.cmake.orig 2022-08-18 23:36:34 UTC
++++ cmake/modules/FindLibDvdRead.cmake
+@@ -81,7 +81,7 @@ if(NOT TARGET LibDvdRead::LibDvdRead)
+ endif()
+
+ find_program(AUTORECONF autoreconf REQUIRED)
+- find_program(MAKE_EXECUTABLE make REQUIRED)
++ find_program(MAKE_EXECUTABLE gmake REQUIRED)
+
+ set(CONFIGURE_COMMAND ${AUTORECONF} -vif
+ COMMAND ac_cv_path_GIT= ./configure
diff --git a/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake b/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake
index 6d67864bef88..ea9243d5897c 100644
--- a/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake
+++ b/multimedia/kodi/files/patch-cmake_scripts_freebsd_ArchSetup.cmake
@@ -1,6 +1,6 @@
---- cmake/scripts/freebsd/ArchSetup.cmake.orig 2021-01-15 12:42:30 UTC
+--- cmake/scripts/freebsd/ArchSetup.cmake.orig 2022-07-08 10:04:52 UTC
+++ cmake/scripts/freebsd/ArchSetup.cmake
-@@ -20,6 +20,10 @@ else()
+@@ -23,6 +23,10 @@ else()
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64)
set(ARCH aarch64-freebsd)
set(NEON True)
diff --git a/multimedia/kodi/files/patch-ffmpeg6-support b/multimedia/kodi/files/patch-ffmpeg6-support
new file mode 100644
index 000000000000..f337f73931b2
--- /dev/null
+++ b/multimedia/kodi/files/patch-ffmpeg6-support
@@ -0,0 +1,2155 @@
+diff -urN cmake/modules/FindFFMPEG.cmake.orig cmake/modules/FindFFMPEG.cmake
+--- cmake/modules/FindFFMPEG.cmake.orig 2023-03-11 22:16:38.000000000 +0000
++++ cmake/modules/FindFFMPEG.cmake 2023-04-19 10:01:30.831589000 +0000
+@@ -151,14 +151,14 @@
+ set(REQUIRED_FFMPEG_VERSION undef)
+ else()
+ # required ffmpeg library versions
+- set(REQUIRED_FFMPEG_VERSION 4.4.1)
+- set(_avcodec_ver ">=58.134.100")
+- set(_avfilter_ver ">=7.110.100")
+- set(_avformat_ver ">=58.76.100")
+- set(_avutil_ver ">=56.70.100")
+- set(_postproc_ver ">=55.9.100")
+- set(_swresample_ver ">=3.9.100")
+- set(_swscale_ver ">=5.9.100")
++ set(REQUIRED_FFMPEG_VERSION 6.0.0)
++ set(_avcodec_ver ">=60.2.100")
++ set(_avfilter_ver ">=9.3.100")
++ set(_avformat_ver ">=60.3.100")
++ set(_avutil_ver ">=58.2.100")
++ set(_postproc_ver ">=57.1.100")
++ set(_swresample_ver ">=4.10.100")
++ set(_swscale_ver ">=7.1.100")
+ endif()
+
+ # Allows building with external ffmpeg not found in system paths,
+diff -urN tools/buildsteps/windows/patches/0001-ffmpeg-windows-configure-detect-openssl.patch.orig tools/buildsteps/windows/patches/0001-ffmpeg-windows-configure-detect-openssl.patch
+--- tools/buildsteps/windows/patches/0001-ffmpeg-windows-configure-detect-openssl.patch.orig 2023-03-11 22:16:38.000000000 +0000
++++ tools/buildsteps/windows/patches/0001-ffmpeg-windows-configure-detect-openssl.patch 2023-04-19 10:01:22.854832000 +0000
+@@ -11,7 +11,7 @@
+ index d7a3f507e8..4b85e881b1 100755
+ --- a/configure
+ +++ b/configure
+-@@ -6530,6 +6530,8 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP
++@@ -6728,6 +6728,8 @@ enabled openssl && { check_pkg_config openssl openssl openssl/ssl.h OP
+ check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto ||
+ check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
+ check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
+diff -urN tools/buildsteps/windows/patches/0002-ffmpeg-windows-configure-fix-zlib-conflict.patch.orig tools/buildsteps/windows/patches/0002-ffmpeg-windows-configure-fix-zlib-conflict.patch
+--- tools/buildsteps/windows/patches/0002-ffmpeg-windows-configure-fix-zlib-conflict.patch.orig 2023-03-11 22:16:38.000000000 +0000
++++ tools/buildsteps/windows/patches/0002-ffmpeg-windows-configure-fix-zlib-conflict.patch 2023-04-19 10:01:22.854952000 +0000
+@@ -11,16 +11,16 @@
+ index 4b85e881b1..da457705d1 100755
+ --- a/configure
+ +++ b/configure
+-@@ -7627,6 +7627,9 @@ print_config CONFIG_ "$config_files" $CONFIG_LIST \
++@@ -7825,6 +7825,9 @@ print_config CONFIG_ "$config_files" $CONFIG_LIST \
++ print_config CONFIG_ "$config_files" $CONFIG_LIST \
+ $CONFIG_EXTRA \
+- $ALL_COMPONENTS \
+
+ +echo "#if defined(HAVE_UNISTD_H) && HAVE_UNISTD_H == 0" >> $TMPH
+ +echo "#undef HAVE_UNISTD_H" >> $TMPH
+ +echo "#endif" >> $TMPH
+ echo "#endif /* FFMPEG_CONFIG_H */" >> $TMPH
+- echo "endif # FFMPEG_CONFIG_MAK" >> ffbuild/config.mak
+
++ # Do not overwrite an unchanged config.h to avoid superfluous rebuilds.
+ --
+ 2.29.2
+
+diff -urN tools/buildsteps/windows/patches/0003-ffmpeg-windows-configure-allow-building-static.patch.orig tools/buildsteps/windows/patches/0003-ffmpeg-windows-configure-allow-building-static.patch
+--- tools/buildsteps/windows/patches/0003-ffmpeg-windows-configure-allow-building-static.patch.orig 2023-03-11 22:16:38.000000000 +0000
++++ tools/buildsteps/windows/patches/0003-ffmpeg-windows-configure-allow-building-static.patch 2023-04-19 10:01:22.855081000 +0000
+@@ -11,7 +11,7 @@
+ index da457705d1..e3a8f45ff4 100755
+ --- a/configure
+ +++ b/configure
+-@@ -5440,6 +5440,8 @@ case $target_os in
++@@ -5566,6 +5566,8 @@ case $target_os in
+ enabled shared && ! enabled small && test_cmd $windres --version && enable gnu_windres
+ enabled x86_32 && check_ldflags -Wl,--large-address-aware
+ shlibdir_default="$bindir_default"
+@@ -20,7 +20,7 @@
+ SLIBPREF=""
+ SLIBSUF=".dll"
+ SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)'
+-@@ -5489,6 +5491,8 @@ case $target_os in
++@@ -5615,6 +5617,8 @@ case $target_os in
+ fi
+ enabled x86_32 && check_ldflags -LARGEADDRESSAWARE
+ shlibdir_default="$bindir_default"
+diff -urN tools/buildsteps/windows/patches/0004-ffmpeg-windows-configure-detect-libdav1d.patch.orig tools/buildsteps/windows/patches/0004-ffmpeg-windows-configure-detect-libdav1d.patch
+--- tools/buildsteps/windows/patches/0004-ffmpeg-windows-configure-detect-libdav1d.patch.orig 2023-03-11 22:16:38.000000000 +0000
++++ tools/buildsteps/windows/patches/0004-ffmpeg-windows-configure-detect-libdav1d.patch 2023-04-19 10:01:22.855205000 +0000
+@@ -11,7 +11,7 @@
+ index e3a8f45ff4..983d7e1078 100755
+ --- a/configure
+ +++ b/configure
+-@@ -6358,7 +6358,7 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 &&
++@@ -6541,7 +6541,7 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 &&
+ die "ERROR: libcelt must be installed and version must be >= 0.11.0."; }
+ enabled libcaca && require_pkg_config libcaca caca caca.h caca_create_canvas
+ enabled libcodec2 && require libcodec2 codec2/codec2.h codec2_create -lcodec2
+diff -urN tools/depends/target/ffmpeg/CMakeLists.txt.orig tools/depends/target/ffmpeg/CMakeLists.txt
+--- tools/depends/target/ffmpeg/CMakeLists.txt.orig 2023-03-11 22:16:38.000000000 +0000
++++ tools/depends/target/ffmpeg/CMakeLists.txt 2023-04-19 10:01:22.854687000 +0000
+@@ -92,6 +92,7 @@
+ elseif(CORE_SYSTEM_NAME STREQUAL darwin_embedded)
+ list(APPEND ffmpeg_conf --disable-crystalhd
+ --enable-videotoolbox
++ --disable-filter=yadif_videotoolbox
+ --target-os=darwin
+ )
+ elseif(CORE_SYSTEM_NAME STREQUAL osx)
+diff -urN tools/depends/target/ffmpeg/FFMPEG-VERSION.orig tools/depends/target/ffmpeg/FFMPEG-VERSION
+--- tools/depends/target/ffmpeg/FFMPEG-VERSION.orig 2023-03-11 22:16:38.000000000 +0000
++++ tools/depends/target/ffmpeg/FFMPEG-VERSION 2023-04-19 10:02:41.108169000 +0000
+@@ -1,5 +1,5 @@
+ LIBNAME=ffmpeg
+-BASE_URL=https://github.com/xbmc/FFmpeg
+-VERSION=4.4.1-Nexus-Alpha1
++VERSION=6.0
+ ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz
+-SHA512=8beb04d577b5251e74b0d52f4d130997a8ba94bbd488c7c8309e6b45095c27807e150212888ce3a384b23dff52f8df1a7bde5407bae924ddc363f8125c0616c5
++SHA512=b3214328f2792364353f38c6b46a71d4970c071d8656b20780abf0e02950167d0933eae825c09102cf8fb19fc679ac444bf1f41a448b624eaa5ea6b0f0bdf4f5
++
+diff -urN xbmc/cdrip/EncoderFFmpeg.cpp.orig xbmc/cdrip/EncoderFFmpeg.cpp
+--- xbmc/cdrip/EncoderFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cdrip/EncoderFFmpeg.cpp 2023-04-19 10:01:22.848595000 +0000
+@@ -11,6 +11,7 @@
+ #include "ServiceBroker.h"
+ #include "addons/Addon.h"
+ #include "addons/AddonManager.h"
++#include "cores/FFmpeg.h"
+ #include "settings/Settings.h"
+ #include "settings/SettingsComponent.h"
+ #include "utils/StringUtils.h"
+@@ -19,24 +20,9 @@
+ #include "utils/log.h"
+
+ using namespace KODI::CDRIP;
++using FFMPEG_HELP_TOOLS::FFMpegErrorToString;
++using FFMPEG_HELP_TOOLS::FFMpegException;
+
+-namespace
+-{
+-
+-struct EncoderException : public std::exception
+-{
+- std::string s;
+- template<typename... Args>
+- EncoderException(const std::string& fmt, Args&&... args)
+- : s(StringUtils::Format(fmt, std::forward<Args>(args)...))
+- {
+- }
+- ~EncoderException() throw() {} // Updated
+- const char* what() const throw() { return s.c_str(); }
+-};
+-
+-} /* namespace */
+-
+ bool CEncoderFFmpeg::Init()
+ {
+ try
+@@ -54,7 +40,7 @@
+ }
+ else
+ {
+- throw EncoderException("Could not get add-on: {}", addonId);
++ throw FFMpegException("Could not get add-on: {}", addonId);
+ }
+
+ // Hack fix about PTS on generated files.
+@@ -66,50 +52,50 @@
+ else if (addonId == "audioencoder.kodi.builtin.wma")
+ m_samplesCountMultiply = 1000;
+ else
+- throw EncoderException("Internal add-on id \"{}\" not known as usable", addonId);
++ throw FFMpegException("Internal add-on id \"{}\" not known as usable", addonId);
+
+ const std::string filename = URIUtils::GetFileName(m_strFile);
+
+ m_formatCtx = avformat_alloc_context();
+ if (!m_formatCtx)
+- throw EncoderException("Could not allocate output format context");
++ throw FFMpegException("Could not allocate output format context");
+
+ m_bcBuffer = static_cast<uint8_t*>(av_malloc(BUFFER_SIZE + AV_INPUT_BUFFER_PADDING_SIZE));
+ if (!m_bcBuffer)
+- throw EncoderException("Could not allocate buffer");
++ throw FFMpegException("Could not allocate buffer");
+
+ m_formatCtx->pb = avio_alloc_context(m_bcBuffer, BUFFER_SIZE, AVIO_FLAG_WRITE, this, nullptr,
+ avio_write_callback, avio_seek_callback);
+ if (!m_formatCtx->pb)
+- throw EncoderException("Failed to allocate ByteIOContext");
++ throw FFMpegException("Failed to allocate ByteIOContext");
+
+ /* Guess the desired container format based on the file extension. */
+ m_formatCtx->oformat = av_guess_format(nullptr, filename.c_str(), nullptr);
+ if (!m_formatCtx->oformat)
+- throw EncoderException("Could not find output file format");
++ throw FFMpegException("Could not find output file format");
+
+ m_formatCtx->url = av_strdup(filename.c_str());
+ if (!m_formatCtx->url)
+- throw EncoderException("Could not allocate url");
++ throw FFMpegException("Could not allocate url");
+
+ /* Find the encoder to be used by its name. */
+- AVCodec* codec = avcodec_find_encoder(m_formatCtx->oformat->audio_codec);
++ const AVCodec* codec = avcodec_find_encoder(m_formatCtx->oformat->audio_codec);
+ if (!codec)
+- throw EncoderException("Unable to find a suitable FFmpeg encoder");
++ throw FFMpegException("Unable to find a suitable FFmpeg encoder");
+
+ /* Create a new audio stream in the output file container. */
+ m_stream = avformat_new_stream(m_formatCtx, nullptr);
+ if (!m_stream)
+- throw EncoderException("Failed to allocate AVStream context");
++ throw FFMpegException("Failed to allocate AVStream context");
+
+ m_codecCtx = avcodec_alloc_context3(codec);
+ if (!m_codecCtx)
+- throw EncoderException("Failed to allocate the encoder context");
++ throw FFMpegException("Failed to allocate the encoder context");
+
+ /* Set the basic encoder parameters.
+ * The input file's sample rate is used to avoid a sample rate conversion. */
+- m_codecCtx->channels = m_iInChannels;
+- m_codecCtx->channel_layout = av_get_default_channel_layout(m_iInChannels);
++ av_channel_layout_uninit(&m_codecCtx->ch_layout);
++ av_channel_layout_default(&m_codecCtx->ch_layout, m_iInChannels);
+ m_codecCtx->sample_rate = m_iInSampleRate;
+ m_codecCtx->sample_fmt = codec->sample_fmts[0];
+ m_codecCtx->bit_rate = bitrate;
+@@ -128,14 +114,14 @@
+
+ int err = avcodec_open2(m_codecCtx, codec, nullptr);
+ if (err < 0)
+- throw EncoderException("Failed to open the codec {} (error '{}')",
+- codec->long_name ? codec->long_name : codec->name,
+- FFmpegErrorToString(err));
++ throw FFMpegException("Failed to open the codec {} (error '{}')",
++ codec->long_name ? codec->long_name : codec->name,
++ FFMpegErrorToString(err));
+
+ err = avcodec_parameters_from_context(m_stream->codecpar, m_codecCtx);
+ if (err < 0)
+- throw EncoderException("Failed to copy encoder parameters to output stream (error '{}')",
+- FFmpegErrorToString(err));
++ throw FFMpegException("Failed to copy encoder parameters to output stream (error '{}')",
++ FFMpegErrorToString(err));
+
+ m_inFormat = GetInputFormat(m_iInBitsPerSample);
+ m_outFormat = m_codecCtx->sample_fmt;
+@@ -150,44 +136,48 @@
+
+ m_bufferFrame = av_frame_alloc();
+ if (!m_bufferFrame || !m_buffer)
+- throw EncoderException("Failed to allocate necessary buffers");
++ throw FFMpegException("Failed to allocate necessary buffers");
+
+ m_bufferFrame->nb_samples = m_codecCtx->frame_size;
+ m_bufferFrame->format = m_inFormat;
+- m_bufferFrame->channel_layout = m_codecCtx->channel_layout;
++
++ av_channel_layout_uninit(&m_bufferFrame->ch_layout);
++ av_channel_layout_copy(&m_bufferFrame->ch_layout, &m_codecCtx->ch_layout);
++
+ m_bufferFrame->sample_rate = m_codecCtx->sample_rate;
+
+ err = av_frame_get_buffer(m_bufferFrame, 0);
+ if (err < 0)
+- throw EncoderException("Could not allocate output frame samples (error '{}')",
+- FFmpegErrorToString(err));
++ throw FFMpegException("Could not allocate output frame samples (error '{}')",
++ FFMpegErrorToString(err));
+
+ avcodec_fill_audio_frame(m_bufferFrame, m_iInChannels, m_inFormat, m_buffer, m_neededBytes, 0);
+
+ if (m_needConversion)
+ {
+- m_swrCtx = swr_alloc_set_opts(nullptr, m_codecCtx->channel_layout, m_outFormat,
+- m_codecCtx->sample_rate, m_codecCtx->channel_layout, m_inFormat,
++ int ret = swr_alloc_set_opts2(&m_swrCtx, &m_codecCtx->ch_layout, m_outFormat,
++ m_codecCtx->sample_rate, &m_codecCtx->ch_layout, m_inFormat,
+ m_codecCtx->sample_rate, 0, nullptr);
+- if (!m_swrCtx || swr_init(m_swrCtx) < 0)
+- throw EncoderException("Failed to initialize the resampler");
++ if (ret || swr_init(m_swrCtx) < 0)
++ throw FFMpegException("Failed to initialize the resampler");
+
+ m_resampledBufferSize =
+ av_samples_get_buffer_size(nullptr, m_iInChannels, m_neededFrames, m_outFormat, 0);
+ m_resampledBuffer = static_cast<uint8_t*>(av_malloc(m_resampledBufferSize));
+ m_resampledFrame = av_frame_alloc();
+ if (!m_resampledBuffer || !m_resampledFrame)
+- throw EncoderException("Failed to allocate a frame for resampling");
++ throw FFMpegException("Failed to allocate a frame for resampling");
+
+ m_resampledFrame->nb_samples = m_neededFrames;
+ m_resampledFrame->format = m_outFormat;
+- m_resampledFrame->channel_layout = m_codecCtx->channel_layout;
++ av_channel_layout_uninit(&m_resampledFrame->ch_layout);
++ av_channel_layout_copy(&m_resampledFrame->ch_layout, &m_codecCtx->ch_layout);
+ m_resampledFrame->sample_rate = m_codecCtx->sample_rate;
+
+ err = av_frame_get_buffer(m_resampledFrame, 0);
+ if (err < 0)
+- throw EncoderException("Could not allocate output resample frame samples (error '{}')",
+- FFmpegErrorToString(err));
++ throw FFMpegException("Could not allocate output resample frame samples (error '{}')",
++ FFMpegErrorToString(err));
+
+ avcodec_fill_audio_frame(m_resampledFrame, m_iInChannels, m_outFormat, m_resampledBuffer,
+ m_resampledBufferSize, 0);
+@@ -204,7 +194,7 @@
+ /* write the header */
+ err = avformat_write_header(m_formatCtx, nullptr);
+ if (err != 0)
+- throw EncoderException("Failed to write the header (error '{}')", FFmpegErrorToString(err));
++ throw FFMpegException("Failed to write the header (error '{}')", FFMpegErrorToString(err));
+
+ CLog::Log(LOGDEBUG, "CEncoderFFmpeg::{} - Successfully initialized with muxer {} and codec {}",
+ __func__,
+@@ -212,16 +202,19 @@
+ : m_formatCtx->oformat->name,
+ codec->long_name ? codec->long_name : codec->name);
+ }
+- catch (EncoderException& caught)
++ catch (const FFMpegException& caught)
+ {
+ CLog::Log(LOGERROR, "CEncoderFFmpeg::{} - {}", __func__, caught.what());
+
+ av_freep(&m_buffer);
++ av_channel_layout_uninit(&m_bufferFrame->ch_layout);
+ av_frame_free(&m_bufferFrame);
+ swr_free(&m_swrCtx);
++ av_channel_layout_uninit(&m_resampledFrame->ch_layout);
+ av_frame_free(&m_resampledFrame);
+ av_freep(&m_resampledBuffer);
+ av_free(m_bcBuffer);
++ av_channel_layout_uninit(&m_codecCtx->ch_layout);
+ avcodec_free_context(&m_codecCtx);
+ if (m_formatCtx)
+ {
+@@ -299,7 +292,7 @@
+ if (swr_convert(m_swrCtx, m_resampledFrame->data, m_neededFrames,
+ const_cast<const uint8_t**>(m_bufferFrame->extended_data),
+ m_neededFrames) < 0)
+- throw EncoderException("Error resampling audio");
++ throw FFMpegException("Error resampling audio");
+
+ frame = m_resampledFrame;
+ }
+@@ -316,8 +309,8 @@
+ m_bufferSize = 0;
+ err = avcodec_send_frame(m_codecCtx, frame);
+ if (err < 0)
+- throw EncoderException("Error sending a frame for encoding (error '{}')", __func__,
+- FFmpegErrorToString(err));
++ throw FFMpegException("Error sending a frame for encoding (error '{}')",
++ FFMpegErrorToString(err));
+
+ while (err >= 0)
+ {
+@@ -329,19 +322,18 @@
+ }
+ else if (err < 0)
+ {
+- throw EncoderException("Error during encoding (error '{}')", __func__,
+- FFmpegErrorToString(err));
++ throw FFMpegException("Error during encoding (error '{}')", FFMpegErrorToString(err));
+ }
+
+ err = av_write_frame(m_formatCtx, pkt);
+ if (err < 0)
+- throw EncoderException("Failed to write the frame data (error '{}')", __func__,
+- FFmpegErrorToString(err));
++ throw FFMpegException("Failed to write the frame data (error '{}')",
++ FFMpegErrorToString(err));
+
+ av_packet_unref(pkt);
+ }
+ }
+- catch (EncoderException& caught)
++ catch (const FFMpegException& caught)
+ {
+ CLog::Log(LOGERROR, "CEncoderFFmpeg::{} - {}", __func__, caught.what());
+ }
+@@ -366,8 +358,10 @@
+
+ /* Flush if needed */
+ av_freep(&m_buffer);
++ av_channel_layout_uninit(&m_bufferFrame->ch_layout);
+ av_frame_free(&m_bufferFrame);
+ swr_free(&m_swrCtx);
++ av_channel_layout_uninit(&m_resampledFrame->ch_layout);
+ av_frame_free(&m_resampledFrame);
+ av_freep(&m_resampledBuffer);
+ m_needConversion = false;
+@@ -379,6 +373,7 @@
+
+ /* cleanup */
+ av_free(m_bcBuffer);
++ av_channel_layout_uninit(&m_codecCtx->ch_layout);
+ avcodec_free_context(&m_codecCtx);
+ av_freep(&m_formatCtx->pb);
+ avformat_free_context(m_formatCtx);
+@@ -400,14 +395,6 @@
+ case 32:
+ return AV_SAMPLE_FMT_S32;
+ default:
+- throw EncoderException("Invalid input bits per sample");
++ throw FFMpegException("Invalid input bits per sample");
+ }
+-}
+-
+-std::string CEncoderFFmpeg::FFmpegErrorToString(int err)
+-{
+- std::string text;
+- text.reserve(AV_ERROR_MAX_STRING_SIZE);
+- av_strerror(err, text.data(), AV_ERROR_MAX_STRING_SIZE);
+- return text;
+ }
+diff -urN xbmc/cdrip/EncoderFFmpeg.h.orig xbmc/cdrip/EncoderFFmpeg.h
+--- xbmc/cdrip/EncoderFFmpeg.h.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cdrip/EncoderFFmpeg.h 2023-04-19 10:01:22.835616000 +0000
+@@ -39,7 +39,6 @@
+ void SetTag(const std::string& tag, const std::string& value);
+ bool WriteFrame();
+ AVSampleFormat GetInputFormat(int inBitsPerSample);
+- std::string FFmpegErrorToString(int err);
+
+ AVFormatContext* m_formatCtx{nullptr};
+ AVCodecContext* m_codecCtx{nullptr};
+diff -urN xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp.orig xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp
+--- xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Encoders/AEEncoderFFmpeg.cpp 2023-04-19 10:01:22.848879000 +0000
+@@ -10,14 +10,25 @@
+ #define DTS_ENCODE_BITRATE 1411200
+
+ #include "cores/AudioEngine/Encoders/AEEncoderFFmpeg.h"
+-#include "cores/AudioEngine/Utils/AEUtil.h"
++
+ #include "ServiceBroker.h"
+-#include "utils/log.h"
++#include "cores/AudioEngine/Utils/AEUtil.h"
++#include "cores/FFmpeg.h"
+ #include "settings/Settings.h"
+ #include "settings/SettingsComponent.h"
+-#include <string.h>
++#include "utils/log.h"
++
++extern "C"
++{
++#include <libavutil/channel_layout.h>
++}
++
+ #include <cassert>
++#include <string.h>
+
++using FFMPEG_HELP_TOOLS::FFMpegErrorToString;
++using FFMPEG_HELP_TOOLS::FFMpegException;
++
+ CAEEncoderFFmpeg::CAEEncoderFFmpeg() : m_CodecCtx(NULL), m_SwrCtx(NULL)
+ {
+ }
+@@ -26,6 +37,7 @@
+ {
+ Reset();
+ swr_free(&m_SwrCtx);
++ av_channel_layout_uninit(&m_CodecCtx->ch_layout);
+ avcodec_free_context(&m_CodecCtx);
+ }
+
+@@ -81,7 +93,7 @@
+
+ bool ac3 = CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(CSettings::SETTING_AUDIOOUTPUT_AC3PASSTHROUGH);
+
+- AVCodec *codec = NULL;
++ const AVCodec* codec = nullptr;
+
+ /* fallback to ac3 if we support it, we might not have DTS support */
+ if (ac3)
+@@ -102,7 +114,8 @@
+
+ m_CodecCtx->bit_rate = m_BitRate;
+ m_CodecCtx->sample_rate = format.m_sampleRate;
+- m_CodecCtx->channel_layout = AV_CH_LAYOUT_5POINT1_BACK;
++ av_channel_layout_uninit(&m_CodecCtx->ch_layout);
++ av_channel_layout_from_mask(&m_CodecCtx->ch_layout, AV_CH_LAYOUT_5POINT1_BACK);
+
+ /* select a suitable data format */
+ if (codec->sample_fmts)
+@@ -179,22 +192,28 @@
+ LOGERROR,
+ "CAEEncoderFFmpeg::Initialize - Unable to find a suitable data format for the codec ({})",
+ m_CodecName);
++ av_channel_layout_uninit(&m_CodecCtx->ch_layout);
+ avcodec_free_context(&m_CodecCtx);
+ return false;
+ }
+ }
+
+- m_CodecCtx->channels = BuildChannelLayout(m_CodecCtx->channel_layout, m_Layout);
++ uint64_t mask = m_CodecCtx->ch_layout.u.mask;
++ av_channel_layout_uninit(&m_CodecCtx->ch_layout);
++ av_channel_layout_from_mask(&m_CodecCtx->ch_layout, mask);
++ m_CodecCtx->ch_layout.nb_channels = BuildChannelLayout(mask, m_Layout);
+
+ /* open the codec */
+ if (avcodec_open2(m_CodecCtx, codec, NULL))
+ {
++ av_channel_layout_uninit(&m_CodecCtx->ch_layout);
+ avcodec_free_context(&m_CodecCtx);
+ return false;
+ }
+
+ format.m_frames = m_CodecCtx->frame_size;
+- format.m_frameSize = m_CodecCtx->channels * (CAEUtil::DataFormatToBits(format.m_dataFormat) >> 3);
++ int channels = m_CodecCtx->ch_layout.nb_channels;
++ format.m_frameSize = channels * (CAEUtil::DataFormatToBits(format.m_dataFormat) >> 3);
+ format.m_channelLayout = m_Layout;
+
+ m_CurrentFormat = format;
+@@ -204,14 +223,14 @@
+
+ if (m_NeedConversion)
+ {
+- m_SwrCtx = swr_alloc_set_opts(NULL,
+- m_CodecCtx->channel_layout, m_CodecCtx->sample_fmt, m_CodecCtx->sample_rate,
+- m_CodecCtx->channel_layout, AV_SAMPLE_FMT_FLT, m_CodecCtx->sample_rate,
+- 0, NULL);
+- if (!m_SwrCtx || swr_init(m_SwrCtx) < 0)
++ int ret = swr_alloc_set_opts2(&m_SwrCtx, &m_CodecCtx->ch_layout, m_CodecCtx->sample_fmt,
++ m_CodecCtx->sample_rate, &m_CodecCtx->ch_layout,
++ AV_SAMPLE_FMT_FLT, m_CodecCtx->sample_rate, 0, NULL);
++ if (ret || swr_init(m_SwrCtx) < 0)
+ {
+ CLog::Log(LOGERROR, "CAEEncoderFFmpeg::Initialize - Failed to initialise resampler.");
+ swr_free(&m_SwrCtx);
++ av_channel_layout_uninit(&m_CodecCtx->ch_layout);
+ avcodec_free_context(&m_CodecCtx);
+ return false;
+ }
+@@ -242,62 +261,83 @@
+
+ int CAEEncoderFFmpeg::Encode(uint8_t *in, int in_size, uint8_t *out, int out_size)
+ {
+- int got_output;
+- AVFrame *frame;
++ int size = 0;
++ int err = AVERROR_UNKNOWN;
++ AVFrame* frame = nullptr;
++ AVPacket* pkt = nullptr;
+
+ if (!m_CodecCtx)
+- return 0;
++ return size;
+
+- /* allocate the input frame
+- * sadly, we have to alloc/dealloc it everytime since we have no guarantee the
+- * data argument will be constant over iterated calls and the frame needs to
+- * setup pointers inside data */
+- frame = av_frame_alloc();
+- if (!frame)
+- return 0;
++ try
++ {
++ /* allocate the input frame and output packet
++ * sadly, we have to alloc/dealloc it everytime since we have no guarantee the
++ * data argument will be constant over iterated calls and the frame needs to
++ * setup pointers inside data */
++ frame = av_frame_alloc();
++ pkt = av_packet_alloc();
++ if (!frame || !pkt)
++ throw FFMpegException(
++ "Failed to allocate \"AVFrame\" or \"AVPacket\" for encoding (error '{}')",
++ strerror(errno));
+
+- frame->nb_samples = m_CodecCtx->frame_size;
+- frame->format = m_CodecCtx->sample_fmt;
+- frame->channel_layout = m_CodecCtx->channel_layout;
+- frame->channels = m_CodecCtx->channels;
++ frame->nb_samples = m_CodecCtx->frame_size;
++ frame->format = m_CodecCtx->sample_fmt;
++ av_channel_layout_uninit(&frame->ch_layout);
++ av_channel_layout_copy(&frame->ch_layout, &m_CodecCtx->ch_layout);
++ int channelNum = m_CodecCtx->ch_layout.nb_channels;
+
+- avcodec_fill_audio_frame(frame, m_CodecCtx->channels, m_CodecCtx->sample_fmt,
+- in, in_size, 0);
++ avcodec_fill_audio_frame(frame, channelNum, m_CodecCtx->sample_fmt, in, in_size, 0);
+
+- /* initialize the output packet */
+- AVPacket* pkt = av_packet_alloc();
+- if (!pkt)
++ /* encode it */
++ err = avcodec_send_frame(m_CodecCtx, frame);
++ if (err < 0)
++ throw FFMpegException("Error sending a frame for encoding (error '{}')",
++ FFMpegErrorToString(err));
++
++ err = avcodec_receive_packet(m_CodecCtx, pkt);
++ //! @TODO: This is a workaround for our current design. The caller should be made
++ // aware of the potential error values to use the ffmpeg API in a proper way, which means
++ // copying with EAGAIN and multiple packet output.
++ // For the current situation there is a relationship implicitely assumed of:
++ // 1 frame in - 1 packet out. This holds true in practice but the API does not guarantee it.
++ if (err >= 0)
++ {
++ if (pkt->size <= out_size)
++ {
++ memset(out, 0, out_size);
++ memcpy(out, pkt->data, pkt->size);
++ size = pkt->size;
++ }
++ else
++ {
++ CLog::LogF(LOGERROR, "Encoded pkt size ({}) is bigger than buffer ({})", pkt->size,
++ out_size);
++ }
++ av_packet_unref(pkt);
++ }
++ else
++ {
++ CLog::LogF(LOGERROR, "Error receiving encoded paket ({})", err);
++ }
++ }
++ catch (const FFMpegException& caught)
+ {
+- CLog::Log(LOGERROR, "CAEEncoderFFmpeg::{} - av_packet_alloc failed: {}", __FUNCTION__,
+- strerror(errno));
+- av_frame_free(&frame);
+- return 0;
++ CLog::Log(LOGERROR, "CAEEncoderFFmpeg::{} - {}", __func__, caught.what());
+ }
+
+- pkt->size = out_size;
+- pkt->data = out;
++ av_channel_layout_uninit(&frame->ch_layout);
+
+- /* encode it */
+- int ret = avcodec_encode_audio2(m_CodecCtx, pkt, frame, &got_output);
+-
+- int size = pkt->size;
+-
+ /* free temporary data */
+ av_frame_free(&frame);
+
+ /* free the packet */
+ av_packet_free(&pkt);
+
+- if (ret < 0 || !got_output)
+- {
+- CLog::Log(LOGERROR, "CAEEncoderFFmpeg::Encode - Encoding failed");
+- return 0;
+- }
+-
+ /* return the number of frames used */
+ return size;
+ }
+-
+
+ int CAEEncoderFFmpeg::GetData(uint8_t **data)
+ {
+diff -urN xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp.orig xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp
+--- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAE.cpp 2023-04-19 10:01:22.849708000 +0000
+@@ -16,17 +16,16 @@
+ #include "ActiveAESound.h"
+ #include "ActiveAEStream.h"
+ #include "ServiceBroker.h"
++#include "cores/AudioEngine/AEResampleFactory.h"
++#include "cores/AudioEngine/Encoders/AEEncoderFFmpeg.h"
+ #include "cores/AudioEngine/Interfaces/IAudioCallback.h"
+-#include "cores/AudioEngine/Utils/AEUtil.h"
+ #include "cores/AudioEngine/Utils/AEStreamData.h"
+ #include "cores/AudioEngine/Utils/AEStreamInfo.h"
+-#include "cores/AudioEngine/AEResampleFactory.h"
+-#include "cores/AudioEngine/Encoders/AEEncoderFFmpeg.h"
+-
++#include "cores/AudioEngine/Utils/AEUtil.h"
+ #include "settings/Settings.h"
+ #include "settings/SettingsComponent.h"
+-#include "windowing/WinSystem.h"
+ #include "utils/log.h"
++#include "windowing/WinSystem.h"
+
+ using namespace std::chrono_literals;
+
+@@ -3043,8 +3042,8 @@
+ AVFormatContext *fmt_ctx = nullptr;
+ AVCodecContext *dec_ctx = nullptr;
+ AVIOContext *io_ctx;
+- AVInputFormat *io_fmt = nullptr;
+- AVCodec *dec = nullptr;
++ const AVInputFormat* io_fmt = nullptr;
++ const AVCodec* dec = nullptr;
+ SampleConfig config;
+
+ // No custom deleter until sound is registered
+@@ -3096,8 +3095,8 @@
+ AVCodecID codecId = fmt_ctx->streams[0]->codecpar->codec_id;
+ dec = avcodec_find_decoder(codecId);
+ config.sample_rate = fmt_ctx->streams[0]->codecpar->sample_rate;
+- config.channels = fmt_ctx->streams[0]->codecpar->channels;
+- config.channel_layout = fmt_ctx->streams[0]->codecpar->channel_layout;
++ config.channels = fmt_ctx->streams[0]->codecpar->ch_layout.nb_channels;
++ config.channel_layout = fmt_ctx->streams[0]->codecpar->ch_layout.u.mask;
+ }
+ }
+ if (dec == nullptr)
+@@ -3113,10 +3112,14 @@
+
+ dec_ctx = avcodec_alloc_context3(dec);
+ dec_ctx->sample_rate = config.sample_rate;
+- dec_ctx->channels = config.channels;
++ AVChannelLayout layout = {};
+ if (!config.channel_layout)
+- config.channel_layout = av_get_default_channel_layout(config.channels);
+- dec_ctx->channel_layout = config.channel_layout;
++ av_channel_layout_default(&layout, config.channels);
++ else
++ av_channel_layout_from_mask(&layout, config.channel_layout);
++ config.channel_layout = layout.u.mask;
++ av_channel_layout_copy(&dec_ctx->ch_layout, &layout);
++ av_channel_layout_uninit(&layout);
+
+ AVPacket* avpkt = av_packet_alloc();
+ if (!avpkt)
+@@ -3183,6 +3186,7 @@
+
+ av_packet_free(&avpkt);
+ av_frame_free(&decoded_frame);
++ av_channel_layout_uninit(&dec_ctx->ch_layout);
+ avcodec_free_context(&dec_ctx);
+ avformat_close_input(&fmt_ctx);
+ if (io_ctx)
+diff -urN xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp.orig xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp
+--- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEFilter.cpp 2023-04-19 10:01:22.849964000 +0000
+@@ -12,8 +12,8 @@
+ #include <algorithm>
+
+ extern "C" {
+-#include <libavfilter/avfilter.h>
+ #include <libavcodec/avcodec.h>
++#include <libavfilter/avfilter.h>
+ #include <libavfilter/buffersink.h>
+ #include <libavfilter/buffersrc.h>
+ #include <libswresample/swresample.h>
+@@ -171,7 +171,10 @@
+ }
+
+ if (m_pOutFrame)
++ {
++ av_channel_layout_uninit(&m_pOutFrame->ch_layout);
+ av_frame_free(&m_pOutFrame);
++ }
+
+ if (m_pConvertFrame)
+ av_frame_free(&m_pConvertFrame);
+@@ -205,10 +208,9 @@
+ if (!frame)
+ return -1;
+
+- int channels = av_get_channel_layout_nb_channels(m_channelLayout);
+-
+- frame->channel_layout = m_channelLayout;
+- frame->channels = channels;
++ av_channel_layout_uninit(&frame->ch_layout);
++ av_channel_layout_from_mask(&frame->ch_layout, m_channelLayout);
++ int channels = frame->ch_layout.nb_channels;
+ frame->sample_rate = m_sampleRate;
+ frame->nb_samples = src_samples;
+ frame->format = m_sampleFormat;
+@@ -224,6 +226,7 @@
+ src_buffer[0], src_bufsize, 16);
+ if (result < 0)
+ {
++ av_channel_layout_uninit(&frame->ch_layout);
+ av_frame_free(&frame);
+ CLog::Log(LOGERROR, "CActiveAEFilter::ProcessFilter - avcodec_fill_audio_frame failed");
+ m_filterEof = true;
+@@ -231,6 +234,7 @@
+ }
+
+ result = av_buffersrc_write_frame(m_pFilterCtxIn, frame);
++ av_channel_layout_uninit(&frame->ch_layout);
+ av_frame_free(&frame);
+ if (result < 0)
+ {
+@@ -284,7 +288,8 @@
+ {
+ av_frame_unref(m_pOutFrame);
+ m_pOutFrame->format = m_sampleFormat;
+- m_pOutFrame->channel_layout = m_channelLayout;
++ av_channel_layout_uninit(&m_pOutFrame->ch_layout);
++ av_channel_layout_from_mask(&m_pOutFrame->ch_layout, m_channelLayout);
+ m_pOutFrame->sample_rate = m_sampleRate;
+ result = swr_convert_frame(m_pConvertCtx, m_pOutFrame, m_pConvertFrame);
+ av_frame_unref(m_pConvertFrame);
+@@ -302,7 +307,10 @@
+
+ if (m_hasData)
+ {
+- int channels = av_get_channel_layout_nb_channels(m_channelLayout);
++ AVChannelLayout layout = {};
++ av_channel_layout_from_mask(&layout, m_channelLayout);
++ int channels = layout.nb_channels;
++ av_channel_layout_uninit(&layout);
+ int planes = av_sample_fmt_is_planar(m_sampleFormat) ? channels : 1;
+ int samples = std::min(dst_samples, m_pOutFrame->nb_samples - m_sampleOffset);
+ int bytes = samples * av_get_bytes_per_sample(m_sampleFormat) * channels / planes;
+diff -urN xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.orig xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp
+--- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEResampleFFMPEG.cpp 2023-04-19 10:01:22.850224000 +0000
+@@ -49,15 +49,30 @@
+ m_doesResample = true;
+
+ if (m_dst_chan_layout == 0)
+- m_dst_chan_layout = av_get_default_channel_layout(m_dst_channels);
++ {
++ AVChannelLayout layout = {};
++ av_channel_layout_default(&layout, m_dst_channels);
++ m_dst_chan_layout = layout.u.mask;
++ av_channel_layout_uninit(&layout);
++ }
+ if (m_src_chan_layout == 0)
+- m_src_chan_layout = av_get_default_channel_layout(m_src_channels);
++ {
++ AVChannelLayout layout = {};
++ av_channel_layout_default(&layout, m_src_channels);
++ m_src_chan_layout = layout.u.mask;
++ av_channel_layout_uninit(&layout);
++ }
+
+- m_pContext = swr_alloc_set_opts(NULL, m_dst_chan_layout, m_dst_fmt, m_dst_rate,
+- m_src_chan_layout, m_src_fmt, m_src_rate,
+- 0, NULL);
++ AVChannelLayout dstChLayout = {};
++ AVChannelLayout srcChLayout = {};
+
+- if (!m_pContext)
++ av_channel_layout_from_mask(&dstChLayout, m_dst_chan_layout);
++ av_channel_layout_from_mask(&srcChLayout, m_src_chan_layout);
++
++ int ret = swr_alloc_set_opts2(&m_pContext, &dstChLayout, m_dst_fmt, m_dst_rate, &srcChLayout,
++ m_src_fmt, m_src_rate, 0, NULL);
++
++ if (ret)
+ {
+ CLog::Log(LOGERROR, "CActiveAEResampleFFMPEG::Init - create context failed");
+ return false;
+@@ -126,10 +141,12 @@
+ else if (upmix && m_src_channels == 2 && m_dst_channels > 2)
+ {
+ memset(m_rematrix, 0, sizeof(m_rematrix));
++ av_channel_layout_uninit(&dstChLayout);
++ av_channel_layout_from_mask(&dstChLayout, m_dst_chan_layout);
+ for (int out=0; out<m_dst_channels; out++)
+ {
+- uint64_t out_chan = av_channel_layout_extract_channel(m_dst_chan_layout, out);
+- switch(out_chan)
++ AVChannel outChan = av_channel_layout_channel_from_index(&dstChLayout, out);
++ switch (outChan)
+ {
+ case AV_CH_FRONT_LEFT:
+ case AV_CH_BACK_LEFT:
+@@ -153,6 +170,8 @@
+ break;
+ }
+ }
++
++ av_channel_layout_uninit(&dstChLayout);
+
+ if (swr_set_matrix(m_pContext, (const double*)m_rematrix, AE_CH_MAX) < 0)
+ {
+diff -urN xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp.orig xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp
+--- xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Engines/ActiveAE/ActiveAEStream.cpp 2023-04-19 10:01:22.844169000 +0000
+@@ -88,7 +88,7 @@
+ for(unsigned int i=0; i<m_format.m_channelLayout.Count(); i++)
+ {
+ avLast = avCur;
+- avCur = CAEUtil::GetAVChannel(m_format.m_channelLayout[i]);
++ avCur = CAEUtil::GetAVChannelMask(m_format.m_channelLayout[i]);
+ if(avCur < avLast)
+ {
+ needRemap = true;
+diff -urN xbmc/cores/AudioEngine/Utils/AEUtil.cpp.orig xbmc/cores/AudioEngine/Utils/AEUtil.cpp
+--- xbmc/cores/AudioEngine/Utils/AEUtil.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Utils/AEUtil.cpp 2023-04-19 10:01:22.850463000 +0000
+@@ -19,10 +19,6 @@
+ #include <xmmintrin.h>
+ #endif
+
+-extern "C" {
+-#include <libavutil/channel_layout.h>
+-}
+-
+ void AEDelayStatus::SetDelay(double d)
+ {
+ delay = d;
+@@ -550,34 +546,64 @@
+ }
+ }
+
+-uint64_t CAEUtil::GetAVChannel(enum AEChannel aechannel)
++uint64_t CAEUtil::GetAVChannelMask(enum AEChannel aechannel)
+ {
++ enum AVChannel ch = GetAVChannel(aechannel);
++ if (ch == AV_CHAN_NONE)
++ return 0;
++ return (1ULL << ch);
++}
++
++enum AVChannel CAEUtil::GetAVChannel(enum AEChannel aechannel)
++{
+ switch (aechannel)
+ {
+- case AE_CH_FL: return AV_CH_FRONT_LEFT;
+- case AE_CH_FR: return AV_CH_FRONT_RIGHT;
+- case AE_CH_FC: return AV_CH_FRONT_CENTER;
+- case AE_CH_LFE: return AV_CH_LOW_FREQUENCY;
+- case AE_CH_BL: return AV_CH_BACK_LEFT;
+- case AE_CH_BR: return AV_CH_BACK_RIGHT;
+- case AE_CH_FLOC: return AV_CH_FRONT_LEFT_OF_CENTER;
+- case AE_CH_FROC: return AV_CH_FRONT_RIGHT_OF_CENTER;
+- case AE_CH_BC: return AV_CH_BACK_CENTER;
+- case AE_CH_SL: return AV_CH_SIDE_LEFT;
+- case AE_CH_SR: return AV_CH_SIDE_RIGHT;
+- case AE_CH_TC: return AV_CH_TOP_CENTER;
+- case AE_CH_TFL: return AV_CH_TOP_FRONT_LEFT;
+- case AE_CH_TFC: return AV_CH_TOP_FRONT_CENTER;
+- case AE_CH_TFR: return AV_CH_TOP_FRONT_RIGHT;
+- case AE_CH_TBL: return AV_CH_TOP_BACK_LEFT;
+- case AE_CH_TBC: return AV_CH_TOP_BACK_CENTER;
+- case AE_CH_TBR: return AV_CH_TOP_BACK_RIGHT;
+- default:
+- return 0;
++ case AE_CH_FL:
++ return AV_CHAN_FRONT_LEFT;
++ case AE_CH_FR:
++ return AV_CHAN_FRONT_RIGHT;
++ case AE_CH_FC:
++ return AV_CHAN_FRONT_CENTER;
++ case AE_CH_LFE:
++ return AV_CHAN_LOW_FREQUENCY;
++ case AE_CH_BL:
++ return AV_CHAN_BACK_LEFT;
++ case AE_CH_BR:
++ return AV_CHAN_BACK_RIGHT;
++ case AE_CH_FLOC:
++ return AV_CHAN_FRONT_LEFT_OF_CENTER;
++ case AE_CH_FROC:
++ return AV_CHAN_FRONT_RIGHT_OF_CENTER;
++ case AE_CH_BC:
++ return AV_CHAN_BACK_CENTER;
++ case AE_CH_SL:
++ return AV_CHAN_SIDE_LEFT;
++ case AE_CH_SR:
++ return AV_CHAN_SIDE_RIGHT;
++ case AE_CH_TC:
++ return AV_CHAN_TOP_CENTER;
++ case AE_CH_TFL:
++ return AV_CHAN_TOP_FRONT_LEFT;
++ case AE_CH_TFC:
++ return AV_CHAN_TOP_FRONT_CENTER;
++ case AE_CH_TFR:
++ return AV_CHAN_TOP_FRONT_RIGHT;
++ case AE_CH_TBL:
++ return AV_CHAN_TOP_BACK_LEFT;
++ case AE_CH_TBC:
++ return AV_CHAN_TOP_BACK_CENTER;
++ case AE_CH_TBR:
++ return AV_CHAN_TOP_BACK_RIGHT;
++ default:
++ return AV_CHAN_NONE;
+ }
+ }
+
+ int CAEUtil::GetAVChannelIndex(enum AEChannel aechannel, uint64_t layout)
+ {
+- return av_get_channel_layout_channel_index(layout, GetAVChannel(aechannel));
++ AVChannelLayout ch_layout = {};
++ av_channel_layout_from_mask(&ch_layout, layout);
++ int idx = av_channel_layout_index_from_channel(&ch_layout, GetAVChannel(aechannel));
++ av_channel_layout_uninit(&ch_layout);
++ return idx;
+ }
+diff -urN xbmc/cores/AudioEngine/Utils/AEUtil.h.orig xbmc/cores/AudioEngine/Utils/AEUtil.h
+--- xbmc/cores/AudioEngine/Utils/AEUtil.h.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/AudioEngine/Utils/AEUtil.h 2023-04-19 10:01:22.850626000 +0000
+@@ -13,6 +13,7 @@
+ #include <math.h>
+
+ extern "C" {
++#include <libavutil/channel_layout.h>
+ #include <libavutil/samplefmt.h>
+ }
+
+@@ -171,6 +172,7 @@
+ static uint64_t GetAVChannelLayout(const CAEChannelInfo &info);
+ static CAEChannelInfo GetAEChannelLayout(uint64_t layout);
+ static AVSampleFormat GetAVSampleFormat(AEDataFormat format);
+- static uint64_t GetAVChannel(enum AEChannel aechannel);
++ static uint64_t GetAVChannelMask(enum AEChannel aechannel);
++ static enum AVChannel GetAVChannel(enum AEChannel aechannel);
+ static int GetAVChannelIndex(enum AEChannel aechannel, uint64_t layout);
+ };
+diff -urN xbmc/cores/FFmpeg.cpp.orig xbmc/cores/FFmpeg.cpp
+--- xbmc/cores/FFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/FFmpeg.cpp 2023-04-19 10:01:22.850804000 +0000
+@@ -16,11 +16,29 @@
+ #include "utils/StringUtils.h"
+ #include "utils/log.h"
+
++extern "C"
++{
++#include <libavcodec/bsf.h>
++}
++
+ #include <map>
+ #include <mutex>
+
+ static thread_local CFFmpegLog* CFFmpegLogTls;
+
++namespace FFMPEG_HELP_TOOLS
++{
++
++std::string FFMpegErrorToString(int err)
++{
++ std::string text;
++ text.resize(AV_ERROR_MAX_STRING_SIZE);
++ av_strerror(err, text.data(), AV_ERROR_MAX_STRING_SIZE);
++ return text;
++}
++
++} // namespace FFMPEG_HELP_TOOLS
++
+ void CFFmpegLog::SetLogLevel(int level)
+ {
+ CFFmpegLog::ClearLogLevel();
+@@ -117,3 +135,128 @@
+ buffer.erase(0, start);
+ }
+
++std::tuple<uint8_t*, int> GetPacketExtradata(const AVPacket* pkt,
++ const AVCodecParserContext* parserCtx,
++ AVCodecContext* codecCtx)
++{
++ constexpr int FF_MAX_EXTRADATA_SIZE = ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE);
++
++ if (!pkt)
++ return std::make_tuple(nullptr, 0);
++
++ uint8_t* extraData = nullptr;
++ int extraDataSize = 0;
++
++ /* extract_extradata bitstream filter is implemented only
++ * for certain codecs, as noted in discussion of PR#21248
++ */
++
++ AVCodecID codecId = codecCtx->codec_id;
++
++ // clang-format off
++ if (
++ codecId != AV_CODEC_ID_MPEG1VIDEO &&
++ codecId != AV_CODEC_ID_MPEG2VIDEO &&
++ codecId != AV_CODEC_ID_H264 &&
++ codecId != AV_CODEC_ID_HEVC &&
++ codecId != AV_CODEC_ID_MPEG4 &&
++ codecId != AV_CODEC_ID_VC1 &&
++ codecId != AV_CODEC_ID_AV1 &&
++ codecId != AV_CODEC_ID_AVS2 &&
++ codecId != AV_CODEC_ID_AVS3 &&
++ codecId != AV_CODEC_ID_CAVS
++ )
++ // clang-format on
++ return std::make_tuple(nullptr, 0);
++
++ const AVBitStreamFilter* f = av_bsf_get_by_name("extract_extradata");
++ if (!f)
++ return std::make_tuple(nullptr, 0);
++
++ AVBSFContext* bsf = nullptr;
++ int ret = av_bsf_alloc(f, &bsf);
++ if (ret < 0)
++ return std::make_tuple(nullptr, 0);
++
++ bsf->par_in->codec_id = codecId;
++
++ ret = av_bsf_init(bsf);
++ if (ret < 0)
++ {
++ av_bsf_free(&bsf);
++ return std::make_tuple(nullptr, 0);
++ }
++
++ AVPacket* dstPkt = av_packet_alloc();
++ if (!dstPkt)
++ {
++ CLog::LogF(LOGERROR, "failed to allocate packet");
++
++ av_bsf_free(&bsf);
++ return std::make_tuple(nullptr, 0);
++ }
++ AVPacket* pktRef = dstPkt;
++
++ ret = av_packet_ref(pktRef, pkt);
++ if (ret < 0)
++ {
++ av_bsf_free(&bsf);
++ av_packet_free(&dstPkt);
++ return std::make_tuple(nullptr, 0);
++ }
++
++ ret = av_bsf_send_packet(bsf, pktRef);
++ if (ret < 0)
++ {
++ av_packet_unref(pktRef);
++ av_bsf_free(&bsf);
++ av_packet_free(&dstPkt);
++ return std::make_tuple(nullptr, 0);
++ }
++
++ ret = 0;
++ while (ret >= 0)
++ {
++ ret = av_bsf_receive_packet(bsf, pktRef);
++ if (ret < 0)
++ {
++ if (ret != AVERROR(EAGAIN) && ret != AVERROR_EOF)
++ break;
++
++ continue;
++ }
++
++ size_t retExtraDataSize = 0;
++ uint8_t* retExtraData =
++ av_packet_get_side_data(pktRef, AV_PKT_DATA_NEW_EXTRADATA, &retExtraDataSize);
++ if (retExtraData && retExtraDataSize > 0 && retExtraDataSize < FF_MAX_EXTRADATA_SIZE)
++ {
++ extraData = static_cast<uint8_t*>(av_malloc(retExtraDataSize + AV_INPUT_BUFFER_PADDING_SIZE));
++ if (!extraData)
++ {
++ CLog::LogF(LOGERROR, "failed to allocate {} bytes for extradata", retExtraDataSize);
++
++ av_packet_unref(pktRef);
++ av_bsf_free(&bsf);
++ av_packet_free(&dstPkt);
++ return std::make_tuple(nullptr, 0);
++ }
++
++ CLog::LogF(LOGDEBUG, "fetching extradata, extradata_size({})", retExtraDataSize);
++
++ memcpy(extraData, retExtraData, retExtraDataSize);
++ memset(extraData + retExtraDataSize, 0, AV_INPUT_BUFFER_PADDING_SIZE);
++ extraDataSize = retExtraDataSize;
++
++ av_packet_unref(pktRef);
++ break;
++ }
++
++ av_packet_unref(pktRef);
++ }
++
++ av_bsf_free(&bsf);
++ av_packet_free(&dstPkt);
++
++ return std::make_tuple(extraData, extraDataSize);
++}
+diff -urN xbmc/cores/FFmpeg.h.orig xbmc/cores/FFmpeg.h
+--- xbmc/cores/FFmpeg.h.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/FFmpeg.h 2023-04-19 10:01:22.850926000 +0000
+@@ -10,6 +10,7 @@
+
+ #include "ServiceBroker.h"
+ #include "utils/CPUInfo.h"
++#include "utils/StringUtils.h"
+
+ extern "C" {
+ #include <libavcodec/avcodec.h>
+@@ -21,6 +22,26 @@
+ #include <libpostproc/postprocess.h>
+ }
+
++#include <tuple>
++
++namespace FFMPEG_HELP_TOOLS
++{
++
++struct FFMpegException : public std::exception
++{
++ std::string s;
++ template<typename... Args>
++ FFMpegException(const std::string& fmt, Args&&... args)
++ : s(StringUtils::Format(fmt, std::forward<Args>(args)...))
++ {
++ }
++ const char* what() const noexcept override { return s.c_str(); }
++};
++
++std::string FFMpegErrorToString(int err);
++
++} // namespace FFMPEG_HELP_TOOLS
++
+ inline int PPCPUFlags()
+ {
+ unsigned int cpuFeatures = CServiceBroker::GetCPUInfo()->GetCPUFeatures();
+@@ -51,3 +72,6 @@
+ int level;
+ };
+
++std::tuple<uint8_t*, int> GetPacketExtradata(const AVPacket* pkt,
++ const AVCodecParserContext* parserCtx,
++ AVCodecContext* codecCtx);
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp 2023-04-19 10:01:30.826672000 +0000
+@@ -7,14 +7,16 @@
+ */
+
+ #include "DVDAudioCodecFFmpeg.h"
+-#include "ServiceBroker.h"
++
+ #include "../../DVDStreamInfo.h"
+-#include "utils/log.h"
++#include "DVDCodecs/DVDCodecs.h"
++#include "ServiceBroker.h"
++#include "cores/AudioEngine/Utils/AEUtil.h"
++#include "cores/FFmpeg.h"
+ #include "settings/AdvancedSettings.h"
+ #include "settings/Settings.h"
+ #include "settings/SettingsComponent.h"
+-#include "DVDCodecs/DVDCodecs.h"
+-#include "cores/AudioEngine/Utils/AEUtil.h"
++#include "utils/log.h"
+
+ extern "C" {
+ #include <libavutil/opt.h>
+@@ -44,7 +46,7 @@
+ return false;
+ }
+
+- AVCodec* pCodec = NULL;
++ const AVCodec* pCodec = nullptr;
+ bool allowdtshddecode = true;
+
+ // set any special options
+@@ -71,13 +73,28 @@
+ m_pCodecContext->debug = 0;
+ m_pCodecContext->workaround_bugs = 1;
+
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ if (pCodec->capabilities & AV_CODEC_CAP_TRUNCATED)
+ m_pCodecContext->flags |= AV_CODEC_FLAG_TRUNCATED;
++#endif
+
+ m_matrixEncoding = AV_MATRIX_ENCODING_NONE;
+ m_channels = 0;
+- m_pCodecContext->channels = hints.channels;
+- m_hint_layout = hints.channellayout;
++ av_channel_layout_uninit(&m_pCodecContext->ch_layout);
++
++ if (hints.channels > 0 && hints.channellayout > 0)
++ {
++ m_pCodecContext->ch_layout.order = AV_CHANNEL_ORDER_NATIVE;
++ m_pCodecContext->ch_layout.nb_channels = hints.channels;
++ m_pCodecContext->ch_layout.u.mask = hints.channellayout;
++ }
++ else if (hints.channels > 0)
++ {
++ av_channel_layout_default(&m_pCodecContext->ch_layout, hints.channels);
++ }
++
++ m_hint_layout = m_pCodecContext->ch_layout.u.mask;
++
+ m_pCodecContext->sample_rate = hints.samplerate;
+ m_pCodecContext->block_align = hints.blockalign;
+ m_pCodecContext->bit_rate = hints.bitrate;
+@@ -259,12 +276,13 @@
+ m_format.m_frameSize = m_format.m_channelLayout.Count() *
+ CAEUtil::DataFormatToBits(m_format.m_dataFormat) >> 3;
+
+- int planes = av_sample_fmt_is_planar(m_pCodecContext->sample_fmt) ? m_pFrame->channels : 1;
++ int channels = m_pFrame->ch_layout.nb_channels;
++ int planes = av_sample_fmt_is_planar(m_pCodecContext->sample_fmt) ? channels : 1;
++
+ for (int i=0; i<planes; i++)
+ dst[i] = m_pFrame->extended_data[i];
+
+- return m_pFrame->nb_samples * m_pFrame->channels *
+- av_get_bytes_per_sample(m_pCodecContext->sample_fmt);
++ return m_pFrame->nb_samples * channels * av_get_bytes_per_sample(m_pCodecContext->sample_fmt);
+ }
+
+ return 0;
+@@ -278,7 +296,7 @@
+
+ int CDVDAudioCodecFFmpeg::GetChannels()
+ {
+- return m_pCodecContext->channels;
++ return m_pCodecContext->ch_layout.nb_channels;
+ }
+
+ int CDVDAudioCodecFFmpeg::GetSampleRate()
+@@ -345,28 +363,33 @@
+
+ void CDVDAudioCodecFFmpeg::BuildChannelMap()
+ {
+- if (m_channels == m_pCodecContext->channels && m_layout == m_pCodecContext->channel_layout)
++ int codecChannels = m_pCodecContext->ch_layout.nb_channels;
++ uint64_t codecChannelLayout = m_pCodecContext->ch_layout.u.mask;
++ if (m_channels == codecChannels && m_layout == codecChannelLayout)
+ return; //nothing to do here
+
+- m_channels = m_pCodecContext->channels;
+- m_layout = m_pCodecContext->channel_layout;
++ m_channels = codecChannels;
++ m_layout = codecChannelLayout;
+
+ int64_t layout;
+
+- int bits = count_bits(m_pCodecContext->channel_layout);
+- if (bits == m_pCodecContext->channels)
+- layout = m_pCodecContext->channel_layout;
++ int bits = count_bits(codecChannelLayout);
++ if (bits == codecChannels)
++ layout = codecChannelLayout;
+ else
+ {
+ CLog::Log(LOGINFO,
+ "CDVDAudioCodecFFmpeg::GetChannelMap - FFmpeg reported {} channels, but the layout "
+ "contains {} - trying hints",
+- m_pCodecContext->channels, bits);
+- if (static_cast<int>(count_bits(m_hint_layout)) == m_pCodecContext->channels)
++ codecChannels, bits);
++ if (static_cast<int>(count_bits(m_hint_layout)) == codecChannels)
+ layout = m_hint_layout;
+ else
+ {
+- layout = av_get_default_channel_layout(m_pCodecContext->channels);
++ AVChannelLayout def_layout = {};
++ av_channel_layout_default(&def_layout, codecChannels);
++ layout = def_layout.u.mask;
++ av_channel_layout_uninit(&def_layout);
+ CLog::Log(LOGINFO, "Using default layout...");
+ }
+ }
+@@ -392,7 +415,7 @@
+ if (layout & AV_CH_TOP_BACK_CENTER ) m_channelLayout += AE_CH_BC ;
+ if (layout & AV_CH_TOP_BACK_RIGHT ) m_channelLayout += AE_CH_BR ;
+
+- m_channels = m_pCodecContext->channels;
++ m_channels = codecChannels;
+ }
+
+ CAEChannelInfo CDVDAudioCodecFFmpeg::GetChannelMap()
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Overlay/DVDOverlayCodecFFmpeg.cpp 2023-04-19 10:01:22.851350000 +0000
+@@ -10,6 +10,7 @@
+
+ #include "DVDOverlayImage.h"
+ #include "DVDStreamInfo.h"
++#include "cores/FFmpeg.h"
+ #include "cores/VideoPlayer/Interface/DemuxPacket.h"
+ #include "cores/VideoPlayer/Interface/TimingConstants.h"
+ #include "utils/EndianSwap.h"
+@@ -39,7 +40,7 @@
+ if (hints.codec == AV_CODEC_ID_EIA_608)
+ return false;
+
+- AVCodec* pCodec = avcodec_find_decoder(hints.codec);
++ const AVCodec* pCodec = avcodec_find_decoder(hints.codec);
+ if (!pCodec)
+ {
+ CLog::Log(LOGDEBUG, "{} - Unable to find codec {}", __FUNCTION__, hints.codec);
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp 2023-04-19 10:01:30.832626000 +0000
+@@ -12,6 +12,7 @@
+ #include "DVDCodecs/DVDFactoryCodec.h"
+ #include "DVDStreamInfo.h"
+ #include "ServiceBroker.h"
++#include "cores/FFmpeg.h"
+ #include "cores/VideoPlayer/Interface/TimingConstants.h"
+ #include "cores/VideoPlayer/VideoRenderers/RenderManager.h"
+ #include "cores/VideoSettings.h"
+@@ -27,12 +28,13 @@
+ #include <mutex>
+
+ extern "C" {
+-#include <libavutil/opt.h>
+-#include <libavutil/mastering_display_metadata.h>
+ #include <libavfilter/avfilter.h>
+ #include <libavfilter/buffersink.h>
+ #include <libavfilter/buffersrc.h>
++#include <libavutil/mastering_display_metadata.h>
++#include <libavutil/opt.h>
+ #include <libavutil/pixdesc.h>
++#include <libavutil/video_enc_params.h>
+ }
+
+ #ifndef TARGET_POSIX
+@@ -327,7 +329,7 @@
+ m_hints = hints;
+ m_options = options;
+
+- AVCodec* pCodec = nullptr;
++ const AVCodec* pCodec = nullptr;
+
+ m_iOrientation = hints.orientation;
+
+@@ -368,6 +370,10 @@
+ m_pCodecContext->get_format = GetFormat;
+ m_pCodecContext->codec_tag = hints.codec_tag;
+
++#if LIBAVCODEC_VERSION_MAJOR >= 60
++ m_pCodecContext->flags = AV_CODEC_FLAG_COPY_OPAQUE;
++#endif
++
+ // setup threading model
+ if (!(hints.codecOptions & CODEC_FORCE_SOFTWARE))
+ {
+@@ -543,9 +549,10 @@
+ CLog::Log(LOGDEBUG, "CDVDVideoCodecFFmpeg - Updated codec: {}", m_name);
+ }
+
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ union pts_union
+ {
+- double pts_d;
++ double pts_d;
+ int64_t pts_i;
+ };
+
+@@ -555,6 +562,7 @@
+ u.pts_d = pts;
+ return u.pts_i;
+ }
++#endif
+
+ bool CDVDVideoCodecFFmpeg::AddData(const DemuxPacket &packet)
+ {
+@@ -573,7 +581,10 @@
+ m_started = true;
+
+ m_dts = packet.dts;
++
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ m_pCodecContext->reordered_opaque = pts_dtoi(packet.pts);
++#endif
+
+ AVPacket* avpkt = av_packet_alloc();
+ if (!avpkt)
+@@ -1048,24 +1059,27 @@
+ pVideoPicture->qscale_type = 0;
+
+ AVFrameSideData* sd;
+- sd = av_frame_get_side_data(m_pFrame, AV_FRAME_DATA_QP_TABLE_PROPERTIES);
++
++ // https://github.com/FFmpeg/FFmpeg/blob/991d417692/doc/APIchanges#L18-L20
++ sd = av_frame_get_side_data(m_pFrame, AV_FRAME_DATA_VIDEO_ENC_PARAMS);
+ if (sd)
+ {
+- struct qp_properties
+- {
+- int stride;
+- int type;
+- };
++ unsigned int mb_h = (m_pFrame->height + 15) / 16;
++ unsigned int mb_w = (m_pFrame->width + 15) / 16;
++ unsigned int nb_mb = mb_h * mb_w;
++ unsigned int block_idx;
+
+- auto qp = reinterpret_cast<qp_properties*>(sd->data);
+-
+- sd = av_frame_get_side_data(m_pFrame, AV_FRAME_DATA_QP_TABLE_DATA);
+- if (sd && sd->buf && qp)
++ auto par = reinterpret_cast<AVVideoEncParams*>(sd->data);
++ if (par->type == AV_VIDEO_ENC_PARAMS_MPEG2 && (par->nb_blocks == 0 || par->nb_blocks == nb_mb))
+ {
+- // this seems wrong but it's what ffmpeg does internally
+- pVideoPicture->qp_table = reinterpret_cast<int8_t*>(sd->buf->data);
+- pVideoPicture->qstride = qp->stride;
+- pVideoPicture->qscale_type = qp->type;
++ pVideoPicture->qstride = mb_w;
++ pVideoPicture->qscale_type = par->type;
++ pVideoPicture->qp_table = static_cast<int8_t*>(av_malloc(nb_mb));
++ for (block_idx = 0; block_idx < nb_mb; block_idx++)
++ {
++ AVVideoBlockParams* b = av_video_enc_params_block(par, block_idx);
++ pVideoPicture->qp_table[block_idx] = par->qp + b->delta_qp;
++ }
+ }
+ }
+
+@@ -1159,8 +1173,9 @@
+ const AVFilter* outFilter = avfilter_get_by_name("buffersink"); // should be last filter in the graph for now
+
+ std::string args = StringUtils::Format(
+- "{}:{}:{}:{}:{}:{}:{}", m_pCodecContext->width, m_pCodecContext->height,
+- m_pCodecContext->pix_fmt, m_pCodecContext->time_base.num ? m_pCodecContext->time_base.num : 1,
++ "video_size={}x{}:pix_fmt={}:time_base={}/{}:pixel_aspect={}/{}", m_pCodecContext->width,
++ m_pCodecContext->height, m_pCodecContext->pix_fmt,
++ m_pCodecContext->time_base.num ? m_pCodecContext->time_base.num : 1,
+ m_pCodecContext->time_base.num ? m_pCodecContext->time_base.den : 1,
+ m_pCodecContext->sample_aspect_ratio.num != 0 ? m_pCodecContext->sample_aspect_ratio.num : 1,
+ m_pCodecContext->sample_aspect_ratio.num != 0 ? m_pCodecContext->sample_aspect_ratio.den : 1);
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoPPFFmpeg.cpp 2023-04-19 10:01:22.851870000 +0000
+@@ -118,6 +118,8 @@
+ m_pMode, m_pContext,
+ pSource->pict_type | pSource->qscale_type ? PP_PICT_TYPE_QP2 : 0);
+
++ // https://github.com/FFmpeg/FFmpeg/blob/991d417692/doc/APIchanges#L18-L20
++ av_free(pSource->qp_table);
+
+ pPicture->SetParams(*pSource);
+ if (pPicture->videoBuffer)
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Video/DXVA.cpp 2023-04-19 10:01:30.833014000 +0000
+@@ -973,7 +973,8 @@
+ m_event.Set();
+ m_avD3D11Context = av_d3d11va_alloc_context();
+ m_avD3D11Context->cfg = reinterpret_cast<D3D11_VIDEO_DECODER_CONFIG*>(av_mallocz(sizeof(D3D11_VIDEO_DECODER_CONFIG)));
+- m_avD3D11Context->surface = reinterpret_cast<ID3D11VideoDecoderOutputView**>(av_mallocz_array(32, sizeof(ID3D11VideoDecoderOutputView*)));
++ m_avD3D11Context->surface = reinterpret_cast<ID3D11VideoDecoderOutputView**>(
++ av_calloc(32, sizeof(ID3D11VideoDecoderOutputView*)));
+ m_bufferPool.reset();
+
+ DX::Windowing()->Register(this);
+@@ -1538,8 +1539,6 @@
+ return -1;
+ }
+
+- pic->reordered_opaque = avctx->reordered_opaque;
+-
+ for (unsigned i = 0; i < 4; i++)
+ {
+ pic->data[i] = nullptr;
+@@ -1555,6 +1554,10 @@
+ return -1;
+ }
+ pic->buf[0] = buffer;
++
++#if LIBAVCODEC_VERSION_MAJOR < 60
++ pic->reordered_opaque = avctx->reordered_opaque;
++#endif
+
+ Acquire();
+
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.cpp 2023-04-19 10:01:30.833643000 +0000
+@@ -868,7 +868,10 @@
+ }
+ pic->buf[0] = buffer;
+
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ pic->reordered_opaque = avctx->reordered_opaque;
++#endif
++
+ va->Acquire();
+ return 0;
+ }
+@@ -1259,7 +1262,9 @@
+
+ IHardwareDecoder* CDecoder::Create(CDVDStreamInfo &hint, CProcessInfo &processInfo, AVPixelFormat fmt)
+ {
+- if (fmt == AV_PIX_FMT_VAAPI_VLD && CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(SETTING_VIDEOPLAYER_USEVAAPI))
++ // https://github.com/FFmpeg/FFmpeg/blob/56450a0ee4fdda160f4039fc2ae33edfd27765c9/doc/APIchanges#L18-L26
++ if (fmt == AV_PIX_FMT_VAAPI &&
++ CServiceBroker::GetSettingsComponent()->GetSettings()->GetBool(SETTING_VIDEOPLAYER_USEVAAPI))
+ return new VAAPI::CDecoder(processInfo);
+
+ return nullptr;
+@@ -2966,10 +2971,11 @@
+ const AVFilter* srcFilter = avfilter_get_by_name("buffer");
+ const AVFilter* outFilter = avfilter_get_by_name("buffersink");
+
+- std::string args = StringUtils::Format("{}:{}:{}:{}:{}:{}:{}", m_config.vidWidth,
+- m_config.vidHeight, AV_PIX_FMT_NV12, 1, 1,
+- (m_config.aspect.num != 0) ? m_config.aspect.num : 1,
+- (m_config.aspect.num != 0) ? m_config.aspect.den : 1);
++ std::string args =
++ StringUtils::Format("video_size={}x{}:pix_fmt={}:time_base={}/{}:pixel_aspect={}/{}",
++ m_config.vidWidth, m_config.vidHeight, AV_PIX_FMT_NV12, 1, 1,
++ (m_config.aspect.num != 0) ? m_config.aspect.num : 1,
++ (m_config.aspect.num != 0) ? m_config.aspect.den : 1);
+
+ if (avfilter_graph_create_filter(&m_pFilterIn, srcFilter, "src", args.c_str(), NULL, m_pFilterGraph) < 0)
+ {
+diff -urN xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.cpp.orig xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.cpp
+--- xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.cpp 2023-04-19 10:01:30.834410000 +0000
+@@ -1045,7 +1045,10 @@
+ }
+ pic->buf[0] = buffer;
+
+- pic->reordered_opaque= avctx->reordered_opaque;
++#if LIBAVCODEC_VERSION_MAJOR < 60
++ pic->reordered_opaque = avctx->reordered_opaque;
++#endif
++
+ return 0;
+ }
+
+diff -urN xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp.orig xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp
+--- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxClient.cpp 2023-04-19 10:01:22.852749000 +0000
+@@ -10,13 +10,13 @@
+
+ #include "DVDDemuxUtils.h"
+ #include "DVDInputStreams/DVDInputStream.h"
++#include "cores/FFmpeg.h"
+ #include "cores/VideoPlayer/Interface/TimingConstants.h"
+ #include "utils/log.h"
+
++#include <tuple>
+ #include <utility>
+
+-#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE)
+-
+ class CDemuxStreamClientInternal
+ {
+ public:
+@@ -130,7 +130,7 @@
+
+ if (stream->m_context == nullptr)
+ {
+- AVCodec *codec = avcodec_find_decoder(st->codec);
++ const AVCodec* codec = avcodec_find_decoder(st->codec);
+ if (codec == nullptr)
+ {
+ CLog::Log(LOGERROR, "{} - can't find decoder", __FUNCTION__);
+@@ -149,17 +149,26 @@
+ stream->m_context->time_base.den = DVD_TIME_BASE;
+ }
+
+- if (stream->m_parser_split && stream->m_parser->parser->split)
++ if (stream->m_parser_split && stream->m_parser && stream->m_parser->parser)
+ {
+- int len = stream->m_parser->parser->split(stream->m_context, pkt->pData, pkt->iSize);
+- if (len > 0 && len < FF_MAX_EXTRADATA_SIZE)
++ AVPacket* avpkt = av_packet_alloc();
++ if (!avpkt)
+ {
++ CLog::LogF(LOGERROR, "av_packet_alloc failed: {}", strerror(errno));
++ return false;
++ }
++
++ avpkt->data = pkt->pData;
++ avpkt->size = pkt->iSize;
++ avpkt->dts = avpkt->pts = AV_NOPTS_VALUE;
++
++ auto [retExtraData, len] = GetPacketExtradata(avpkt, stream->m_parser, stream->m_context);
++ if (len > 0)
++ {
+ st->changes++;
+ st->disabled = false;
+ st->ExtraSize = len;
+- st->ExtraData = std::make_unique<uint8_t[]>(len + AV_INPUT_BUFFER_PADDING_SIZE);
+- memcpy(st->ExtraData.get(), pkt->pData, len);
+- memset(st->ExtraData.get() + len, 0, AV_INPUT_BUFFER_PADDING_SIZE);
++ st->ExtraData = std::unique_ptr<uint8_t[]>(retExtraData);
+ stream->m_parser_split = false;
+ change = true;
+ CLog::Log(LOGDEBUG, "CDVDDemuxClient::ParsePacket - split extradata");
+@@ -167,21 +176,12 @@
+ // Allow ffmpeg to transport codec information to stream->m_context
+ if (!avcodec_open2(stream->m_context, stream->m_context->codec, nullptr))
+ {
+- AVPacket* avpkt = av_packet_alloc();
+- if (!avpkt)
+- {
+- CLog::Log(LOGERROR, "CDVDDemuxClient::{} - av_packet_alloc failed: {}", __FUNCTION__,
+- strerror(errno));
+- return false;
+- }
+- avpkt->data = pkt->pData;
+- avpkt->size = pkt->iSize;
+- avpkt->dts = avpkt->pts = AV_NOPTS_VALUE;
+ avcodec_send_packet(stream->m_context, avpkt);
+ avcodec_close(stream->m_context);
+- av_packet_free(&avpkt);
+ }
+ }
++
++ av_packet_free(&avpkt);
+ }
+
+ uint8_t *outbuf = nullptr;
+@@ -219,10 +219,12 @@
+ case STREAM_AUDIO:
+ {
+ CDemuxStreamClientInternalTpl<CDemuxStreamAudio>* sta = static_cast<CDemuxStreamClientInternalTpl<CDemuxStreamAudio>*>(st);
+- if (stream->m_context->channels != sta->iChannels && stream->m_context->channels != 0)
++ int streamChannels = stream->m_context->ch_layout.nb_channels;
++ if (streamChannels != sta->iChannels && streamChannels != 0)
+ {
+- CLog::Log(LOGDEBUG, "CDVDDemuxClient::ParsePacket - ({}) channels changed from {} to {}", st->uniqueId, sta->iChannels, stream->m_context->channels);
+- sta->iChannels = stream->m_context->channels;
++ CLog::Log(LOGDEBUG, "CDVDDemuxClient::ParsePacket - ({}) channels changed from {} to {}",
++ st->uniqueId, sta->iChannels, streamChannels);
++ sta->iChannels = streamChannels;
+ sta->changes++;
+ sta->disabled = false;
+ }
+@@ -234,7 +236,7 @@
+ sta->changes++;
+ sta->disabled = false;
+ }
+- if (stream->m_context->channels)
++ if (streamChannels)
+ st->changes = -1; // stop parsing
+ break;
+ }
+diff -urN xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp.orig xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+--- xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxFFmpeg.cpp 2023-04-19 10:01:30.828436000 +0000
+@@ -34,10 +34,12 @@
+
+ #include <mutex>
+ #include <sstream>
++#include <tuple>
+ #include <utility>
+
+ extern "C"
+ {
++#include "libavutil/channel_layout.h"
+ #include "libavutil/pixdesc.h"
+ }
+
+@@ -104,8 +106,6 @@
+ }
+ } // namespace
+
+-#define FF_MAX_EXTRADATA_SIZE ((1 << 28) - AV_INPUT_BUFFER_PADDING_SIZE)
+-
+ std::string CDemuxStreamAudioFFmpeg::GetStreamName()
+ {
+ if (!m_stream)
+@@ -235,7 +235,7 @@
+
+ bool CDVDDemuxFFmpeg::Open(const std::shared_ptr<CDVDInputStream>& pInput, bool fileinfo)
+ {
+- AVInputFormat* iformat = NULL;
++ const AVInputFormat* iformat = nullptr;
+ std::string strFile;
+ m_streaminfo = !pInput->IsRealtime() && !m_reopen;
+ m_reopen = false;
+@@ -323,7 +323,6 @@
+ }
+ if (result < 0)
+ {
+- m_pFormatContext->flags |= AVFMT_FLAG_PRIV_OPT;
+ if (avformat_open_input(&m_pFormatContext, strFile.c_str(), iformat, &options) < 0)
+ {
+ CLog::Log(LOGDEBUG, "Error, could not open file {}", CURL::GetRedacted(strFile));
+@@ -335,7 +334,6 @@
+ avformat_close_input(&m_pFormatContext);
+ m_pFormatContext = avformat_alloc_context();
+ m_pFormatContext->interrupt_callback = int_cb;
+- m_pFormatContext->flags &= ~AVFMT_FLAG_PRIV_OPT;
+ AVDictionary* options = GetFFMpegOptionsFromInput();
+ av_dict_set_int(&options, "load_all_variants", 0, AV_OPT_SEARCH_CHILDREN);
+ if (avformat_open_input(&m_pFormatContext, strFile.c_str(), iformat, &options) < 0)
+@@ -422,9 +420,7 @@
+ // is present, we assume it is PCM audio.
+ // AC3 is always wrapped in iec61937 (ffmpeg "spdif"), while DTS
+ // may be just padded.
+- AVInputFormat* iformat2;
+- iformat2 = av_find_input_format("spdif");
+-
++ const AVInputFormat* iformat2 = av_find_input_format("spdif");
+ if (iformat2 && iformat2->read_probe(&pd) > AVPROBE_SCORE_MAX / 4)
+ {
+ iformat = iformat2;
+@@ -544,12 +540,6 @@
+ m_streaminfo = true;
+ }
+
+- if (iformat && (strcmp(iformat->name, "mov,mp4,m4a,3gp,3g2,mj2") == 0))
+- {
+- if (URIUtils::IsRemote(strFile))
+- m_pFormatContext->iformat->flags |= AVFMT_NOGENSEARCH;
+- }
+-
+ // we need to know if this is matroska, avi or sup later
+ m_bMatroska = strncmp(m_pFormatContext->iformat->name, "matroska", 8) == 0; // for "matroska.webm"
+ m_bAVI = strcmp(m_pFormatContext->iformat->name, "avi") == 0;
+@@ -604,9 +594,6 @@
+ // if format can be nonblocking, let's use that
+ m_pFormatContext->flags |= AVFMT_FLAG_NONBLOCK;
+
+- // deprecated, will be always set in future versions
+- m_pFormatContext->flags |= AVFMT_FLAG_KEEP_SIDE_DATA;
+-
+ UpdateCurrentPTS();
+
+ // select the correct program if requested
+@@ -647,7 +634,10 @@
+ {
+ int idx = m_pFormatContext->programs[i]->stream_index[j];
+ AVStream* st = m_pFormatContext->streams[idx];
+- if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO && st->codec_info_nb_frames > 0) ||
++ // Related to https://patchwork.ffmpeg.org/project/ffmpeg/patch/20210429143825.53040-1-jamrial@gmail.com/
++ // has been replaced with AVSTREAM_EVENT_FLAG_NEW_PACKETS.
++ if ((st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO &&
++ (st->event_flags & AVSTREAM_EVENT_FLAG_NEW_PACKETS)) ||
+ (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && st->codecpar->sample_rate > 0))
+ {
+ nProgram = i;
+@@ -1218,8 +1208,11 @@
+ else if (stream->type == STREAM_AUDIO)
+ {
+ CDemuxStreamAudioFFmpeg* audiostream = dynamic_cast<CDemuxStreamAudioFFmpeg*>(stream);
+- if (audiostream && (audiostream->iChannels != m_pFormatContext->streams[pPacket->iStreamId]->codecpar->channels ||
+- audiostream->iSampleRate != m_pFormatContext->streams[pPacket->iStreamId]->codecpar->sample_rate))
++ int codecparChannels =
++ m_pFormatContext->streams[pPacket->iStreamId]->codecpar->ch_layout.nb_channels;
++ if (audiostream && (audiostream->iChannels != codecparChannels ||
++ audiostream->iSampleRate !=
++ m_pFormatContext->streams[pPacket->iStreamId]->codecpar->sample_rate))
+ {
+ // content has changed
+ stream = AddStream(pPacket->iStreamId);
+@@ -1401,9 +1394,10 @@
+ if (idx >= 0)
+ {
+ AVStream* stream = m_pFormatContext->streams[idx];
+- if (stream && stream->cur_dts != (int64_t)AV_NOPTS_VALUE)
++
++ if (stream && m_pkt.pkt.dts != (int64_t)AV_NOPTS_VALUE)
+ {
+- double ts = ConvertTimestamp(stream->cur_dts, stream->time_base.den, stream->time_base.num);
++ double ts = ConvertTimestamp(m_pkt.pkt.dts, stream->time_base.den, stream->time_base.num);
+ m_currentPts = ts;
+ }
+ }
+@@ -1614,14 +1608,20 @@
+ {
+ CDemuxStreamAudioFFmpeg* st = new CDemuxStreamAudioFFmpeg(pStream);
+ stream = st;
+- st->iChannels = pStream->codecpar->channels;
++ int codecparChannels = pStream->codecpar->ch_layout.nb_channels;
++ int codecparChannelLayout = pStream->codecpar->ch_layout.u.mask;
++ st->iChannels = codecparChannels;
++ st->iChannelLayout = codecparChannelLayout;
+ st->iSampleRate = pStream->codecpar->sample_rate;
+ st->iBlockAlign = pStream->codecpar->block_align;
+ st->iBitRate = static_cast<int>(pStream->codecpar->bit_rate);
+ st->iBitsPerSample = pStream->codecpar->bits_per_raw_sample;
+- st->iChannelLayout = pStream->codecpar->channel_layout;
+ char buf[32] = {};
+- av_get_channel_layout_string(buf, 31, st->iChannels, st->iChannelLayout);
++ // https://github.com/FFmpeg/FFmpeg/blob/6ccc3989d15/doc/APIchanges#L50-L53
++ AVChannelLayout layout = {};
++ av_channel_layout_from_mask(&layout, st->iChannelLayout);
++ av_channel_layout_describe(&layout, buf, sizeof(buf));
++ av_channel_layout_uninit(&layout);
+ st->m_channelLayoutName = buf;
+ if (st->iBitsPerSample == 0)
+ st->iBitsPerSample = pStream->codecpar->bits_per_coded_sample;
+@@ -1663,16 +1663,6 @@
+ st->iFpsScale = 0;
+ }
+
+- if (pStream->codec_info_nb_frames > 0 &&
+- pStream->codec_info_nb_frames <= 2 &&
+- m_pInput->IsStreamType(DVDSTREAM_TYPE_DVD))
+- {
+- CLog::Log(LOGDEBUG, "{} - fps may be unreliable since ffmpeg decoded only {} frame(s)",
+- __FUNCTION__, pStream->codec_info_nb_frames);
+- st->iFpsRate = 0;
+- st->iFpsScale = 0;
+- }
+-
+ st->iWidth = pStream->codecpar->width;
+ st->iHeight = pStream->codecpar->height;
+ st->fAspect = SelectAspect(pStream, st->bForcedAspect);
+@@ -1693,7 +1683,8 @@
+ st->colorRange = pStream->codecpar->color_range;
+ st->hdr_type = DetermineHdrType(pStream);
+
+- int size = 0;
++ // https://github.com/FFmpeg/FFmpeg/blob/release/5.0/doc/APIchanges
++ size_t size = 0;
+ uint8_t* side_data = nullptr;
+
+ side_data = av_stream_get_side_data(pStream, AV_PKT_DATA_MASTERING_DISPLAY_METADATA, &size);
+@@ -2103,7 +2094,7 @@
+ return strName;
+ }
+
+- AVCodec* codec = avcodec_find_decoder(stream->codec);
++ const AVCodec* codec = avcodec_find_decoder(stream->codec);
+ if (codec)
+ strName = avcodec_get_name(codec->id);
+ }
+@@ -2158,8 +2149,8 @@
+ if (m_pFormatContext->streams[idx]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO)
+ {
+ CDemuxStreamAudioFFmpeg* audiostream = dynamic_cast<CDemuxStreamAudioFFmpeg*>(stream);
+- if (audiostream &&
+- m_pFormatContext->streams[idx]->codecpar->channels != audiostream->iChannels)
++ int codecparChannels = m_pFormatContext->streams[idx]->codecpar->ch_layout.nb_channels;
++ if (audiostream && codecparChannels != audiostream->iChannels)
+ {
+ return true;
+ }
+@@ -2279,7 +2270,7 @@
+
+ parser->second->m_parserCtx = av_parser_init(st->codecpar->codec_id);
+
+- AVCodec* codec = avcodec_find_decoder(st->codecpar->codec_id);
++ const AVCodec* codec = avcodec_find_decoder(st->codecpar->codec_id);
+ if (codec == nullptr)
+ {
+ CLog::Log(LOGERROR, "{} - can't find decoder", __FUNCTION__);
+@@ -2295,45 +2286,37 @@
+
+ if (parser->second->m_parserCtx &&
+ parser->second->m_parserCtx->parser &&
+- parser->second->m_parserCtx->parser->split &&
+ !st->codecpar->extradata)
+ {
+- int i = parser->second->m_parserCtx->parser->split(parser->second->m_codecCtx, pkt->data, pkt->size);
+- if (i > 0 && i < FF_MAX_EXTRADATA_SIZE)
++ auto [retExtraData, i] =
++ GetPacketExtradata(pkt, parser->second->m_parserCtx, parser->second->m_codecCtx);
++ if (i > 0)
+ {
+- st->codecpar->extradata = (uint8_t*)av_malloc(i + AV_INPUT_BUFFER_PADDING_SIZE);
+- if (st->codecpar->extradata)
++ st->codecpar->extradata_size = i;
++ st->codecpar->extradata = retExtraData;
++
++ if (parser->second->m_parserCtx->parser->parser_parse)
+ {
+- CLog::Log(LOGDEBUG,
+- "CDVDDemuxFFmpeg::ParsePacket() fetching extradata, extradata_size({})", i);
+- st->codecpar->extradata_size = i;
+- memcpy(st->codecpar->extradata, pkt->data, i);
+- memset(st->codecpar->extradata + i, 0, AV_INPUT_BUFFER_PADDING_SIZE);
++ parser->second->m_codecCtx->extradata = st->codecpar->extradata;
++ parser->second->m_codecCtx->extradata_size = st->codecpar->extradata_size;
++ const uint8_t* outbufptr;
++ int bufSize;
++ parser->second->m_parserCtx->flags |= PARSER_FLAG_COMPLETE_FRAMES;
++ parser->second->m_parserCtx->parser->parser_parse(parser->second->m_parserCtx,
++ parser->second->m_codecCtx, &outbufptr,
++ &bufSize, pkt->data, pkt->size);
++ parser->second->m_codecCtx->extradata = nullptr;
++ parser->second->m_codecCtx->extradata_size = 0;
+
+- if (parser->second->m_parserCtx->parser->parser_parse)
++ if (parser->second->m_parserCtx->width != 0)
+ {
+- parser->second->m_codecCtx->extradata = st->codecpar->extradata;
+- parser->second->m_codecCtx->extradata_size = st->codecpar->extradata_size;
+- const uint8_t* outbufptr;
+- int bufSize;
+- parser->second->m_parserCtx->flags |= PARSER_FLAG_COMPLETE_FRAMES;
+- parser->second->m_parserCtx->parser->parser_parse(parser->second->m_parserCtx,
+- parser->second->m_codecCtx,
+- &outbufptr, &bufSize,
+- pkt->data, pkt->size);
+- parser->second->m_codecCtx->extradata = nullptr;
+- parser->second->m_codecCtx->extradata_size = 0;
+-
+- if (parser->second->m_parserCtx->width != 0)
+- {
+- st->codecpar->width = parser->second->m_parserCtx->width;
+- st->codecpar->height = parser->second->m_parserCtx->height;
+- }
+- else
+- {
+- CLog::Log(LOGERROR, "CDVDDemuxFFmpeg::ParsePacket() invalid width/height");
+- }
++ st->codecpar->width = parser->second->m_parserCtx->width;
++ st->codecpar->height = parser->second->m_parserCtx->height;
+ }
++ else
++ {
++ CLog::Log(LOGERROR, "CDVDDemuxFFmpeg::ParsePacket() invalid width/height");
++ }
+ }
+ }
+ }
+@@ -2357,7 +2340,8 @@
+ {
+ if (!m_startTime)
+ {
+- m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
++ m_startTime =
++ av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+ m_seekStream = idx;
+ }
+ return TRANSPORT_STREAM_STATE::READY;
+@@ -2377,7 +2361,8 @@
+ {
+ if (!m_startTime)
+ {
+- m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
++ m_startTime =
++ av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+ m_seekStream = i;
+ }
+ return TRANSPORT_STREAM_STATE::READY;
+@@ -2410,7 +2395,8 @@
+ {
+ if (!m_startTime)
+ {
+- m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
++ m_startTime =
++ av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+ m_seekStream = idx;
+ }
+ return TRANSPORT_STREAM_STATE::READY;
+@@ -2430,7 +2416,8 @@
+ {
+ if (!m_startTime)
+ {
+- m_startTime = av_rescale(st->cur_dts, st->time_base.num, st->time_base.den) - 0.000001;
++ m_startTime =
++ av_rescale(m_pkt.pkt.dts, st->time_base.num, st->time_base.den) - 0.000001;
+ m_seekStream = i;
+ }
+ return TRANSPORT_STREAM_STATE::READY;
+diff -urN xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp.orig xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp
+--- xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/cores/VideoPlayer/DVDInputStreams/InputStreamAddon.cpp 2023-04-19 10:01:22.853712000 +0000
+@@ -12,6 +12,7 @@
+ #include "addons/addoninfo/AddonType.h"
+ #include "addons/binary-addons/AddonDll.h"
+ #include "addons/kodi-dev-kit/include/kodi/addon-instance/VideoCodec.h"
++#include "cores/FFmpeg.h"
+ #include "cores/VideoPlayer/DVDDemuxers/DVDDemux.h"
+ #include "cores/VideoPlayer/DVDDemuxers/DVDDemuxUtils.h"
+ #include "cores/VideoPlayer/Interface/DemuxCrypto.h"
+@@ -392,7 +393,7 @@
+ return nullptr;
+
+ std::string codecName(stream->m_codecName);
+- AVCodec* codec = nullptr;
++ const AVCodec* codec = nullptr;
+
+ if (stream->m_streamType != INPUTSTREAM_TYPE_TELETEXT &&
+ stream->m_streamType != INPUTSTREAM_TYPE_RDS && stream->m_streamType != INPUTSTREAM_TYPE_ID3)
+diff -urN xbmc/filesystem/AudioBookFileDirectory.cpp.orig xbmc/filesystem/AudioBookFileDirectory.cpp
+--- xbmc/filesystem/AudioBookFileDirectory.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/filesystem/AudioBookFileDirectory.cpp 2023-04-19 10:01:22.853859000 +0000
+@@ -11,6 +11,7 @@
+ #include "TextureDatabase.h"
+ #include "URL.h"
+ #include "Util.h"
++#include "cores/FFmpeg.h"
+ #include "filesystem/File.h"
+ #include "guilib/LocalizeStrings.h"
+ #include "music/tags/MusicInfoTag.h"
+@@ -149,7 +150,7 @@
+
+ m_ioctx->max_packet_size = 32768;
+
+- AVInputFormat* iformat=nullptr;
++ const AVInputFormat* iformat = nullptr;
+ av_probe_input_buffer(m_ioctx, &iformat, url.Get().c_str(), nullptr, 0, 0);
+
+ bool contains = false;
+diff -urN xbmc/guilib/FFmpegImage.cpp.orig xbmc/guilib/FFmpegImage.cpp
+--- xbmc/guilib/FFmpegImage.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/guilib/FFmpegImage.cpp 2023-04-19 10:01:30.832285000 +0000
+@@ -52,7 +52,7 @@
+ AVFrame* frame_temporary = nullptr;
+ SwsContext* sws = nullptr;
+ AVCodecContext* avOutctx = nullptr;
+- AVCodec* codec = nullptr;
++ const AVCodec* codec = nullptr;
+ ~ThumbDataManagement()
+ {
+ av_free(intermediateBuffer);
+@@ -198,7 +198,7 @@
+ bool is_png = (bufSize > 3 && buffer[1] == 'P' && buffer[2] == 'N' && buffer[3] == 'G');
+ bool is_tiff = (bufSize > 2 && buffer[0] == 'I' && buffer[1] == 'I' && buffer[2] == '*');
+
+- AVInputFormat* inp = nullptr;
++ const AVInputFormat* inp = nullptr;
+ if (is_jpeg)
+ inp = av_find_input_format("image2");
+ else if (m_strMimeType == "image/apng")
+@@ -236,7 +236,7 @@
+ return false;
+ }
+ AVCodecParameters* codec_params = m_fctx->streams[0]->codecpar;
+- AVCodec* codec = avcodec_find_decoder(codec_params->codec_id);
++ const AVCodec* codec = avcodec_find_decoder(codec_params->codec_id);
+ m_codec_ctx = avcodec_alloc_context3(codec);
+ if (!m_codec_ctx)
+ {
+@@ -294,7 +294,15 @@
+ return nullptr;
+ }
+ //we need milliseconds
+- frame->pkt_duration = av_rescale_q(frame->pkt_duration, m_fctx->streams[0]->time_base, AVRational{ 1, 1000 });
++
++#if LIBAVCODEC_VERSION_MAJOR < 60
++ frame->pkt_duration =
++ av_rescale_q(frame->pkt_duration, m_fctx->streams[0]->time_base, AVRational{1, 1000});
++#else
++ frame->duration =
++ av_rescale_q(frame->duration, m_fctx->streams[0]->time_base, AVRational{1, 1000});
++#endif
++
+ m_height = frame->height;
+ m_width = frame->width;
+ m_originalWidth = m_width;
+@@ -745,7 +753,13 @@
+ if (avframe == nullptr)
+ return nullptr;
+ std::shared_ptr<Frame> frame(new Frame());
++
++#if LIBAVCODEC_VERSION_MAJOR < 60
+ frame->m_delay = (unsigned int)avframe->pkt_duration;
++#else
++ frame->m_delay = (unsigned int)avframe->duration;
++#endif
++
+ frame->m_pitch = avframe->width * 4;
+ frame->m_pImage = (unsigned char*) av_malloc(avframe->height * frame->m_pitch);
+ DecodeFrame(avframe, avframe->width, avframe->height, frame->m_pitch, frame->m_pImage);
+diff -urN xbmc/music/tags/MusicInfoTagLoaderFFmpeg.cpp.orig xbmc/music/tags/MusicInfoTagLoaderFFmpeg.cpp
+--- xbmc/music/tags/MusicInfoTagLoaderFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/music/tags/MusicInfoTagLoaderFFmpeg.cpp 2023-04-19 10:01:22.854258000 +0000
+@@ -58,7 +58,7 @@
+ if (file.IoControl(IOCTRL_SEEK_POSSIBLE, NULL) != 1)
+ ioctx->seekable = 0;
+
+- AVInputFormat* iformat=NULL;
++ const AVInputFormat* iformat = nullptr;
+ av_probe_input_buffer(ioctx, &iformat, strFileName.c_str(), NULL, 0, 0);
+
+ if (avformat_open_input(&fctx, strFileName.c_str(), iformat, NULL) < 0)
+diff -urN xbmc/video/tags/VideoTagLoaderFFmpeg.cpp.orig xbmc/video/tags/VideoTagLoaderFFmpeg.cpp
+--- xbmc/video/tags/VideoTagLoaderFFmpeg.cpp.orig 2023-03-11 22:16:38.000000000 +0000
++++ xbmc/video/tags/VideoTagLoaderFFmpeg.cpp 2023-04-19 10:01:22.854418000 +0000
+@@ -65,7 +65,7 @@
+ if (m_file->IoControl(IOCTRL_SEEK_POSSIBLE, nullptr) != 1)
+ m_ioctx->seekable = 0;
+
+- AVInputFormat* iformat = nullptr;
++ const AVInputFormat* iformat = nullptr;
+ av_probe_input_buffer(m_ioctx, &iformat, m_item.GetPath().c_str(), nullptr, 0, 0);
+ if (avformat_open_input(&m_fctx, m_item.GetPath().c_str(), iformat, nullptr) < 0)
+ {
diff --git a/multimedia/kodi/files/patch-libfmt b/multimedia/kodi/files/patch-libfmt
deleted file mode 100644
index 5a9f248df936..000000000000
--- a/multimedia/kodi/files/patch-libfmt
+++ /dev/null
@@ -1,13 +0,0 @@
---- xbmc/utils/StringUtils.h.orig 2021-05-08 16:20:52 UTC
-+++ xbmc/utils/StringUtils.h
-@@ -37,6 +37,10 @@
- #include <fmt/printf.h>
- #endif
-
-+#if FMT_VERSION >= 80000
-+#include <fmt/xchar.h>
-+#endif
-+
- #include "XBDateTime.h"
- #include "utils/params_check_macros.h"
-
diff --git a/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp
new file mode 100644
index 000000000000..4dc4300bfee4
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Sinks_AESinkALSA.cpp
@@ -0,0 +1,16 @@
+--- xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp.orig 2022-05-22 10:57:33 UTC
++++ xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+@@ -949,13 +949,6 @@ void CAESinkALSA::HandleError(const char* name, int er
+ {
+ case -EPIPE:
+ CLog::Log(LOGERROR, "CAESinkALSA::HandleError({}) - underrun", name);
+- if ((err = snd_pcm_prepare(m_pcm)) < 0)
+- CLog::Log(LOGERROR, "CAESinkALSA::HandleError({}) - snd_pcm_prepare returned {} ({})", name,
+- err, snd_strerror(err));
+- break;
+-
+- case -ESTRPIPE:
+- CLog::Log(LOGINFO, "CAESinkALSA::HandleError({}) - Resuming after suspend", name);
+
+ /* try to resume the stream */
+ while((err = snd_pcm_resume(m_pcm)) == -EAGAIN)
diff --git a/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp
new file mode 100644
index 000000000000..05038e7087d1
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_cores_AudioEngine_Utils_AEELDParser.cpp
@@ -0,0 +1,11 @@
+--- xbmc/cores/AudioEngine/Utils/AEELDParser.cpp.orig 2022-05-22 11:38:07 UTC
++++ xbmc/cores/AudioEngine/Utils/AEELDParser.cpp
+@@ -72,7 +72,7 @@ typedef struct
+ #define CEA_861_FORMAT_WMAPRO 14
+ #define CEA_861_FORMAT_RESERVED2 15
+
+-#define rtrim(s) s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun<int, int>(std::isspace))).base(), s.end())
++#define rtrim(s) s.erase(std::find_if(s.rbegin(), s.rend(), [](unsigned char c) { return !std::isspace(c); }).base(), s.end())
+
+ void CAEELDParser::Parse(const uint8_t *data, size_t length, CAEDeviceInfo& info)
+ {
diff --git a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp b/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp
deleted file mode 100644
index 462b382cced0..000000000000
--- a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
---- xbmc/dbwrappers/mysqldataset.cpp.orig 2021-01-18 00:42:21 UTC
-+++ xbmc/dbwrappers/mysqldataset.cpp
-@@ -18,10 +18,8 @@
- #include <iostream>
- #include <set>
- #include <string>
--#ifdef HAS_MYSQL
-+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
- #include <mysql/errmsg.h>
--#elif defined(HAS_MARIADB)
--#include <mariadb/errmsg.h>
- #endif
-
- #ifdef TARGET_POSIX
diff --git a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h b/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h
deleted file mode 100644
index a8e8cbef8062..000000000000
--- a/multimedia/kodi/files/patch-xbmc_dbwrappers_mysqldataset.h
+++ /dev/null
@@ -1,14 +0,0 @@
---- xbmc/dbwrappers/mysqldataset.h.orig 2020-10-04 17:37:02 UTC
-+++ xbmc/dbwrappers/mysqldataset.h
-@@ -10,10 +10,8 @@
-
- #include <stdio.h>
- #include "dataset.h"
--#ifdef HAS_MYSQL
-+#if defined(HAS_MYSQL) || defined(HAS_MARIADB)
- #include <mysql/mysql.h>
--#elif defined(HAS_MARIADB)
--#include <mariadb/mysql.h>
- #endif
-
- namespace dbiplus {
diff --git a/multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp b/multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp
new file mode 100644
index 000000000000..e28fc5a7e1d2
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_platform_linux_peripherals_PeripheralBusUSBLibUSB.cpp
@@ -0,0 +1,11 @@
+--- xbmc/platform/linux/peripherals/PeripheralBusUSBLibUSB.cpp.orig 2022-05-22 14:00:05 UTC
++++ xbmc/platform/linux/peripherals/PeripheralBusUSBLibUSB.cpp
+@@ -42,7 +42,7 @@ bool CPeripheralBusUSB::PerformDeviceScan(PeripheralSc
+ GetType(dev->config[0].interface[0].altsetting[0].bInterfaceClass) :
+ GetType(dev->descriptor.bDeviceClass);
+ #ifdef TARGET_FREEBSD
+- result.m_strLocation = std::to_string(dev->filename);
++ result.m_strLocation = dev->filename;
+ #else
+ result.m_strLocation = StringUtils::Format("/bus{}/dev{}", bus->dirname, dev->filename);
+ #endif
diff --git a/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h b/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h
index b7cddf6e9e73..5c99282ac118 100644
--- a/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h
+++ b/multimedia/kodi/files/patch-xbmc_platform_linux_storage_UDisks2Provider.h
@@ -1,6 +1,6 @@
---- xbmc/platform/linux/storage/UDisks2Provider.h.orig 2020-07-16 09:15:42 UTC
+--- xbmc/platform/linux/storage/UDisks2Provider.h.orig 2022-07-08 10:04:52 UTC
+++ xbmc/platform/linux/storage/UDisks2Provider.h
-@@ -40,7 +40,7 @@ class CUDisks2Provider : public IStorageProvider
+@@ -46,7 +46,7 @@ class CUDisks2Provider : public IStorageProvider
std::string m_label;
std::string m_device;
bool m_isSystem = false;
diff --git a/multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp b/multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp
new file mode 100644
index 000000000000..81127dba644b
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_platform_posix_filesystem_SMBWSDiscoveryListener.cpp
@@ -0,0 +1,10 @@
+--- xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp.orig 2022-05-22 10:20:23 UTC
++++ xbmc/platform/posix/filesystem/SMBWSDiscoveryListener.cpp
+@@ -27,6 +27,7 @@
+ #include <arpa/inet.h>
+ #include <fmt/format.h>
+ #include <sys/select.h>
++#include <sys/socket.h>
+ #include <unistd.h>
+
+ using namespace WSDiscovery;
diff --git a/multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp b/multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp
new file mode 100644
index 000000000000..48614eccf725
--- /dev/null
+++ b/multimedia/kodi/files/patch-xbmc_utils_StringUtils.cpp
@@ -0,0 +1,11 @@
+--- xbmc/utils/StringUtils.cpp.orig 2022-05-22 09:59:08 UTC
++++ xbmc/utils/StringUtils.cpp
+@@ -17,7 +17,7 @@
+ //------------------------------------------------------------------------
+
+ #ifdef HAVE_NEW_CROSSGUID
+-#include <crossguid/guid.hpp>
++#include <guid.hpp>
+ #else
+ #include <guid.h>
+ #endif
diff --git a/multimedia/kodi/pkg-descr b/multimedia/kodi/pkg-descr
index 5d594b6fbd84..bdba1677842a 100644
--- a/multimedia/kodi/pkg-descr
+++ b/multimedia/kodi/pkg-descr
@@ -2,5 +2,3 @@ Kodi (formerly known as XBMC) is a free and open source cross-platform
media-player and entertainment hub. It allows users to play and view
most videos, music, podcasts, and other digital media files from local
and network storage media and the internet.
-
-WWW: http://kodi.tv/
diff --git a/multimedia/kodi/pkg-message b/multimedia/kodi/pkg-message
index 47e2beb4c994..3cf73d07d67d 100644
--- a/multimedia/kodi/pkg-message
+++ b/multimedia/kodi/pkg-message
@@ -12,7 +12,7 @@ make config
[ In the configuration menu, enable the libdvdcss option ]
-make deinstall reinstall
+make deinstall install
EOM
}
diff --git a/multimedia/kodi/pkg-plist b/multimedia/kodi/pkg-plist
index 7a4fad389e81..df3e5660dd4b 100644
--- a/multimedia/kodi/pkg-plist
+++ b/multimedia/kodi/pkg-plist
@@ -1,6 +1,6 @@
bin/JsonSchemaBuilder
-bin/TexturePacker
bin/kodi
+bin/kodi-TexturePacker
bin/kodi-standalone
include/kodi/AddonBase.h
include/kodi/AudioEngine.h
@@ -30,13 +30,14 @@ include/kodi/addon-instance/pvr/EDL.h
include/kodi/addon-instance/pvr/EPG.h
include/kodi/addon-instance/pvr/General.h
include/kodi/addon-instance/pvr/MenuHook.h
+include/kodi/addon-instance/pvr/Providers.h
include/kodi/addon-instance/pvr/Recordings.h
include/kodi/addon-instance/pvr/Stream.h
include/kodi/addon-instance/pvr/Timers.h
-include/kodi/c-api/addon-instance/audio_decoder.h
-include/kodi/c-api/addon-instance/audio_encoder.h
+include/kodi/c-api/addon-instance/audiodecoder.h
+include/kodi/c-api/addon-instance/audioencoder.h
include/kodi/c-api/addon-instance/game.h
-include/kodi/c-api/addon-instance/image_decoder.h
+include/kodi/c-api/addon-instance/imagedecoder.h
include/kodi/c-api/addon-instance/inputstream.h
include/kodi/c-api/addon-instance/inputstream/demux_packet.h
include/kodi/c-api/addon-instance/inputstream/stream_codec.h
@@ -52,6 +53,7 @@ include/kodi/c-api/addon-instance/pvr/pvr_edl.h
include/kodi/c-api/addon-instance/pvr/pvr_epg.h
include/kodi/c-api/addon-instance/pvr/pvr_general.h
include/kodi/c-api/addon-instance/pvr/pvr_menu_hook.h
+include/kodi/c-api/addon-instance/pvr/pvr_providers.h
include/kodi/c-api/addon-instance/pvr/pvr_recordings.h
include/kodi/c-api/addon-instance/pvr/pvr_stream.h
include/kodi/c-api/addon-instance/pvr/pvr_timers.h
@@ -129,6 +131,7 @@ include/kodi/tools/StringUtils.h
include/kodi/tools/Thread.h
include/kodi/tools/Timer.h
include/kodi/versions.h
+lib/kodi/cmake/KodiConfig.cmake
%%KODIGBM%%lib/kodi/kodi-gbm
%%KODIWAYLAND%%lib/kodi/kodi-wayland
%%KODIX11%%lib/kodi/kodi-x11
@@ -136,8 +139,6 @@ include/kodi/versions.h
%%X11%%lib/kodi/kodi-xrandr
%%SSE4_1%%lib/kodi/system/libsse4-%%ARCH%%-freebsd.so
lib/kodi/system/players/VideoPlayer/libdvdnav-%%ARCH%%-freebsd.so
-share/man/man1/kodi.1.gz
-share/man/man1/kodi.bin.1.gz
share/applications/kodi.desktop
%%PORTDOCS%%%%DOCSDIR%%/LICENSE.md
%%PORTDOCS%%%%DOCSDIR%%/README.Linux.md
@@ -152,17 +153,170 @@ share/icons/hicolor/48x48/apps/kodi.png
share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/addon.xml
%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/icon.png
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_au/strings.po
%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/language/resource.language.zh_tw/strings.po
%%DATADIR%%/addons/audioencoder.kodi.builtin.aac/resources/settings.xml
%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/addon.xml
%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/icon.png
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_au/strings.po
%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/language/resource.language.zh_tw/strings.po
%%DATADIR%%/addons/audioencoder.kodi.builtin.wma/resources/settings.xml
%%DATADIR%%/addons/game.controller.default/addon.xml
%%DATADIR%%/addons/game.controller.default/resources/icon.png
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.af_za/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.am_et/strings.po
-%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.ar_ma/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.ar_sa/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.ast_es/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.az_az/strings.po
@@ -188,6 +342,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fa_af/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fa_ir/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fil/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fo_fo/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fr_ca/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.fr_fr/strings.po
@@ -219,10 +374,8 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.pl_pl/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.pt_br/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.pt_pt/strings.po
-%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.ro_md/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.ro_ro/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.ru_ru/strings.po
-%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.scn/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.si_lk/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.sk_sk/strings.po
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.sl_si/strings.po
@@ -243,11 +396,174 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/game.controller.default/resources/language/resource.language.zh_tw/strings.po
%%DATADIR%%/addons/game.controller.default/resources/layout.png
%%DATADIR%%/addons/game.controller.default/resources/layout.xml
+%%DATADIR%%/addons/game.controller.keyboard/addon.xml
+%%DATADIR%%/addons/game.controller.keyboard/resources/icon.png
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_au/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/language/resource.language.zh_tw/strings.po
+%%DATADIR%%/addons/game.controller.keyboard/resources/layout.png
+%%DATADIR%%/addons/game.controller.keyboard/resources/layout.xml
+%%DATADIR%%/addons/game.controller.mouse/addon.xml
+%%DATADIR%%/addons/game.controller.mouse/resources/icon.png
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.af_za/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.am_et/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ar_sa/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ast_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.az_az/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.be_by/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.bg_bg/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.bs_ba/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ca_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.cs_cz/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.cy_gb/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.da_dk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.de_de/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.el_gr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_au/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_gb/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_nz/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.en_us/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.eo/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.es_ar/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.es_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.es_mx/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.et_ee/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.eu_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fa_af/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fa_ir/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fo_fo/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fr_ca/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.fr_fr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.gl_es/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.he_il/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hi_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hr_hr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hu_hu/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.hy_am/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.id_id/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.is_is/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.it_it/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ja_jp/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.kn_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ko_kr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.lt_lt/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.lv_lv/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mi/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mk_mk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ml_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mn_mn/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ms_my/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.mt_mt/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.my_mm/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.nb_no/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.nl_nl/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.oc_fr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.os_os/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.pl_pl/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.pt_br/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.pt_pt/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ro_ro/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ru_ru/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.si_lk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sk_sk/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sl_si/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sq_al/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sr_rs/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sr_rs@latin/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.sv_se/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.szl/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.ta_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.te_in/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.tg_tj/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.th_th/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.tr_tr/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.uk_ua/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.uz_uz/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.vi_vn/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.zh_cn/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/language/resource.language.zh_tw/strings.po
+%%DATADIR%%/addons/game.controller.mouse/resources/layout.png
+%%DATADIR%%/addons/game.controller.mouse/resources/layout.xml
%%DATADIR%%/addons/game.controller.snes/addon.xml
%%DATADIR%%/addons/game.controller.snes/resources/icon.png
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.af_za/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.am_et/strings.po
-%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.ar_ma/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.ar_sa/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.ast_es/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.az_az/strings.po
@@ -273,6 +589,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fa_af/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fa_ir/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fil/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fo_fo/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fr_ca/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.fr_fr/strings.po
@@ -304,10 +621,8 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.pl_pl/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.pt_br/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.pt_pt/strings.po
-%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.ro_md/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.ro_ro/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.ru_ru/strings.po
-%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.scn/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.si_lk/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.sk_sk/strings.po
%%DATADIR%%/addons/game.controller.snes/resources/language/resource.language.sl_si/strings.po
@@ -477,19 +792,12 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/metadata.common.fanart.tv/addon.xml
%%DATADIR%%/addons/metadata.common.fanart.tv/fanarttv.xml
%%DATADIR%%/addons/metadata.common.fanart.tv/icon.png
-%%DATADIR%%/addons/metadata.common.imdb.com/addon.xml
-%%DATADIR%%/addons/metadata.common.imdb.com/changelog.txt
-%%DATADIR%%/addons/metadata.common.imdb.com/icon.png
-%%DATADIR%%/addons/metadata.common.imdb.com/imdb.xml
%%DATADIR%%/addons/metadata.common.musicbrainz.org/addon.xml
%%DATADIR%%/addons/metadata.common.musicbrainz.org/icon.png
%%DATADIR%%/addons/metadata.common.musicbrainz.org/musicbrainz.xml
%%DATADIR%%/addons/metadata.common.theaudiodb.com/addon.xml
%%DATADIR%%/addons/metadata.common.theaudiodb.com/icon.png
%%DATADIR%%/addons/metadata.common.theaudiodb.com/tadb.xml
-%%DATADIR%%/addons/metadata.common.themoviedb.org/addon.xml
-%%DATADIR%%/addons/metadata.common.themoviedb.org/icon.png
-%%DATADIR%%/addons/metadata.common.themoviedb.org/tmdb.xml
%%DATADIR%%/addons/metadata.generic.albums/LICENSE.txt
%%DATADIR%%/addons/metadata.generic.albums/addon.xml
%%DATADIR%%/addons/metadata.generic.albums/changelog.txt
@@ -746,70 +1054,9 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_cn/strings.po
%%DATADIR%%/addons/metadata.themoviedb.org.python/resources/language/resource.language.zh_tw/strings.po
%%DATADIR%%/addons/metadata.themoviedb.org.python/resources/settings.xml
-%%DATADIR%%/addons/metadata.themoviedb.org/addon.xml
-%%DATADIR%%/addons/metadata.themoviedb.org/changelog.txt
-%%DATADIR%%/addons/metadata.themoviedb.org/icon.png
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.af_za/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.am_et/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.be_by/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.bg_bg/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ca_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.cs_cz/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.cy_gb/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.da_dk/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.de_de/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.el_gr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.en_gb/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.en_nz/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.en_us/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.es_ar/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.es_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.es_mx/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.et_ee/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.eu_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.fi_fi/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.fr_ca/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.fr_fr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.gl_es/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.he_il/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.hi_in/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.hr_hr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.hu_hu/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.id_id/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.is_is/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.it_it/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ja_jp/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ko_kr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.lt_lt/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.mk_mk/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ml_in/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ms_my/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.my_mm/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.nb_no/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.nl_nl/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.pl_pl/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.pt_br/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.pt_pt/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ro_ro/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ru_ru/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sk_sk/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sl_si/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sq_al/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.sv_se/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.ta_in/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.th_th/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.tr_tr/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.uk_ua/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.uz_uz/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.vi_vn/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.zh_cn/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/language/resource.language.zh_tw/strings.po
-%%DATADIR%%/addons/metadata.themoviedb.org/resources/settings.xml
-%%DATADIR%%/addons/metadata.themoviedb.org/tmdb.xml
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/LICENSE.txt
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/addon.xml
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/changelog.txt
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/libs/__init__.py
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/libs/actions.py
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/libs/api_utils.py
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/libs/cache.py
@@ -824,67 +1071,6 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/resources/icon.png
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/resources/language/resource.language.en_gb/strings.po
%%DATADIR%%/addons/metadata.tvshows.themoviedb.org.python/resources/settings.xml
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/LICENSE.TXT
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/addon.xml
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/changelog.txt
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/icon.png
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Afrikaans/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Albanian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Amharic/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Basque/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Belarusian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Bulgarian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Burmese/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Catalan/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Chinese (Simple)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Chinese (Traditional)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Croatian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Czech/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Danish/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Dutch/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/English (New Zealand)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/English (US)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/English/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Estonian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Finnish/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/French (Canada)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/French/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Galician/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/German/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Greek/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Hebrew/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Hindi (Devanagiri)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Hungarian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Icelandic/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Indonesian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Italian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Japanese/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Korean/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Lithuanian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Macedonian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Malay/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Malayalam/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Norwegian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Polish/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Portuguese (Brazil)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Portuguese/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Romanian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Russian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Slovak/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Slovenian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Spanish (Argentina)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Spanish (Mexico)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Spanish/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Swedish/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Tamil (India)/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Thai/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Turkish/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Ukrainian/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Uzbek/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Vietnamese/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/language/Welsh/strings.po
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/resources/settings.xml
-%%DATADIR%%/addons/metadata.tvshows.themoviedb.org/tmdb.xml
%%DATADIR%%/addons/repository.xbmc.org/addon.xml
%%DATADIR%%/addons/repository.xbmc.org/icon.png
%%DATADIR%%/addons/resource.images.weathericons.default/License.txt
@@ -1162,6 +1348,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estouchy/language/resource.language.fa_af/strings.po
%%DATADIR%%/addons/skin.estouchy/language/resource.language.fa_ir/strings.po
%%DATADIR%%/addons/skin.estouchy/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/skin.estouchy/language/resource.language.fil/strings.po
%%DATADIR%%/addons/skin.estouchy/language/resource.language.fo_fo/strings.po
%%DATADIR%%/addons/skin.estouchy/language/resource.language.fr_ca/strings.po
%%DATADIR%%/addons/skin.estouchy/language/resource.language.fr_fr/strings.po
@@ -1234,6 +1421,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estouchy/xml/DialogAddonSettings.xml
%%DATADIR%%/addons/skin.estouchy/xml/DialogBusy.xml
%%DATADIR%%/addons/skin.estouchy/xml/DialogButtonMenu.xml
+%%DATADIR%%/addons/skin.estouchy/xml/DialogColorPicker.xml
%%DATADIR%%/addons/skin.estouchy/xml/DialogConfirm.xml
%%DATADIR%%/addons/skin.estouchy/xml/DialogContextMenu.xml
%%DATADIR%%/addons/skin.estouchy/xml/DialogExtendedProgressBar.xml
@@ -1369,6 +1557,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estuary/language/resource.language.fa_af/strings.po
%%DATADIR%%/addons/skin.estuary/language/resource.language.fa_ir/strings.po
%%DATADIR%%/addons/skin.estuary/language/resource.language.fi_fi/strings.po
+%%DATADIR%%/addons/skin.estuary/language/resource.language.fil/strings.po
%%DATADIR%%/addons/skin.estuary/language/resource.language.fo_fo/strings.po
%%DATADIR%%/addons/skin.estuary/language/resource.language.fr_ca/strings.po
%%DATADIR%%/addons/skin.estuary/language/resource.language.fr_fr/strings.po
@@ -1468,6 +1657,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estuary/xml/DialogAddonSettings.xml
%%DATADIR%%/addons/skin.estuary/xml/DialogBusy.xml
%%DATADIR%%/addons/skin.estuary/xml/DialogButtonMenu.xml
+%%DATADIR%%/addons/skin.estuary/xml/DialogColorPicker.xml
%%DATADIR%%/addons/skin.estuary/xml/DialogConfirm.xml
%%DATADIR%%/addons/skin.estuary/xml/DialogContextMenu.xml
%%DATADIR%%/addons/skin.estuary/xml/DialogExtendedProgressBar.xml
@@ -1507,6 +1697,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estuary/xml/Includes_Animations.xml
%%DATADIR%%/addons/skin.estuary/xml/Includes_Buttons.xml
%%DATADIR%%/addons/skin.estuary/xml/Includes_DialogSelect.xml
+%%DATADIR%%/addons/skin.estuary/xml/Includes_Games.xml
%%DATADIR%%/addons/skin.estuary/xml/Includes_Home.xml
%%DATADIR%%/addons/skin.estuary/xml/Includes_MediaMenu.xml
%%DATADIR%%/addons/skin.estuary/xml/Includes_MusicInfo.xml
@@ -1514,6 +1705,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estuary/xml/LoginScreen.xml
%%DATADIR%%/addons/skin.estuary/xml/MusicOSD.xml
%%DATADIR%%/addons/skin.estuary/xml/MusicVisualisation.xml
+%%DATADIR%%/addons/skin.estuary/xml/MyFavourites.xml
%%DATADIR%%/addons/skin.estuary/xml/MyGames.xml
%%DATADIR%%/addons/skin.estuary/xml/MyMusicNav.xml
%%DATADIR%%/addons/skin.estuary/xml/MyMusicPlaylistEditor.xml
@@ -1539,6 +1731,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/addons/skin.estuary/xml/SmartPlaylistEditor.xml
%%DATADIR%%/addons/skin.estuary/xml/SmartPlaylistRule.xml
%%DATADIR%%/addons/skin.estuary/xml/Startup.xml
+%%DATADIR%%/addons/skin.estuary/xml/Timers.xml
%%DATADIR%%/addons/skin.estuary/xml/Variables.xml
%%DATADIR%%/addons/skin.estuary/xml/VideoFullScreen.xml
%%DATADIR%%/addons/skin.estuary/xml/VideoOSD.xml
@@ -1719,7 +1912,6 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/cmake/GenerateVersionedFiles.cmake
%%DATADIR%%/cmake/GeneratorSetup.cmake
%%DATADIR%%/cmake/HandleDepends.cmake
-%%DATADIR%%/cmake/KodiConfig.cmake
%%DATADIR%%/cmake/Macros.cmake
%%DATADIR%%/cmake/PathSetup.cmake
%%DATADIR%%/cmake/PrepareEnv.cmake
@@ -1740,6 +1932,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/system/addon-manifest.xml
%%DATADIR%%/system/certs/cacert.pem
%%DATADIR%%/system/colors.xml
+%%DATADIR%%/system/dialogcolors.xml
%%DATADIR%%/system/keyboardlayouts/arabic.xml
%%DATADIR%%/system/keyboardlayouts/bulgarian.xml
%%DATADIR%%/system/keyboardlayouts/chinese.xml
@@ -1747,6 +1940,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/system/keyboardlayouts/czech.xml
%%DATADIR%%/system/keyboardlayouts/danish.xml
%%DATADIR%%/system/keyboardlayouts/english.xml
+%%DATADIR%%/system/keyboardlayouts/estonian.xml
%%DATADIR%%/system/keyboardlayouts/french.xml
%%DATADIR%%/system/keyboardlayouts/german.xml
%%DATADIR%%/system/keyboardlayouts/greek.xml
@@ -1955,5 +2149,7 @@ share/icons/hicolor/64x64/apps/kodi.png
%%DATADIR%%/userdata/ModeLines_template.xml
%%DATADIR%%/userdata/RssFeeds.xml
%%DATADIR%%/userdata/iOS/sources.xml
+share/man/man1/kodi.1.gz
+share/man/man1/kodi.bin.1.gz
share/metainfo/org.xbmc.kodi.metainfo.xml
share/xsessions/kodi.desktop
diff --git a/multimedia/kooha/Makefile b/multimedia/kooha/Makefile
index da68fea93758..4e813ec8d8f1 100644
--- a/multimedia/kooha/Makefile
+++ b/multimedia/kooha/Makefile
@@ -1,223 +1,38 @@
PORTNAME= kooha
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.1
-PORTREVISION= 7
-CATEGORIES= multimedia
+DISTVERSION= 2.3.0
+PORTREVISION= 1
+CATEGORIES= multimedia wayland
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Elegantly record your screen
+WWW= https://github.com/SeaDve/Kooha
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libpulse.so:audio/pulseaudio \
- libgraphene-1.0.so:graphics/graphene
+LIB_DEPENDS= libgraphene-1.0.so:graphics/graphene
+RUN_DEPENDS= ${LOCALBASE}/lib/gstreamer-1.0/libgstgtk4.so:multimedia/gstreamer1-plugins-rust
-USES= cargo gettext gnome gstreamer meson pkgconfig python:build shebangfix
+USES= cargo gettext gnome gstreamer meson pkgconfig
USE_GITHUB= yes
-USE_GNOME= gtk40 libadwaita
-USE_GSTREAMER= good opus pulse vpx
+USE_GNOME= cairo gtk40 libadwaita
+USE_GSTREAMER= gl good opus pulse vpx
GH_ACCOUNT= SeaDve
GH_PROJECT= Kooha
-SHEBANG_FILES= build-aux/meson_post_install.py
MAKE_ENV= ${CARGO_ENV}
-GLIB_SCHEMAS= io.github.seadve.Kooha.gschema.xml
-
-CARGO_CRATES= aho-corasick-0.7.18 \
- anyhow-1.0.44 \
- approx-0.5.0 \
- ashpd-0.2.0-alpha-4 \
- async-broadcast-0.3.4 \
- async-channel-1.6.1 \
- async-executor-1.4.1 \
- async-io-1.6.0 \
- async-lock-2.4.0 \
- async-recursion-0.3.2 \
- async-task-4.0.3 \
- atomic_refcell-0.1.7 \
- atty-0.2.14 \
- autocfg-1.0.1 \
- bitflags-1.2.1 \
- block-0.1.6 \
- byteorder-1.4.3 \
- cache-padded-1.1.1 \
- cairo-rs-0.14.7 \
- cairo-sys-rs-0.14.0 \
- cc-1.0.70 \
- cfg-expr-0.8.1 \
- cfg-expr-0.9.0 \
- cfg-if-1.0.0 \
- chrono-0.4.19 \
- color_quant-1.1.0 \
- concurrent-queue-1.2.2 \
- derivative-2.2.0 \
- dlib-0.5.0 \
- downcast-rs-1.2.0 \
- easy-parallel-3.1.0 \
- either-1.6.1 \
- enumflags2-0.6.4 \
- enumflags2_derive-0.6.4 \
- env_logger-0.7.1 \
- event-listener-2.5.1 \
- fastrand-1.5.0 \
- field-offset-0.3.4 \
- futures-0.3.17 \
- futures-channel-0.3.17 \
- futures-core-0.3.17 \
- futures-executor-0.3.17 \
- futures-io-0.3.17 \
- futures-lite-1.12.0 \
- futures-macro-0.3.17 \
- futures-sink-0.3.17 \
- futures-task-0.3.17 \
- futures-util-0.3.17 \
- gdk-pixbuf-0.14.0 \
- gdk-pixbuf-sys-0.14.0 \
- gdk4-0.3.0 \
- gdk4-sys-0.3.0 \
- gdk4-wayland-0.3.0 \
- gdk4-wayland-sys-0.3.0 \
- gdk4-x11-0.3.0 \
- gdk4-x11-sys-0.3.0 \
- getrandom-0.2.3 \
- gettext-rs-0.7.0 \
- gettext-sys-0.21.2 \
- gif-0.11.2 \
- gio-0.14.6 \
- gio-sys-0.14.0 \
- glib-0.14.5 \
- glib-macros-0.14.1 \
- glib-sys-0.14.0 \
- gobject-sys-0.14.0 \
- graphene-rs-0.14.0 \
- graphene-sys-0.14.0 \
- gsk4-0.3.0 \
- gsk4-sys-0.3.0 \
- gst-plugin-gif-0.7.2 \
- gst-plugin-version-helper-0.7.1 \
- gstreamer-0.17.4 \
- gstreamer-base-0.17.2 \
- gstreamer-base-sys-0.17.0 \
- gstreamer-sys-0.17.3 \
- gstreamer-video-0.17.2 \
- gstreamer-video-sys-0.17.0 \
- gtk4-0.3.0 \
- gtk4-macros-0.3.0 \
- gtk4-sys-0.3.0 \
- heck-0.3.3 \
- hermit-abi-0.1.19 \
- hex-0.4.3 \
- humantime-1.3.0 \
- instant-0.1.10 \
- itertools-0.10.1 \
- lazy_static-1.4.0 \
- libadwaita-0.1.0-alpha-5 \
- libadwaita-sys-0.1.0-alpha-5 \
- libc-0.2.102 \
- libloading-0.7.0 \
- libpulse-binding-2.25.0 \
- libpulse-sys-1.19.2 \
- locale_config-0.3.0 \
- log-0.4.14 \
- malloc_buf-0.0.6 \
- memchr-2.4.1 \
- memoffset-0.6.4 \
- muldiv-1.0.0 \
- nix-0.20.1 \
- nix-0.21.1 \
- num-derive-0.3.3 \
- num-integer-0.1.44 \
- num-rational-0.4.0 \
- num-traits-0.2.14 \
- objc-0.2.7 \
- objc-foundation-0.1.1 \
- objc_id-0.1.1 \
- once_cell-1.8.0 \
- pango-0.14.3 \
- pango-sys-0.14.0 \
- parking-2.0.0 \
- paste-1.0.5 \
- pest-2.1.3 \
- pin-project-lite-0.2.7 \
- pin-utils-0.1.0 \
- pkg-config-0.3.19 \
- polling-2.1.0 \
- ppv-lite86-0.2.10 \
- pretty-hex-0.2.1 \
- pretty_env_logger-0.4.0 \
- proc-macro-crate-1.1.0 \
- proc-macro-error-1.0.4 \
- proc-macro-error-attr-1.0.4 \
- proc-macro-hack-0.5.19 \
- proc-macro-nested-0.1.7 \
- proc-macro2-1.0.29 \
- pulsectl-rs-0.3.2 \
- quick-error-1.2.3 \
- quote-1.0.9 \
- rand-0.8.4 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- rand_hc-0.3.1 \
- regex-1.5.4 \
- regex-syntax-0.6.25 \
- rustc_version-0.3.3 \
- scoped-tls-1.0.0 \
- semver-0.11.0 \
- semver-parser-0.10.2 \
- serde-1.0.130 \
- serde_derive-1.0.130 \
- serde_repr-0.1.7 \
- sha1-0.6.0 \
- slab-0.4.4 \
- slotmap-1.0.6 \
- smallvec-1.6.1 \
- socket2-0.4.2 \
- static_assertions-1.1.0 \
- strum-0.21.0 \
- strum_macros-0.21.1 \
- syn-1.0.76 \
- system-deps-3.2.0 \
- system-deps-4.0.0 \
- temp-dir-0.1.11 \
- termcolor-1.1.2 \
- thiserror-1.0.29 \
- thiserror-impl-1.0.29 \
- time-0.1.43 \
- toml-0.5.8 \
- tracing-0.1.28 \
- tracing-attributes-0.1.16 \
- tracing-core-0.1.20 \
- ucd-trie-0.1.3 \
- unicode-segmentation-1.8.0 \
- unicode-xid-0.2.2 \
- version-compare-0.0.11 \
- version_check-0.9.3 \
- waker-fn-1.1.0 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wayland-client-0.28.6 \
- wayland-commons-0.28.6 \
- wayland-scanner-0.28.6 \
- wayland-sys-0.28.6 \
- weezl-0.1.5 \
- wepoll-ffi-0.1.2 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- x11-2.19.0 \
- xml-rs-0.8.4 \
- zbus-2.0.0-beta.6 \
- zbus_macros-2.0.0-beta.6 \
- zbus_names-1.0.0 \
- zvariant-2.8.0 \
- zvariant_derive-2.8.0
CARGO_BUILD= no
CARGO_INSTALL= no
CARGO_TEST= no
+GLIB_SCHEMAS= io.github.seadve.Kooha.gschema.xml
post-patch:
+ @${REINPLACE_CMD} -e '/update_desktop_database/d' \
+ ${WRKSRC}/meson.build
# Make each cargo subcommand very verbose
- @${REINPLACE_CMD} -e '/cargo/s/ --/&verbose&verbose&/' \
- ${WRKSRC}/build-aux/cargo.sh
+# Add explicit <triple> subdir for --target from USES=cargo
+ @${REINPLACE_CMD} -e "/cargo_options =/s/ '--/&verbose', &verbose', &/" \
+ -e "/cp/s,'src',& / '${CARGO_BUILD_TARGET}'," \
+ ${WRKSRC}/src/meson.build
.include <bsd.port.mk>
diff --git a/multimedia/kooha/Makefile.crates b/multimedia/kooha/Makefile.crates
new file mode 100644
index 000000000000..8ca5e5433153
--- /dev/null
+++ b/multimedia/kooha/Makefile.crates
@@ -0,0 +1,182 @@
+CARGO_CRATES= aho-corasick-1.1.3 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anyhow-1.0.81 \
+ arrayvec-0.7.4 \
+ async-channel-2.2.0 \
+ atomic_refcell-0.1.13 \
+ autocfg-1.1.0 \
+ bitflags-2.5.0 \
+ block-0.1.6 \
+ bumpalo-3.15.4 \
+ cairo-rs-0.19.2 \
+ cairo-sys-rs-0.19.2 \
+ cc-1.0.90 \
+ cfg-expr-0.15.7 \
+ cfg-if-1.0.0 \
+ chrono-0.4.35 \
+ color_quant-1.1.0 \
+ concurrent-queue-2.4.0 \
+ core-foundation-sys-0.8.6 \
+ crossbeam-utils-0.8.19 \
+ deluxe-0.5.0 \
+ deluxe-core-0.5.0 \
+ deluxe-macros-0.5.0 \
+ either-1.10.0 \
+ equivalent-1.0.1 \
+ event-listener-5.2.0 \
+ event-listener-strategy-0.5.0 \
+ field-offset-0.3.6 \
+ futures-channel-0.3.30 \
+ futures-core-0.3.30 \
+ futures-executor-0.3.30 \
+ futures-io-0.3.30 \
+ futures-macro-0.3.30 \
+ futures-task-0.3.30 \
+ futures-util-0.3.30 \
+ gdk-pixbuf-0.19.2 \
+ gdk-pixbuf-sys-0.19.0 \
+ gdk4-0.8.1 \
+ gdk4-sys-0.8.1 \
+ gdk4-wayland-0.8.1 \
+ gdk4-wayland-sys-0.8.1 \
+ gdk4-win32-0.8.1 \
+ gdk4-win32-sys-0.8.1 \
+ gdk4-x11-0.8.1 \
+ gdk4-x11-sys-0.8.1 \
+ gettext-rs-0.7.0 \
+ gettext-sys-0.21.3 \
+ gif-0.13.1 \
+ gio-0.19.3 \
+ gio-sys-0.19.0 \
+ glib-0.19.3 \
+ glib-macros-0.19.3 \
+ glib-sys-0.19.0 \
+ gobject-sys-0.19.0 \
+ graphene-rs-0.19.2 \
+ graphene-sys-0.19.0 \
+ gsettings-macro-0.2.0 \
+ gsk4-0.8.1 \
+ gsk4-sys-0.8.1 \
+ gst-plugin-gif-0.12.0 \
+ gst-plugin-gtk4-0.12.1 \
+ gst-plugin-version-helper-0.8.1 \
+ gstreamer-0.22.3 \
+ gstreamer-base-0.22.0 \
+ gstreamer-base-sys-0.22.0 \
+ gstreamer-gl-0.22.0 \
+ gstreamer-gl-egl-0.22.0 \
+ gstreamer-gl-egl-sys-0.22.0 \
+ gstreamer-gl-sys-0.22.0 \
+ gstreamer-gl-wayland-0.22.0 \
+ gstreamer-gl-wayland-sys-0.22.0 \
+ gstreamer-gl-x11-0.22.0 \
+ gstreamer-gl-x11-sys-0.22.0 \
+ gstreamer-sys-0.22.2 \
+ gstreamer-video-0.22.1 \
+ gstreamer-video-sys-0.22.1 \
+ gtk4-0.8.1 \
+ gtk4-macros-0.8.1 \
+ gtk4-sys-0.8.1 \
+ hashbrown-0.14.3 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ iana-time-zone-0.1.60 \
+ iana-time-zone-haiku-0.1.2 \
+ if_chain-1.0.2 \
+ indexmap-2.2.5 \
+ itertools-0.12.1 \
+ itoa-1.0.10 \
+ js-sys-0.3.69 \
+ lazy_static-1.4.0 \
+ libadwaita-0.6.0 \
+ libadwaita-sys-0.6.0 \
+ libc-0.2.153 \
+ locale_config-0.3.0 \
+ log-0.4.21 \
+ malloc_buf-0.0.6 \
+ memchr-2.7.1 \
+ memoffset-0.9.0 \
+ muldiv-1.0.1 \
+ nu-ansi-term-0.46.0 \
+ num-integer-0.1.46 \
+ num-rational-0.4.1 \
+ num-traits-0.2.18 \
+ objc-0.2.7 \
+ objc-foundation-0.1.1 \
+ objc_id-0.1.1 \
+ once_cell-1.19.0 \
+ option-operations-0.5.0 \
+ overload-0.1.1 \
+ pango-0.19.3 \
+ pango-sys-0.19.0 \
+ parking-2.2.0 \
+ paste-1.0.14 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ pkg-config-0.3.30 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-crate-3.1.0 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro2-1.0.79 \
+ quick-xml-0.31.0 \
+ quote-1.0.35 \
+ regex-1.10.3 \
+ regex-automata-0.4.6 \
+ regex-syntax-0.8.2 \
+ rustc_version-0.4.0 \
+ ryu-1.0.17 \
+ semver-1.0.22 \
+ serde-1.0.197 \
+ serde_derive-1.0.197 \
+ serde_spanned-0.6.5 \
+ serde_yaml-0.9.33 \
+ sharded-slab-0.1.7 \
+ slab-0.4.9 \
+ smallvec-1.13.1 \
+ strsim-0.10.0 \
+ syn-1.0.109 \
+ syn-2.0.53 \
+ system-deps-6.2.2 \
+ target-lexicon-0.12.14 \
+ temp-dir-0.1.12 \
+ thiserror-1.0.58 \
+ thiserror-impl-1.0.58 \
+ thread_local-1.1.8 \
+ toml-0.8.12 \
+ toml_datetime-0.6.5 \
+ toml_edit-0.19.15 \
+ toml_edit-0.21.1 \
+ toml_edit-0.22.8 \
+ tracing-0.1.40 \
+ tracing-attributes-0.1.27 \
+ tracing-core-0.1.32 \
+ tracing-log-0.2.0 \
+ tracing-subscriber-0.3.18 \
+ unicode-ident-1.0.12 \
+ unsafe-libyaml-0.2.11 \
+ valuable-0.1.0 \
+ version-compare-0.2.0 \
+ version_check-0.9.4 \
+ wasm-bindgen-0.2.92 \
+ wasm-bindgen-backend-0.2.92 \
+ wasm-bindgen-macro-0.2.92 \
+ wasm-bindgen-macro-support-0.2.92 \
+ wasm-bindgen-shared-0.2.92 \
+ weezl-0.1.8 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-core-0.52.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.52.4 \
+ windows_aarch64_gnullvm-0.52.4 \
+ windows_aarch64_msvc-0.52.4 \
+ windows_i686_gnu-0.52.4 \
+ windows_i686_msvc-0.52.4 \
+ windows_x86_64_gnu-0.52.4 \
+ windows_x86_64_gnullvm-0.52.4 \
+ windows_x86_64_msvc-0.52.4 \
+ winnow-0.5.40 \
+ winnow-0.6.5
diff --git a/multimedia/kooha/distinfo b/multimedia/kooha/distinfo
index 332ef17f7b68..5f49e643f146 100644
--- a/multimedia/kooha/distinfo
+++ b/multimedia/kooha/distinfo
@@ -1,379 +1,367 @@
-TIMESTAMP = 1634687422
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
-SHA256 (rust/crates/anyhow-1.0.44.crate) = 61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1
-SIZE (rust/crates/anyhow-1.0.44.crate) = 35067
-SHA256 (rust/crates/approx-0.5.0.crate) = 072df7202e63b127ab55acfe16ce97013d5b97bf160489336d3f1840fd78e99e
-SIZE (rust/crates/approx-0.5.0.crate) = 14359
-SHA256 (rust/crates/ashpd-0.2.0-alpha-4.crate) = 20d9164ef105e1835f9aebf664cba65ac348b662ca646ccb597763f2b4799bd9
-SIZE (rust/crates/ashpd-0.2.0-alpha-4.crate) = 50817
-SHA256 (rust/crates/async-broadcast-0.3.4.crate) = 90622698a1218e0b2fb846c97b5f19a0831f6baddee73d9454156365ccfa473b
-SIZE (rust/crates/async-broadcast-0.3.4.crate) = 18539
-SHA256 (rust/crates/async-channel-1.6.1.crate) = 2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319
-SIZE (rust/crates/async-channel-1.6.1.crate) = 12574
-SHA256 (rust/crates/async-executor-1.4.1.crate) = 871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965
-SIZE (rust/crates/async-executor-1.4.1.crate) = 15490
-SHA256 (rust/crates/async-io-1.6.0.crate) = a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b
-SIZE (rust/crates/async-io-1.6.0.crate) = 32282
-SHA256 (rust/crates/async-lock-2.4.0.crate) = e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b
-SIZE (rust/crates/async-lock-2.4.0.crate) = 16144
-SHA256 (rust/crates/async-recursion-0.3.2.crate) = d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2
-SIZE (rust/crates/async-recursion-0.3.2.crate) = 10774
-SHA256 (rust/crates/async-task-4.0.3.crate) = e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0
-SIZE (rust/crates/async-task-4.0.3.crate) = 28770
-SHA256 (rust/crates/atomic_refcell-0.1.7.crate) = 681b971236e0f76b20fcafca0236b8718c9186ee778d67cd78bd5f28fd85427f
-SIZE (rust/crates/atomic_refcell-0.1.7.crate) = 5896
-SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (rust/crates/bitflags-1.2.1.crate) = cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693
-SIZE (rust/crates/bitflags-1.2.1.crate) = 16745
+TIMESTAMP = 1711022855
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anyhow-1.0.81.crate) = 0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247
+SIZE (rust/crates/anyhow-1.0.81.crate) = 45142
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
+SHA256 (rust/crates/async-channel-2.2.0.crate) = f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3
+SIZE (rust/crates/async-channel-2.2.0.crate) = 14307
+SHA256 (rust/crates/atomic_refcell-0.1.13.crate) = 41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c
+SIZE (rust/crates/atomic_refcell-0.1.13.crate) = 11760
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1
+SIZE (rust/crates/bitflags-2.5.0.crate) = 43821
SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
SIZE (rust/crates/block-0.1.6.crate) = 4077
-SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
-SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (rust/crates/cache-padded-1.1.1.crate) = 631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba
-SIZE (rust/crates/cache-padded-1.1.1.crate) = 8798
-SHA256 (rust/crates/cairo-rs-0.14.7.crate) = 9164355c892b026d6257e696dde5f3cb39beb3718297f0f161b562fe2ee3ab86
-SIZE (rust/crates/cairo-rs-0.14.7.crate) = 48408
-SHA256 (rust/crates/cairo-sys-rs-0.14.0.crate) = d7c9c3928781e8a017ece15eace05230f04b647457d170d2d9641c94a444ff80
-SIZE (rust/crates/cairo-sys-rs-0.14.0.crate) = 10560
-SHA256 (rust/crates/cc-1.0.70.crate) = d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0
-SIZE (rust/crates/cc-1.0.70.crate) = 57200
-SHA256 (rust/crates/cfg-expr-0.8.1.crate) = b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e
-SIZE (rust/crates/cfg-expr-0.8.1.crate) = 34539
-SHA256 (rust/crates/cfg-expr-0.9.0.crate) = edae0b9625d1fce32f7d64b71784d9b1bf8469ec1a9c417e44aaf16a9cbd7571
-SIZE (rust/crates/cfg-expr-0.9.0.crate) = 36384
+SHA256 (rust/crates/bumpalo-3.15.4.crate) = 7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa
+SIZE (rust/crates/bumpalo-3.15.4.crate) = 85028
+SHA256 (rust/crates/cairo-rs-0.19.2.crate) = 2650f66005301bd33cc486dec076e1293c4cecf768bc7ba9bf5d2b1be339b99c
+SIZE (rust/crates/cairo-rs-0.19.2.crate) = 52323
+SHA256 (rust/crates/cairo-sys-rs-0.19.2.crate) = fd3bb3119664efbd78b5e6c93957447944f16bdbced84c17a9f41c7829b81e64
+SIZE (rust/crates/cairo-sys-rs-0.19.2.crate) = 11874
+SHA256 (rust/crates/cc-1.0.90.crate) = 8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5
+SIZE (rust/crates/cc-1.0.90.crate) = 73954
+SHA256 (rust/crates/cfg-expr-0.15.7.crate) = fa50868b64a9a6fda9d593ce778849ea8715cd2a3d2cc17ffdb4a2f2f2f1961d
+SIZE (rust/crates/cfg-expr-0.15.7.crate) = 42003
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (rust/crates/chrono-0.4.19.crate) = 155663
+SHA256 (rust/crates/chrono-0.4.35.crate) = 8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a
+SIZE (rust/crates/chrono-0.4.35.crate) = 234267
SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
-SHA256 (rust/crates/concurrent-queue-1.2.2.crate) = 30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3
-SIZE (rust/crates/concurrent-queue-1.2.2.crate) = 15859
-SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
-SIZE (rust/crates/derivative-2.2.0.crate) = 48076
-SHA256 (rust/crates/dlib-0.5.0.crate) = ac1b7517328c04c2aa68422fc60a41b92208182142ed04a25879c26c8f878794
-SIZE (rust/crates/dlib-0.5.0.crate) = 5788
-SHA256 (rust/crates/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650
-SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670
-SHA256 (rust/crates/easy-parallel-3.1.0.crate) = 1dd4afd79212583ff429b913ad6605242ed7eec277e950b1438f300748f948f4
-SIZE (rust/crates/easy-parallel-3.1.0.crate) = 9251
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
-SHA256 (rust/crates/enumflags2-0.6.4.crate) = 83c8d82922337cd23a15f88b70d8e4ef5f11da38dd7cdb55e84dd5de99695da0
-SIZE (rust/crates/enumflags2-0.6.4.crate) = 10713
-SHA256 (rust/crates/enumflags2_derive-0.6.4.crate) = 946ee94e3dbf58fdd324f9ce245c7b238d46a66f00e86a020b71996349e46cce
-SIZE (rust/crates/enumflags2_derive-0.6.4.crate) = 3659
-SHA256 (rust/crates/env_logger-0.7.1.crate) = 44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36
-SIZE (rust/crates/env_logger-0.7.1.crate) = 32281
-SHA256 (rust/crates/event-listener-2.5.1.crate) = f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59
-SIZE (rust/crates/event-listener-2.5.1.crate) = 16237
-SHA256 (rust/crates/fastrand-1.5.0.crate) = b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e
-SIZE (rust/crates/fastrand-1.5.0.crate) = 11100
-SHA256 (rust/crates/field-offset-0.3.4.crate) = 1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92
-SIZE (rust/crates/field-offset-0.3.4.crate) = 6046
-SHA256 (rust/crates/futures-0.3.17.crate) = a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca
-SIZE (rust/crates/futures-0.3.17.crate) = 47388
-SHA256 (rust/crates/futures-channel-0.3.17.crate) = 5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888
-SIZE (rust/crates/futures-channel-0.3.17.crate) = 31765
-SHA256 (rust/crates/futures-core-0.3.17.crate) = 88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d
-SIZE (rust/crates/futures-core-0.3.17.crate) = 14478
-SHA256 (rust/crates/futures-executor-0.3.17.crate) = 45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c
-SIZE (rust/crates/futures-executor-0.3.17.crate) = 17102
-SHA256 (rust/crates/futures-io-0.3.17.crate) = 522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377
-SIZE (rust/crates/futures-io-0.3.17.crate) = 9050
-SHA256 (rust/crates/futures-lite-1.12.0.crate) = 7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48
-SIZE (rust/crates/futures-lite-1.12.0.crate) = 36032
-SHA256 (rust/crates/futures-macro-0.3.17.crate) = 18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb
-SIZE (rust/crates/futures-macro-0.3.17.crate) = 11830
-SHA256 (rust/crates/futures-sink-0.3.17.crate) = 36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11
-SIZE (rust/crates/futures-sink-0.3.17.crate) = 7663
-SHA256 (rust/crates/futures-task-0.3.17.crate) = 1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99
-SIZE (rust/crates/futures-task-0.3.17.crate) = 11712
-SHA256 (rust/crates/futures-util-0.3.17.crate) = 36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481
-SIZE (rust/crates/futures-util-0.3.17.crate) = 147679
-SHA256 (rust/crates/gdk-pixbuf-0.14.0.crate) = 534192cb8f01daeb8fab2c8d4baa8f9aae5b7a39130525779f5c2608e235b10f
-SIZE (rust/crates/gdk-pixbuf-0.14.0.crate) = 14554
-SHA256 (rust/crates/gdk-pixbuf-sys-0.14.0.crate) = f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590
-SIZE (rust/crates/gdk-pixbuf-sys-0.14.0.crate) = 9110
-SHA256 (rust/crates/gdk4-0.3.0.crate) = 4c0f7f98ad25b81ac9462f74a091b0e4c0983ed1e74d19a38230c772b4dcef81
-SIZE (rust/crates/gdk4-0.3.0.crate) = 80579
-SHA256 (rust/crates/gdk4-sys-0.3.0.crate) = 262a79666b42e1884577f11a050439a964b95dec55343ac6ace7930e1415fa18
-SIZE (rust/crates/gdk4-sys-0.3.0.crate) = 62107
-SHA256 (rust/crates/gdk4-wayland-0.3.0.crate) = 6513f3ad6f5e8335eaa9ce08cde05175eef653175bd6623fe072a1ff375305e6
-SIZE (rust/crates/gdk4-wayland-0.3.0.crate) = 6246
-SHA256 (rust/crates/gdk4-wayland-sys-0.3.0.crate) = 4a2364b6ebead858537b9617ba886789202840792594342e4abf0c4e56e7febb
-SIZE (rust/crates/gdk4-wayland-sys-0.3.0.crate) = 3491
-SHA256 (rust/crates/gdk4-x11-0.3.0.crate) = b1f3f578b0c3c67fc8239a528b5226f70ed33f5547c11f537643b5999e7cf392
-SIZE (rust/crates/gdk4-x11-0.3.0.crate) = 9301
-SHA256 (rust/crates/gdk4-x11-sys-0.3.0.crate) = 8412f69995bbcca36957b72412d4b2b20f26db2cca608e8949026c210067fa2d
-SIZE (rust/crates/gdk4-x11-sys-0.3.0.crate) = 6526
-SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
-SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
+SHA256 (rust/crates/concurrent-queue-2.4.0.crate) = d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363
+SIZE (rust/crates/concurrent-queue-2.4.0.crate) = 20244
+SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f
+SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/deluxe-0.5.0.crate) = 8ed332aaf752b459088acf3dd4eca323e3ef4b83c70a84ca48fb0ec5305f1488
+SIZE (rust/crates/deluxe-0.5.0.crate) = 18928
+SHA256 (rust/crates/deluxe-core-0.5.0.crate) = eddada51c8576df9d6a8450c351ff63042b092c9458b8ac7d20f89cbd0ffd313
+SIZE (rust/crates/deluxe-core-0.5.0.crate) = 31165
+SHA256 (rust/crates/deluxe-macros-0.5.0.crate) = f87546d9c837f0b7557e47b8bd6eae52c3c223141b76aa233c345c9ab41d9117
+SIZE (rust/crates/deluxe-macros-0.5.0.crate) = 26718
+SHA256 (rust/crates/either-1.10.0.crate) = 11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a
+SIZE (rust/crates/either-1.10.0.crate) = 18334
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/event-listener-5.2.0.crate) = 2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91
+SIZE (rust/crates/event-listener-5.2.0.crate) = 40217
+SHA256 (rust/crates/event-listener-strategy-0.5.0.crate) = feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291
+SIZE (rust/crates/event-listener-strategy-0.5.0.crate) = 10616
+SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
+SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
+SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78
+SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736
+SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d
+SIZE (rust/crates/futures-core-0.3.30.crate) = 14071
+SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d
+SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744
+SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1
+SIZE (rust/crates/futures-io-0.3.30.crate) = 8910
+SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac
+SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278
+SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004
+SIZE (rust/crates/futures-task-0.3.30.crate) = 11126
+SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48
+SIZE (rust/crates/futures-util-0.3.30.crate) = 159977
+SHA256 (rust/crates/gdk-pixbuf-0.19.2.crate) = f6a23f8a0b5090494fd04924662d463f8386cc678dd3915015a838c1a3679b92
+SIZE (rust/crates/gdk-pixbuf-0.19.2.crate) = 17734
+SHA256 (rust/crates/gdk-pixbuf-sys-0.19.0.crate) = 3dcbd04c1b2c4834cc008b4828bc917d062483b88d26effde6342e5622028f96
+SIZE (rust/crates/gdk-pixbuf-sys-0.19.0.crate) = 9745
+SHA256 (rust/crates/gdk4-0.8.1.crate) = 9100b25604183f2fd97f55ef087fae96ab4934d7215118a35303e422688e6e4b
+SIZE (rust/crates/gdk4-0.8.1.crate) = 89125
+SHA256 (rust/crates/gdk4-sys-0.8.1.crate) = d0b76874c40bb8d1c7d03a7231e23ac75fa577a456cd53af32ec17ec8f121626
+SIZE (rust/crates/gdk4-sys-0.8.1.crate) = 65737
+SHA256 (rust/crates/gdk4-wayland-0.8.1.crate) = 13fc91be838be766ff038221e068e05e4083f3b6cf48ef1f5251ba28f98f80bf
+SIZE (rust/crates/gdk4-wayland-0.8.1.crate) = 7218
+SHA256 (rust/crates/gdk4-wayland-sys-0.8.1.crate) = c5cdc6c5cb3f64ba9b810782077939a0fc8d82e809f0147054bbe41910ac2b51
+SIZE (rust/crates/gdk4-wayland-sys-0.8.1.crate) = 3561
+SHA256 (rust/crates/gdk4-win32-0.8.1.crate) = ab6181b6e5c91ee292dca0032b00d48dee8e61358253742c9752537a88486b3f
+SIZE (rust/crates/gdk4-win32-0.8.1.crate) = 7310
+SHA256 (rust/crates/gdk4-win32-sys-0.8.1.crate) = efa8530d6619cf43f007f3efd993a356e1ca4e643c4d0bd2a99832a08af2e402
+SIZE (rust/crates/gdk4-win32-sys-0.8.1.crate) = 5927
+SHA256 (rust/crates/gdk4-x11-0.8.1.crate) = bff98d3e61807ecc1ddd15cf746b9de14fb6499fc259ca9e8d87d92e8901c7db
+SIZE (rust/crates/gdk4-x11-0.8.1.crate) = 9760
+SHA256 (rust/crates/gdk4-x11-sys-0.8.1.crate) = 30406b31a7c355c73c504c9b31d35806397944165730eca7db46f0409abf8f8f
+SIZE (rust/crates/gdk4-x11-sys-0.8.1.crate) = 6617
SHA256 (rust/crates/gettext-rs-0.7.0.crate) = e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364
SIZE (rust/crates/gettext-rs-0.7.0.crate) = 14816
-SHA256 (rust/crates/gettext-sys-0.21.2.crate) = afa9e06ab9e7514cc9ae668ea3b71ea1536259d767dff0289ac23ad134f99929
-SIZE (rust/crates/gettext-sys-0.21.2.crate) = 6501362
-SHA256 (rust/crates/gif-0.11.2.crate) = 5a668f699973d0f573d15749b7002a9ac9e1f9c6b220e7b165601334c173d8de
-SIZE (rust/crates/gif-0.11.2.crate) = 34068
-SHA256 (rust/crates/gio-0.14.6.crate) = f3a29d8062af72045518271a2cd98b4e1617ce43f5b4223ad0fb9a0eff8f718c
-SIZE (rust/crates/gio-0.14.6.crate) = 177602
-SHA256 (rust/crates/gio-sys-0.14.0.crate) = c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa
-SIZE (rust/crates/gio-sys-0.14.0.crate) = 76499
-SHA256 (rust/crates/glib-0.14.5.crate) = d4a930b7208e6e0ab839eea5f65ac2b82109f729621430d47fe905e2e09d33f4
-SIZE (rust/crates/glib-0.14.5.crate) = 165321
-SHA256 (rust/crates/glib-macros-0.14.1.crate) = 2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518
-SIZE (rust/crates/glib-macros-0.14.1.crate) = 20018
-SHA256 (rust/crates/glib-sys-0.14.0.crate) = 1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae
-SIZE (rust/crates/glib-sys-0.14.0.crate) = 57390
-SHA256 (rust/crates/gobject-sys-0.14.0.crate) = aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5
-SIZE (rust/crates/gobject-sys-0.14.0.crate) = 17399
-SHA256 (rust/crates/graphene-rs-0.14.0.crate) = f1460a39f06e491e6112f27e71e51435c833ba370723224dd1743dfd1f201f19
-SIZE (rust/crates/graphene-rs-0.14.0.crate) = 19285
-SHA256 (rust/crates/graphene-sys-0.14.0.crate) = e7d23fb7a9547e5f072a7e0cd49cd648fedeb786d122b106217511980cbb8962
-SIZE (rust/crates/graphene-sys-0.14.0.crate) = 10264
-SHA256 (rust/crates/gsk4-0.3.0.crate) = 20b71f2e2cc699c2e0fbfa22899eeaffd84f9c1dc01e9263deac8664eec22dc0
-SIZE (rust/crates/gsk4-0.3.0.crate) = 21291
-SHA256 (rust/crates/gsk4-sys-0.3.0.crate) = 30468aff80e4faadf22f9ba164ea17511a69a9995d7a13827a13424ef47b2472
-SIZE (rust/crates/gsk4-sys-0.3.0.crate) = 11605
-SHA256 (rust/crates/gst-plugin-gif-0.7.2.crate) = 74dedf6394d0a437d6e5cec0b8c86ce859ed4dcc1005ddfeb8e0015515f5a583
-SIZE (rust/crates/gst-plugin-gif-0.7.2.crate) = 16092
-SHA256 (rust/crates/gst-plugin-version-helper-0.7.1.crate) = 596a7ad516b556be91787f4f33823c75f10b8789aa8d85dc4a79ea1c30466334
-SIZE (rust/crates/gst-plugin-version-helper-0.7.1.crate) = 3679
-SHA256 (rust/crates/gstreamer-0.17.4.crate) = c6a255f142048ba2c4a4dce39106db1965abe355d23f4b5335edea43a553faa4
-SIZE (rust/crates/gstreamer-0.17.4.crate) = 242315
-SHA256 (rust/crates/gstreamer-base-0.17.2.crate) = 2c0c1d8c62eb5d08fb80173609f2eea71d385393363146e4e78107facbd67715
-SIZE (rust/crates/gstreamer-base-0.17.2.crate) = 56050
-SHA256 (rust/crates/gstreamer-base-sys-0.17.0.crate) = 28169a7b58edb93ad8ac766f0fa12dcd36a2af4257a97ee10194c7103baf3e27
-SIZE (rust/crates/gstreamer-base-sys-0.17.0.crate) = 34572
-SHA256 (rust/crates/gstreamer-sys-0.17.3.crate) = a81704feeb3e8599913bdd1e738455c2991a01ff4a1780cb62200993e454cc3e
-SIZE (rust/crates/gstreamer-sys-0.17.3.crate) = 84696
-SHA256 (rust/crates/gstreamer-video-0.17.2.crate) = e3447ee95c8e79daec0b163260cf6a3de9bc19ff47a01b533787f900074a3476
-SIZE (rust/crates/gstreamer-video-0.17.2.crate) = 83613
-SHA256 (rust/crates/gstreamer-video-sys-0.17.0.crate) = b81608f4182bdddd5bd33aaaa341d5544eda12b067a3dab75b1b7d2de01a3ba7
-SIZE (rust/crates/gstreamer-video-sys-0.17.0.crate) = 52014
-SHA256 (rust/crates/gtk4-0.3.0.crate) = 906f9308d15789d96a736881582181d710ae0937197119df459f3d2b46ef6776
-SIZE (rust/crates/gtk4-0.3.0.crate) = 525949
-SHA256 (rust/crates/gtk4-macros-0.3.0.crate) = 4d0d008cdf23214c697482415dd20f666bdf3cc9f5e803b017223c17c5b59a6e
-SIZE (rust/crates/gtk4-macros-0.3.0.crate) = 6056
-SHA256 (rust/crates/gtk4-sys-0.3.0.crate) = d06be0a6322aa77dd372f726e97efbcbb192d9a824a414a8874f238effd7747c
-SIZE (rust/crates/gtk4-sys-0.3.0.crate) = 98796
-SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (rust/crates/heck-0.3.3.crate) = 10260
-SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
-SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
-SIZE (rust/crates/hex-0.4.3.crate) = 13299
-SHA256 (rust/crates/humantime-1.3.0.crate) = df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f
-SIZE (rust/crates/humantime-1.3.0.crate) = 17020
-SHA256 (rust/crates/instant-0.1.10.crate) = bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d
-SIZE (rust/crates/instant-0.1.10.crate) = 5218
-SHA256 (rust/crates/itertools-0.10.1.crate) = 69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf
-SIZE (rust/crates/itertools-0.10.1.crate) = 116219
+SHA256 (rust/crates/gettext-sys-0.21.3.crate) = c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d
+SIZE (rust/crates/gettext-sys-0.21.3.crate) = 6501658
+SHA256 (rust/crates/gif-0.13.1.crate) = 3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2
+SIZE (rust/crates/gif-0.13.1.crate) = 36408
+SHA256 (rust/crates/gio-0.19.3.crate) = c64947d08d7fbb03bf8ad1f25a8ac6cf4329bc772c9b7e5abe7bf9493c81194f
+SIZE (rust/crates/gio-0.19.3.crate) = 201442
+SHA256 (rust/crates/gio-sys-0.19.0.crate) = bcf8e1d9219bb294636753d307b030c1e8a032062cba74f493c431a5c8b81ce4
+SIZE (rust/crates/gio-sys-0.19.0.crate) = 81621
+SHA256 (rust/crates/glib-0.19.3.crate) = 01e191cc1af1f35b9699213107068cd3fe05d9816275ac118dc785a0dd8faebf
+SIZE (rust/crates/glib-0.19.3.crate) = 274906
+SHA256 (rust/crates/glib-macros-0.19.3.crate) = 9972bb91643d589c889654693a4f1d07697fdcb5d104b5c44fb68649ba1bf68d
+SIZE (rust/crates/glib-macros-0.19.3.crate) = 62904
+SHA256 (rust/crates/glib-sys-0.19.0.crate) = 630f097773d7c7a0bb3258df4e8157b47dc98bbfa0e60ad9ab56174813feced4
+SIZE (rust/crates/glib-sys-0.19.0.crate) = 63769
+SHA256 (rust/crates/gobject-sys-0.19.0.crate) = c85e2b1080b9418dd0c58b498da3a5c826030343e0ef07bde6a955d28de54979
+SIZE (rust/crates/gobject-sys-0.19.0.crate) = 19026
+SHA256 (rust/crates/graphene-rs-0.19.2.crate) = 99e4d388e96c5f29e2b2f67045d229ddf826d0a8d6d282f94ed3b34452222c91
+SIZE (rust/crates/graphene-rs-0.19.2.crate) = 17322
+SHA256 (rust/crates/graphene-sys-0.19.0.crate) = 236ed66cc9b18d8adf233716f75de803d0bf6fc806f60d14d948974a12e240d0
+SIZE (rust/crates/graphene-sys-0.19.0.crate) = 11615
+SHA256 (rust/crates/gsettings-macro-0.2.0.crate) = 2f4ea0f496faeabbfdd1f5d9c39d9b9f7cff83f52d2cbbdec3c94b0e51b3f2f3
+SIZE (rust/crates/gsettings-macro-0.2.0.crate) = 16467
+SHA256 (rust/crates/gsk4-0.8.1.crate) = c65036fc8f99579e8cb37b12487969b707ab23ec8ab953682ff347cbd15d396e
+SIZE (rust/crates/gsk4-0.8.1.crate) = 32346
+SHA256 (rust/crates/gsk4-sys-0.8.1.crate) = bd24c814379f9c3199dc53e52253ee8d0f657eae389ab282c330505289d24738
+SIZE (rust/crates/gsk4-sys-0.8.1.crate) = 15283
+SHA256 (rust/crates/gst-plugin-gif-0.12.0.crate) = 19c655ca8e32df099d13265f7ec7ab30a4a53b0753194d9391e64a1536c846f0
+SIZE (rust/crates/gst-plugin-gif-0.12.0.crate) = 17334
+SHA256 (rust/crates/gst-plugin-gtk4-0.12.1.crate) = 162762eb8df14f696707ff54382b3c02f58706255ab3a37a61d59bc1d0c0115a
+SIZE (rust/crates/gst-plugin-gtk4-0.12.1.crate) = 32991
+SHA256 (rust/crates/gst-plugin-version-helper-0.8.1.crate) = 8185b029682824ac93ee2d9e17f84130d4c8a701e9255dfba68d72e1a4230749
+SIZE (rust/crates/gst-plugin-version-helper-0.8.1.crate) = 4307
+SHA256 (rust/crates/gstreamer-0.22.3.crate) = 066f3c354c526792a3deb8b6d349eba8ffcc13bae4d0bf05d4adf4bf1b91e459
+SIZE (rust/crates/gstreamer-0.22.3.crate) = 330146
+SHA256 (rust/crates/gstreamer-base-0.22.0.crate) = 514c71195b53c7eced4842b66ca9149833e41cf6a1d949e45e2ca4a4fa929850
+SIZE (rust/crates/gstreamer-base-0.22.0.crate) = 66653
+SHA256 (rust/crates/gstreamer-base-sys-0.22.0.crate) = 286591e0f85bbda1adf9bab6f21d015acd9ca0a4d4acb61da65e3d0487e23c4e
+SIZE (rust/crates/gstreamer-base-sys-0.22.0.crate) = 42491
+SHA256 (rust/crates/gstreamer-gl-0.22.0.crate) = 7d21c0c5fbf74018a0254b3ab77bca0a5b2c0f002bcfd910c09113ae90a95d98
+SIZE (rust/crates/gstreamer-gl-0.22.0.crate) = 63762
+SHA256 (rust/crates/gstreamer-gl-egl-0.22.0.crate) = dfde7bf67f5f7c87e1ff29cdeea4918530d677b51e3f4847121ada44f1fab139
+SIZE (rust/crates/gstreamer-gl-egl-0.22.0.crate) = 35816
+SHA256 (rust/crates/gstreamer-gl-egl-sys-0.22.0.crate) = 7c9ec3c03af5d4ed3e58ddbca4eea13e90e01b88e37f6c0689b26e05168eb7bf
+SIZE (rust/crates/gstreamer-gl-egl-sys-0.22.0.crate) = 32040
+SHA256 (rust/crates/gstreamer-gl-sys-0.22.0.crate) = 61d1e3b9b02abc23835e9d770f2bd705b67a50406ea37e963b4526a77c6a7cd8
+SIZE (rust/crates/gstreamer-gl-sys-0.22.0.crate) = 48462
+SHA256 (rust/crates/gstreamer-gl-wayland-0.22.0.crate) = f9fbfe3d0c2469023b73df8408a4b19daaf7bd30141e9fc67e4ab63d41db5ee2
+SIZE (rust/crates/gstreamer-gl-wayland-0.22.0.crate) = 35691
+SHA256 (rust/crates/gstreamer-gl-wayland-sys-0.22.0.crate) = 83bc79debd1ef92795a3bd411986b19dbfe2527424f396e460aacc59d5fab4f1
+SIZE (rust/crates/gstreamer-gl-wayland-sys-0.22.0.crate) = 31985
+SHA256 (rust/crates/gstreamer-gl-x11-0.22.0.crate) = 42ed82941c84668d89dbf81f220083422268c22ec6ab4991806649ed6758cec8
+SIZE (rust/crates/gstreamer-gl-x11-0.22.0.crate) = 35670
+SHA256 (rust/crates/gstreamer-gl-x11-sys-0.22.0.crate) = 54b59f2782f5e71e3ef5fd534598938966a4dc3911f2540807f7d13b586e4ed1
+SIZE (rust/crates/gstreamer-gl-x11-sys-0.22.0.crate) = 31918
+SHA256 (rust/crates/gstreamer-sys-0.22.2.crate) = d5ddf526b3bf90ea627224c804f00b8bcb0452e3b447978b4d5092f8e8ff5918
+SIZE (rust/crates/gstreamer-sys-0.22.2.crate) = 92801
+SHA256 (rust/crates/gstreamer-video-0.22.1.crate) = 5ab3f4045ddb92bf2b469f5db8825d4f5eb46e4beff661fc97f50bb4e2b2c626
+SIZE (rust/crates/gstreamer-video-0.22.1.crate) = 122878
+SHA256 (rust/crates/gstreamer-video-sys-0.22.1.crate) = c1ea7996ba44fbbf563aeeda96e24259efc9f06b407854d837ee58e260d7ba78
+SIZE (rust/crates/gstreamer-video-sys-0.22.1.crate) = 62519
+SHA256 (rust/crates/gtk4-0.8.1.crate) = aa82753b8c26277e4af1446c70e35b19aad4fb794a7b143859e7eeb9a4025d83
+SIZE (rust/crates/gtk4-0.8.1.crate) = 465401
+SHA256 (rust/crates/gtk4-macros-0.8.1.crate) = 40300bf071d2fcd4c94eacc09e84ec6fe73129d2ceb635cf7e55b026b5443567
+SIZE (rust/crates/gtk4-macros-0.8.1.crate) = 16752
+SHA256 (rust/crates/gtk4-sys-0.8.1.crate) = 0db1b104138f087ccdc81d2c332de5dd049b89de3d384437cc1093b17cd2da18
+SIZE (rust/crates/gtk4-sys-0.8.1.crate) = 109403
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/iana-time-zone-0.1.60.crate) = e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141
+SIZE (rust/crates/iana-time-zone-0.1.60.crate) = 27074
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/if_chain-1.0.2.crate) = cb56e1aa765b4b4f3aadfab769793b7087bb03a4ea4920644a6d238e2df5b9ed
+SIZE (rust/crates/if_chain-1.0.2.crate) = 8062
+SHA256 (rust/crates/indexmap-2.2.5.crate) = 7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4
+SIZE (rust/crates/indexmap-2.2.5.crate) = 81498
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d
+SIZE (rust/crates/js-sys-0.3.69.crate) = 81083
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
-SHA256 (rust/crates/libadwaita-0.1.0-alpha-5.crate) = 83a079dd239381a4c94de881b8b85b92c5196c28d27c63c317aab072f5e5d561
-SIZE (rust/crates/libadwaita-0.1.0-alpha-5.crate) = 63017
-SHA256 (rust/crates/libadwaita-sys-0.1.0-alpha-5.crate) = ea698ef2a5e667fd29901658d375f982b1faff9dccedebd64407393fb53e9bf1
-SIZE (rust/crates/libadwaita-sys-0.1.0-alpha-5.crate) = 13852
-SHA256 (rust/crates/libc-0.2.102.crate) = a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103
-SIZE (rust/crates/libc-0.2.102.crate) = 537138
-SHA256 (rust/crates/libloading-0.7.0.crate) = 6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a
-SIZE (rust/crates/libloading-0.7.0.crate) = 26216
-SHA256 (rust/crates/libpulse-binding-2.25.0.crate) = 86835d7763ded6bc16b6c0061ec60214da7550dfcd4ef93745f6f0096129676a
-SIZE (rust/crates/libpulse-binding-2.25.0.crate) = 129768
-SHA256 (rust/crates/libpulse-sys-1.19.2.crate) = f12950b69c1b66233a900414befde36c8d4ea49deec1e1f34e4cd2f586e00c7d
-SIZE (rust/crates/libpulse-sys-1.19.2.crate) = 35108
+SHA256 (rust/crates/libadwaita-0.6.0.crate) = 91b4990248b9e1ec5e72094a2ccaea70ec3809f88f6fd52192f2af306b87c5d9
+SIZE (rust/crates/libadwaita-0.6.0.crate) = 108068
+SHA256 (rust/crates/libadwaita-sys-0.6.0.crate) = 23a748e4e92be1265cd9e93d569c0b5dfc7814107985aa6743d670ab281ea1a8
+SIZE (rust/crates/libadwaita-sys-0.6.0.crate) = 26809
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
SHA256 (rust/crates/locale_config-0.3.0.crate) = 08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934
SIZE (rust/crates/locale_config-0.3.0.crate) = 20808
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
+SHA256 (rust/crates/log-0.4.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c
+SIZE (rust/crates/log-0.4.21.crate) = 43442
SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239
-SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
-SIZE (rust/crates/memchr-2.4.1.crate) = 64977
-SHA256 (rust/crates/memoffset-0.6.4.crate) = 59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9
-SIZE (rust/crates/memoffset-0.6.4.crate) = 7664
-SHA256 (rust/crates/muldiv-1.0.0.crate) = b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3
-SIZE (rust/crates/muldiv-1.0.0.crate) = 4991
-SHA256 (rust/crates/nix-0.20.1.crate) = df8e5e343312e7fbeb2a52139114e9e702991ef9c2aea6817ff2440b35647d56
-SIZE (rust/crates/nix-0.20.1.crate) = 217086
-SHA256 (rust/crates/nix-0.21.1.crate) = e27ff0416812c5dec77c5047d26f34ff0fda13ec8d8e87110056c22a213a3de7
-SIZE (rust/crates/nix-0.21.1.crate) = 220761
-SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d
-SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
-SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (rust/crates/num-rational-0.4.0.crate) = d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a
-SIZE (rust/crates/num-rational-0.4.0.crate) = 26428
-SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
+SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
+SHA256 (rust/crates/muldiv-1.0.1.crate) = 956787520e75e9bd233246045d19f42fb73242759cc57fba9611d940ae96d4b0
+SIZE (rust/crates/muldiv-1.0.1.crate) = 4901
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-integer-0.1.46.crate) = 7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f
+SIZE (rust/crates/num-integer-0.1.46.crate) = 22331
+SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0
+SIZE (rust/crates/num-rational-0.4.1.crate) = 27889
+SHA256 (rust/crates/num-traits-0.2.18.crate) = da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a
+SIZE (rust/crates/num-traits-0.2.18.crate) = 51930
SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1
SIZE (rust/crates/objc-0.2.7.crate) = 22036
SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9
SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063
SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b
SIZE (rust/crates/objc_id-0.1.1.crate) = 3258
-SHA256 (rust/crates/once_cell-1.8.0.crate) = 692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56
-SIZE (rust/crates/once_cell-1.8.0.crate) = 28925
-SHA256 (rust/crates/pango-0.14.3.crate) = e1fc88307d9797976ea62722ff2ec5de3fae279c6e20100ed3f49ca1a4bf3f96
-SIZE (rust/crates/pango-0.14.3.crate) = 37665
-SHA256 (rust/crates/pango-sys-0.14.0.crate) = 2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe
-SIZE (rust/crates/pango-sys-0.14.0.crate) = 23109
-SHA256 (rust/crates/parking-2.0.0.crate) = 427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72
-SIZE (rust/crates/parking-2.0.0.crate) = 9714
-SHA256 (rust/crates/paste-1.0.5.crate) = acbf547ad0c65e31259204bd90935776d1c693cec2f4ff7abb7a1bbbd40dfe58
-SIZE (rust/crates/paste-1.0.5.crate) = 17669
-SHA256 (rust/crates/pest-2.1.3.crate) = 10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53
-SIZE (rust/crates/pest-2.1.3.crate) = 77986
-SHA256 (rust/crates/pin-project-lite-0.2.7.crate) = 8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443
-SIZE (rust/crates/pin-project-lite-0.2.7.crate) = 27212
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/option-operations-0.5.0.crate) = 7c26d27bb1aeab65138e4bf7666045169d1717febcc9ff870166be8348b223d0
+SIZE (rust/crates/option-operations-0.5.0.crate) = 19262
+SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/pango-0.19.3.crate) = b1264d13deb823cc652f26cfe59afb1ec4b9db2a5bd27c41b738c879cc1bfaa1
+SIZE (rust/crates/pango-0.19.3.crate) = 44890
+SHA256 (rust/crates/pango-sys-0.19.0.crate) = f52ef6a881c19fbfe3b1484df5cad411acaaba29dbec843941c3110d19f340ea
+SIZE (rust/crates/pango-sys-0.19.0.crate) = 24787
+SHA256 (rust/crates/parking-2.2.0.crate) = bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae
+SIZE (rust/crates/parking-2.2.0.crate) = 9730
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
-SHA256 (rust/crates/pkg-config-0.3.19.crate) = 3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c
-SIZE (rust/crates/pkg-config-0.3.19.crate) = 15451
-SHA256 (rust/crates/polling-2.1.0.crate) = 92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25
-SIZE (rust/crates/polling-2.1.0.crate) = 17682
-SHA256 (rust/crates/ppv-lite86-0.2.10.crate) = ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857
-SIZE (rust/crates/ppv-lite86-0.2.10.crate) = 20915
-SHA256 (rust/crates/pretty-hex-0.2.1.crate) = bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131
-SIZE (rust/crates/pretty-hex-0.2.1.crate) = 6176
-SHA256 (rust/crates/pretty_env_logger-0.4.0.crate) = 926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d
-SIZE (rust/crates/pretty_env_logger-0.4.0.crate) = 8690
-SHA256 (rust/crates/proc-macro-crate-1.1.0.crate) = 1ebace6889caf889b4d3f76becee12e90353f2b8c7d875534a71e5742f8f6f83
-SIZE (rust/crates/proc-macro-crate-1.1.0.crate) = 8535
+SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
+SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
+SHA256 (rust/crates/proc-macro-crate-3.1.0.crate) = 6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284
+SIZE (rust/crates/proc-macro-crate-3.1.0.crate) = 11084
SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
-SHA256 (rust/crates/proc-macro-hack-0.5.19.crate) = dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5
-SIZE (rust/crates/proc-macro-hack-0.5.19.crate) = 15556
-SHA256 (rust/crates/proc-macro-nested-0.1.7.crate) = bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086
-SIZE (rust/crates/proc-macro-nested-0.1.7.crate) = 6495
-SHA256 (rust/crates/proc-macro2-1.0.29.crate) = b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d
-SIZE (rust/crates/proc-macro2-1.0.29.crate) = 38772
-SHA256 (rust/crates/pulsectl-rs-0.3.2.crate) = 06a988bceed1981b2c5fc4a3da0e4e073fdaff8e6bd022b089f54bc573dc3cfc
-SIZE (rust/crates/pulsectl-rs-0.3.2.crate) = 22817
-SHA256 (rust/crates/quick-error-1.2.3.crate) = a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0
-SIZE (rust/crates/quick-error-1.2.3.crate) = 15066
-SHA256 (rust/crates/quote-1.0.9.crate) = c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7
-SIZE (rust/crates/quote-1.0.9.crate) = 25042
-SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
-SIZE (rust/crates/rand-0.8.4.crate) = 87406
-SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
-SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
-SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
-SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
-SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (rust/crates/regex-1.5.4.crate) = 236581
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
-SHA256 (rust/crates/rustc_version-0.3.3.crate) = f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee
-SIZE (rust/crates/rustc_version-0.3.3.crate) = 12119
-SHA256 (rust/crates/scoped-tls-1.0.0.crate) = ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2
-SIZE (rust/crates/scoped-tls-1.0.0.crate) = 9146
-SHA256 (rust/crates/semver-0.11.0.crate) = f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6
-SIZE (rust/crates/semver-0.11.0.crate) = 20826
-SHA256 (rust/crates/semver-parser-0.10.2.crate) = 00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7
-SIZE (rust/crates/semver-parser-0.10.2.crate) = 23176
-SHA256 (rust/crates/serde-1.0.130.crate) = f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913
-SIZE (rust/crates/serde-1.0.130.crate) = 75305
-SHA256 (rust/crates/serde_derive-1.0.130.crate) = d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b
-SIZE (rust/crates/serde_derive-1.0.130.crate) = 54703
-SHA256 (rust/crates/serde_repr-0.1.7.crate) = 98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5
-SIZE (rust/crates/serde_repr-0.1.7.crate) = 10173
-SHA256 (rust/crates/sha1-0.6.0.crate) = 2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d
-SIZE (rust/crates/sha1-0.6.0.crate) = 9244
-SHA256 (rust/crates/slab-0.4.4.crate) = c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590
-SIZE (rust/crates/slab-0.4.4.crate) = 15725
-SHA256 (rust/crates/slotmap-1.0.6.crate) = e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342
-SIZE (rust/crates/slotmap-1.0.6.crate) = 58954
-SHA256 (rust/crates/smallvec-1.6.1.crate) = fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e
-SIZE (rust/crates/smallvec-1.6.1.crate) = 26444
-SHA256 (rust/crates/socket2-0.4.2.crate) = 5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516
-SIZE (rust/crates/socket2-0.4.2.crate) = 41721
-SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
-SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
-SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
-SIZE (rust/crates/strum-0.21.0.crate) = 5296
-SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
-SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
-SHA256 (rust/crates/syn-1.0.76.crate) = c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84
-SIZE (rust/crates/syn-1.0.76.crate) = 233723
-SHA256 (rust/crates/system-deps-3.2.0.crate) = 480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6
-SIZE (rust/crates/system-deps-3.2.0.crate) = 21476
-SHA256 (rust/crates/system-deps-4.0.0.crate) = 6c1889ab44c2a423ba9ba4d64cd04989b25c0280ca7ade813f05368418722a04
-SIZE (rust/crates/system-deps-4.0.0.crate) = 22092
-SHA256 (rust/crates/temp-dir-0.1.11.crate) = af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab
-SIZE (rust/crates/temp-dir-0.1.11.crate) = 5743
-SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
-SHA256 (rust/crates/thiserror-1.0.29.crate) = 602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88
-SIZE (rust/crates/thiserror-1.0.29.crate) = 17455
-SHA256 (rust/crates/thiserror-impl-1.0.29.crate) = bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c
-SIZE (rust/crates/thiserror-impl-1.0.29.crate) = 15201
-SHA256 (rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
-SIZE (rust/crates/time-0.1.43.crate) = 28653
-SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.crate) = 54219
-SHA256 (rust/crates/tracing-0.1.28.crate) = 84f96e095c0c82419687c20ddf5cb3eadb61f4e1405923c9dc8e53a1adacbda8
-SIZE (rust/crates/tracing-0.1.28.crate) = 71369
-SHA256 (rust/crates/tracing-attributes-0.1.16.crate) = 98863d0dd09fa59a1b79c6750ad80dbda6b75f4e71c437a6a1a8cb91a8bcbd77
-SIZE (rust/crates/tracing-attributes-0.1.16.crate) = 21685
-SHA256 (rust/crates/tracing-core-0.1.20.crate) = 46125608c26121c81b0c6d693eab5a420e416da7e43c426d2e8f7df8da8a3acf
-SIZE (rust/crates/tracing-core-0.1.20.crate) = 50446
-SHA256 (rust/crates/ucd-trie-0.1.3.crate) = 56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c
-SIZE (rust/crates/ucd-trie-0.1.3.crate) = 44615
-SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/version-compare-0.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
-SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
-SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
-SIZE (rust/crates/version_check-0.9.3.crate) = 12547
-SHA256 (rust/crates/waker-fn-1.1.0.crate) = 9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca
-SIZE (rust/crates/waker-fn-1.1.0.crate) = 7114
-SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
-SHA256 (rust/crates/wayland-client-0.28.6.crate) = e3ab332350e502f159382201394a78e3cc12d0f04db863429260164ea40e0355
-SIZE (rust/crates/wayland-client-0.28.6.crate) = 69347
-SHA256 (rust/crates/wayland-commons-0.28.6.crate) = a21817947c7011bbd0a27e11b17b337bfd022e8544b071a2641232047966fbda
-SIZE (rust/crates/wayland-commons-0.28.6.crate) = 20581
-SHA256 (rust/crates/wayland-scanner-0.28.6.crate) = ce923eb2deb61de332d1f356ec7b6bf37094dc5573952e1c8936db03b54c03f1
-SIZE (rust/crates/wayland-scanner-0.28.6.crate) = 17226
-SHA256 (rust/crates/wayland-sys-0.28.6.crate) = d841fca9aed7febf9bed2e9796c49bf58d4152ceda8ac949ebe00868d8f0feb8
-SIZE (rust/crates/wayland-sys-0.28.6.crate) = 7937
-SHA256 (rust/crates/weezl-0.1.5.crate) = d8b77fdfd5a253be4ab714e4ffa3c49caf146b4de743e97510c0656cf90f1e8e
-SIZE (rust/crates/weezl-0.1.5.crate) = 34944
-SHA256 (rust/crates/wepoll-ffi-0.1.2.crate) = d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb
-SIZE (rust/crates/wepoll-ffi-0.1.2.crate) = 31309
+SHA256 (rust/crates/proc-macro2-1.0.79.crate) = e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e
+SIZE (rust/crates/proc-macro2-1.0.79.crate) = 47200
+SHA256 (rust/crates/quick-xml-0.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33
+SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/regex-1.10.3.crate) = b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15
+SIZE (rust/crates/regex-1.10.3.crate) = 253101
+SHA256 (rust/crates/regex-automata-0.4.6.crate) = 86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea
+SIZE (rust/crates/regex-automata-0.4.6.crate) = 617565
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/ryu-1.0.17.crate) = e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1
+SIZE (rust/crates/ryu-1.0.17.crate) = 47537
+SHA256 (rust/crates/semver-1.0.22.crate) = 92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca
+SIZE (rust/crates/semver-1.0.22.crate) = 30446
+SHA256 (rust/crates/serde-1.0.197.crate) = 3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2
+SIZE (rust/crates/serde-1.0.197.crate) = 77087
+SHA256 (rust/crates/serde_derive-1.0.197.crate) = 7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b
+SIZE (rust/crates/serde_derive-1.0.197.crate) = 55771
+SHA256 (rust/crates/serde_spanned-0.6.5.crate) = eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1
+SIZE (rust/crates/serde_spanned-0.6.5.crate) = 8349
+SHA256 (rust/crates/serde_yaml-0.9.33.crate) = a0623d197252096520c6f2a5e1171ee436e5af99a5d7caa2891e55e61950e6d9
+SIZE (rust/crates/serde_yaml-0.9.33.crate) = 65165
+SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
+SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.13.1.crate) = e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7
+SIZE (rust/crates/smallvec-1.13.1.crate) = 34952
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.53.crate) = 7383cd0e49fff4b6b90ca5670bfd3e9d6a733b3f90c686605aa7eec8c4996032
+SIZE (rust/crates/syn-2.0.53.crate) = 254828
+SHA256 (rust/crates/system-deps-6.2.2.crate) = a3e535eb8dded36d55ec13eddacd30dec501792ff23a0b1682c38601b8cf2349
+SIZE (rust/crates/system-deps-6.2.2.crate) = 25546
+SHA256 (rust/crates/target-lexicon-0.12.14.crate) = e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f
+SIZE (rust/crates/target-lexicon-0.12.14.crate) = 25508
+SHA256 (rust/crates/temp-dir-0.1.12.crate) = dd16aa9ffe15fe021c6ee3766772132c6e98dfa395a167e16864f61a9cfb71d6
+SIZE (rust/crates/temp-dir-0.1.12.crate) = 5792
+SHA256 (rust/crates/thiserror-1.0.58.crate) = 03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297
+SIZE (rust/crates/thiserror-1.0.58.crate) = 21025
+SHA256 (rust/crates/thiserror-impl-1.0.58.crate) = c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7
+SIZE (rust/crates/thiserror-impl-1.0.58.crate) = 15645
+SHA256 (rust/crates/thread_local-1.1.8.crate) = 8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c
+SIZE (rust/crates/thread_local-1.1.8.crate) = 13962
+SHA256 (rust/crates/toml-0.8.12.crate) = e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3
+SIZE (rust/crates/toml-0.8.12.crate) = 51145
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421
+SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324
+SHA256 (rust/crates/toml_edit-0.21.1.crate) = 6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1
+SIZE (rust/crates/toml_edit-0.21.1.crate) = 101661
+SHA256 (rust/crates/toml_edit-0.22.8.crate) = c12219811e0c1ba077867254e5ad62ee2c9c190b0d957110750ac0cda1ae96cd
+SIZE (rust/crates/toml_edit-0.22.8.crate) = 104016
+SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
+SIZE (rust/crates/tracing-0.1.40.crate) = 79459
+SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
+SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
+SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
+SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
+SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
+SHA256 (rust/crates/tracing-subscriber-0.3.18.crate) = ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b
+SIZE (rust/crates/tracing-subscriber-0.3.18.crate) = 196312
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unsafe-libyaml-0.2.11.crate) = 673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861
+SIZE (rust/crates/unsafe-libyaml-0.2.11.crate) = 62101
+SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d
+SIZE (rust/crates/valuable-0.1.0.crate) = 27718
+SHA256 (rust/crates/version-compare-0.2.0.crate) = 852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b
+SIZE (rust/crates/version-compare-0.2.0.crate) = 13942
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8
+SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da
+SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726
+SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96
+SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263
+SHA256 (rust/crates/weezl-0.1.8.crate) = 53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082
+SIZE (rust/crates/weezl-0.1.8.crate) = 42175
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/x11-2.19.0.crate) = 8099e1f0f4797830958b078e98e771fc9ca5591ea50e233744fec930d91fffac
-SIZE (rust/crates/x11-2.19.0.crate) = 64640
-SHA256 (rust/crates/xml-rs-0.8.4.crate) = d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3
-SIZE (rust/crates/xml-rs-0.8.4.crate) = 52690
-SHA256 (rust/crates/zbus-2.0.0-beta.6.crate) = 0a83ae2a824814235320b6539f12b7678e15d347d66235e1230338d11c1fb07e
-SIZE (rust/crates/zbus-2.0.0-beta.6.crate) = 83485
-SHA256 (rust/crates/zbus_macros-2.0.0-beta.6.crate) = 2518b2ea6ac01672b131ce4d1fe45f840732d6266660277499b9e81a153bd723
-SIZE (rust/crates/zbus_macros-2.0.0-beta.6.crate) = 20578
-SHA256 (rust/crates/zbus_names-1.0.0.crate) = 4882f6e16e1a55ab9ee5c2031692fc8708d03f46000383a11a5f1c8cb69e7c8b
-SIZE (rust/crates/zbus_names-1.0.0.crate) = 7368
-SHA256 (rust/crates/zvariant-2.8.0.crate) = fa4b785b8b32b0f8433b4474e6bb4ea77b37c1960e84d7598e01dd199b2b23ef
-SIZE (rust/crates/zvariant-2.8.0.crate) = 60913
-SHA256 (rust/crates/zvariant_derive-2.8.0.crate) = b42af4ee88fb928781391216c34be77ec7cdb3546042b2947ce38d86aa5f37dd
-SIZE (rust/crates/zvariant_derive-2.8.0.crate) = 8771
-SHA256 (SeaDve-Kooha-v2.0.1_GH0.tar.gz) = 984ee062fabfe6bbdf8024dd5e4d1c5ce2fafc3b75539f2ba52449bdd4cc3f98
-SIZE (SeaDve-Kooha-v2.0.1_GH0.tar.gz) = 257283
+SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
+SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.52.4.crate) = 7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b
+SIZE (rust/crates/windows-targets-0.52.4.crate) = 6310
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = 433373
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.4.crate) = da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675
+SIZE (rust/crates/windows_aarch64_msvc-0.52.4.crate) = 828055
+SHA256 (rust/crates/windows_i686_gnu-0.52.4.crate) = b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3
+SIZE (rust/crates/windows_i686_gnu-0.52.4.crate) = 875736
+SHA256 (rust/crates/windows_i686_msvc-0.52.4.crate) = 1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02
+SIZE (rust/crates/windows_i686_msvc-0.52.4.crate) = 895530
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03
+SIZE (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 831627
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 433358
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8
+SIZE (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 828019
+SHA256 (rust/crates/winnow-0.5.40.crate) = f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876
+SIZE (rust/crates/winnow-0.5.40.crate) = 159316
+SHA256 (rust/crates/winnow-0.6.5.crate) = dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8
+SIZE (rust/crates/winnow-0.6.5.crate) = 159316
+SHA256 (SeaDve-Kooha-v2.3.0_GH0.tar.gz) = a1aec108b44483664a6c680c5351c32de98862f5df4503a915d5f23e8ae24636
+SIZE (SeaDve-Kooha-v2.3.0_GH0.tar.gz) = 390523
diff --git a/multimedia/kooha/files/patch-build-aux_cargo.sh b/multimedia/kooha/files/patch-build-aux_cargo.sh
deleted file mode 100644
index 058d5e193b37..000000000000
--- a/multimedia/kooha/files/patch-build-aux_cargo.sh
+++ /dev/null
@@ -1,18 +0,0 @@
---- build-aux/cargo.sh.orig 2021-09-10 08:14:31 UTC
-+++ build-aux/cargo.sh
-@@ -8,13 +8,13 @@ export CARGO_HOME="$MESON_BUILD_ROOT"/cargo-home
- if [ "$4" = "Devel" ]
- then
- echo "DEBUG MODE"
- cargo build --manifest-path \
- "$MESON_SOURCE_ROOT"/Cargo.toml && \
-- cp "$CARGO_TARGET_DIR"/debug/$5 $3
-+ cp "$CARGO_TARGET_DIR"/$CARGO_BUILD_TARGET/debug/$5 $3
- else
- echo "RELEASE MODE"
- cargo build --manifest-path \
- "$MESON_SOURCE_ROOT"/Cargo.toml --release && \
-- cp "$CARGO_TARGET_DIR"/release/$5 $3
-+ cp "$CARGO_TARGET_DIR"/$CARGO_BUILD_TARGET/release/$5 $3
- fi
-
diff --git a/multimedia/kooha/files/patch-pango-1.50 b/multimedia/kooha/files/patch-pango-1.50
new file mode 100644
index 000000000000..8ed4332f96e2
--- /dev/null
+++ b/multimedia/kooha/files/patch-pango-1.50
@@ -0,0 +1,16 @@
+Drop after x11-toolkits/pango >= 1.51 update
+
+[pango-sys 0.18.0] Package dependency requirement 'pango >= 1.51' could not be satisfied.
+[pango-sys 0.18.0] Package 'pango' has version '1.50.14', required version is '>= 1.51'
+
+--- cargo-crates/gtk4-0.8.1/Cargo.toml.orig 1970-01-01 00:00:00 UTC
++++ cargo-crates/gtk4-0.8.1/Cargo.toml
+@@ -129,7 +129,7 @@ gnome_46 = [
+ gnome_46 = [
+ "v4_14",
+ "cairo-rs/v1_16",
+- "pango/v1_52",
++ "pango/v1_50",
+ "gdk-pixbuf/v2_42",
+ "gio_v2_80",
+ ]
diff --git a/multimedia/kooha/files/patch-zbus b/multimedia/kooha/files/patch-zbus
deleted file mode 100644
index fd16b0ff2795..000000000000
--- a/multimedia/kooha/files/patch-zbus
+++ /dev/null
@@ -1,19 +0,0 @@
-https://gitlab.freedesktop.org/dbus/zbus/-/commit/35d1b8778754
-
-$ kooha
- ERROR kooha::backend::screencast_portal > Failed to create a screencast call: zbus error: I/O error: No such file or directory (os error 2)
-
---- cargo-crates/zbus-2.0.0-beta.6/src/address.rs.orig 1973-11-29 21:33:09 UTC
-+++ cargo-crates/zbus-2.0.0-beta.6/src/address.rs
-@@ -35,8 +35,9 @@ impl Address {
- match env::var("DBUS_SESSION_BUS_ADDRESS") {
- Ok(val) => Self::from_str(&val),
- _ => {
-- let uid = Uid::current();
-- let path = format!("unix:path=/run/user/{}/bus", uid);
-+ let runtime_dir = env::var("XDG_RUNTIME_DIR")
-+ .unwrap_or_else(|_| format!("/run/user/{}", Uid::current()));
-+ let path = format!("unix:path={}/bus", runtime_dir);
-
- Self::from_str(&path)
- }
diff --git a/multimedia/kooha/pkg-descr b/multimedia/kooha/pkg-descr
index fe0dd1708dad..8bf315caacdd 100644
--- a/multimedia/kooha/pkg-descr
+++ b/multimedia/kooha/pkg-descr
@@ -6,16 +6,9 @@ simply click the record button without having to configure a bunch of
settings.
The main features of Kooha include the following:
-- Capture your screen without any hassle.
-- Record your microphone, computer sounds, or both at the same time.
-- Support for WebM, MP4, GIF, and MKV formats.
-- Multiple sources selection.
-- Optional hardware accelerated encoding
-- Select a monitor or window to record.
-- Create a selection to capture certain area from your screen.
-- Set delay to prepare before you start recording.
-- Hide or show mouse pointer.
-- Choose a saving location for your recording.
-- Utilize helpful keyboard shortcuts.
-
-WWW: https://github.com/SeaDve/Kooha
+- Record microphone, desktop audio, or both at the same time
+- Support for WebM, MP4, GIF, and Matroska formats
+- Select a monitor, a window, or a portion of the screen to record
+- Multiple sources selection
+- Configurable saving location, pointer visibility, frame rate, and delay
+- Experimental hardware-accelerated encoding
diff --git a/multimedia/kooha/pkg-plist b/multimedia/kooha/pkg-plist
index 0dc074750e2e..52a0e8ca145c 100644
--- a/multimedia/kooha/pkg-plist
+++ b/multimedia/kooha/pkg-plist
@@ -1,13 +1,20 @@
bin/kooha
share/applications/io.github.seadve.Kooha.desktop
+share/dbus-1/services/io.github.seadve.Kooha.service
share/icons/hicolor/scalable/apps/io.github.seadve.Kooha.svg
share/icons/hicolor/symbolic/apps/io.github.seadve.Kooha-symbolic.svg
%%DATADIR%%/resources.gresource
share/locale/ar/LC_MESSAGES/kooha.mo
+share/locale/bg/LC_MESSAGES/kooha.mo
+share/locale/bqi/LC_MESSAGES/kooha.mo
+share/locale/ca/LC_MESSAGES/kooha.mo
share/locale/cs/LC_MESSAGES/kooha.mo
+share/locale/da/LC_MESSAGES/kooha.mo
share/locale/de/LC_MESSAGES/kooha.mo
+share/locale/el/LC_MESSAGES/kooha.mo
share/locale/eo/LC_MESSAGES/kooha.mo
share/locale/es/LC_MESSAGES/kooha.mo
+share/locale/et/LC_MESSAGES/kooha.mo
share/locale/eu/LC_MESSAGES/kooha.mo
share/locale/fa/LC_MESSAGES/kooha.mo
share/locale/fi/LC_MESSAGES/kooha.mo
@@ -23,17 +30,22 @@ share/locale/it/LC_MESSAGES/kooha.mo
share/locale/ja/LC_MESSAGES/kooha.mo
share/locale/ko/LC_MESSAGES/kooha.mo
share/locale/nb_NO/LC_MESSAGES/kooha.mo
+share/locale/ne/LC_MESSAGES/kooha.mo
share/locale/nl/LC_MESSAGES/kooha.mo
share/locale/oc/LC_MESSAGES/kooha.mo
share/locale/pl/LC_MESSAGES/kooha.mo
share/locale/pt/LC_MESSAGES/kooha.mo
share/locale/pt_BR/LC_MESSAGES/kooha.mo
+share/locale/ro/LC_MESSAGES/kooha.mo
share/locale/ru/LC_MESSAGES/kooha.mo
+share/locale/si/LC_MESSAGES/kooha.mo
share/locale/sk/LC_MESSAGES/kooha.mo
share/locale/sr/LC_MESSAGES/kooha.mo
share/locale/sr@latin/LC_MESSAGES/kooha.mo
share/locale/sv/LC_MESSAGES/kooha.mo
+share/locale/ta/LC_MESSAGES/kooha.mo
share/locale/tr/LC_MESSAGES/kooha.mo
share/locale/uk/LC_MESSAGES/kooha.mo
share/locale/zh_Hans/LC_MESSAGES/kooha.mo
+share/locale/zh_Hant/LC_MESSAGES/kooha.mo
share/metainfo/io.github.seadve.Kooha.metainfo.xml
diff --git a/multimedia/kvazaar/Makefile b/multimedia/kvazaar/Makefile
index 830cb7569b07..f5b9dd097f46 100644
--- a/multimedia/kvazaar/Makefile
+++ b/multimedia/kvazaar/Makefile
@@ -1,33 +1,25 @@
PORTNAME= kvazaar
DISTVERSIONPREFIX= v
-DISTVERSION?= 2.1.0
+DISTVERSION= 2.3.1
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= H.265/HEVC encoder implemented in C
+WWW= https://ultravideo.fi/#encoder_x
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
+USES= autoreconf compiler:c11 libtool pathfix
USE_GITHUB= yes
GH_ACCOUNT= ultravideo
GH_TUPLE= silentbicycle:greatest:v1.0.0:greatest/greatest
-
-CONFLICTS_INSTALL?= ${PORTNAME}-devel
-
-USES= autoreconf compiler:c11 libtool pathfix
GNU_CONFIGURE= yes
TEST_TARGET= check
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
-OPTIONS_DEFINE= ASM CRYPTOPP DOCS
-OPTIONS_DEFAULT=ASM
-
-ASM_BUILD_DEPENDS= ${ASM_BUILD_DEPENDS_${ARCH}}
-ASM_BUILD_DEPENDS_amd64=yasm:devel/yasm
-ASM_BUILD_DEPENDS_i386= yasm:devel/yasm
-ASM_CONFIGURE_ENABLE= asm
+OPTIONS_DEFINE= CRYPTOPP DOCS
CRYPTOPP_DESC= Selective encryption via Crypto++ library
CRYPTOPP_LIB_DEPENDS= libcryptopp.so:security/cryptopp
diff --git a/multimedia/kvazaar/distinfo b/multimedia/kvazaar/distinfo
index 0b01d0362a1d..dce8db76b7a3 100644
--- a/multimedia/kvazaar/distinfo
+++ b/multimedia/kvazaar/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1634127841
-SHA256 (ultravideo-kvazaar-v2.1.0_GH0.tar.gz) = bbdd3112182e5660a1c339e30677f871b6eac1e5b4ff1292ee1ae38ecbe11029
-SIZE (ultravideo-kvazaar-v2.1.0_GH0.tar.gz) = 605962
+TIMESTAMP = 1712745755
+SHA256 (ultravideo-kvazaar-v2.3.1_GH0.tar.gz) = c5a1699d0bd50bc6bdba485b3438a5681a43d7b2c4fd6311a144740bfa59c9cc
+SIZE (ultravideo-kvazaar-v2.3.1_GH0.tar.gz) = 598516
SHA256 (silentbicycle-greatest-v1.0.0_GH0.tar.gz) = 18ee57a34869c6f6ce511cd71a5cc8661801cf69d64c4c66ff76773835df659b
SIZE (silentbicycle-greatest-v1.0.0_GH0.tar.gz) = 11959
diff --git a/multimedia/kvazaar/pkg-descr b/multimedia/kvazaar/pkg-descr
index eee547e64e87..27daf5ff0943 100644
--- a/multimedia/kvazaar/pkg-descr
+++ b/multimedia/kvazaar/pkg-descr
@@ -17,5 +17,3 @@ make this open-source encoder unique:
1. The encoder is developed from the scratch (HM used as a reference)
2. The implementation language is platform-independent C
-
-WWW: http://ultravideo.cs.tut.fi/#encoder
diff --git a/multimedia/kvazaar/pkg-plist b/multimedia/kvazaar/pkg-plist
index 1c8f1bd0210f..1e5081f4f598 100644
--- a/multimedia/kvazaar/pkg-plist
+++ b/multimedia/kvazaar/pkg-plist
@@ -2,12 +2,11 @@ bin/kvazaar
include/kvazaar.h
lib/libkvazaar.a
lib/libkvazaar.so
-lib/libkvazaar.so.6
-lib/libkvazaar.so.6.6.0
+lib/libkvazaar.so.7
+lib/libkvazaar.so.7.4.0
libdata/pkgconfig/kvazaar.pc
-man/man1/kvazaar.1.gz
%%PORTDOCS%%%%DOCSDIR%%/CREDITS
%%PORTDOCS%%%%DOCSDIR%%/LICENSE
-%%PORTDOCS%%%%DOCSDIR%%/LICENSE.greatest
-%%PORTDOCS%%%%DOCSDIR%%/LICENSE.x264asm
+%%PORTDOCS%%%%DOCSDIR%%/LICENSE.EXT.greatest
%%PORTDOCS%%%%DOCSDIR%%/README.md
+share/man/man1/kvazaar.1.gz
diff --git a/multimedia/l-smash/Makefile b/multimedia/l-smash/Makefile
index 2afe996d57eb..a35c16c5c80e 100644
--- a/multimedia/l-smash/Makefile
+++ b/multimedia/l-smash/Makefile
@@ -1,18 +1,25 @@
PORTNAME= l-smash
-PORTVERSION= 2.14.5
DISTVERSIONPREFIX= v
+DISTVERSION= 2.18.0-10
+DISTVERSIONSUFFIX= -g2c0696c
CATEGORIES= multimedia
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= MP4 muxer and other tools
+WWW= https://l-smash.github.io/l-smash/
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
-USE_GITHUB= yes
+LIB_DEPENDS= libobuparse.so:multimedia/obuparse
-USES= gmake pathfix
+USES= gmake localbase pathfix
PATHFIX_MAKEFILEIN= Makefile
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= vimeo
+
HAS_CONFIGURE= yes
CONFIGURE_ARGS= --prefix="${PREFIX}" \
--cc="${CC}" \
@@ -21,7 +28,6 @@ CONFIGURE_ARGS= --prefix="${PREFIX}" \
--extra-libs="${LIBS}" \
--enable-shared
MAKE_ARGS= STRIP="${STRIP_CMD}"
-USE_LDCONFIG= yes
post-patch:
@${REINPLACE_CMD} -e 's/-Os //; /=.*-fexcess-precision/d' \
@@ -30,4 +36,7 @@ post-patch:
@${REINPLACE_CMD} -e '/SHARED/,/^$$/ { /STRIP/s/-x //; }' \
${WRKSRC}/${MAKEFILE}
+post-install:
+ @${RM} ${STAGEDIR}${PREFIX}/lib/liblsmash.a
+
.include <bsd.port.mk>
diff --git a/multimedia/l-smash/distinfo b/multimedia/l-smash/distinfo
index b59f4d726ff8..d9ff2f43c5fc 100644
--- a/multimedia/l-smash/distinfo
+++ b/multimedia/l-smash/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1518307696
-SHA256 (l-smash-l-smash-v2.14.5_GH0.tar.gz) = e6f7c31de684f4b89ee27e5cd6262bf96f2a5b117ba938d2d606cf6220f05935
-SIZE (l-smash-l-smash-v2.14.5_GH0.tar.gz) = 465037
+TIMESTAMP = 1690745425
+SHA256 (vimeo-l-smash-v2.18.0-10-g2c0696c_GH0.tar.gz) = 710370b5fea5ba6acca6b8f7315588926f28c98bee74c4143257ac40fcb8a6ba
+SIZE (vimeo-l-smash-v2.18.0-10-g2c0696c_GH0.tar.gz) = 492886
diff --git a/multimedia/l-smash/files/patch-configure b/multimedia/l-smash/files/patch-configure
new file mode 100644
index 000000000000..aeeb79efe81e
--- /dev/null
+++ b/multimedia/l-smash/files/patch-configure
@@ -0,0 +1,19 @@
+--- configure.orig 2023-07-30 19:24:45 UTC
++++ configure
+@@ -282,7 +282,7 @@ if test -n "$DEBUG"; then
+ CFLAGS="$CFLAGS -g3 -O0"
+ STRIP=""
+ else
+- CFLAGS="-Os -ffast-math $CFLAGS"
++ CFLAGS="$CFLAGS"
+ fi
+
+
+@@ -430,6 +430,7 @@ sed -i -e '/lsmash_win32_fopen/d' \
+ # Get rid of non-public symbols for the cli tools from local.
+ sed -i -e '/lsmash_win32_fopen/d' \
+ -e '/lsmash_string_from_wchar/d' \
++ -e '/lsmash_string_to_wchar/d' \
+ -e '/lsmash_importer_open/d' \
+ -e '/lsmash_importer_close/d' \
+ -e '/lsmash_importer_get_access_unit/d' \
diff --git a/multimedia/l-smash/pkg-descr b/multimedia/l-smash/pkg-descr
index 3c60d8605a57..f4b2c94322a3 100644
--- a/multimedia/l-smash/pkg-descr
+++ b/multimedia/l-smash/pkg-descr
@@ -1,4 +1,2 @@
L-SMASH is a cross-platform library for dealing with ISO Base Media
derived formats, including MP4.
-
-WWW: https://l-smash.github.io/l-smash/
diff --git a/multimedia/l-smash/pkg-plist b/multimedia/l-smash/pkg-plist
index d0e297ce0efa..063991d1b030 100644
--- a/multimedia/l-smash/pkg-plist
+++ b/multimedia/l-smash/pkg-plist
@@ -3,7 +3,6 @@ bin/muxer
bin/remuxer
bin/timelineeditor
include/lsmash.h
-lib/liblsmash.a
lib/liblsmash.so
lib/liblsmash.so.2
libdata/pkgconfig/liblsmash.pc
diff --git a/multimedia/lebiniou-data/Makefile b/multimedia/lebiniou-data/Makefile
index ebba198c3cde..2a956bc36c81 100644
--- a/multimedia/lebiniou-data/Makefile
+++ b/multimedia/lebiniou-data/Makefile
@@ -1,9 +1,10 @@
PORTNAME= lebiniou-data
DISTVERSION= 3.66.0
-CATEGORIES= multimedia graphics
+CATEGORIES= multimedia graphics
-MAINTAINER= olivier@biniou.info
+MAINTAINER= lbartoletti@FreeBSD.org
COMMENT= Data for lebiniou
+WWW= https://gitlab.com/lebiniou/lebiniou-data
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -12,7 +13,7 @@ USES= autoreconf
USE_GITLAB= YES
GL_ACCOUNT= lebiniou
-GL_COMMIT= 18949ea967b3616d251ea7eeac7f2409991a9030
+GL_TAGNAME= 18949ea967b3616d251ea7eeac7f2409991a9030
GNU_CONFIGURE= YES
diff --git a/multimedia/lebiniou-data/pkg-descr b/multimedia/lebiniou-data/pkg-descr
index 9069605bb29d..311913d545ea 100644
--- a/multimedia/lebiniou-data/pkg-descr
+++ b/multimedia/lebiniou-data/pkg-descr
@@ -3,5 +3,4 @@ This is where you will find the mandatory files that Le Biniou uses by default:
- a selection of free colormaps
- a selection of images to start with Le Biniou
-WWW: https://biniou.net
-WWW: https://gitlab.com/lebiniou/lebiniou-data
+See also: https://biniou.net
diff --git a/multimedia/lebiniou/Makefile b/multimedia/lebiniou/Makefile
index a4ab22a868fd..677651ad2481 100644
--- a/multimedia/lebiniou/Makefile
+++ b/multimedia/lebiniou/Makefile
@@ -1,10 +1,11 @@
PORTNAME= lebiniou
DISTVERSION= 3.66.0
-PORTREVISION= 1
+PORTREVISION= 6
CATEGORIES= multimedia graphics
-MAINTAINER= olivier@biniou.info
+MAINTAINER= lbartoletti@FreeBSD.org
COMMENT= User-friendly, powerful music visualization / VJing tool
+WWW= https://biniou.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -35,9 +36,9 @@ USE_SDL= sdl2
USE_LDCONFIG= YES
USE_GITLAB= YES
GL_ACCOUNT= lebiniou
-GL_COMMIT= 2049ce3d9ee5f860fb6a5d516c4af797f4669b58
+GL_TAGNAME= 2049ce3d9ee5f860fb6a5d516c4af797f4669b58
GNU_CONFIGURE= YES
-INSTALLS_ICONS= YES
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
.include <bsd.port.mk>
diff --git a/multimedia/lebiniou/pkg-descr b/multimedia/lebiniou/pkg-descr
index 0a4ec9e4a39f..b7df1b399e03 100644
--- a/multimedia/lebiniou/pkg-descr
+++ b/multimedia/lebiniou/pkg-descr
@@ -12,5 +12,3 @@ or you can let Le Biniou's artificial intelligence run on its own.
Forget the old visualizations you are familiar with, discover a new
multidimensional -spatial and chromatic- way of comprehending music
and sounds for either artistic, recreational or didactic purposes.
-
-WWW: https://biniou.net/
diff --git a/multimedia/lebiniou/pkg-plist b/multimedia/lebiniou/pkg-plist
index f8cc8131483d..bf5b8ed7ffa4 100644
--- a/multimedia/lebiniou/pkg-plist
+++ b/multimedia/lebiniou/pkg-plist
@@ -122,9 +122,9 @@ lib/lebiniou/plugins/output/caca/caca.so
lib/lebiniou/plugins/output/mp4/mp4.so
lib/lebiniou/plugins/output/v4l2loopback/v4l2loopback.so
lib/liblebiniou.so.0
-man/man1/lebiniou.1.gz
share/applications/net.biniou.LeBiniou.desktop
share/icons/hicolor/256x256/apps/net.biniou.LeBiniou.png
+share/man/man1/lebiniou.1.gz
share/metainfo/net.biniou.LeBiniou.appdata.xml
share/pixmaps/lebiniou.xpm
%%DATADIR%%/etc/schemes.json
diff --git a/multimedia/libaacs/Makefile b/multimedia/libaacs/Makefile
index 87e53c9cdf07..f5179a4a0e89 100644
--- a/multimedia/libaacs/Makefile
+++ b/multimedia/libaacs/Makefile
@@ -1,12 +1,12 @@
-# Created by: kamikaze@bsdforen.de
-
PORTNAME= libaacs
DISTVERSION= 0.11.1
CATEGORIES= multimedia
-MASTER_SITES= https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
MAINTAINER= ports@FreeBSD.org
COMMENT= Advanced Access Content System implementation
+WWW= https://www.videolan.org/developers/libaacs.html
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/libaacs/pkg-descr b/multimedia/libaacs/pkg-descr
index 134a1ee4180f..258c8d69aff0 100644
--- a/multimedia/libaacs/pkg-descr
+++ b/multimedia/libaacs/pkg-descr
@@ -4,5 +4,3 @@ way to understand how the AACS works.
This research project is mainly developed by an international team of developers
from Doom9.
-
-WWW: https://www.videolan.org/developers/libaacs.html
diff --git a/multimedia/libass/Makefile b/multimedia/libass/Makefile
index d30b02b68161..982985f82ad8 100644
--- a/multimedia/libass/Makefile
+++ b/multimedia/libass/Makefile
@@ -1,10 +1,12 @@
PORTNAME= libass
-DISTVERSION= 0.16.0
+DISTVERSION= 0.17.1
+PORTREVISION= 2
CATEGORIES= multimedia devel
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${DISTVERSION}/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Portable ASS/SSA subtitle renderer
+WWW= https://github.com/libass/libass
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -21,6 +23,8 @@ INSTALL_TARGET= install-strip
LDFLAGS_i386= -Wl,-znotext
CPE_VENDOR= libass_project
+OPTIONS_DEFINE= UNIBREAK
+OPTIONS_DEFAULT=UNIBREAK
OPTIONS_DEFINE_amd64= ASM
OPTIONS_DEFINE_i386= ASM
OPTIONS_DEFAULT_amd64= ASM
@@ -29,4 +33,8 @@ OPTIONS_DEFAULT_i386= ASM
ASM_BUILD_DEPENDS=nasm:devel/nasm
ASM_CONFIGURE_ENABLE=asm
+UNIBREAK_DESC= Unicode Line Breaking Algorithm support
+UNIBREAK_LIB_DEPENDS= libunibreak.so:textproc/libunibreak
+UNIBREAK_CONFIGURE_ENABLE= libunibreak
+
.include <bsd.port.mk>
diff --git a/multimedia/libass/distinfo b/multimedia/libass/distinfo
index 0ae7ed353a1b..1d31b423245c 100644
--- a/multimedia/libass/distinfo
+++ b/multimedia/libass/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652364177
-SHA256 (libass-0.16.0.tar.xz) = 5dbde9e22339119cf8eed59eea6c623a0746ef5a90b689e68a090109078e3c08
-SIZE (libass-0.16.0.tar.xz) = 396304
+TIMESTAMP = 1615319168
+SHA256 (libass-0.17.1.tar.xz) = f0da0bbfba476c16ae3e1cfd862256d30915911f7abaa1b16ce62ee653192784
+SIZE (libass-0.17.1.tar.xz) = 403160
diff --git a/multimedia/libass/pkg-descr b/multimedia/libass/pkg-descr
index 66fb628380ba..c6cf2402f473 100644
--- a/multimedia/libass/pkg-descr
+++ b/multimedia/libass/pkg-descr
@@ -1,4 +1,2 @@
libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation
Alpha/Substation Alpha) subtitle format. It is mostly compatible with VSFilter.
-
-WWW: https://github.com/libass/libass
diff --git a/multimedia/libass/pkg-plist b/multimedia/libass/pkg-plist
index ff170cd86836..adb51e77115b 100644
--- a/multimedia/libass/pkg-plist
+++ b/multimedia/libass/pkg-plist
@@ -3,5 +3,5 @@ include/ass/ass_types.h
lib/libass.a
lib/libass.so
lib/libass.so.9
-lib/libass.so.9.1.4
+lib/libass.so.9.2.1
libdata/pkgconfig/libass.pc
diff --git a/multimedia/libbdplus/Makefile b/multimedia/libbdplus/Makefile
index d02d9fabed63..6ad3fb3849c2 100644
--- a/multimedia/libbdplus/Makefile
+++ b/multimedia/libbdplus/Makefile
@@ -1,13 +1,12 @@
-# Created by: kamikaze@bsdforen.de
-
PORTNAME= libbdplus
-DISTVERSION= 0.1.2
-PORTREVISION= 1
+DISTVERSION= 0.2.0
CATEGORIES= multimedia
-MASTER_SITES= https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
MAINTAINER= ports@FreeBSD.org
COMMENT= BD+ System research implementation
+WWW= https://www.videolan.org/developers/libbdplus.html
LICENSE= LGPL21
diff --git a/multimedia/libbdplus/distinfo b/multimedia/libbdplus/distinfo
index c7b46e7fb067..41982ab0f34b 100644
--- a/multimedia/libbdplus/distinfo
+++ b/multimedia/libbdplus/distinfo
@@ -1,2 +1,3 @@
-SHA256 (libbdplus-0.1.2.tar.bz2) = a631cae3cd34bf054db040b64edbfc8430936e762eb433b1789358ac3d3dc80a
-SIZE (libbdplus-0.1.2.tar.bz2) = 319828
+TIMESTAMP = 1653543873
+SHA256 (libbdplus-0.2.0.tar.bz2) = b93eea3eaef33d6e9155d2c34b068c505493aa5a4936e63274f4342ab0f40a58
+SIZE (libbdplus-0.2.0.tar.bz2) = 321743
diff --git a/multimedia/libbdplus/pkg-descr b/multimedia/libbdplus/pkg-descr
index 5759bb774941..a505a6088745 100644
--- a/multimedia/libbdplus/pkg-descr
+++ b/multimedia/libbdplus/pkg-descr
@@ -2,5 +2,3 @@ libbdplus is a research project to implement the BD+ System Specifications.
This research project provides, through an open-source library, a way to
understand how the BD+ works.
-
-WWW: https://www.videolan.org/developers/libbdplus.html
diff --git a/multimedia/libbdplus/pkg-plist b/multimedia/libbdplus/pkg-plist
index 2ed923700897..cf5bd3ac9e7c 100644
--- a/multimedia/libbdplus/pkg-plist
+++ b/multimedia/libbdplus/pkg-plist
@@ -3,5 +3,5 @@ include/libbdplus/bdplus.h
lib/libbdplus.a
lib/libbdplus.so
lib/libbdplus.so.0
-lib/libbdplus.so.0.1.0
+lib/libbdplus.so.0.2.0
libdata/pkgconfig/libbdplus.pc
diff --git a/multimedia/libbluray/Makefile b/multimedia/libbluray/Makefile
index aa1676bd9c18..0d4783a03a03 100644
--- a/multimedia/libbluray/Makefile
+++ b/multimedia/libbluray/Makefile
@@ -1,13 +1,13 @@
-# Created by: kamikaze@bsdforen.de
-
PORTNAME= libbluray
-DISTVERSION= 1.3.1
+DISTVERSION= 1.3.4
PORTEPOCH= 1
CATEGORIES= multimedia
-MASTER_SITES= https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= se@FreeBSD.org
COMMENT= Blu-Ray discs playback library for media players
+WWW= https://www.videolan.org/developers/libbluray.html
LICENSE= LGPL21
@@ -45,11 +45,9 @@ JAVA_VERSION= 8
JAVA_BUILD= yes
MAKE_ENV= JAVA_HOME=${JAVA_HOME} \
PATH=${JAVA_HOME}/bin:${PATH}
-
.endif
-post-patch:
- @${RLN} ${WRKSRC}/jni/linux ${WRKSRC}/jni/freebsd
+pre-build:
@${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|' ${WRKSRC}/src/libbluray/bdj/bdj.c
.include <bsd.port.mk>
diff --git a/multimedia/libbluray/distinfo b/multimedia/libbluray/distinfo
index 00500b73de3b..3f39a54d2869 100644
--- a/multimedia/libbluray/distinfo
+++ b/multimedia/libbluray/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1653163455
-SHA256 (libbluray-1.3.1.tar.bz2) = c24b0f41c5b737bbb65c544fe63495637a771c10a519dfc802e769f112b43b75
-SIZE (libbluray-1.3.1.tar.bz2) = 754867
+TIMESTAMP = 1670573236
+SHA256 (libbluray-1.3.4.tar.bz2) = 478ffd68a0f5dde8ef6ca989b7f035b5a0a22c599142e5cd3ff7b03bbebe5f2b
+SIZE (libbluray-1.3.4.tar.bz2) = 756323
diff --git a/multimedia/libbluray/files/patch-src_libbluray_bdj_java_java_io_BDFileSystem.java b/multimedia/libbluray/files/patch-src_libbluray_bdj_java_java_io_BDFileSystem.java
deleted file mode 100644
index 114dbf7fdfe5..000000000000
--- a/multimedia/libbluray/files/patch-src_libbluray_bdj_java_java_io_BDFileSystem.java
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/libbluray/bdj/java/java/io/BDFileSystem.java.orig 2022-03-03 17:05:27 UTC
-+++ src/libbluray/bdj/java/java/io/BDFileSystem.java
-@@ -227,6 +227,17 @@ public abstract class BDFileSystem extends FileSystem
- return fs.isAbsolute(f);
- }
-
-+ public boolean isInvalid(File f) {
-+ try {
-+ Method m = fs.getClass().getDeclaredMethod("isInvalid", new Class[] { File.class });
-+ Object[] args = new Object[] {(Object)f};
-+ Boolean result = (Boolean)m.invoke(fs, args);
-+ return result.booleanValue();
-+ } finally {
-+ return false;
-+ }
-+ }
-+
- public String resolve(File f) {
- if (!booted)
- return fs.resolve(f);
diff --git a/multimedia/libbluray/pkg-descr b/multimedia/libbluray/pkg-descr
index 751d171598a8..dd2fd832009d 100644
--- a/multimedia/libbluray/pkg-descr
+++ b/multimedia/libbluray/pkg-descr
@@ -3,5 +3,3 @@ media players, like VLC or MPlayer.
This research project is developed by an international team of developers from
Doom9.
-
-WWW: https://www.videolan.org/developers/libbluray.html
diff --git a/multimedia/libbluray/pkg-plist b/multimedia/libbluray/pkg-plist
index be2429ea31cf..10717ad3bc79 100644
--- a/multimedia/libbluray/pkg-plist
+++ b/multimedia/libbluray/pkg-plist
@@ -12,7 +12,7 @@ include/libbluray/overlay.h
include/libbluray/player_settings.h
lib/libbluray.so
lib/libbluray.so.2
-lib/libbluray.so.2.4.1
+lib/libbluray.so.2.4.3
libdata/pkgconfig/libbluray.pc
-%%JAVA%%%%JAVASHAREDIR%%/libbluray-j2se-1.3.1.jar
-%%JAVA%%%%JAVASHAREDIR%%/libbluray-awt-j2se-1.3.1.jar
+%%JAVA%%%%JAVASHAREDIR%%/libbluray-awt-j2se-1.3.4.jar
+%%JAVA%%%%JAVASHAREDIR%%/libbluray-j2se-1.3.4.jar
diff --git a/multimedia/libcec/Makefile b/multimedia/libcec/Makefile
index bffadf03396f..83ea1b51df9e 100644
--- a/multimedia/libcec/Makefile
+++ b/multimedia/libcec/Makefile
@@ -1,12 +1,12 @@
-# Created by: Manuel Creach <manuel.creach@icloud.com>
-
PORTNAME= libcec
PORTVERSION= 6.0.2
DISTVERSIONPREFIX= libcec-
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Library to control Pulse-Eight's HDMI-CEC adapter
+WWW= http://libcec.pulse-eight.com/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -42,7 +42,7 @@ RPI_DESC= Build libcec support for Raspberry Pi
PYTHON_BUILD_DEPENDS= swig:devel/swig
PYTHON_CMAKE_BOOL_OFF= SKIP_PYTHON_WRAPPER
PYTHON_USES= python:build
-RPI_CMAKE_ON= -DRPI_INCLUDE_DIR=${LOCALBASE}/include -DRPI_LIB_DIR=${LOCALBASE}/lib
+RPI_CMAKE_ON= -DRPI_INCLUDE_DIR=${LOCALBASE}/share/vc/include -DRPI_LIB_DIR=${LOCALBASE}/share/vc/lib
RPI_LIB_DEPENDS= libbcm_host.so:misc/raspberrypi-userland
X11_USE_OFF= XORG=x11,xorgproto,xrandr
X11_USES_OFF= xorg
diff --git a/multimedia/libcec/pkg-descr b/multimedia/libcec/pkg-descr
index 0750a68e2e37..291762ede234 100644
--- a/multimedia/libcec/pkg-descr
+++ b/multimedia/libcec/pkg-descr
@@ -4,5 +4,3 @@ is an enabling platform for the CEC bus in HDMI, it allows developers to
interact with other HDMI devices without having to worry about the communication
overhead, handshaking, and the various ways of sending a message for each
vendor.
-
-WWW: http://libcec.pulse-eight.com/
diff --git a/multimedia/libdc1394/Makefile b/multimedia/libdc1394/Makefile
index 3bbbccbd7a34..6aae641e5002 100644
--- a/multimedia/libdc1394/Makefile
+++ b/multimedia/libdc1394/Makefile
@@ -1,18 +1,19 @@
-# Created by: Gea-Suan Lin <gslin@gslin.org>
-
PORTNAME= libdc1394
DISTVERSION= 2.2.6
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-2/${PORTVERSION}/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= 1394-based DC Control Library
+WWW= https://damien.douxchamps.net/ieee1394/libdc1394/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
USES= libtool pathfix
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
diff --git a/multimedia/libdc1394/pkg-descr b/multimedia/libdc1394/pkg-descr
index b55704854854..7026025c8f15 100644
--- a/multimedia/libdc1394/pkg-descr
+++ b/multimedia/libdc1394/pkg-descr
@@ -2,5 +2,3 @@ libdc1394 is a library that provides a complete high level
application programming interface (API) for developers who wish to
control IEEE 1394 based cameras that conform to the 1394-based Digital
Camera Specifications (also known as the IIDC or DCAM Specifications).
-
-WWW: https://damien.douxchamps.net/ieee1394/libdc1394/
diff --git a/multimedia/libdc1394/pkg-plist b/multimedia/libdc1394/pkg-plist
index 7ab22e75a8c8..a21494ac0a3d 100644
--- a/multimedia/libdc1394/pkg-plist
+++ b/multimedia/libdc1394/pkg-plist
@@ -20,9 +20,9 @@ lib/libdc1394.so
lib/libdc1394.so.25
lib/libdc1394.so.25.0.0
libdata/pkgconfig/libdc1394-2.pc
-man/man1/dc1394_multiview.1.gz
-man/man1/dc1394_reset_bus.1.gz
-man/man1/dc1394_vloopback.1.gz
-man/man1/grab_color_image.1.gz
-man/man1/grab_gray_image.1.gz
-man/man1/grab_partial_image.1.gz
+share/man/man1/dc1394_multiview.1.gz
+share/man/man1/dc1394_reset_bus.1.gz
+share/man/man1/dc1394_vloopback.1.gz
+share/man/man1/grab_color_image.1.gz
+share/man/man1/grab_gray_image.1.gz
+share/man/man1/grab_partial_image.1.gz
diff --git a/multimedia/libdca/Makefile b/multimedia/libdca/Makefile
index dc2f587d6e70..593651e89245 100644
--- a/multimedia/libdca/Makefile
+++ b/multimedia/libdca/Makefile
@@ -1,12 +1,13 @@
-# Created by: Pav Lucistnik <pav@FreeBSD.org>
-
PORTNAME= libdca
PORTVERSION= 0.0.7
+PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${PORTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${PORTVERSION}/
MAINTAINER= jhale@FreeBSD.org
COMMENT= Free DTS Coherent Acoustics decoder
+WWW= https://www.videolan.org/developers/libdca.html
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -15,6 +16,7 @@ USES= autoreconf libtool pathfix pkgconfig tar:bzip2
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
INSTALL_TARGET= install-strip
.include <bsd.port.mk>
diff --git a/multimedia/libdca/pkg-descr b/multimedia/libdca/pkg-descr
index bf122c10a37e..dbd65e325d74 100644
--- a/multimedia/libdca/pkg-descr
+++ b/multimedia/libdca/pkg-descr
@@ -1,5 +1,3 @@
libdca is a free library for decoding DTS Coherent Acoustics streams.
libdca is still in early development stage so don't expect too much from it.
-
-WWW: http://www.videolan.org/developers/libdca.html
diff --git a/multimedia/libdca/pkg-plist b/multimedia/libdca/pkg-plist
index b9f32b1d59ac..13a5003ba7c9 100644
--- a/multimedia/libdca/pkg-plist
+++ b/multimedia/libdca/pkg-plist
@@ -11,7 +11,7 @@ lib/libdca.so.0.0.0
lib/libdts.a
libdata/pkgconfig/libdca.pc
libdata/pkgconfig/libdts.pc
-man/man1/dcadec.1.gz
-man/man1/extract_dca.1.gz
-man/man1/dtsdec.1.gz
-man/man1/extract_dts.1.gz
+share/man/man1/dcadec.1.gz
+share/man/man1/extract_dca.1.gz
+share/man/man1/dtsdec.1.gz
+share/man/man1/extract_dts.1.gz
diff --git a/multimedia/libdcadec/Makefile b/multimedia/libdcadec/Makefile
index 5faf983592e5..8dac8db40fb5 100644
--- a/multimedia/libdcadec/Makefile
+++ b/multimedia/libdcadec/Makefile
@@ -6,6 +6,7 @@ CATEGORIES= multimedia
MAINTAINER= mickael.maillot@gmail.com
COMMENT= DTS Coherent Acoustics decoder with support for HD extensions
+WWW= https://github.com/foo86/dcadec
LICENSE= LGPL21
diff --git a/multimedia/libdcadec/pkg-descr b/multimedia/libdcadec/pkg-descr
index c5f2cc819392..bbf0a4266780 100644
--- a/multimedia/libdcadec/pkg-descr
+++ b/multimedia/libdcadec/pkg-descr
@@ -11,5 +11,3 @@ Downmixing to stereo and 5.1 using embedded coefficients
Features not implemented:
Decoding of DTS Express streams
Applying dynamic range compression and dialog normalization
-
-WWW: https://github.com/foo86/dcadec
diff --git a/multimedia/libde265/Makefile b/multimedia/libde265/Makefile
index 1365f14648c8..8eff230bbc5a 100644
--- a/multimedia/libde265/Makefile
+++ b/multimedia/libde265/Makefile
@@ -1,19 +1,11 @@
-# Created by: Koop Mast <kwm@FreeBSD.org>
-
PORTNAME= libde265
-DISTVERSION= 1.0.8
+DISTVERSION= 1.0.12
CATEGORIES= multimedia
MASTER_SITES= https://github.com/strukturag/${PORTNAME}/releases/download/v${DISTVERSION}/
-PATCH_SITES= https://github.com/strukturag/${PORTNAME}/commit/
-PATCHFILES= 900772c3e9ee1e106b93283fd8e7633d52899e40.patch:-p1 \
- 7d5aeb5f11531de33f5b7ae0e768ffc50da4facb.patch:-p1 \
- dbff9077462899fc8e3b39907d43c2a6ad54e9f3.patch:-p1 \
- a3f1c6a0dea2b0d4a531255ad06ed40cdb184d25.patch:-p1 \
- 4c0fe2c149c68ece57fde4cb11e05b5fb572da4b.patch:-p1
-
MAINTAINER= kwm@FreeBSD.org
COMMENT= Open source h.265 video codec
+WWW= https://www.libde265.org
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -35,7 +27,7 @@ LLD_UNSAFE= yes
.endif
post-install:
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libde265.so.0.1.1
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libde265.so.0.1.5
${MV} ${STAGEDIR}${PREFIX}/bin/dec265 \
${STAGEDIR}${PREFIX}/bin/libde265-dec265
diff --git a/multimedia/libde265/distinfo b/multimedia/libde265/distinfo
index 4c4087981fdc..6e9d2539ace5 100644
--- a/multimedia/libde265/distinfo
+++ b/multimedia/libde265/distinfo
@@ -1,13 +1,3 @@
-TIMESTAMP = 1644223000
-SHA256 (libde265-1.0.8.tar.gz) = 24c791dd334fa521762320ff54f0febfd3c09fc978880a8c5fbc40a88f21d905
-SIZE (libde265-1.0.8.tar.gz) = 837878
-SHA256 (900772c3e9ee1e106b93283fd8e7633d52899e40.patch) = 121750b44912f45c071b866f6183d7a17cd0e2e2734c69dfa18251ee83fee2db
-SIZE (900772c3e9ee1e106b93283fd8e7633d52899e40.patch) = 871
-SHA256 (7d5aeb5f11531de33f5b7ae0e768ffc50da4facb.patch) = 49dbd9d91071b2977753b60645b9465d395f4d9e28d304afb97331594d1befa8
-SIZE (7d5aeb5f11531de33f5b7ae0e768ffc50da4facb.patch) = 2677
-SHA256 (dbff9077462899fc8e3b39907d43c2a6ad54e9f3.patch) = 47e3cb0424963a9187dc8fa2944b195a9203da0218efd550683dda9be6884fca
-SIZE (dbff9077462899fc8e3b39907d43c2a6ad54e9f3.patch) = 733
-SHA256 (a3f1c6a0dea2b0d4a531255ad06ed40cdb184d25.patch) = e47243f811d9924aaea7c76043cebfe9254a32797b92fabd9526b5d8cd491264
-SIZE (a3f1c6a0dea2b0d4a531255ad06ed40cdb184d25.patch) = 2348
-SHA256 (4c0fe2c149c68ece57fde4cb11e05b5fb572da4b.patch) = da76d56fd0d5ab480c4e44a8d3bbd8adf17ebd5b6e77c1516dacf8f17edb9e2c
-SIZE (4c0fe2c149c68ece57fde4cb11e05b5fb572da4b.patch) = 1709
+TIMESTAMP = 1686766462
+SHA256 (libde265-1.0.12.tar.gz) = 62185ea2182e68cf68bba20cc6eb4c287407b509cf0a827d7ddb75614db77b5c
+SIZE (libde265-1.0.12.tar.gz) = 846345
diff --git a/multimedia/libde265/pkg-descr b/multimedia/libde265/pkg-descr
index 7e42161856c2..cf0da51e5591 100644
--- a/multimedia/libde265/pkg-descr
+++ b/multimedia/libde265/pkg-descr
@@ -5,5 +5,3 @@ into other software.
libde265 supports WPP and tile-based multithreading and includes SSE
optimizations. The decoder includes all features of the Main profile
and correctly decodes almost all conformance streams.
-
-WWW: http://www.libde265.org
diff --git a/multimedia/libde265/pkg-plist b/multimedia/libde265/pkg-plist
index 1b0b753c9903..26745369d393 100644
--- a/multimedia/libde265/pkg-plist
+++ b/multimedia/libde265/pkg-plist
@@ -3,5 +3,5 @@ include/libde265/de265-version.h
include/libde265/de265.h
lib/libde265.so
lib/libde265.so.0
-lib/libde265.so.0.1.1
+lib/libde265.so.0.1.5
libdata/pkgconfig/libde265.pc
diff --git a/multimedia/libdv/Makefile b/multimedia/libdv/Makefile
index 0bd87d8f9654..9ced201e3db5 100644
--- a/multimedia/libdv/Makefile
+++ b/multimedia/libdv/Makefile
@@ -1,12 +1,11 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= libdv
DISTVERSION= 1.0.0
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
COMMENT= Quasar DV codec (libdv) is a software codec for DV video
+WWW= https://libdv.sourceforge.net/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -19,12 +18,18 @@ USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org/gstreamer
GL_ACCOUNT= meson-ports
GL_PROJECT= libdv
-GL_COMMIT= 24218c36bed3b0a3bd5a57d5790ac12ade44e88d
+GL_TAGNAME= 24218c36bed3b0a3bd5a57d5790ac12ade44e88d
USE_LDCONFIG= yes
LDFLAGS_i386= -Wl,-znotext
-MESON_ARGS= -Dpopt=enabled -Dtools=enabled
+MESON_ARGS= -Dtools=enabled
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH} != amd64 && ${ARCH} != i386
+MESON_ARGS+= -Dasm=disabled
+.endif
.include <bsd.port.mk>
diff --git a/multimedia/libdv/pkg-descr b/multimedia/libdv/pkg-descr
index c2ac178b3099..e365f531e4d5 100644
--- a/multimedia/libdv/pkg-descr
+++ b/multimedia/libdv/pkg-descr
@@ -7,5 +7,3 @@ video: IEC 61834 and SMPTE 314M.
Please note that this software is only concerned with the DV video
compression format, which is different from capturing the data from
a camcorder.
-
-WWW: http://libdv.sourceforge.net/
diff --git a/multimedia/libdv/pkg-plist b/multimedia/libdv/pkg-plist
index 1582f3d54305..5f7be7767c26 100644
--- a/multimedia/libdv/pkg-plist
+++ b/multimedia/libdv/pkg-plist
@@ -8,6 +8,6 @@ lib/libdv.so
lib/libdv.so.4
lib/libdv.so.4.0.3
libdata/pkgconfig/libdv.pc
-man/man1/dubdv.1.gz
-man/man1/dvconnect.1.gz
-man/man1/encodedv.1.gz
+share/man/man1/dubdv.1.gz
+share/man/man1/dvconnect.1.gz
+share/man/man1/encodedv.1.gz
diff --git a/multimedia/libdvbcsa/Makefile b/multimedia/libdvbcsa/Makefile
index 74d4adfa6ff1..d2652e102053 100644
--- a/multimedia/libdvbcsa/Makefile
+++ b/multimedia/libdvbcsa/Makefile
@@ -1,17 +1,16 @@
-# Created by: Bernhard Froehlich <decke@FreeBSD.org>
-
PORTNAME= libdvbcsa
-PORTVERSION= 1.1.0
+DISTVERSION= 1.1.0
PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${PORTVERSION}/ \
- http://ftp.heikorichter.name/pub/videolan/${PORTNAME}/${PORTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
PATCH_SITES= https://raw.githubusercontent.com/buildroot/buildroot/master/package/libdvbcsa/
PATCHFILES= 0001-altivec-powerpc64.patch:-p1
MAINTAINER= decke@FreeBSD.org
COMMENT= Free implementation of the DVB Common Scrambling Algorithm
+WWW= https://www.videolan.org/developers/libdvbcsa.html
LICENSE= GPLv2
diff --git a/multimedia/libdvbcsa/pkg-descr b/multimedia/libdvbcsa/pkg-descr
index 248244efd09f..b862d3f0aff9 100644
--- a/multimedia/libdvbcsa/pkg-descr
+++ b/multimedia/libdvbcsa/pkg-descr
@@ -2,5 +2,3 @@ libdvbcsa is a free implementation of the DVB Common Scrambling Algorithm
DVB/CSA - with encryption and decryption capabilities.
As libdvbcsa implements a standard, it is completly legal to use it.
-
-WWW: http://www.videolan.org/developers/libdvbcsa.html
diff --git a/multimedia/libdvbpsi/Makefile b/multimedia/libdvbpsi/Makefile
index 886bf8a9e561..f9b2b35abc9e 100644
--- a/multimedia/libdvbpsi/Makefile
+++ b/multimedia/libdvbpsi/Makefile
@@ -1,12 +1,12 @@
-# Created by: ijliao
-
PORTNAME= libdvbpsi
-PORTVERSION= 1.3.3
+DISTVERSION= 1.3.3
CATEGORIES= multimedia
-MASTER_SITES= http://download.videolan.org/pub/libdvbpsi/${PORTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/libdvbpsi/${DISTVERSION}/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Library for MPEG TS and DVB PSI tables decoding and generation
+WWW= https://www.videolan.org/developers/libdvbpsi.html
LICENSE= LGPL21
diff --git a/multimedia/libdvbpsi/pkg-descr b/multimedia/libdvbpsi/pkg-descr
index 0a783582d83b..e2dacb4b6414 100644
--- a/multimedia/libdvbpsi/pkg-descr
+++ b/multimedia/libdvbpsi/pkg-descr
@@ -5,5 +5,3 @@ two keywords are portability and simplicity.
Currently supported tables
- Program Association Table (PAT, MPEG2)
- Program Map Table (PMT, MPEG2)
-
-WWW: http://www.videolan.org/developers/libdvbpsi.html
diff --git a/multimedia/libdvdcss/Makefile b/multimedia/libdvdcss/Makefile
index 792aea749f83..1d0769fdd3a9 100644
--- a/multimedia/libdvdcss/Makefile
+++ b/multimedia/libdvdcss/Makefile
@@ -1,12 +1,12 @@
-# Created by: ijliao
-
PORTNAME= libdvdcss
DISTVERSION= 1.4.3
CATEGORIES= multimedia
-MASTER_SITES= https://download.videolan.org/pub/${PORTNAME}/${DISTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/${PORTNAME}/${DISTVERSION}/
MAINTAINER= ports@FreeBSD.org
COMMENT= Portable abstraction library for DVD decryption
+WWW= https://www.videolan.org/developers/libdvdcss.html
LICENSE= GPLv2 DMCA
LICENSE_COMB= multi
diff --git a/multimedia/libdvdcss/pkg-descr b/multimedia/libdvdcss/pkg-descr
index 4a364afb7beb..78f77b50fe45 100644
--- a/multimedia/libdvdcss/pkg-descr
+++ b/multimedia/libdvdcss/pkg-descr
@@ -10,5 +10,3 @@ without having to bother about the decryption. The important features are:
it will stay free, and used only for free software products.
- Just better. Unlike most similar projects, libdvdcss doesn't require the
region of your drive to be set.
-
-WWW: http://www.videolan.org/developers/libdvdcss.html
diff --git a/multimedia/libdvdnav/Makefile b/multimedia/libdvdnav/Makefile
index 68a8d563815a..315cc46bc603 100644
--- a/multimedia/libdvdnav/Makefile
+++ b/multimedia/libdvdnav/Makefile
@@ -1,12 +1,12 @@
-# Created by: MANTANI Nobutaka <nobutaka@nobutaka.com>
-
PORTNAME= libdvdnav
-PORTVERSION= 6.1.1
+DISTVERSION= 6.1.1
CATEGORIES= multimedia
-MASTER_SITES= https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
MAINTAINER= martymac@FreeBSD.org
COMMENT= Videolan version of the libdvdnav project
+WWW= https://www.videolan.org/developers/libdvdnav.html
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/libdvdnav/pkg-descr b/multimedia/libdvdnav/pkg-descr
index 45e9470304d4..c609cfb8ddc9 100644
--- a/multimedia/libdvdnav/pkg-descr
+++ b/multimedia/libdvdnav/pkg-descr
@@ -1,3 +1 @@
Videolan version of the libdvdnav project.
-
-WWW: https://www.videolan.org/developers/libdvdnav.html
diff --git a/multimedia/libdvdread/Makefile b/multimedia/libdvdread/Makefile
index fe4e5455584f..be1cad7958cf 100644
--- a/multimedia/libdvdread/Makefile
+++ b/multimedia/libdvdread/Makefile
@@ -1,12 +1,12 @@
-# Created by: Marc van Woerkom <3d@FreeBSD.org>
-
PORTNAME= libdvdread
-PORTVERSION= 6.1.2
+DISTVERSION= 6.1.3
CATEGORIES= multimedia
-MASTER_SITES= https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION}/
MAINTAINER= martymac@FreeBSD.org
COMMENT= Videolan version of the libdvdread project
+WWW= https://www.videolan.org/developers/libdvdnav.html
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,7 +18,7 @@ USE_LDCONFIG= yes
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
-PORTDOCS= AUTHORS COPYING ChangeLog NEWS README TODO
+PORTDOCS= AUTHORS COPYING ChangeLog NEWS README.md TODO
OPTIONS_DEFINE= DOCS
OPTIONS_RADIO= DVDCSS
diff --git a/multimedia/libdvdread/distinfo b/multimedia/libdvdread/distinfo
index 2c19228a4aa2..9fd1c9d97bc0 100644
--- a/multimedia/libdvdread/distinfo
+++ b/multimedia/libdvdread/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1619465265
-SHA256 (libdvdread-6.1.2.tar.bz2) = cc190f553758ced7571859e301f802cb4821f164d02bfacfd320c14a4e0da763
-SIZE (libdvdread-6.1.2.tar.bz2) = 391536
+TIMESTAMP = 1654202546
+SHA256 (libdvdread-6.1.3.tar.bz2) = ce35454997a208cbe50e91232f0e73fb1ac3471965813a13b8730a8f18a15369
+SIZE (libdvdread-6.1.3.tar.bz2) = 395439
diff --git a/multimedia/libdvdread/files/patch-src-dvdread-ifo_types.h b/multimedia/libdvdread/files/patch-src-dvdread-ifo_types.h
deleted file mode 100644
index 4a60adca2dc8..000000000000
--- a/multimedia/libdvdread/files/patch-src-dvdread-ifo_types.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/dvdread/ifo_types.h.orig 2020-03-04 18:57:19 UTC
-+++ src/dvdread/ifo_types.h
-@@ -32,7 +32,7 @@
-
- #if defined(__GNUC__)
- #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
--#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
-+#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && !defined(__clang__)
- #define ATTRIBUTE_PACKED __attribute__ ((packed,gcc_struct))
- #else
- #define ATTRIBUTE_PACKED __attribute__ ((packed))
diff --git a/multimedia/libdvdread/pkg-descr b/multimedia/libdvdread/pkg-descr
index 4bb378f149a8..1444857c4c27 100644
--- a/multimedia/libdvdread/pkg-descr
+++ b/multimedia/libdvdread/pkg-descr
@@ -1,3 +1 @@
Videolan version of the libdvdread project.
-
-WWW: https://www.videolan.org/developers/libdvdnav.html
diff --git a/multimedia/libfame/Makefile b/multimedia/libfame/Makefile
index 586207a5b582..8044d66ddaed 100644
--- a/multimedia/libfame/Makefile
+++ b/multimedia/libfame/Makefile
@@ -1,13 +1,12 @@
-# Created by: ijliao
-
PORTNAME= libfame
PORTVERSION= 0.9.1
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= multimedia
MASTER_SITES= SF/fame/${PORTNAME}/${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Video encoding library
+WWW= https://fame.sourceforge.net/
LICENSE= LGPL20+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -16,6 +15,7 @@ USES= libtool
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
INSTALL_TARGET= install-strip
OPTIONS_DEFINE= MMX
diff --git a/multimedia/libfame/pkg-descr b/multimedia/libfame/pkg-descr
index e6a7be5a0744..ddff8372b273 100644
--- a/multimedia/libfame/pkg-descr
+++ b/multimedia/libfame/pkg-descr
@@ -11,5 +11,3 @@ Objectives
- Flexibility : Allow the user to choose between different options for
speed, compression ratio and quality.
- Portability : Support many different platforms and architectures.
-
-WWW: http://fame.sourceforge.net/
diff --git a/multimedia/libfame/pkg-plist b/multimedia/libfame/pkg-plist
index d6a92a1466a9..15db0593149e 100644
--- a/multimedia/libfame/pkg-plist
+++ b/multimedia/libfame/pkg-plist
@@ -29,14 +29,14 @@ lib/libfame-0.9.so.1
lib/libfame-0.9.so.1.0.0
lib/libfame.a
lib/libfame.so
-man/man3/fame_close.3.gz
-man/man3/fame_encode_frame.3.gz
-man/man3/fame_encode_slice.3.gz
-man/man3/fame_end_frame.3.gz
-man/man3/fame_get_object.3.gz
-man/man3/fame_init.3.gz
-man/man3/fame_open.3.gz
-man/man3/fame_register.3.gz
-man/man3/fame_start_frame.3.gz
-man/man3/fame_unregister.3.gz
+share/man/man3/fame_close.3.gz
+share/man/man3/fame_encode_frame.3.gz
+share/man/man3/fame_encode_slice.3.gz
+share/man/man3/fame_end_frame.3.gz
+share/man/man3/fame_get_object.3.gz
+share/man/man3/fame_init.3.gz
+share/man/man3/fame_open.3.gz
+share/man/man3/fame_register.3.gz
+share/man/man3/fame_start_frame.3.gz
+share/man/man3/fame_unregister.3.gz
share/aclocal/libfame.m4
diff --git a/multimedia/libgav1/Makefile b/multimedia/libgav1/Makefile
index 128c0a3e4383..053d21d47093 100644
--- a/multimedia/libgav1/Makefile
+++ b/multimedia/libgav1/Makefile
@@ -1,10 +1,11 @@
PORTNAME= libgav1
DISTVERSIONPREFIX= v
-DISTVERSION= 0.17.0
+DISTVERSION= 0.19.0
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Main profile (0) & High profile (1) compliant AV1 decoder
+WWW= https://chromium.googlesource.com/codecs/libgav1
LICENSE= APACHE20
diff --git a/multimedia/libgav1/distinfo b/multimedia/libgav1/distinfo
index bf6fb4bdbe96..c58fa801ee6b 100644
--- a/multimedia/libgav1/distinfo
+++ b/multimedia/libgav1/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1635545517
-SHA256 (jbeich-libgav1-v0.17.0_GH0.tar.gz) = a768c8d64f928ab2ac04131b6b36f971c985d023854ddd50b0fb91ba980fd37c
-SIZE (jbeich-libgav1-v0.17.0_GH0.tar.gz) = 1154722
+TIMESTAMP = 1698785112
+SHA256 (jbeich-libgav1-v0.19.0_GH0.tar.gz) = 156a831e236560508a591b386fee8b7b77c73278ea0609cbc7fb4256b244debf
+SIZE (jbeich-libgav1-v0.19.0_GH0.tar.gz) = 1194750
SHA256 (google-googletest-release-1.11.0_GH0.tar.gz) = b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5
SIZE (google-googletest-release-1.11.0_GH0.tar.gz) = 886330
diff --git a/multimedia/libgav1/files/patch-CMakeLists.txt b/multimedia/libgav1/files/patch-CMakeLists.txt
index d6f6d70aca56..86f0aab56e40 100644
--- a/multimedia/libgav1/files/patch-CMakeLists.txt
+++ b/multimedia/libgav1/files/patch-CMakeLists.txt
@@ -1,9 +1,9 @@
- Sync -std= with devel/abseil to match ABI
- Avoid leaking abseil dependency to shared library consumers
---- CMakeLists.txt.orig 2021-10-29 22:11:57 UTC
+--- CMakeLists.txt.orig 2022-06-30 20:41:58 UTC
+++ CMakeLists.txt
-@@ -16,8 +16,8 @@
+@@ -16,8 +16,8 @@ cmake_minimum_required(VERSION 3.7.1 FATAL_ERROR)
cmake_minimum_required(VERSION 3.7.1 FATAL_ERROR)
# libgav1 requires C++11.
@@ -14,19 +14,19 @@
# libgav1 requires C99.
set(CMAKE_C_STANDARD 99)
-@@ -123,6 +123,8 @@ endif()
+@@ -131,6 +131,8 @@ libgav1_set_test_flags()
# Set test-only flags based on LIBGAV1_CXX_FLAGS.
libgav1_set_test_flags()
+find_package(absl)
+if(NOT TARGET absl::base)
set(libgav1_abseil "${libgav1_root}/third_party/abseil-cpp")
- if(NOT EXISTS "${libgav1_abseil}")
- message(
-@@ -136,6 +138,7 @@ if(NOT EXISTS "${libgav1_abseil}")
+ if(EXISTS "${libgav1_abseil}")
+ set(ABSL_PROPAGATE_CXX_STD ON)
+@@ -148,6 +150,7 @@ endif()
+ " https://github.com/abseil/abseil-cpp.git third_party/abseil-cpp")
+ endif()
endif()
- set(ABSL_PROPAGATE_CXX_STD ON)
- add_subdirectory("${libgav1_abseil}" "${libgav1_abseil_build}" EXCLUDE_FROM_ALL)
+endif() # NOT TARGET absl::base
libgav1_reset_target_lists()
diff --git a/multimedia/libgav1/pkg-descr b/multimedia/libgav1/pkg-descr
index ee318f376f2f..9d13905fae1e 100644
--- a/multimedia/libgav1/pkg-descr
+++ b/multimedia/libgav1/pkg-descr
@@ -1,3 +1 @@
libgav1 is a Main profile (0) & High profile (1) compliant AV1 decoder.
-
-WWW: https://chromium.googlesource.com/codecs/libgav1
diff --git a/multimedia/libgav1/pkg-plist b/multimedia/libgav1/pkg-plist
index b18697b04775..9b8fc31e311b 100644
--- a/multimedia/libgav1/pkg-plist
+++ b/multimedia/libgav1/pkg-plist
@@ -8,7 +8,7 @@ include/gav1/symbol_visibility.h
include/gav1/version.h
lib/libgav1.a
lib/libgav1.so
-lib/libgav1.so.0
-lib/libgav1.so.0.0.1
+lib/libgav1.so.1
+lib/libgav1.so.1.0.0
libdata/pkgconfig/libgav1.pc
share/cmake/libgav1-config.cmake
diff --git a/multimedia/libhdhomerun/Makefile b/multimedia/libhdhomerun/Makefile
index 21e61e5a11a1..1fd244140850 100644
--- a/multimedia/libhdhomerun/Makefile
+++ b/multimedia/libhdhomerun/Makefile
@@ -6,6 +6,7 @@ DISTNAME= ${PORTNAME}_${PORTVERSION}
MAINTAINER= dor.bsd@xm0.uk
COMMENT= Library and command line utility for interfacing with HDHomeRun device
+WWW= http://www.silicondust.com/support/downloads/linux/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/libhdhomerun/pkg-descr b/multimedia/libhdhomerun/pkg-descr
index aafa96bc50c5..84f7b6af9775 100644
--- a/multimedia/libhdhomerun/pkg-descr
+++ b/multimedia/libhdhomerun/pkg-descr
@@ -8,5 +8,3 @@ This utility can be used for:
* Modifying tuner settings
* Performing scans
* Performing firmware upgrades
-
-WWW: http://www.silicondust.com/support/downloads/linux/
diff --git a/multimedia/libkate/Makefile b/multimedia/libkate/Makefile
deleted file mode 100644
index 461e9defd9e0..000000000000
--- a/multimedia/libkate/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# Created by: Anders Nordby <anders@FreeBSD.org>
-
-PORTNAME= libkate
-PORTVERSION= 0.4.1
-PORTREVISION= 11
-CATEGORIES= multimedia
-MASTER_SITES= https://downloads.xiph.org/releases/kate/ \
- https://ftp.osuosl.org/pub/xiph/releases/kate/
-
-MAINTAINER= bar@FreeBSD.org
-COMMENT= Codec for karaoke and text encapsulation for Ogg
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libogg.so:audio/libogg \
- libpng.so:graphics/png
-
-GNU_CONFIGURE= yes
-USES= pathfix pkgconfig gmake libtool
-USE_LDCONFIG= yes
-
-CFLAGS+= "-I${LOCALBASE}/include"
-
-MANPAGE= katalyzer.1 kateenc.1 katedec.1
-OPTIONS_DEFINE= DOXYGEN HTMLDOCS DOCS
-
-HTMLDOCS_DESC= Install bundled html documentation
-
-PORTDOCS= *
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MDOXYGEN} && ${PORT_OPTIONS:MDOCS}
-BUILD_DEPENDS+= doxygen:devel/doxygen
-.else
-CONFIGURE_ARGS+= --disable-doc
-.endif
-
-post-patch:
- @${REINPLACE_CMD} -e \
- "s| HAVE_PYTHON_TRUE=$$| HAVE_PYTHON_TRUE='#'|; \
- s| HAVE_PYTHON_FALSE='#'$$| HAVE_PYTHON_FALSE=|" \
- ${WRKSRC}/configure
-
- @${REINPLACE_CMD} -E -e \
- "s|^(install-data-am: ).*|\1|" \
- ${WRKSRC}/doc/Makefile.in
-
-.if ! ${PORT_OPTIONS:MDOXYGEN} || ! ${PORT_OPTIONS:MDOCS}
- @${TOUCH} ${WRKSRC}/doc/.doc-dummy-target
-.endif
-
-post-install:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so
-.for f in ${MANPAGE}
- ${INSTALL_MAN} ${WRKSRC}/doc/man/${f} ${STAGEDIR}${PREFIX}/man/man1
-.endfor
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for FILE in README AUTHORS COPYING THANKS ChangeLog
- ${INSTALL_DATA} ${WRKSRC}/${FILE} ${STAGEDIR}${DOCSDIR}
-.endfor
-.if ${PORT_OPTIONS:MHTMLDOCS} || ${PORT_OPTIONS:MDOXYGEN}
- (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
-. endif
-
-.include <bsd.port.mk>
diff --git a/multimedia/libkate/distinfo b/multimedia/libkate/distinfo
deleted file mode 100644
index 69220cf1bcae..000000000000
--- a/multimedia/libkate/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libkate-0.4.1.tar.gz) = c40e81d5866c3d4bf744e76ce0068d8f388f0e25f7e258ce0c8e76d7adc87b68
-SIZE (libkate-0.4.1.tar.gz) = 906896
diff --git a/multimedia/libkate/pkg-descr b/multimedia/libkate/pkg-descr
deleted file mode 100644
index 0eee6c7b9fc8..000000000000
--- a/multimedia/libkate/pkg-descr
+++ /dev/null
@@ -1,10 +0,0 @@
-Kate is a codec for karaoke and text encapsulation for Ogg. Most of the time,
-this would be multiplexed with audio/video to carry subtitles, song lyrics
-(with or without karaoke data), etc, but doesn't have to be. A possible use of
-a lone Kate stream would be an e-book. Moreover, the motion feature gives Kate
-a powerful means to describe arbitrary curves, so hand drawing of shapes can be
-achieved. This was originally meant for karaoke use, but can be used for any
-purpose. Motions can be attached to various semantics, like position, color,
-etc, so scrolling or fading text can be defined.
-
-WWW: https://wiki.xiph.org/index.php/OggKate
diff --git a/multimedia/libkate/pkg-plist b/multimedia/libkate/pkg-plist
deleted file mode 100644
index 46ac544f2007..000000000000
--- a/multimedia/libkate/pkg-plist
+++ /dev/null
@@ -1,19 +0,0 @@
-bin/katalyzer
-bin/katedec
-bin/kateenc
-include/kate/kate.h
-include/kate/kate_config.h
-include/kate/oggkate.h
-lib/libkate.a
-lib/libkate.so
-lib/libkate.so.1
-lib/libkate.so.1.3.0
-lib/liboggkate.a
-lib/liboggkate.so
-lib/liboggkate.so.1
-lib/liboggkate.so.1.2.2
-libdata/pkgconfig/kate.pc
-libdata/pkgconfig/oggkate.pc
-man/man1/katalyzer.1.gz
-man/man1/katedec.1.gz
-man/man1/kateenc.1.gz
diff --git a/multimedia/libmatroska/Makefile b/multimedia/libmatroska/Makefile
index ae941b38fe8a..cfa8dd12e238 100644
--- a/multimedia/libmatroska/Makefile
+++ b/multimedia/libmatroska/Makefile
@@ -1,19 +1,18 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= libmatroska
-DISTVERSION= 1.6.3
+DISTVERSION= 1.7.1
CATEGORIES= multimedia audio
MASTER_SITES= https://dl.matroska.org/downloads/libmatroska/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Extensible Multimedia Container Format
+WWW= https://www.matroska.org/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/LICENSE.LGPL
LIB_DEPENDS= libebml.so:textproc/libebml
-USES= cmake compiler:c++11-lang cpe tar:xz
+USES= cmake compiler:c++14-lang cpe tar:xz
USE_LDCONFIG= yes
CPE_VENDOR= matroska
diff --git a/multimedia/libmatroska/distinfo b/multimedia/libmatroska/distinfo
index aa4bdd621b5b..3bc17271a75d 100644
--- a/multimedia/libmatroska/distinfo
+++ b/multimedia/libmatroska/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613670909
-SHA256 (libmatroska-1.6.3.tar.xz) = daf91a63f58dd157ca340c457871e66260cb9c3333fefb008b318befbb0e081a
-SIZE (libmatroska-1.6.3.tar.xz) = 65612
+TIMESTAMP = 1665308930
+SHA256 (libmatroska-1.7.1.tar.xz) = 572a3033b8d93d48a6a858e514abce4b2f7a946fe1f02cbfeca39bfd703018b3
+SIZE (libmatroska-1.7.1.tar.xz) = 61416
diff --git a/multimedia/libmatroska/pkg-descr b/multimedia/libmatroska/pkg-descr
index 3232a4ad6676..cecce9f0ed85 100644
--- a/multimedia/libmatroska/pkg-descr
+++ b/multimedia/libmatroska/pkg-descr
@@ -18,5 +18,3 @@ defined), menu (to be defined), etc.
All these features are not yet implemented but already defined in
the format.
-
-WWW: https://www.matroska.org/
diff --git a/multimedia/libmediaart/Makefile b/multimedia/libmediaart/Makefile
index 6e30e1c1be26..80ba34db033f 100644
--- a/multimedia/libmediaart/Makefile
+++ b/multimedia/libmediaart/Makefile
@@ -1,32 +1,21 @@
-# Created by: Gustau Perez <gustau.perez@gmail.com>
-
PORTNAME= libmediaart
-DISTVERSION= 1.9.5
-PORTREVISION= 1
+DISTVERSION= 1.9.6
CATEGORIES= multimedia devel
MASTER_SITES= GNOME
MAINTAINER= gnome@FreeBSD.org
COMMENT= Library for handling media art
+WWW= https://www.gnome.org/
LICENSE= GPLv2 LGPL21
LICENSE_COMB= dual
LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING
LICENSE_FILE_LGPL21= ${WRKSRC}/COPYING.LESSER
-BUILD_DEPENDS= vala>=0:lang/vala
-
-USES= gnome meson pathfix pkgconfig tar:xz
+USES= gnome meson pathfix pkgconfig tar:xz vala:build
USE_GNOME= gdkpixbuf2 introspection:build
USE_LDCONFIG= yes
-MESON_ARGS= -Dimage_library=gdk-pixbuf
-
-OPTIONS_DEFINE= DOCS
-DOCS_BUILD_DEPENDS= gtk-doc>=0:textproc/gtk-doc
-DOCS_MESON_TRUE= gtk_doc
-#option('image_library', type: 'combo', choices: ['auto', 'gdk-pixbuf', 'qt4', 'qt5'],
-# description: 'Which image processing backend to use')
-#option('with-docs', type : 'combo', choices : ['auto', 'yes', 'no'], value : 'auto')
+MESON_ARGS= -Dimage_library=gdk-pixbuf -Dgtk_doc=false
.include <bsd.port.mk>
diff --git a/multimedia/libmediaart/distinfo b/multimedia/libmediaart/distinfo
index a3ff1367cfc9..8f1663fbdd1e 100644
--- a/multimedia/libmediaart/distinfo
+++ b/multimedia/libmediaart/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1626423295
-SHA256 (libmediaart-1.9.5.tar.xz) = 07def5a42c482ae71d3e1f77a4d0fdc337f74226059a65284d6d5a241f0e9cd6
-SIZE (libmediaart-1.9.5.tar.xz) = 5549620
+TIMESTAMP = 1656315714
+SHA256 (libmediaart-1.9.6.tar.xz) = c3bc5025d7db380587f9c8eb800c611f6b5a16d6b4b78fcff93f62876a677f17
+SIZE (libmediaart-1.9.6.tar.xz) = 5551220
diff --git a/multimedia/libmediaart/pkg-descr b/multimedia/libmediaart/pkg-descr
index 47f91d26d107..bd8578ba8342 100644
--- a/multimedia/libmediaart/pkg-descr
+++ b/multimedia/libmediaart/pkg-descr
@@ -1,3 +1 @@
Library for handling media art
-
-WWW: https://www.gnome.org/
diff --git a/multimedia/libmediaart/pkg-plist b/multimedia/libmediaart/pkg-plist
index 71785c86c13d..8e224c58ed87 100644
--- a/multimedia/libmediaart/pkg-plist
+++ b/multimedia/libmediaart/pkg-plist
@@ -6,33 +6,8 @@ include/libmediaart-2.0/libmediaart/mediaart.h
lib/girepository-1.0/MediaArt-2.0.typelib
lib/libmediaart-2.0.so
lib/libmediaart-2.0.so.0
-lib/libmediaart-2.0.so.0.905.0
+lib/libmediaart-2.0.so.0.906.0
libdata/pkgconfig/libmediaart-2.0.pc
share/gir-1.0/MediaArt-2.0.gir
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/MediaArtProcess.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/annotation-glossary.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-0-1.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-0-2.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-0-3.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-0-5.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-0-7.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-deprecated.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/api-index-full.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/ch02.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/home.png
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/index.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/left-insensitive.png
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/left.png
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/libmediaart-Cache.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/libmediaart-Plugins.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/libmediaart-reference.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/libmediaart.devhelp2
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/overview-compiling.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/overview.html
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/right-insensitive.png
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/right.png
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/style.css
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/up-insensitive.png
-%%PORTDOCS%%share/gtk-doc/html/libmediaart/up.png
share/vala/vapi/libmediaart-2.0.deps
share/vala/vapi/libmediaart-2.0.vapi
diff --git a/multimedia/libmediainfo/Makefile b/multimedia/libmediainfo/Makefile
index e6e4b302882c..a99ae0f36e73 100644
--- a/multimedia/libmediainfo/Makefile
+++ b/multimedia/libmediainfo/Makefile
@@ -1,7 +1,5 @@
-# Created by: Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= libmediainfo
-PORTVERSION= 22.03
+PORTVERSION= 24.03
CATEGORIES= multimedia
MASTER_SITES= https://mediaarea.net/download/binary/mediainfo/${PORTVERSION}/ \
LOCAL/sunpoet
@@ -9,36 +7,32 @@ DISTNAME= MediaInfo_CLI_${PORTVERSION}_GNU_FromSource
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= MediaInfo library
+WWW= https://mediaarea.net/en/MediaInfo \
+ https://github.com/MediaArea/MediaInfoLib
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/../../../License.html
-LIB_DEPENDS= libzen.so:multimedia/libzen
+LIB_DEPENDS= libtinyxml2.so:textproc/tinyxml2 \
+ libzen.so:multimedia/libzen
-USES= alias compiler:c++11-lang libtool localbase pathfix pkgconfig tar:xz
+USES= compiler:c++11-lang dos2unix libtool localbase pathfix pkgconfig tar:xz
-CFLAGS+= -D_POSIX_PRIORITY_SCHEDULING
CONFIGURE_ARGS= --enable-shared --enable-static
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
-USE_CXXSTD= c++11
+PATHFIX_MAKEFILEIN+= configure
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/MediaInfo_CLI_GNU_FromSource/MediaInfoLib/Project/GNU/Library
-OPTIONS_DEFINE= CURL MMS TINYXML2
-OPTIONS_DEFAULT=TINYXML2
-TINYXML2_DESC= Use textproc/tinyxml2 instead of bundled one
+DOS2UNIX_FILES= ../../../Source/MediaInfo/Audio/File_Usac.cpp \
+ ../../../Source/MediaInfo/Audio/File_Usac.h
+
+OPTIONS_DEFINE= CURL
+OPTIONS_DEFAULT=CURL
CURL_CONFIGURE_ON= --with-libcurl=${LOCALBASE}
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
-MMS_CONFIGURE_ON= --with-libmms=${LOCALBASE}
-MMS_LIB_DEPENDS= libmms.so:net/libmms
-TINYXML2_CONFIGURE_ON= --with-libtinyxml2=yes
-TINYXML2_LIB_DEPENDS= libtinyxml2.so:textproc/tinyxml2
-
-post-install:
- ${INSTALL_DATA} ${WRKSRC}/libmediainfo.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/libmediainfo.pc
- ${RM} -r ${STAGEDIR}${PREFIX}/include/MediaInfoDLL/
.include <bsd.port.mk>
diff --git a/multimedia/libmediainfo/distinfo b/multimedia/libmediainfo/distinfo
index ecd44c52c9cf..a3f652670744 100644
--- a/multimedia/libmediainfo/distinfo
+++ b/multimedia/libmediainfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649423686
-SHA256 (MediaInfo_CLI_22.03_GNU_FromSource.tar.xz) = 3ff154367b0216a55c78ec48b431dfab8fbefed321869f11295f27918b4a9255
-SIZE (MediaInfo_CLI_22.03_GNU_FromSource.tar.xz) = 3311908
+TIMESTAMP = 1711860483
+SHA256 (MediaInfo_CLI_24.03_GNU_FromSource.tar.xz) = d4aadbc9083b4a1d24c040d4fa6cfb6c77e0ee22b8c52e5d25c93c2cbf2b372a
+SIZE (MediaInfo_CLI_24.03_GNU_FromSource.tar.xz) = 3473824
diff --git a/multimedia/libmediainfo/files/patch-configure b/multimedia/libmediainfo/files/patch-configure
deleted file mode 100644
index b8e65f3719e1..000000000000
--- a/multimedia/libmediainfo/files/patch-configure
+++ /dev/null
@@ -1,36 +0,0 @@
---- configure.orig 2020-08-10 23:41:20 UTC
-+++ configure
-@@ -17656,8 +17656,8 @@ if test -d $with_libcurl; then
- if test -f $with_libcurl/libcurl.pc; then
- libcurlpcfile="$with_libcurl/libcurl.pc"
- else
-- if test -f "$with_libcurl/lib/pkgconfig/libcurl.pc"; then
-- libcurlpcfile="$with_libcurl/lib/pkgconfig/libcurl.pc"
-+ if test -f "$with_libcurl/libdata/pkgconfig/libcurl.pc"; then
-+ libcurlpcfile="$with_libcurl/libdata/pkgconfig/libcurl.pc"
- else
- as_fn_error $? "Problem while configuring builtin curl (libcurl.pc not found)" "$LINENO" 5
- fi
-@@ -17739,16 +17739,16 @@ else
- fi
-
- if test -d $with_libmms; then
-- CXXFLAGS="$CXXFLAGS -DMEDIAINFO_LIBMMS_FROMSOURCE -I$with_libmms/src $(pkg-config --cflags $with_libmms/pkgconfig/libmms.pc)"
-- MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS -I$with_libmms $(pkg-config --cflags $with_libmms/pkgconfig/libmms.pc)"
-+ CXXFLAGS="$CXXFLAGS -I$with_libmms/src $(pkg-config --cflags $with_libmms/libdata/pkgconfig/libmms.pc)"
-+ MediaInfoLib_CXXFLAGS="$MediaInfoLib_CXXFLAGS -I$with_libmms $(pkg-config --cflags $with_libmms/libdata/pkgconfig/libmms.pc)"
- if test "$enable_staticlibs" = "yes"; then
- using_libmms="custom (static)"
-- LIBS="$LIBS -L$with_libmms/src/.libs $(pkg-config --libs --static $with_libmms/pkgconfig/libmms.pc)"
-- MediaInfoLib_LIBS_Static="$MediaInfoLib_LIBS_Static -L$with_libmms/src/.libs $(pkg-config --libs --static $with_libmms/pkgconfig/libmms.pc)"
-+ LIBS="$LIBS -L$with_libmms/lib $(pkg-config --libs --static $with_libmms/libdata/pkgconfig/libmms.pc)"
-+ MediaInfoLib_LIBS_Static="$MediaInfoLib_LIBS_Static -L$with_libmms/lib $(pkg-config --libs --static $with_libmms/libdata/pkgconfig/libmms.pc)"
- else
- using_libmms="custom"
-- LIBS="$LIBS -L$with_libmms/src/.libs $(pkg-config --libs $with_libmms/pkgconfig/libmms.pc)"
-- MediaInfoLib_LIBS="$MediaInfoLib_LIBS -L$with_libmms/src/.libs $(pkg-config --libs $with_libmms/pkgconfig/libmms.pc)"
-+ LIBS="$LIBS -L$with_libmms/lib $(pkg-config --libs $with_libmms/libdata/pkgconfig/libmms.pc)"
-+ MediaInfoLib_LIBS="$MediaInfoLib_LIBS -L$with_libmms/lib $(pkg-config --libs $with_libmms/libdata/pkgconfig/libmms.pc)"
- fi
- elif test "$with_libmms" = "no"; then
- CXXFLAGS="$CXXFLAGS -DMEDIAINFO_LIBMMS_NO"
diff --git a/multimedia/libmediainfo/pkg-descr b/multimedia/libmediainfo/pkg-descr
index 6cf12618d254..efdc90b6a90b 100644
--- a/multimedia/libmediainfo/pkg-descr
+++ b/multimedia/libmediainfo/pkg-descr
@@ -2,6 +2,3 @@ MediaInfo is a convenient unified display of the most relevant technical and
tag data for video and audio files.
Read http://mediaarea.net/en/MediaInfo/Support/Formats for supported formats.
-
-WWW: https://mediaarea.net/en/MediaInfo
-WWW: https://github.com/MediaArea/MediaInfoLib
diff --git a/multimedia/libmediainfo/pkg-plist b/multimedia/libmediainfo/pkg-plist
index df45a20c7f0e..9ef4e9825f73 100644
--- a/multimedia/libmediainfo/pkg-plist
+++ b/multimedia/libmediainfo/pkg-plist
@@ -2,6 +2,8 @@ include/MediaInfo/MediaInfo.h
include/MediaInfo/MediaInfoList.h
include/MediaInfo/MediaInfo_Const.h
include/MediaInfo/MediaInfo_Events.h
+include/MediaInfoDLL/MediaInfoDLL.h
+include/MediaInfoDLL/MediaInfoDLL_Static.h
lib/libmediainfo.a
lib/libmediainfo.so
lib/libmediainfo.so.0
diff --git a/multimedia/libmpeg2/Makefile b/multimedia/libmpeg2/Makefile
index 313f05814412..140f02bf2d13 100644
--- a/multimedia/libmpeg2/Makefile
+++ b/multimedia/libmpeg2/Makefile
@@ -1,16 +1,19 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= libmpeg2
PORTVERSION= 0.5.1
-PORTREVISION= 6
+PORTREVISION= 8
CATEGORIES= multimedia
MASTER_SITES= http://libmpeg2.sourceforge.net/files/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Free library for decoding MPEG-2 and MPEG-1 video streams
+WWW= http://libmpeg2.sourceforge.net/
+
+LICENSE= GPLv2+
+LICENSE_FILE= ${WRKSRC}/COPYING
USES= libtool pathfix
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_LDCONFIG= yes
CONFIGURE_ARGS= --enable-shared
diff --git a/multimedia/libmpeg2/pkg-descr b/multimedia/libmpeg2/pkg-descr
index 50de37d6b941..15d6de791e6c 100644
--- a/multimedia/libmpeg2/pkg-descr
+++ b/multimedia/libmpeg2/pkg-descr
@@ -19,5 +19,3 @@ per second.
Portability - most of the code is written in C, and when we use
platform-specific optimizations we always have a generic C routine
to fall back on.
-
-WWW: http://libmpeg2.sourceforge.net/
diff --git a/multimedia/libmpeg2/pkg-plist b/multimedia/libmpeg2/pkg-plist
index 323dbb938f0a..30ca81e89b57 100644
--- a/multimedia/libmpeg2/pkg-plist
+++ b/multimedia/libmpeg2/pkg-plist
@@ -15,5 +15,5 @@ lib/libmpeg2convert.so.0.0.0
lib/libvo.a
libdata/pkgconfig/libmpeg2.pc
libdata/pkgconfig/libmpeg2convert.pc
-man/man1/extract_mpeg2.1.gz
-man/man1/mpeg2dec.1.gz
+share/man/man1/extract_mpeg2.1.gz
+share/man/man1/mpeg2dec.1.gz
diff --git a/multimedia/libmpeg3/Makefile b/multimedia/libmpeg3/Makefile
deleted file mode 100644
index 424d4daff0e2..000000000000
--- a/multimedia/libmpeg3/Makefile
+++ /dev/null
@@ -1,70 +0,0 @@
-# Created by: Igor Pokrovsky <ip@doom.homeunix.org>
-
-PORTNAME= libmpeg3
-PORTVERSION= 1.8
-DISTVERSIONSUFFIX= -src
-CATEGORIES= multimedia
-MASTER_SITES= SF/heroines/releases/081108
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Advanced editing and manipulation of MPEG streams
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= liba52.so:audio/liba52
-
-USES= alias gmake tar:bzip2
-MAKE_ARGS= CC="${CC}" USE_CSS=0 OBJDIR="obj" \
- CFLAGS="${CFLAGS} ${CPPFLAGS}" LIBS="${LIBS}"
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-PORTDOCS= index.html
-PLIST_FILES= ${BIN_FILES:S|^|bin/|} ${INC_FILES:S|^|include/|} \
- ${LIB_FILES:S|^|lib/|}
-
-BIN_FILES= mpeg3cat mpeg3dump mpeg3peek mpeg3toc
-INC_FILES= libmpeg3.h mpeg3private.h mpeg3protos.h
-LIB_FILES= libmpeg3.a
-
-CPPFLAGS+= -I. -I${LOCALBASE}/include/a52dec
-LIBS+= -lm -L${LOCALBASE}/lib -la52 -pthread
-
-NASM?= ${LOCALBASE}/bin/nasm
-
-OPTIONS_DEFINE= DOCS
-OPTIONS_DEFINE_i386= MMX
-
-MMX_BUILD_DEPENDS= nasm:devel/nasm
-MMX_MAKE_ARGS= USE_MMX=1 NASM="${NASM}"
-MMX_CFLAGS= -DHAVE_MMX
-MMX_MAKE_ARGS_OFF= USE_MMX=0
-
-post-patch:
- @${REINPLACE_CMD} -e 's|^OBJDIR|#OBJDIR|g ; \
- s|^A52DIR|#A52DIR|g ; \
- s|^include|#include|g' ${WRKSRC}/Makefile
- @${FIND} ${WRKSRC} -name '*.[ch]' -print0 \
- | ${XARGS} -0 ${REINPLACE_CMD} -e 's|stdint\.h|sys/types.h|g'
-
-do-install:
-.for file in ${BIN_FILES}
- cd ${WRKSRC}/obj && ${INSTALL_PROGRAM} ${file} ${STAGEDIR}${PREFIX}/bin
-.endfor
-.for file in ${INC_FILES}
- cd ${WRKSRC} && ${INSTALL_DATA} ${file} ${STAGEDIR}${PREFIX}/include
-.endfor
-.for file in ${LIB_FILES}
- cd ${WRKSRC}/obj && ${INSTALL_DATA} ${file} ${STAGEDIR}${PREFIX}/lib
-.endfor
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for file in ${PORTDOCS}
- cd ${WRKSRC}/docs && ${INSTALL_DATA} ${file} ${STAGEDIR}${DOCSDIR}
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/libmpeg3/distinfo b/multimedia/libmpeg3/distinfo
deleted file mode 100644
index d44d1a650756..000000000000
--- a/multimedia/libmpeg3/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libmpeg3-1.8-src.tar.bz2) = 656f50bef752463af06c6b131f67efef30a34978499e1fdee30e97cac1dea3c4
-SIZE (libmpeg3-1.8-src.tar.bz2) = 2452350
diff --git a/multimedia/libmpeg3/files/patch-ifo.h b/multimedia/libmpeg3/files/patch-ifo.h
deleted file mode 100644
index 5f3775b92a06..000000000000
--- a/multimedia/libmpeg3/files/patch-ifo.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./ifo.h.orig Thu Apr 21 07:59:43 2005
-+++ ./ifo.h Sat Jul 22 18:02:04 2006
-@@ -15,6 +15,8 @@
- #define IFO_OFFSET_SUBPIC 0x0250
-
-
-+typedef off_t __off64_t;
-+
- // for debug and error output
-
- /**
diff --git a/multimedia/libmpeg3/files/patch-mpeg3ifo.c b/multimedia/libmpeg3/files/patch-mpeg3ifo.c
deleted file mode 100644
index 48f39e01b1b0..000000000000
--- a/multimedia/libmpeg3/files/patch-mpeg3ifo.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- mpeg3ifo.c.orig 2007-12-17 08:25:26.000000000 +0900
-+++ mpeg3ifo.c 2008-09-11 05:39:21.000000000 +0900
-@@ -1,4 +1,4 @@
--#include <byteswap.h>
-+//#include <byteswap.h>
- #include <dirent.h>
- #include <fcntl.h>
- #include <stdlib.h>
-@@ -10,6 +10,12 @@
- #include "mpeg3private.h"
- #include "mpeg3protos.h"
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define bswap_16(x) bswap16(x)
-+#define bswap_32(x) bswap32(x)
-+#endif
-+
- typedef struct
- {
- // Bytes relative to start of stream.
diff --git a/multimedia/libmpeg3/files/patch-mpeg3io.c b/multimedia/libmpeg3/files/patch-mpeg3io.c
deleted file mode 100644
index 7d9ffb48d376..000000000000
--- a/multimedia/libmpeg3/files/patch-mpeg3io.c
+++ /dev/null
@@ -1,100 +0,0 @@
---- ./mpeg3io.c.orig Sun May 1 09:57:56 2005
-+++ ./mpeg3io.c Sat Jul 22 18:02:04 2006
-@@ -1,8 +1,8 @@
- #include "mpeg3private.h"
- #include "mpeg3protos.h"
-
--#include <mntent.h>
--#include <stdint.h>
-+#include <fstab.h>
-+#include <sys/types.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/stat.h>
-@@ -35,8 +35,8 @@
-
- int64_t mpeg3io_get_total_bytes(mpeg3_fs_t *fs)
- {
-- struct stat64 ostat;
-- stat64(fs->path, &ostat);
-+ struct stat ostat;
-+ stat(fs->path, &ostat);
- fs->total_bytes = ostat.st_size;
- return fs->total_bytes;
-
-@@ -50,8 +50,8 @@
-
- int64_t mpeg3io_path_total_bytes(char *path)
- {
-- struct stat64 st;
-- if(stat64(path, &st) < 0) return 0;
-+ struct stat st;
-+ if(stat(path, &st) < 0) return 0;
- return st.st_size;
- }
-
-@@ -61,7 +61,7 @@
- mpeg3_get_keys(fs->css, fs->path);
-
- //printf("mpeg3io_open_file 1 %s\n", fs->path);
-- if(!(fs->fd = fopen64(fs->path, "rb")))
-+ if(!(fs->fd = fopen(fs->path, "rb")))
- {
- perror("mpeg3io_open_file");
- return 1;
-@@ -161,7 +161,7 @@
-
-
-
-- fseeko64(fs->fd, new_buffer_position, SEEK_SET);
-+ fseek(fs->fd, new_buffer_position, SEEK_SET);
- fread(fs->buffer, 1, remainder_start, fs->fd);
-
-
-@@ -176,7 +176,7 @@
- fs->buffer_position = fs->current_byte;
- fs->buffer_offset = 0;
-
-- result = fseeko64(fs->fd, fs->buffer_position, SEEK_SET);
-+ result = fseek(fs->fd, fs->buffer_position, SEEK_SET);
- //printf("mpeg3io_read_buffer 2 %llx %llx\n", fs->buffer_position, ftell(fs->fd));
- fs->buffer_size = fread(fs->buffer, 1, MPEG3_IO_SIZE, fs->fd);
-
-@@ -215,27 +215,27 @@
-
- int mpeg3io_device(char *path, char *device)
- {
-- struct stat64 file_st, device_st;
-- struct mntent *mnt;
-- FILE *fp;
-+ struct stat file_st, device_st;
-+ struct fstab *mnt;
-+ int fp;
-
-- if(stat64(path, &file_st) < 0)
-+ if(stat(path, &file_st) < 0)
- {
- perror("mpeg3io_device");
- return 1;
- }
-
-- fp = setmntent(MOUNTED, "r");
-- while(fp && (mnt = getmntent(fp)))
-+ fp = setfsent();
-+ while(fp && (mnt = getfsent()))
- {
-- if(stat64(mnt->mnt_fsname, &device_st) < 0) continue;
-+ if(stat(mnt->fs_spec, &device_st) < 0) continue;
- if(device_st.st_rdev == file_st.st_dev)
- {
-- strncpy(device, mnt->mnt_fsname, MPEG3_STRLEN);
-+ strncpy(device, mnt->fs_spec, MPEG3_STRLEN);
- break;
-- }
-+ }
- }
-- endmntent(fp);
-+ endfsent();
-
- return 0;
- }
diff --git a/multimedia/libmpeg3/files/patch-mpeg3tocutil.c b/multimedia/libmpeg3/files/patch-mpeg3tocutil.c
deleted file mode 100644
index 4e3e1783e2dd..000000000000
--- a/multimedia/libmpeg3/files/patch-mpeg3tocutil.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- ./mpeg3tocutil.c.orig Fri Jun 9 09:58:27 2006
-+++ ./mpeg3tocutil.c Sat Jul 22 18:02:04 2006
-@@ -1415,8 +1415,8 @@
-
- int64_t mpeg3_calculate_source_date(char *path)
- {
-- struct stat64 ostat;
-- bzero(&ostat, sizeof(struct stat64));
-- stat64(path, &ostat);
-+ struct stat ostat;
-+ bzero(&ostat, sizeof(struct stat));
-+ stat(path, &ostat);
- return ostat.st_mtime;
- }
diff --git a/multimedia/libmpeg3/pkg-descr b/multimedia/libmpeg3/pkg-descr
deleted file mode 100644
index e3f21c3f91c1..000000000000
--- a/multimedia/libmpeg3/pkg-descr
+++ /dev/null
@@ -1,17 +0,0 @@
-Libmpeg3 supports advanced editing and manipulation of MPEG streams.
-Libmpeg3 provides a uniform front end for a large number of the MPEG
-formats used in HDTV broadcasting.
-It decodes:
- * MPEG-1 Layer II Audio
- * MPEG-1 Layer III Audio
- * MPEG-2 Layer III Audio
- * MPEG-1 program streams
- * MPEG-2 program streams
- * MPEG-2 transport streams
- * AC3 Audio
- * MPEG-2 Video
- * MPEG-1 Video
- * IFO files
- * VOB files
-
-WWW: http://heroinewarrior.com/libmpeg3.php3
diff --git a/multimedia/libmtp/Makefile b/multimedia/libmtp/Makefile
index 801afd544c7e..38b43d29b727 100644
--- a/multimedia/libmtp/Makefile
+++ b/multimedia/libmtp/Makefile
@@ -1,5 +1,3 @@
-# Created by: Petar Zhivkov Petrov <pesho.petrov@gmail.com>
-
PORTNAME= libmtp
PORTVERSION= 1.1.18
CATEGORIES= multimedia audio
@@ -7,6 +5,7 @@ MASTER_SITES= SF
MAINTAINER= desktop@FreeBSD.org
COMMENT= Media Transfer Protocol (MTP) library
+WWW= https://libmtp.sourceforge.net/
LICENSE= LGPL21+
diff --git a/multimedia/libmtp/pkg-descr b/multimedia/libmtp/pkg-descr
index d670c2daac55..978f3bb7ef00 100644
--- a/multimedia/libmtp/pkg-descr
+++ b/multimedia/libmtp/pkg-descr
@@ -1,4 +1,2 @@
libmtp is an implementation of Microsoft's Media Transfer Protocol (MTP)
in a form of a library.
-
-WWW: http://libmtp.sourceforge.net/
diff --git a/multimedia/libndi/Makefile b/multimedia/libndi/Makefile
index b43a4faffba6..fcae1e68b468 100644
--- a/multimedia/libndi/Makefile
+++ b/multimedia/libndi/Makefile
@@ -1,9 +1,11 @@
PORTNAME= libndi
PORTVERSION= g20200630
+PORTREVISION= 2
CATEGORIES= multimedia net
MAINTAINER= yuri@FreeBSD.org
COMMENT= Cross-platform, open-source library done to interact with NDI streams
+WWW= https://code.videolan.org/jbk/libndi
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,7 +20,7 @@ USE_LDCONFIG= yes
USE_GITLAB= yes
GL_SITE= https://code.videolan.org
GL_ACCOUNT= jbk
-GL_COMMIT= c14b40caafb26a02249f062e7f907ceaa53c1b74
+GL_TAGNAME= c14b40caafb26a02249f062e7f907ceaa53c1b74
PLIST_FILES= bin/ndi \
include/libndi.h \
diff --git a/multimedia/libndi/pkg-descr b/multimedia/libndi/pkg-descr
index 0a9d29a6b04d..219823cc9f3e 100644
--- a/multimedia/libndi/pkg-descr
+++ b/multimedia/libndi/pkg-descr
@@ -9,5 +9,3 @@ solution for decoding NDI video streams.
Libndi is cross-platform and aims to provide a means of interacting with NDI
video streams without relying upon any closed-source components.
-
-WWW: https://code.videolan.org/jbk/libndi
diff --git a/multimedia/libopenshot/Makefile b/multimedia/libopenshot/Makefile
index fb15653fb7e1..0319826dc5df 100644
--- a/multimedia/libopenshot/Makefile
+++ b/multimedia/libopenshot/Makefile
@@ -1,42 +1,46 @@
PORTNAME= libopenshot
DISTVERSIONPREFIX= v
-DISTVERSION= 0.2.7
-PORTREVISION= 3
+DISTVERSION= 0.3.2
+PORTREVISION= 2
CATEGORIES= multimedia
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= tatsuki_makino@hotmail.com
COMMENT= OpenShot Video Library
+WWW= https://www.openshot.org/
-LICENSE= LGPL3+
-LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE= BSD3CLAUSE LGPL3+
+LICENSE_COMB= multi
+LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/LICENSES/BSD-3-Clause.txt
+LICENSE_FILE_LGPL3+ = ${WRKSRC}/COPYING
BUILD_DEPENDS= swig:devel/swig \
${LOCALBASE}/include/zmq.hpp:net/cppzmq
-LIB_DEPENDS= libopenshot-audio.so:audio/libopenshot-audio \
+LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
+ libbabl-0.1.so:x11/babl \
libjsoncpp.so:devel/jsoncpp \
- libavformat.so:multimedia/ffmpeg \
+ libopenshot-audio.so:audio/libopenshot-audio \
libzmq.so:net/libzmq4
-USES= cmake pkgconfig python:3.6+ qt:5
+USES= cmake pkgconfig python:build qt:5
USE_GITHUB= yes
GH_ACCOUNT= OpenShot
USE_LDCONFIG= yes
USE_PYTHON= flavors
-USE_QT= core gui network multimedia widgets qmake_build buildtools_build
+USE_QT= core gui widgets buildtools:build qmake:build
CMAKE_ON= USE_SYSTEM_JSONCPP DISABLE_BUNDLED_JSONCPP\
USE_HW_ACCEL ENABLE_PYTHON\
- CMAKE_DISABLE_FIND_PACKAGE_Catch2\
- CMAKE_DISABLE_FIND_PACKAGE_Resvg\
- CMAKE_DISABLE_FIND_PACKAGE_Ruby
-CMAKE_OFF= ENABLE_COVERAGE BUILD_TESTING ENABLE_TESTS\
- ENABLE_RUBY
+ CMAKE_DISABLE_FIND_PACKAGE_Catch2
+CMAKE_OFF= ENABLE_PARALLEL_CTEST VERBOSE_TESTS ENABLE_COVERAGE\
+ APPIMAGE_BUILD BUILD_TESTING ENABLE_TESTS
+USE_CXXSTD= c++17
-OPTIONS_DEFINE= DOCS IMAGEMAGICK OPENCV
-OPTIONS_DEFAULT= IMAGEMAGICK
+OPTIONS_DEFINE= DOCS IMAGEMAGICK OPENCV RESVG RUBY
+OPTIONS_DEFAULT= IMAGEMAGICK OPENCV
OPTIONS_SUB= yes
+RESVG_DESC?= SVG vector graphics support via resvg
DOCS_BUILD_DEPENDS= doxygen:devel/doxygen
-DOCS_CMAKE_BOOL= ENABLE_DOCS
+DOCS_CMAKE_BOOL= ENABLE_LIB_DOCS
DOCS_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Doxygen
DOCS_CMAKE_ON= -DCMAKE_INSTALL_DOCDIR:PATH=${DOCSDIR_REL:Q}
DOCS_PORTDOCS= *
@@ -49,17 +53,18 @@ OPENCV_CMAKE_BOOL= ENABLE_OPENCV
OPENCV_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_OpenCV\
CMAKE_DISABLE_FIND_PACKAGE_Protobuf
OPENCV_CMAKE_ON= -DOpenCV_DIR:STRING=${LOCALBASE:Q}/cmake/opencv4
+RESVG_LIB_DEPENDS= libresvg.so:graphics/resvg-capi
+RESVG_USE_OFF= QT=svg
+RESVG_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Resvg
+RESVG_CMAKE_ON= -DRESVGDIR:STRING=${LOCALBASE:Q}
+RUBY_USES= ruby:build
+RUBY_CMAKE_BOOL= ENABLE_RUBY
+RUBY_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_Ruby
.if !exists(/usr/include/omp.h)
-USES+= compiler:gcc-c++11-lib
+USES+= compiler:gcc-c++17-lib
.else
-USES+= compiler:c++11-lang
+USES+= compiler:c++17-lang
.endif
-do-build-DOCS-on:
- @(cd ${BUILD_WRKSRC}; if ! ${DO_MAKE_BUILD} doc; then \
- (${ECHO_CMD} "===> ${.TARGET} failed unexpectedly.") | ${FMT_80} ; \
- ${FALSE}; \
- fi)
-
.include <bsd.port.mk>
diff --git a/multimedia/libopenshot/distinfo b/multimedia/libopenshot/distinfo
index f74f47beb684..ab17d896ff93 100644
--- a/multimedia/libopenshot/distinfo
+++ b/multimedia/libopenshot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1633834800
-SHA256 (OpenShot-libopenshot-v0.2.7_GH0.tar.gz) = 568eab6d69d469c5f745f0e25387ca5e000f7c28be48417b0d7770577ac74a28
-SIZE (OpenShot-libopenshot-v0.2.7_GH0.tar.gz) = 22472544
+TIMESTAMP = 1682218800
+SHA256 (OpenShot-libopenshot-v0.3.2_GH0.tar.gz) = 58765cfc8aec199814346e97ce31a5618a261260b380670a6fb2bf6f68733638
+SIZE (OpenShot-libopenshot-v0.3.2_GH0.tar.gz) = 26132237
diff --git a/multimedia/libopenshot/files/patch-CMakeLists.txt b/multimedia/libopenshot/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..89ecc6dc4437
--- /dev/null
+++ b/multimedia/libopenshot/files/patch-CMakeLists.txt
@@ -0,0 +1,38 @@
+--- CMakeLists.txt.orig 2023-04-19 22:01:02 UTC
++++ CMakeLists.txt
+@@ -102,7 +102,7 @@ if ((${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU") AND
+ endif()
+
+ #### Set C++ standard level
+-set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+ set(CMAKE_CXX_EXTENSIONS OFF)
+
+@@ -135,7 +135,7 @@ endif()
+ ### Process subdirectories
+ ###
+ add_subdirectory(src)
+-add_subdirectory(examples)
++#add_subdirectory(examples)
+ add_subdirectory(bindings)
+
+ ###
+@@ -193,6 +193,8 @@ if (ENABLE_LIB_DOCS AND CMAKE_VERSION VERSION_GREATER
+ set(DOXYGEN_INTERACTIVE_SVG YES)
+ set(DOXYGEN_DOT_TRANSPARENT YES)
+
++ set(DOXYGEN_DOT_GRAPH_MAX_NODES "100")
++
+ doxygen_add_docs(${PROJECT_NAME}-doc
+ ${PROJECT_SOURCE_DIR}/src
+ ${PROJECT_SOURCE_DIR}/doc
+@@ -213,7 +215,7 @@ if (TARGET ${PROJECT_NAME}-doc)
+ OPTIONAL ) # No error if the docs aren't found
+
+ if(NOT TARGET doc)
+- add_custom_target(doc)
++ add_custom_target(doc ALL)
+ endif()
+ if(TARGET doc)
+ add_dependencies(doc ${PROJECT_NAME}-doc)
diff --git a/multimedia/libopenshot/files/patch-src_CMakeLists.txt b/multimedia/libopenshot/files/patch-src_CMakeLists.txt
index e6fa4208c649..c94d5a8ab374 100644
--- a/multimedia/libopenshot/files/patch-src_CMakeLists.txt
+++ b/multimedia/libopenshot/files/patch-src_CMakeLists.txt
@@ -1,17 +1,20 @@
---- src/CMakeLists.txt.orig 2021-08-19 20:40:39 UTC
+--- src/CMakeLists.txt.orig 2023-03-27 18:48:43 UTC
+++ src/CMakeLists.txt
-@@ -494,6 +494,15 @@ See https://github.com/opencv/opencv/issues/19260]])
+@@ -516,6 +516,18 @@ See https://github.com/opencv/opencv/issues/19260]])
endif() # ENABLE_OPENCV
add_feature_info("OpenCV algorithms" ENABLE_OPENCV "Use OpenCV algorithms")
+# EXECINFO
-+if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++include(CheckFunctionExists)
++check_function_exists("backtrace" FUNCTION_BACKTRACE_FOUND)
++if(NOT FUNCTION_BACKTRACE_FOUND)
+ find_library(EXECINFO_LIBRARY NAMES execinfo)
+ if(NOT EXECINFO_LIBRARY)
+ message(FATAL_ERROR "${EXECINFO_LIBRARY}")
+ endif(NOT EXECINFO_LIBRARY)
+ target_link_libraries(openshot PRIVATE ${EXECINFO_LIBRARY})
-+endif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++endif(NOT FUNCTION_BACKTRACE_FOUND)
++unset(FUNCTION_BACKTRACE_FOUND)
+
############### LINK LIBRARY #################
# Link remaining dependency libraries
diff --git a/multimedia/libopenshot/files/patch-src_CrashHandler.cpp b/multimedia/libopenshot/files/patch-src_CrashHandler.cpp
new file mode 100644
index 000000000000..68352051a92e
--- /dev/null
+++ b/multimedia/libopenshot/files/patch-src_CrashHandler.cpp
@@ -0,0 +1,19 @@
+--- src/CrashHandler.cpp.orig 2023-03-27 18:48:43 UTC
++++ src/CrashHandler.cpp
+@@ -204,14 +204,14 @@ void CrashHandler::printStackTrace(FILE *out, unsigned
+ // Resolve addresses into strings containing "filename(function+address)",
+ // Actually it will be ## program address function + offset
+ // this array must be free()-ed
+- char** symbollist = backtrace_symbols( addrlist, addrlen );
++ char** symbollist = backtrace_symbols_fmt( addrlist, addrlen, "%f(%n%D) [%a]" );
+
+ size_t funcnamesize = 1024;
+ char funcname[1024];
+
+ // Iterate over the returned symbol lines. Skip the first 4, it is the
+ // address of this function.
+- for ( unsigned int i = 4; i < addrlen; i++ )
++ for ( unsigned int i = 1; i < addrlen; i++ )
+ {
+ char* begin_name = NULL;
+ char* begin_offset = NULL;
diff --git a/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp b/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp
index 03ba68404250..95b0d6c2f6ce 100644
--- a/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp
+++ b/multimedia/libopenshot/files/patch-src_FFmpegReader.cpp
@@ -1,6 +1,6 @@
---- src/FFmpegReader.cpp.orig 2021-08-19 20:40:39 UTC
+--- src/FFmpegReader.cpp.orig 2022-12-01 22:04:03 UTC
+++ src/FFmpegReader.cpp
-@@ -139,7 +139,7 @@ static enum AVPixelFormat get_hw_dec_format(AVCodecCon
+@@ -130,7 +130,7 @@ static enum AVPixelFormat get_hw_dec_format(AVCodecCon
for (p = pix_fmts; *p != AV_PIX_FMT_NONE; p++) {
switch (*p) {
@@ -9,7 +9,7 @@
// Linux pix formats
case AV_PIX_FMT_VAAPI:
hw_de_av_pix_fmt_global = AV_PIX_FMT_VAAPI;
-@@ -295,7 +295,7 @@ void FFmpegReader::Open() {
+@@ -300,7 +300,7 @@ void FFmpegReader::Open() {
pCodecCtx->get_format = get_hw_dec_format;
if (adapter_num < 3 && adapter_num >=0) {
@@ -18,7 +18,7 @@
snprintf(adapter,sizeof(adapter),"/dev/dri/renderD%d", adapter_num+128);
adapter_ptr = adapter;
i_decoder_hw = openshot::Settings::Instance()->HARDWARE_DECODER;
-@@ -358,11 +358,13 @@ void FFmpegReader::Open() {
+@@ -363,11 +363,13 @@ void FFmpegReader::Open() {
}
// Check if it is there and writable
diff --git a/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp b/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp
index 06948a8a0020..369816073bd3 100644
--- a/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp
+++ b/multimedia/libopenshot/files/patch-src_FFmpegWriter.cpp
@@ -1,7 +1,7 @@
---- src/FFmpegWriter.cpp.orig 2021-08-19 20:40:39 UTC
+--- src/FFmpegWriter.cpp.orig 2023-03-27 18:48:43 UTC
+++ src/FFmpegWriter.cpp
-@@ -169,7 +169,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std
- AVCodec *new_codec;
+@@ -166,7 +166,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std
+ const AVCodec *new_codec;
// Check if the codec selected is a hardware accelerated codec
#if USE_HW_ACCEL
-#if defined(__linux__)
@@ -9,7 +9,7 @@
if (strstr(codec.c_str(), "_vaapi") != NULL) {
new_codec = avcodec_find_encoder_by_name(codec.c_str());
hw_en_on = 1;
-@@ -219,7 +219,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std
+@@ -216,7 +216,7 @@ void FFmpegWriter::SetVideoOptions(bool has_video, std
}
#else // unknown OS
new_codec = avcodec_find_encoder_by_name(codec.c_str());
@@ -18,7 +18,7 @@
#else // USE_HW_ACCEL
new_codec = avcodec_find_encoder_by_name(codec.c_str());
#endif // USE_HW_ACCEL
-@@ -568,6 +568,7 @@ void FFmpegWriter::SetOption(StreamType stream, std::s
+@@ -563,6 +563,7 @@ void FFmpegWriter::SetOption(StreamType stream, std::s
else {
av_opt_set_int(c->priv_data, "crf", std::min(std::stoi(value),63), 0);
}
@@ -26,7 +26,7 @@
case AV_CODEC_ID_HEVC :
c->bit_rate = 0;
if (strstr(info.vcodec.c_str(), "svt_hevc") != NULL) {
-@@ -576,6 +577,8 @@ void FFmpegWriter::SetOption(StreamType stream, std::s
+@@ -571,6 +572,8 @@ void FFmpegWriter::SetOption(StreamType stream, std::s
av_opt_set_int(c->priv_data, "forced-idr",1,0);
}
break;
@@ -35,7 +35,7 @@
}
#endif // FFmpeg 4.0+
} else {
-@@ -1400,21 +1403,25 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVS
+@@ -1470,21 +1473,25 @@ void FFmpegWriter::open_video(AVFormatContext *oc, AVS
adapter_num = openshot::Settings::Instance()->HW_EN_DEVICE_SET;
std::clog << "Encoding Device Nr: " << adapter_num << "\n";
if (adapter_num < 3 && adapter_num >=0) {
@@ -62,4 +62,4 @@
+#else
if( adapter_ptr != NULL ) {
#endif
- ZmqLogger::Instance()->AppendDebugMethod("Encode Device present using device", "adapter", adapter_num);
+ ZmqLogger::Instance()->AppendDebugMethod(
diff --git a/multimedia/libopenshot/files/patch-src_KeyFrame.cpp b/multimedia/libopenshot/files/patch-src_KeyFrame.cpp
new file mode 100644
index 000000000000..8a8b80337b50
--- /dev/null
+++ b/multimedia/libopenshot/files/patch-src_KeyFrame.cpp
@@ -0,0 +1,309 @@
+--- src/KeyFrame.cpp.orig 2023-04-19 22:01:02 UTC
++++ src/KeyFrame.cpp
+@@ -15,12 +15,12 @@
+
+ #include <algorithm> // For std::lower_bound, std::move_backward
+ #include <functional> // For std::less, std::less_equal, etc…
+-#include <utility> // For std::swap
+-#include <numeric> // For std::accumulate
+-#include <cassert> // For assert()
+-#include <cmath> // For fabs, round
+-#include <iostream> // For std::cout
+-#include <iomanip> // For std::setprecision
++#include <utility> // For std::swap
++#include <numeric> // For std::accumulate
++#include <cassert> // For assert()
++#include <cmath> // For fabs, round
++#include <iostream> // For std::cout
++#include <iomanip> // For std::setprecision
+
+ using namespace std;
+ using namespace openshot;
+@@ -122,8 +122,8 @@ Keyframe::Keyframe(const std::vector<openshot::Point>&
+
+ // Destructor
+ Keyframe::~Keyframe() {
+- Points.clear();
+- Points.shrink_to_fit();
++ Points.clear();
++ Points.shrink_to_fit();
+ }
+
+ // Add a new point on the key-frame. Each point has a primary coordinate,
+@@ -291,41 +291,27 @@ int64_t Keyframe::GetLong(int64_t index) const {
+ // Get the direction of the curve at a specific index (increasing or decreasing)
+ bool Keyframe::IsIncreasing(int index) const
+ {
+- if (index <= 1) {
+- // Determine direction of frame 1 (and assume previous frames have same direction)
+- index = 1;
+- } else if (index >= GetLength()) {
+- // Determine direction of last valid frame # (and assume next frames have same direction)
+- index = GetLength() - 1;
++ if (index < 1 || (index + 1) >= GetLength()) {
++ return true;
+ }
+-
+- // Get current index value
+- const double current_value = GetValue(index);
+-
+- // Iterate from current index to next significant value change
+- int attempts = 1;
+- while (attempts < 600 && index + attempts <= GetLength()) {
+- // Get next value
+- const double next_value = GetValue(index + attempts);
+-
+- // Is value significantly different
+- const double diff = next_value - current_value;
+- if (fabs(diff) > 0.0001) {
+- if (diff < 0.0) {
+- // Decreasing value found next
+- return false;
+- } else {
+- // Increasing value found next
+- return true;
+- }
+- }
+-
+- // increment attempt
+- attempts++;
++ std::vector<Point>::const_iterator candidate =
++ std::lower_bound(begin(Points), end(Points), static_cast<double>(index), IsPointBeforeX);
++ if (candidate == end(Points)) {
++ return false; // After the last point, thus constant.
+ }
+-
+- // If no next value found, assume increasing values
+- return true;
++ if ((candidate->co.X == index) || (candidate == begin(Points))) {
++ ++candidate;
++ }
++ int64_t const value = GetLong(index);
++ do {
++ if (value < round(candidate->co.Y)) {
++ return true;
++ } else if (value > round(candidate->co.Y)) {
++ return false;
++ }
++ ++candidate;
++ } while (candidate != end(Points));
++ return false;
+ }
+
+ // Generate JSON string of this object
+@@ -388,12 +374,116 @@ void Keyframe::SetJsonValue(const Json::Value root) {
+ }
+ }
+
++// Get the fraction that represents how many times this value is repeated in the curve
++// This is depreciated and will be removed soon.
++Fraction Keyframe::GetRepeatFraction(int64_t index) const {
++ // Frame numbers (index) outside of the "defined" range of this
++ // keyframe result in a 1/1 default value.
++ if (index < 1 || (index + 1) >= GetLength()) {
++ return Fraction(1,1);
++ }
++ assert(Points.size() > 1); // Due to ! ((index + 1) >= GetLength) there are at least two points!
++
++ // First, get the value at the given frame and the closest point
++ // to the right.
++ int64_t const current_value = GetLong(index);
++ std::vector<Point>::const_iterator const candidate =
++ std::lower_bound(begin(Points), end(Points), static_cast<double>(index), IsPointBeforeX);
++ assert(candidate != end(Points)); // Due to the (index + 1) >= GetLength check above!
++
++ // Calculate how many of the next values are going to be the same:
++ int64_t next_repeats = 0;
++ std::vector<Point>::const_iterator i = candidate;
++ // If the index (frame number) is the X coordinate of the closest
++ // point, then look at the segment to the right; the "current"
++ // segement is not interesting because we're already at the last
++ // value of it.
++ if (i->co.X == index) {
++ ++i;
++ }
++ // Skip over "constant" (when rounded) segments.
++ bool all_constant = true;
++ for (; i != end(Points); ++i) {
++ if (current_value != round(i->co.Y)) {
++ all_constant = false;
++ break;
++ }
++ }
++ if (! all_constant) {
++ // Found a point which defines a segment which will give a
++ // different value than the current value. This means we
++ // moved at least one segment to the right, thus we cannot be
++ // at the first point.
++ assert(i != begin(Points));
++ Point const left = *(i - 1);
++ Point const right = *i;
++ int64_t change_at;
++ if (current_value < round(i->co.Y)) {
++ change_at = SearchBetweenPoints(left, right, current_value, std::less_equal<double>{});
++ } else {
++ assert(current_value > round(i->co.Y));
++ change_at = SearchBetweenPoints(left, right, current_value, std::greater_equal<double>{});
++ }
++ next_repeats = change_at - index;
++ } else {
++ // All values to the right are the same!
++ next_repeats = Points.back().co.X - index;
++ }
++
++ // Now look to the left, to the previous values.
++ all_constant = true;
++ i = candidate;
++ if (i != begin(Points)) {
++ // The binary search below assumes i to be the left point;
++ // candidate is the right point of the current segment
++ // though. So change this if possible. If this branch is NOT
++ // taken, then we're at/before the first point and all is
++ // constant!
++ --i;
++ }
++ int64_t previous_repeats = 0;
++ // Skip over constant (when rounded) segments!
++ for (; i != begin(Points); --i) {
++ if (current_value != round(i->co.Y)) {
++ all_constant = false;
++ break;
++ }
++ }
++ // Special case when skipped until the first point, but the first
++ // point is actually different. Will not happen if index is
++ // before the first point!
++ if (current_value != round(i->co.Y)) {
++ assert(i != candidate);
++ all_constant = false;
++ }
++ if (! all_constant) {
++ // There are at least two points, and we're not at the end,
++ // thus the following is safe!
++ Point const left = *i;
++ Point const right = *(i + 1);
++ int64_t change_at;
++ if (current_value > round(left.co.Y)) {
++ change_at = SearchBetweenPoints(left, right, current_value, std::less<double>{});
++ } else {
++ assert(current_value < round(left.co.Y));
++ change_at = SearchBetweenPoints(left, right, current_value, std::greater<double>{});
++ }
++ previous_repeats = index - change_at;
++ } else {
++ // Every previous value is the same (rounded) as the current
++ // value.
++ previous_repeats = index;
++ }
++ int64_t total_repeats = previous_repeats + next_repeats;
++ return Fraction(previous_repeats, total_repeats);
++}
++
+ // Get the change in Y value (from the previous Y value)
+ double Keyframe::GetDelta(int64_t index) const {
+- if (index < 1) return 0.0;
+- if (index == 1 && !Points.empty()) return Points[0].co.Y;
+- if (index >= GetLength()) return 0.0;
+- return GetValue(index) - GetValue(index - 1);
++ if (index < 1) return 0;
++ if (index == 1 && ! Points.empty()) return Points[0].co.Y;
++ if (index >= GetLength()) return 0;
++ return GetLong(index) - GetLong(index - 1);
+ }
+
+ // Get a point at a specific index
+@@ -410,7 +500,7 @@ Point const & Keyframe::GetPoint(int64_t index) const
+ int64_t Keyframe::GetLength() const {
+ if (Points.empty()) return 0;
+ if (Points.size() == 1) return 1;
+- return round(Points.back().co.X);
++ return round(Points.back().co.X) + 1;
+ }
+
+ // Get the number of points (i.e. # of points)
+@@ -461,46 +551,50 @@ void Keyframe::UpdatePoint(int64_t index, Point p) {
+ }
+
+ void Keyframe::PrintPoints(std::ostream* out) const {
+- *out << std::right << std::setprecision(4) << std::setfill(' ');
+- for (const auto& p : Points) {
+- *out << std::defaultfloat
+- << std::setw(6) << p.co.X
+- << std::setw(14) << std::fixed << p.co.Y
+- << '\n';
+- }
+- *out << std::flush;
++ *out << std::right << std::setprecision(4) << std::setfill(' ');
++ for (const auto& p : Points) {
++ *out << std::defaultfloat
++ << std::setw(6) << p.co.X
++ << std::setw(14) << std::fixed << p.co.Y
++ << '\n';
++ }
++ *out << std::flush;
+ }
+
+ void Keyframe::PrintValues(std::ostream* out) const {
+- // Column widths
+- std::vector<int> w{10, 12, 8, 11, 19};
++ // Column widths
++ std::vector<int> w{10, 12, 8, 11, 19};
+
+- *out << std::right << std::setfill(' ') << std::setprecision(4);
+- // Headings
+- *out << "│"
+- << std::setw(w[0]) << "Frame# (X)" << " │"
+- << std::setw(w[1]) << "Y Value" << " │"
+- << std::setw(w[2]) << "Delta Y" << " │ "
+- << std::setw(w[3]) << "Increasing?" << std::right
+- << "│\n";
+- // Divider
+- *out << "├───────────"
+- << "┼─────────────"
+- << "┼─────────"
+- << "┼────────────┤\n";
++ *out << std::right << std::setfill(' ') << std::setprecision(4);
++ // Headings
++ *out << "│"
++ << std::setw(w[0]) << "Frame# (X)" << " │"
++ << std::setw(w[1]) << "Y Value" << " │"
++ << std::setw(w[2]) << "Delta Y" << " │ "
++ << std::setw(w[3]) << "Increasing?" << " │ "
++ << std::setw(w[4]) << std::left << "Repeat Fraction" << std::right
++ << "│\n";
++ // Divider
++ *out << "├───────────"
++ << "┼─────────────"
++ << "┼─────────"
++ << "┼─────────────"
++ << "┼────────────────────┤\n";
+
+- for (int64_t i = 1; i <= GetLength(); ++i) {
+- *out << "│"
+- << std::setw(w[0]-2) << std::defaultfloat << i
+- << (Contains(Point(i, 1)) ? " *" : " ") << " │"
+- << std::setw(w[1]) << std::fixed << GetValue(i) << " │"
+- << std::setw(w[2]) << std::defaultfloat << std::showpos
+- << GetDelta(i) << " │ " << std::noshowpos
+- << std::setw(w[3])
+- << (IsIncreasing(i) ? "true" : "false") << std::right << "│\n";
+- }
+- *out << " * = Keyframe point (non-interpolated)\n";
+- *out << std::flush;
++ for (int64_t i = 1; i < GetLength(); ++i) {
++ *out << "│"
++ << std::setw(w[0]-2) << std::defaultfloat << i
++ << (Contains(Point(i, 1)) ? " *" : " ") << " │"
++ << std::setw(w[1]) << std::fixed << GetValue(i) << " │"
++ << std::setw(w[2]) << std::defaultfloat << std::showpos
++ << GetDelta(i) << " │ " << std::noshowpos
++ << std::setw(w[3])
++ << (IsIncreasing(i) ? "true" : "false") << " │ "
++ << std::setw(w[4]) << std::left << GetRepeatFraction(i)
++ << std::right << "│\n";
++ }
++ *out << " * = Keyframe point (non-interpolated)\n";
++ *out << std::flush;
+ }
+
+
diff --git a/multimedia/libopenshot/files/patch-src_KeyFrame.h b/multimedia/libopenshot/files/patch-src_KeyFrame.h
new file mode 100644
index 000000000000..45aec4e0c498
--- /dev/null
+++ b/multimedia/libopenshot/files/patch-src_KeyFrame.h
@@ -0,0 +1,31 @@
+--- src/KeyFrame.h.orig 2023-04-19 22:01:02 UTC
++++ src/KeyFrame.h
+@@ -16,6 +16,7 @@
+ #include <iostream>
+ #include <vector>
+
++#include "Fraction.h"
+ #include "Point.h"
+ #include "Json.h"
+
+@@ -66,8 +67,8 @@ namespace openshot {
+ /// Constructor which adds a supplied vector of Points
+ Keyframe(const std::vector<openshot::Point>& points);
+
+- /// Destructor
+- ~Keyframe();
++ /// Destructor
++ ~Keyframe();
+
+ /// Add a new point on the key-frame. Each point has a primary coordinate, a left handle, and a right handle.
+ void AddPoint(Point p);
+@@ -92,6 +93,9 @@ namespace openshot {
+
+ /// Get the rounded LONG value at a specific index
+ int64_t GetLong(int64_t index) const;
++
++ /// Get the fraction that represents how many times this value is repeated in the curve
++ Fraction GetRepeatFraction(int64_t index) const;
+
+ /// Get the change in Y value (from the previous Y value)
+ double GetDelta(int64_t index) const;
diff --git a/multimedia/libopenshot/pkg-descr b/multimedia/libopenshot/pkg-descr
index 11a1310439dd..0269f1bfda3f 100644
--- a/multimedia/libopenshot/pkg-descr
+++ b/multimedia/libopenshot/pkg-descr
@@ -1,5 +1,3 @@
OpenShot Video Library (libopenshot) is a free, open-source project dedicated
to delivering high quality video editing, animation, and playback solutions to
the world. API currently supports C++, Python, and Ruby.
-
-WWW: https://www.openshot.org/
diff --git a/multimedia/libopenshot/pkg-plist b/multimedia/libopenshot/pkg-plist
index 13aec344aa80..6b1f5a7cbd52 100644
--- a/multimedia/libopenshot/pkg-plist
+++ b/multimedia/libopenshot/pkg-plist
@@ -1,7 +1,9 @@
include/libopenshot/AudioBufferSource.h
-include/libopenshot/AudioDeviceInfo.h
+include/libopenshot/AudioDevices.h
+include/libopenshot/AudioLocation.h
include/libopenshot/AudioReaderSource.h
include/libopenshot/AudioResampler.h
+include/libopenshot/AudioWaveformer.h
include/libopenshot/CVObjectDetection.h
include/libopenshot/CVStabilization.h
include/libopenshot/CVTracker.h
@@ -17,10 +19,6 @@ include/libopenshot/ClipProcessingJobs.h
include/libopenshot/Color.h
include/libopenshot/Coordinate.h
include/libopenshot/CrashHandler.h
-include/libopenshot/DecklinkInput.h
-include/libopenshot/DecklinkOutput.h
-include/libopenshot/DecklinkReader.h
-include/libopenshot/DecklinkWriter.h
include/libopenshot/DummyReader.h
include/libopenshot/EffectBase.h
include/libopenshot/EffectInfo.h
@@ -96,17 +94,11 @@ include/libopenshot/effects/Shift.h
include/libopenshot/effects/Stabilizer.h
include/libopenshot/effects/Tracker.h
include/libopenshot/effects/Wave.h
-%%OPENCV%%include/libopenshot/protobuf_messages/objdetectdata.pb.h
-%%OPENCV%%include/libopenshot/protobuf_messages/stabilizedata.pb.h
-%%OPENCV%%include/libopenshot/protobuf_messages/trackerdata.pb.h
include/libopenshot/sort_filter/Hungarian.h
include/libopenshot/sort_filter/KalmanTracker.h
lib/libopenshot.so
-lib/libopenshot.so.0.2.7
-lib/libopenshot.so.21
-%%OPENCV%%lib/libopenshot_protobuf.so
-%%OPENCV%%lib/libopenshot_protobuf.so.0.2.7
-%%OPENCV%%lib/libopenshot_protobuf.so.21
+lib/libopenshot.so.0.3.2
+lib/libopenshot.so.25
%%PYTHON_SITELIBDIR%%/_openshot.so
%%PYTHON_SITELIBDIR%%/openshot.py
-%%NO_OPENCV%%@dir include/libopenshot/protobuf_messages
+%%RUBY%%%%RUBY_VENDORARCHLIBDIR%%/openshot.so
diff --git a/multimedia/libquicktime-lame/Makefile b/multimedia/libquicktime-lame/Makefile
deleted file mode 100644
index 1f0b1041ee52..000000000000
--- a/multimedia/libquicktime-lame/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Created by: mm
-
-PORTNAME= libquicktime
-PORTREVISION= 6
-CATEGORIES= multimedia
-PKGNAMESUFFIX= -lame
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= LAME plugin for libquicktime
-
-LIB_DEPENDS= libquicktime.so:multimedia/libquicktime \
- libmp3lame.so:audio/lame
-
-LICENSE= LGPL21
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-MASTERDIR= ${.CURDIR}/../libquicktime
-PLIST= ${.CURDIR}/pkg-plist
-
-_BUILDING_LIBQUICKTIME_PLUGINS= yes
-
-CONFIGURE_ARGS+= --with-lame \
- --without-x \
- --without-cpuflags \
- --without-gtk \
- --without-opengl \
- --without-libdv \
- --without-libjpeg \
- --without-libpng \
- --without-ffmpeg \
- --without-faac \
- --without-faad2 \
- --without-x264 \
- --without-schroedinger
-
-do-install:
- @cd ${WRKSRC}/plugins/lame && ${SETENV} ${MAKE_ENV} \
- ${MAKE_CMD} ${INSTALL_TARGET} ${MAKE_ARGS}
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/libquicktime-lame/distinfo b/multimedia/libquicktime-lame/distinfo
deleted file mode 100644
index 8a964e79205f..000000000000
--- a/multimedia/libquicktime-lame/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libquicktime-1.1.1.tar.gz) = 90efa1a836133680669cac743b726608720ad8f3aadcdb71ff1e29e510bd0d13
-SIZE (libquicktime-1.1.1.tar.gz) = 1009816
diff --git a/multimedia/libquicktime-lame/files/patch-configure b/multimedia/libquicktime-lame/files/patch-configure
deleted file mode 100644
index 688b0ee989c8..000000000000
--- a/multimedia/libquicktime-lame/files/patch-configure
+++ /dev/null
@@ -1,10 +0,0 @@
---- configure.orig 2013-04-13 13:27:09.889002000 +0000
-+++ configure
-@@ -9622,6 +9622,7 @@ freebsd* | dragonfly*)
- else
- case $host_os in
- freebsd[123]*) objformat=elf
-+ ;;
- *) objformat=elf
- esac
- fi
diff --git a/multimedia/libquicktime-lame/pkg-descr b/multimedia/libquicktime-lame/pkg-descr
deleted file mode 100644
index 68a7e23002ae..000000000000
--- a/multimedia/libquicktime-lame/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-LAME plugin for libquicktime
-
-WWW: http://libquicktime.sourceforge.net/
diff --git a/multimedia/libquicktime-lame/pkg-plist b/multimedia/libquicktime-lame/pkg-plist
deleted file mode 100644
index deafccb29694..000000000000
--- a/multimedia/libquicktime-lame/pkg-plist
+++ /dev/null
@@ -1 +0,0 @@
-lib/libquicktime/lqt_lame.so
diff --git a/multimedia/libquicktime/Makefile b/multimedia/libquicktime/Makefile
deleted file mode 100644
index 39aa07f12552..000000000000
--- a/multimedia/libquicktime/Makefile
+++ /dev/null
@@ -1,135 +0,0 @@
-# Created by: ijliao
-
-PORTNAME= libquicktime
-PORTVERSION= 1.2.4
-PORTREVISION?= 32
-CATEGORIES= multimedia
-MASTER_SITES= SF
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Library for reading and writing quicktime files
-
-.if !defined(_BUILDING_LIBQUICKTIME_PLUGINS)
-LIB_DEPENDS= libvorbis.so:audio/libvorbis
-.endif
-
-LICENSE= LGPL21
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USE_LDCONFIG= yes
-USES= cpe gettext gmake libtool pathfix pkgconfig
-GNU_CONFIGURE= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LIBS+= -L${LOCALBASE}/lib -lintl
-INSTALL_TARGET= install-strip
-
-.if !defined(_BUILDING_LIBQUICKTIME_PLUGINS)
-USES+= xorg
-USE_XORG= xaw xv
-CONFIGURE_ARGS= --with-x --enable-gpl --without-doxygen --without-lame \
- --without-schroedinger
-
-OPTIONS_DEFINE= ALSA DV FAAC FAAD FFMPEG GTK2 JPEG OPENGL OPTIMIZED_CFLAGS PNG \
- X264 DOCS
-OPTIONS_DEFAULT= FFMPEG JPEG OPENGL PNG X264
-OPTIONS_SUB= yes
-
-PORTDOCS= api_usage.html codecs.html
-
-.else
-CONFIGURE_ARGS+= --without-x --enable-gpl --without-doxygen
-OPTIONS_DEFINE= OPTIMIZED_CFLAGS
-.endif
-
-.include <bsd.port.options.mk>
-
-.if ! ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-CONFIGURE_ARGS+= --without-cpuflags
-.endif
-
-.if !defined(_BUILDING_LIBQUICKTIME_PLUGINS)
-.if ${PORT_OPTIONS:MGTK2}
-USES+= gnome
-USE_GNOME+= gtk20
-CONFIGURE_ARGS+= --with-gtk
-.else
-CONFIGURE_ARGS+= --without-gtk
-.endif
-
-.if ${PORT_OPTIONS:MALSA}
-LIB_DEPENDS+= libasound.so:audio/alsa-lib
-.else
-CONFIGURE_ARGS+= --without-alsa
-.endif
-
-.if ${PORT_OPTIONS:MOPENGL}
-USES+= gl
-USE_GL= gl
-CONFIGURE_ARGS+= --with-opengl
-.else
-CONFIGURE_ARGS+= --without-opengl
-.endif
-
-.if ${PORT_OPTIONS:MDV}
-LIB_DEPENDS+= libdv.so:multimedia/libdv
-CONFIGURE_ARGS+= --with-libdv
-.else
-CONFIGURE_ARGS+= --without-libdv
-.endif
-
-.if ${PORT_OPTIONS:MJPEG}
-USES+= jpeg
-CONFIGURE_ARGS+= --with-libjpeg
-.else
-CONFIGURE_ARGS+= --without-libjpeg
-.endif
-
-.if ${PORT_OPTIONS:MPNG}
-LIB_DEPENDS+= libpng.so:graphics/png
-CONFIGURE_ARGS+= --with-libpng
-.else
-CONFIGURE_ARGS+= --without-libpng
-.endif
-
-.if ${PORT_OPTIONS:MFFMPEG}
-LIB_DEPENDS+= libavcodec.so:multimedia/ffmpeg
-CONFIGURE_ARGS+= --with-ffmpeg
-.else
-CONFIGURE_ARGS+= --without-ffmpeg
-.endif
-
-.if ${PORT_OPTIONS:MFAAC}
-LIB_DEPENDS+= libfaac.so:audio/faac
-CONFIGURE_ARGS+= --with-faac
-.else
-CONFIGURE_ARGS+= --without-faac
-.endif
-
-.if ${PORT_OPTIONS:MFAAD}
-LIB_DEPENDS+= libfaad.so:audio/faad
-CONFIGURE_ARGS+= --with-faad2
-.else
-CONFIGURE_ARGS+= --without-faad2
-.endif
-
-.if ${PORT_OPTIONS:MX264}
-LIB_DEPENDS+= libx264.so:multimedia/libx264
-CONFIGURE_ARGS+= --with-x264
-.else
-CONFIGURE_ARGS+= --without-x264
-.endif
-
-.endif
-
-post-patch:
- @${REINPLACE_CMD} 's/-DGTK_DISABLE_DEPRECATED//' ${WRKSRC}/configure
-
-.if ${PORT_OPTIONS:MDOCS} && !defined(_BUILDING_LIBQUICKTIME_PLUGINS)
-post-install:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for f in ${PORTDOCS}
- @${INSTALL_DATA} ${WRKSRC}/doc/${f} ${STAGEDIR}${DOCSDIR}
-.endfor
-.endif
-
-.include <bsd.port.mk>
diff --git a/multimedia/libquicktime/distinfo b/multimedia/libquicktime/distinfo
deleted file mode 100644
index 9591760db9f1..000000000000
--- a/multimedia/libquicktime/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libquicktime-1.2.4.tar.gz) = 1c53359c33b31347b4d7b00d3611463fe5e942cae3ec0fefe0d2fd413fd47368
-SIZE (libquicktime-1.2.4.tar.gz) = 1028626
diff --git a/multimedia/libquicktime/files/patch-ffmpeg29 b/multimedia/libquicktime/files/patch-ffmpeg29
deleted file mode 100644
index 8abed6291b61..000000000000
--- a/multimedia/libquicktime/files/patch-ffmpeg29
+++ /dev/null
@@ -1,343 +0,0 @@
-Description: Replace deprecated FFmpeg API
-Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-Last-Update: <2015-11-02>
-
---- plugins/ffmpeg/audio.c.orig
-+++ plugins/ffmpeg/audio.c
-@@ -1267,7 +1267,7 @@ static int lqt_ffmpeg_encode_audio(quick
- pkt.data = codec->chunk_buffer;
- pkt.size = codec->chunk_buffer_alloc;
-
-- avcodec_get_frame_defaults(&f);
-+ av_frame_unref(&f);
- f.nb_samples = codec->avctx->frame_size;
-
- avcodec_fill_audio_frame(&f, channels, codec->avctx->sample_fmt,
---- plugins/ffmpeg/params.c.orig
-+++ plugins/ffmpeg/params.c
-@@ -158,7 +158,6 @@ enum_t coder_type[] =
- { "Arithmetic", FF_CODER_TYPE_AC },
- { "Raw", FF_CODER_TYPE_RAW },
- { "RLE", FF_CODER_TYPE_RLE },
-- { "Deflate", FF_CODER_TYPE_DEFLATE },
- };
-
- #define PARAM_ENUM(name, var, arr) \
-@@ -253,15 +252,13 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_INT("ff_me_penalty_compensation",me_penalty_compensation);
- PARAM_INT("ff_bidir_refine",bidir_refine);
- PARAM_INT("ff_brd_scale",brd_scale);
-- PARAM_INT("ff_scenechange_factor",scenechange_factor);
- PARAM_FLAG("ff_flag_qscale",CODEC_FLAG_QSCALE);
- PARAM_FLAG("ff_flag_4mv",CODEC_FLAG_4MV);
- PARAM_FLAG("ff_flag_qpel",CODEC_FLAG_QPEL);
-- PARAM_FLAG("ff_flag_gmc",CODEC_FLAG_GMC);
-+ PARAM_DICT_FLAG("ff_flag_gmc", "gmc");
- PARAM_FLAG("ff_flag_mv0",CODEC_FLAG_MV0);
- // PARAM_FLAG("ff_flag_part",CODEC_FLAG_PART); // Unused
- PARAM_FLAG("ff_flag_gray",CODEC_FLAG_GRAY);
-- PARAM_FLAG("ff_flag_emu_edge",CODEC_FLAG_EMU_EDGE);
- PARAM_FLAG("ff_flag_normalize_aqp",CODEC_FLAG_NORMALIZE_AQP);
- // PARAM_FLAG("ff_flag_alt_scan",CODEC_FLAG_ALT_SCAN); // Unused
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
---- plugins/ffmpeg/params.h.orig
-+++ plugins/ffmpeg/params.h
-@@ -149,7 +149,7 @@ the reference. Unused for constant quant
- .type = LQT_PARAMETER_INT, \
- .val_default = { .val_int = 0 }, \
- .val_min = { .val_int = 0 }, \
-- .val_max = { .val_int = FF_MAX_B_FRAMES }, \
-+ .val_max = { .val_int = INT_MAX }, \
- .help_string = TRS("Maximum number of B-frames between non B-frames") \
- }
-
---- plugins/ffmpeg/video.c.orig
-+++ plugins/ffmpeg/video.c
-@@ -37,10 +37,10 @@
- #endif
-
-
--#ifdef PIX_FMT_YUV422P10
--#define PIX_FMT_YUV422P10_OR_DUMMY PIX_FMT_YUV422P10
-+#ifdef AV_PIX_FMT_YUV422P10
-+#define AV_PIX_FMT_YUV422P10_OR_DUMMY AV_PIX_FMT_YUV422P10
- #else
--#define PIX_FMT_YUV422P10_OR_DUMMY -1234
-+#define AV_PIX_FMT_YUV422P10_OR_DUMMY -1234
- #endif
-
- #if LIBAVCODEC_VERSION_INT >= ((54<<16)|(1<<8)|0)
-@@ -90,9 +90,9 @@ typedef struct
- int imx_bitrate;
- int imx_strip_vbi;
-
-- /* In some cases FFMpeg would report something like PIX_FMT_YUV422P, while
-- we would like to treat it as PIX_FMT_YUVJ422P. It's only used for decoding */
-- enum PixelFormat reinterpret_pix_fmt;
-+ /* In some cases FFMpeg would report something like AV_PIX_FMT_YUV422P, while
-+ we would like to treat it as AV_PIX_FMT_YUVJ422P. It's only used for decoding */
-+ enum AVPixelFormat reinterpret_pix_fmt;
-
- int is_imx;
- int y_offset;
-@@ -137,42 +137,42 @@ typedef struct
-
- static const struct
- {
-- enum PixelFormat ffmpeg_id;
-+ enum AVPixelFormat ffmpeg_id;
- int lqt_id;
- int exact;
- }
- colormodels[] =
- {
-- { PIX_FMT_YUV420P, BC_YUV420P, 1 }, ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)
-+ { AV_PIX_FMT_YUV420P, BC_YUV420P, 1 }, ///< Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- { PIX_FMT_YUV422, BC_YUV422, 1 },
-+ { AV_PIX_FMT_YUV422, BC_YUV422, 1 },
- #else
-- { PIX_FMT_YUYV422, BC_YUV422, 1 },
-+ { AV_PIX_FMT_YUYV422, BC_YUV422, 1 },
- #endif
-- { PIX_FMT_RGB24, BC_RGB888, 1 }, ///< Packed pixel, 3 bytes per pixel, RGBRGB...
-- { PIX_FMT_BGR24, BC_BGR888, 1 }, ///< Packed pixel, 3 bytes per pixel, BGRBGR...
-- { PIX_FMT_YUV422P, BC_YUV422P, 1 }, ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-- { PIX_FMT_YUV444P, BC_YUV444P, 1 }, ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)
-- { PIX_FMT_YUV411P, BC_YUV411P, 1 }, ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)
-- { PIX_FMT_YUV422P16, BC_YUV422P16, 1 }, ///< Planar 16 bit YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
--#ifdef PIX_FMT_YUV422P10
-- { PIX_FMT_YUV422P10, BC_YUV422P10, 1 }, ///< 10 bit samples in uint16_t containers, planar 4:2:2
--#endif
-- { PIX_FMT_RGB565, BC_RGB565, 1 }, ///< always stored in cpu endianness
-- { PIX_FMT_YUVJ420P, BC_YUVJ420P, 1 }, ///< Planar YUV 4:2:0 full scale (jpeg)
-- { PIX_FMT_YUVJ422P, BC_YUVJ422P, 1 }, ///< Planar YUV 4:2:2 full scale (jpeg)
-- { PIX_FMT_YUVJ444P, BC_YUVJ444P, 1 }, ///< Planar YUV 4:4:4 full scale (jpeg)
-+ { AV_PIX_FMT_RGB24, BC_RGB888, 1 }, ///< Packed pixel, 3 bytes per pixel, RGBRGB...
-+ { AV_PIX_FMT_BGR24, BC_BGR888, 1 }, ///< Packed pixel, 3 bytes per pixel, BGRBGR...
-+ { AV_PIX_FMT_YUV422P, BC_YUV422P, 1 }, ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-+ { AV_PIX_FMT_YUV444P, BC_YUV444P, 1 }, ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)
-+ { AV_PIX_FMT_YUV411P, BC_YUV411P, 1 }, ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)
-+ { AV_PIX_FMT_YUV422P16, BC_YUV422P16, 1 }, ///< Planar 16 bit YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
-+#ifdef AV_PIX_FMT_YUV422P10
-+ { AV_PIX_FMT_YUV422P10, BC_YUV422P10, 1 }, ///< 10 bit samples in uint16_t containers, planar 4:2:2
-+#endif
-+ { AV_PIX_FMT_RGB565, BC_RGB565, 1 }, ///< always stored in cpu endianness
-+ { AV_PIX_FMT_YUVJ420P, BC_YUVJ420P, 1 }, ///< Planar YUV 4:2:0 full scale (jpeg)
-+ { AV_PIX_FMT_YUVJ422P, BC_YUVJ422P, 1 }, ///< Planar YUV 4:2:2 full scale (jpeg)
-+ { AV_PIX_FMT_YUVJ444P, BC_YUVJ444P, 1 }, ///< Planar YUV 4:4:4 full scale (jpeg)
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- { PIX_FMT_RGBA32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
-+ { AV_PIX_FMT_RGBA32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
- #else
-- { PIX_FMT_RGB32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
-+ { AV_PIX_FMT_RGB32, BC_RGBA8888, 0 }, ///< Packed pixel, 4 bytes per pixel, BGRABGRA...
- #endif
-- { PIX_FMT_RGB555, BC_RGB888, 0 }, ///< always stored in cpu endianness, most significant bit to 1
-- { PIX_FMT_GRAY8, BC_RGB888, 0 },
-- { PIX_FMT_MONOWHITE, BC_RGB888, 0 }, ///< 0 is white
-- { PIX_FMT_MONOBLACK, BC_RGB888, 0 }, ///< 0 is black
-- { PIX_FMT_PAL8, BC_RGB888, 0 }, ///< 8 bit with RGBA palette
-- { PIX_FMT_YUV410P, BC_YUV420P, 0 }, ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)
-+ { AV_PIX_FMT_RGB555, BC_RGB888, 0 }, ///< always stored in cpu endianness, most significant bit to 1
-+ { AV_PIX_FMT_GRAY8, BC_RGB888, 0 },
-+ { AV_PIX_FMT_MONOWHITE, BC_RGB888, 0 }, ///< 0 is white
-+ { AV_PIX_FMT_MONOBLACK, BC_RGB888, 0 }, ///< 0 is black
-+ { AV_PIX_FMT_PAL8, BC_RGB888, 0 }, ///< 8 bit with RGBA palette
-+ { AV_PIX_FMT_YUV410P, BC_YUV420P, 0 }, ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)
- };
-
- static const struct
-@@ -248,7 +248,7 @@ static int lqt_ffmpeg_delete_video(quick
- if(codec->frame_buffer) free(codec->frame_buffer);
- if(codec->buffer) free(codec->buffer);
-
-- if(codec->frame) av_free(codec->frame);
-+ if(codec->frame) av_frame_free(&codec->frame);
-
- #ifdef HAVE_LIBSWSCALE
- if(codec->swsContext)
-@@ -343,16 +343,16 @@ static int lqt_tenbit_dnxhd_supported(AV
- if (!codec->pix_fmts)
- return 0;
-
-- for (i = 0; codec->pix_fmts[i] != PIX_FMT_NONE; ++i)
-+ for (i = 0; codec->pix_fmts[i] != AV_PIX_FMT_NONE; ++i)
- {
-- if (codec->pix_fmts[i] == PIX_FMT_YUV422P10_OR_DUMMY)
-+ if (codec->pix_fmts[i] == AV_PIX_FMT_YUV422P10_OR_DUMMY)
- return 1;
- }
-
- return 0;
- }
-
--static enum PixelFormat lqt_ffmpeg_get_ffmpeg_colormodel(int id)
-+static enum AVPixelFormat lqt_ffmpeg_get_ffmpeg_colormodel(int id)
- {
- int i;
-
-@@ -361,10 +361,10 @@ static enum PixelFormat lqt_ffmpeg_get_f
- if(colormodels[i].lqt_id == id)
- return colormodels[i].ffmpeg_id;
- }
-- return PIX_FMT_NB;
-+ return AV_PIX_FMT_NB;
- }
-
--static int lqt_ffmpeg_get_lqt_colormodel(enum PixelFormat id, int * exact)
-+static int lqt_ffmpeg_get_lqt_colormodel(enum AVPixelFormat id, int * exact)
- {
- int i;
-
-@@ -402,24 +402,24 @@ static void lqt_ffmpeg_setup_decoding_co
- /* First we try codec-specific colormodel matching. */
- if(codec->decoder->id == AV_CODEC_ID_DNXHD)
- {
-- /* FFMpeg supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10 for DNxHD, which
-- we sometimes interpret as PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10. */
-- if (codec->avctx->pix_fmt == PIX_FMT_YUV422P || codec->avctx->pix_fmt == PIX_FMT_YUV422P10_OR_DUMMY)
-+ /* FFMpeg supports AV_PIX_FMT_YUV422P and AV_PIX_FMT_YUV422P10 for DNxHD, which
-+ we sometimes interpret as AV_PIX_FMT_YUVJ422P and AV_PIX_FMT_YUVJ422P10. */
-+ if (codec->avctx->pix_fmt == AV_PIX_FMT_YUV422P || codec->avctx->pix_fmt == AV_PIX_FMT_YUV422P10_OR_DUMMY)
- {
-- int p10 = (codec->avctx->pix_fmt == PIX_FMT_YUV422P10_OR_DUMMY);
-+ int p10 = (codec->avctx->pix_fmt == AV_PIX_FMT_YUV422P10_OR_DUMMY);
- *exact = 1;
- if (lqt_ffmpeg_get_avid_yuv_range(vtrack->track) == AVID_FULL_YUV_RANGE)
- {
- vtrack->stream_cmodel = p10 ? BC_YUVJ422P10 : BC_YUVJ422P;
-- codec->reinterpret_pix_fmt = p10 ? PIX_FMT_YUV422P10_OR_DUMMY : PIX_FMT_YUVJ422P;
-- // Note: reinterpret_pix_fmt should really be PIX_FMT_YUVJ422P10, except
-+ codec->reinterpret_pix_fmt = p10 ? AV_PIX_FMT_YUV422P10_OR_DUMMY : AV_PIX_FMT_YUVJ422P;
-+ // Note: reinterpret_pix_fmt should really be AV_PIX_FMT_YUVJ422P10, except
- // there is no such colormodel in FFMpeg. Fortunately, it's not a problem
- // in this case, as reinterpret_pix_fmt is only used when *exact == 0.
- }
- else
- {
- vtrack->stream_cmodel = p10 ? BC_YUV422P10 : BC_YUV422P;
-- codec->reinterpret_pix_fmt = p10 ? PIX_FMT_YUV422P10_OR_DUMMY : PIX_FMT_YUV422P;
-+ codec->reinterpret_pix_fmt = p10 ? AV_PIX_FMT_YUV422P10_OR_DUMMY : AV_PIX_FMT_YUV422P;
- }
- return;
- }
-@@ -440,14 +440,14 @@ static void lqt_ffmpeg_setup_encoding_co
-
- if (codec->encoder->id == AV_CODEC_ID_DNXHD)
- {
-- /* FFMpeg's DNxHD encoder only supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10
-- and doesn't know anything about PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10
-+ /* FFMpeg's DNxHD encoder only supports AV_PIX_FMT_YUV422P and AV_PIX_FMT_YUV422P10
-+ and doesn't know anything about AV_PIX_FMT_YUVJ422P and AV_PIX_FMT_YUVJ422P10
- (in fact, the latter doesn't even exist) */
-- codec->avctx->pix_fmt = PIX_FMT_YUV422P;
-+ codec->avctx->pix_fmt = AV_PIX_FMT_YUV422P;
- if (vtrack->stream_cmodel == BC_YUV422P10 || vtrack->stream_cmodel == BC_YUVJ422P10)
- {
- if (lqt_tenbit_dnxhd_supported(codec->encoder))
-- codec->avctx->pix_fmt = PIX_FMT_YUV422P10_OR_DUMMY;
-+ codec->avctx->pix_fmt = AV_PIX_FMT_YUV422P10_OR_DUMMY;
- }
- }
- }
-@@ -458,7 +458,7 @@ static void lqt_ffmpeg_setup_encoding_co
- /* From avcodec.h: */
-
- /*
-- * PIX_FMT_RGBA32 is handled in an endian-specific manner. A RGBA
-+ * AV_PIX_FMT_RGBA32 is handled in an endian-specific manner. A RGBA
- * color is put together as:
- * (A << 24) | (R << 16) | (G << 8) | B
- * This is stored as BGRA on little endian CPU architectures and ARGB on
-@@ -530,7 +530,7 @@ static void convert_rgba_to_argb(uint8_t
- */
-
- static void convert_image_decode(quicktime_ffmpeg_video_codec_t *codec,
-- AVFrame * in_frame, enum PixelFormat in_format,
-+ AVFrame * in_frame, enum AVPixelFormat in_format,
- unsigned char ** out_frame, int out_format,
- int width, int height, int row_span, int row_span_uv)
- {
-@@ -547,9 +547,9 @@ static void convert_image_decode(quickti
- * RGBA format like in ffmpeg??
- */
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- if((in_format == PIX_FMT_RGBA32) && (out_format == BC_RGBA8888))
-+ if((in_format == AV_PIX_FMT_RGBA32) && (out_format == BC_RGBA8888))
- #else
-- if((in_format == PIX_FMT_RGB32) && (out_format == BC_RGBA8888))
-+ if((in_format == AV_PIX_FMT_RGB32) && (out_format == BC_RGBA8888))
- #endif
- {
- convert_image_decode_rgba(in_frame, out_frame, width, height, codec->y_offset);
-@@ -829,7 +829,7 @@ static int lqt_ffmpeg_decode_video(quick
- if(avcodec_open2(codec->avctx, codec->decoder, NULL) != 0)
- return -1;
- #endif
-- codec->frame = avcodec_alloc_frame();
-+ codec->frame = av_frame_alloc();
- vtrack->stream_cmodel = LQT_COLORMODEL_NONE;
- codec->initialized = 1;
- }
-@@ -929,10 +929,10 @@ static int lqt_ffmpeg_decode_video(quick
- #ifdef HAVE_LIBSWSCALE
-
- #if LIBAVUTIL_VERSION_INT < (50<<16)
-- if(!((codec->avctx->pix_fmt == PIX_FMT_RGBA32) &&
-+ if(!((codec->avctx->pix_fmt == AV_PIX_FMT_RGBA32) &&
- (vtrack->stream_cmodel == BC_RGBA8888)))
- #else
-- if(!((codec->avctx->pix_fmt == PIX_FMT_RGB32) &&
-+ if(!((codec->avctx->pix_fmt == AV_PIX_FMT_RGB32) &&
- (vtrack->stream_cmodel == BC_RGBA8888)))
- #endif
- {
-@@ -1318,7 +1318,7 @@ static int lqt_ffmpeg_encode_video(quick
-
- if(!codec->initialized)
- {
-- codec->frame = avcodec_alloc_frame();
-+ codec->frame = av_frame_alloc();
-
- /* time_base is 1/framerate for constant framerate */
-
-@@ -1396,9 +1396,9 @@ static int lqt_ffmpeg_encode_video(quick
- if(vtrack->stream_cmodel == BC_RGBA8888)
- {
- /* Libquicktime doesn't natively support a color model equivalent
-- to PIX_FMT_ARGB, which is required for QTRLE with alpha channel.
-+ to AV_PIX_FMT_ARGB, which is required for QTRLE with alpha channel.
- So, we use BC_RGBA8888 and do ad hoc conversion below. */
-- codec->avctx->pix_fmt = PIX_FMT_ARGB;
-+ codec->avctx->pix_fmt = AV_PIX_FMT_ARGB;
- vtrack->track->mdia.minf.stbl.stsd.table[0].depth = 32;
- }
- }
-@@ -1467,7 +1467,7 @@ static int lqt_ffmpeg_encode_video(quick
- }
- // codec->lqt_colormodel = ffmepg_2_lqt(codec->com.ffcodec_enc);
-
-- if(codec->y_offset != 0 || codec->avctx->pix_fmt == PIX_FMT_ARGB)
-+ if(codec->y_offset != 0 || codec->avctx->pix_fmt == AV_PIX_FMT_ARGB)
- {
- if(!codec->tmp_rows)
- {
-@@ -1492,7 +1492,7 @@ static int lqt_ffmpeg_encode_video(quick
- vtrack->stream_cmodel,
- 0, 0, 0, codec->y_offset);
- }
-- else if(codec->avctx->pix_fmt == PIX_FMT_ARGB)
-+ else if(codec->avctx->pix_fmt == AV_PIX_FMT_ARGB)
- {
- convert_rgba_to_argb(row_pointers[0], vtrack->stream_row_span,
- codec->tmp_rows[0], codec->tmp_row_span,
-@@ -1600,7 +1600,7 @@ static int lqt_ffmpeg_encode_video(quick
- {
- int advanced = 0;
- if(codec->avctx->max_b_frames ||
-- (codec->avctx->flags & (CODEC_FLAG_QPEL|CODEC_FLAG_GMC)))
-+ (codec->avctx->flags & (AV_CODEC_FLAG_QPEL|CODEC_FLAG_GMC)))
- advanced = 1;
-
- setup_header_mpeg4(file, track, codec->avctx->extradata,
diff --git a/multimedia/libquicktime/files/patch-libav10 b/multimedia/libquicktime/files/patch-libav10
deleted file mode 100644
index d884a6db2f54..000000000000
--- a/multimedia/libquicktime/files/patch-libav10
+++ /dev/null
@@ -1,711 +0,0 @@
-Description: build against libav10 (Closes: #739325)
-Author: Reinhard Tartler <siretart@tauware.de>
-Bug-Debian: http://bugs.debian.org/739325
-Last-Update: 2014-03-16
-
-
---- plugins/ffmpeg/lqt_ffmpeg.c.orig
-+++ plugins/ffmpeg/lqt_ffmpeg.c
-@@ -386,7 +386,7 @@ static lqt_image_size_static_t image_siz
- struct CODECIDMAP codecidmap_v[] =
- {
- {
-- .id = CODEC_ID_MPEG1VIDEO,
-+ .id = AV_CODEC_ID_MPEG1VIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -397,7 +397,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE }
- },
- {
-- .id = CODEC_ID_MPEG4,
-+ .id = AV_CODEC_ID_MPEG4,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -415,7 +415,7 @@ struct CODECIDMAP codecidmap_v[] =
- .compression_id = LQT_COMPRESSION_MPEG4_ASP,
- },
- {
-- .id = CODEC_ID_MSMPEG4V1,
-+ .id = AV_CODEC_ID_MSMPEG4V1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -426,7 +426,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MSMPEG4V2,
-+ .id = AV_CODEC_ID_MSMPEG4V2,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -437,7 +437,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MSMPEG4V3,
-+ .id = AV_CODEC_ID_MSMPEG4V3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -453,7 +453,7 @@ struct CODECIDMAP codecidmap_v[] =
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_MSMPEG4V3,
-+ .id = AV_CODEC_ID_MSMPEG4V3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -468,7 +468,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- #if 0
- {
-- .id = CODEC_ID_WMV1,
-+ .id = AV_CODEC_ID_WMV1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -481,7 +481,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- #endif
- {
-- .id = CODEC_ID_H263,
-+ .id = AV_CODEC_ID_H263,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -493,7 +493,7 @@ struct CODECIDMAP codecidmap_v[] =
- .compatibility_flags = LQT_FILE_QT_OLD | LQT_FILE_QT | LQT_FILE_MP4 | LQT_FILE_3GP,
- },
- {
-- .id = CODEC_ID_H263,
-+ .id = AV_CODEC_ID_H263,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -508,7 +508,7 @@ struct CODECIDMAP codecidmap_v[] =
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_H264,
-+ .id = AV_CODEC_ID_H264,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -519,7 +519,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_H263P,
-+ .id = AV_CODEC_ID_H263P,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -533,7 +533,7 @@ struct CODECIDMAP codecidmap_v[] =
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_H263I,
-+ .id = AV_CODEC_ID_H263I,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -544,7 +544,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_SVQ1,
-+ .id = AV_CODEC_ID_SVQ1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -555,7 +555,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_SVQ3,
-+ .id = AV_CODEC_ID_SVQ3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -566,7 +566,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MJPEG,
-+ .id = AV_CODEC_ID_MJPEG,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -580,7 +580,7 @@ struct CODECIDMAP codecidmap_v[] =
- .do_encode = 1,
- },
- {
-- .id = CODEC_ID_MJPEGB,
-+ .id = AV_CODEC_ID_MJPEGB,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -594,7 +594,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- #if LIBAVCODEC_BUILD >= 3346688
- {
-- .id = CODEC_ID_TARGA,
-+ .id = AV_CODEC_ID_TARGA,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -606,7 +606,7 @@ struct CODECIDMAP codecidmap_v[] =
- #endif
- #if LIBAVCODEC_BUILD >= 3347456
- {
-- .id = CODEC_ID_TIFF,
-+ .id = AV_CODEC_ID_TIFF,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -617,7 +617,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- #endif
- {
-- .id = CODEC_ID_8BPS,
-+ .id = AV_CODEC_ID_8BPS,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -627,7 +627,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_INDEO3,
-+ .id = AV_CODEC_ID_INDEO3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -638,7 +638,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_RPZA,
-+ .id = AV_CODEC_ID_RPZA,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -648,7 +648,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_SMC,
-+ .id = AV_CODEC_ID_SMC,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -658,7 +658,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_CINEPAK,
-+ .id = AV_CODEC_ID_CINEPAK,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -669,7 +669,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_CYUV,
-+ .id = AV_CODEC_ID_CYUV,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -680,7 +680,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_QTRLE,
-+ .id = AV_CODEC_ID_QTRLE,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -693,7 +693,7 @@ struct CODECIDMAP codecidmap_v[] =
- .encoding_colormodels = (int[]){ BC_RGB888, BC_RGBA8888, LQT_COLORMODEL_NONE },
- },
- {
-- .id = CODEC_ID_MSRLE,
-+ .id = AV_CODEC_ID_MSRLE,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -703,7 +703,7 @@ struct CODECIDMAP codecidmap_v[] =
- .wav_ids = { LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -719,7 +719,7 @@ struct CODECIDMAP codecidmap_v[] =
- .image_sizes = image_sizes_dv,
- },
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -735,7 +735,7 @@ struct CODECIDMAP codecidmap_v[] =
- .image_sizes = image_sizes_dv,
- },
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -751,7 +751,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- /* DVCPRO HD (decoding only for now) */
- {
-- .id = CODEC_ID_DVVIDEO,
-+ .id = AV_CODEC_ID_DVVIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -772,7 +772,7 @@ struct CODECIDMAP codecidmap_v[] =
- // .do_encode = 1
- },
- {
-- .id = CODEC_ID_FFVHUFF,
-+ .id = AV_CODEC_ID_FFVHUFF,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -785,7 +785,7 @@ struct CODECIDMAP codecidmap_v[] =
- .do_encode = 1
- },
- {
-- .id = CODEC_ID_FFV1,
-+ .id = AV_CODEC_ID_FFV1,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -801,7 +801,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- #if LIBAVCODEC_BUILD >= 3352576
- {
-- .id = CODEC_ID_DNXHD,
-+ .id = AV_CODEC_ID_DNXHD,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -817,7 +817,7 @@ struct CODECIDMAP codecidmap_v[] =
- },
- #endif
- {
-- .id = CODEC_ID_MPEG2VIDEO,
-+ .id = AV_CODEC_ID_MPEG2VIDEO,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -839,7 +839,7 @@ struct CODECIDMAP codecidmap_v[] =
- struct CODECIDMAP codecidmap_a[] =
- {
- {
-- .id = CODEC_ID_MP3,
-+ .id = AV_CODEC_ID_MP3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -851,7 +851,7 @@ struct CODECIDMAP codecidmap_a[] =
- .wav_ids = { 0x50, 0x55, LQT_WAV_ID_NONE },
- },
- {
-- .id = CODEC_ID_MP2,
-+ .id = AV_CODEC_ID_MP2,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -866,7 +866,7 @@ struct CODECIDMAP codecidmap_a[] =
- .compression_id = LQT_COMPRESSION_MP2,
- },
- {
-- .id = CODEC_ID_AC3,
-+ .id = AV_CODEC_ID_AC3,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -881,7 +881,7 @@ struct CODECIDMAP codecidmap_a[] =
- .compression_id = LQT_COMPRESSION_AC3,
- },
- {
-- .id = CODEC_ID_QDM2,
-+ .id = AV_CODEC_ID_QDM2,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -896,7 +896,7 @@ struct CODECIDMAP codecidmap_a[] =
- #if 1
- /* Doesn't work as long as audio chunks are not split into VBR "Samples" */
- {
-- .id = CODEC_ID_ALAC,
-+ .id = AV_CODEC_ID_ALAC,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -909,7 +909,7 @@ struct CODECIDMAP codecidmap_a[] =
- #if 1
- /* Sounds ugly */
- {
-- .id = CODEC_ID_ADPCM_MS,
-+ .id = AV_CODEC_ID_ADPCM_MS,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
-@@ -922,7 +922,7 @@ struct CODECIDMAP codecidmap_a[] =
- #if 1
- /* Sounds ugly */
- {
-- .id = CODEC_ID_ADPCM_IMA_WAV,
-+ .id = AV_CODEC_ID_ADPCM_IMA_WAV,
- .index = -1,
- .encoder = NULL,
- .decoder = NULL,
---- plugins/ffmpeg/audio.c.orig
-+++ plugins/ffmpeg/audio.c
-@@ -45,6 +45,12 @@
- #define ENCODE_AUDIO 1
- #endif
-
-+// Has been deprecated for ages. Now removed. For now do what ffmpeg does
-+// 192000 = 1 second of 48khz 32bit audio
-+#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE
-+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000
-+#endif
-+
- /* The following code was ported from gmerlin_avdecoder (http://gmerlin.sourceforge.net) */
-
- /* MPEG Audio header parsing code */
-@@ -626,7 +632,7 @@ static int decode_chunk(quicktime_t * fi
- {
- /* If the codec is mp3, make sure to decode the very last frame */
-
-- if((codec->avctx->codec_id == CODEC_ID_MP3) &&
-+ if((codec->avctx->codec_id == AV_CODEC_ID_MP3) &&
- (codec->bytes_in_chunk_buffer >= 4))
- {
- if(!mpa_decode_header(&mph, codec->chunk_buffer, (const mpa_header*)0))
-@@ -695,7 +701,7 @@ static int decode_chunk(quicktime_t * fi
-
- /* Some really broken mp3 files have the header bytes split across 2 chunks */
-
-- if(codec->avctx->codec_id == CODEC_ID_MP3)
-+ if(codec->avctx->codec_id == AV_CODEC_ID_MP3)
- {
- if(codec->bytes_in_chunk_buffer < 4)
- {
-@@ -806,7 +812,7 @@ static int decode_chunk(quicktime_t * fi
-
- if(bytes_decoded < 0)
- {
-- if(codec->avctx->codec_id == CODEC_ID_MP3)
-+ if(codec->avctx->codec_id == AV_CODEC_ID_MP3)
- {
- /* For mp3, bytes_decoded < 0 means, that the frame should be muted */
- memset(&codec->sample_buffer[track_map->channels * (codec->sample_buffer_end -
-@@ -866,8 +872,8 @@ static void init_compression_info(quickt
- quicktime_audio_map_t *track_map = &file->atracks[track];
- quicktime_ffmpeg_audio_codec_t *codec = track_map->codec->priv;
-
-- if((codec->decoder->id == CODEC_ID_MP2) ||
-- (codec->decoder->id == CODEC_ID_MP3))
-+ if((codec->decoder->id == AV_CODEC_ID_MP2) ||
-+ (codec->decoder->id == AV_CODEC_ID_MP3))
- {
- mpa_header h;
- uint32_t header;
-@@ -909,7 +915,7 @@ static void init_compression_info(quickt
- else
- track_map->ci.bitrate = h.bitrate;
- }
-- else if(codec->decoder->id == CODEC_ID_AC3)
-+ else if(codec->decoder->id == AV_CODEC_ID_AC3)
- {
- a52_header h;
- uint8_t * ptr;
-@@ -986,7 +992,7 @@ static int lqt_ffmpeg_decode_audio(quick
- #endif
- /* Some codecs need extra stuff */
-
-- if(codec->decoder->id == CODEC_ID_ALAC)
-+ if(codec->decoder->id == AV_CODEC_ID_ALAC)
- {
- header = quicktime_wave_get_user_atom(track_map->track, "alac", &header_len);
- if(header)
-@@ -995,7 +1001,7 @@ static int lqt_ffmpeg_decode_audio(quick
- codec->avctx->extradata_size = header_len;
- }
- }
-- if(codec->decoder->id == CODEC_ID_QDM2)
-+ if(codec->decoder->id == AV_CODEC_ID_QDM2)
- {
- header = quicktime_wave_get_user_atom(track_map->track, "QDCA", &header_len);
- if(header)
-@@ -1495,9 +1501,9 @@ void quicktime_init_audio_codec_ffmpeg(q
- codec_base->decode_audio = lqt_ffmpeg_decode_audio;
- codec_base->set_parameter = set_parameter;
-
-- if((decoder->id == CODEC_ID_MP3) || (decoder->id == CODEC_ID_MP2))
-+ if((decoder->id == AV_CODEC_ID_MP3) || (decoder->id == AV_CODEC_ID_MP2))
- codec_base->read_packet = read_packet_mpa;
-- else if(decoder->id == CODEC_ID_AC3)
-+ else if(decoder->id == AV_CODEC_ID_AC3)
- {
- codec_base->write_packet = write_packet_ac3;
- codec_base->read_packet = read_packet_ac3;
---- plugins/ffmpeg/params.c.orig
-+++ plugins/ffmpeg/params.c
-@@ -202,8 +202,8 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_INT("ff_max_b_frames",max_b_frames);
- PARAM_FLOAT("ff_b_quant_factor",b_quant_factor);
- PARAM_INT("ff_b_frame_strategy",b_frame_strategy);
-- PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold);
-- PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold);
-+ /* PARAM_INT("ff_luma_elim_threshold",luma_elim_threshold); */
-+ /* PARAM_INT("ff_chroma_elim_threshold",chroma_elim_threshold); */
- PARAM_INT("ff_strict_std_compliance",strict_std_compliance);
- PARAM_QP2LAMBDA("ff_b_quant_offset",b_quant_offset);
- PARAM_INT("ff_rc_min_rate",rc_min_rate);
-@@ -241,8 +241,8 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_QP2LAMBDA("ff_lmax", lmax);
- PARAM_INT("ff_noise_reduction",noise_reduction);
- PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
-- PARAM_INT("ff_inter_threshold",inter_threshold);
-- PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping);
-+ /* PARAM_INT("ff_inter_threshold",inter_threshold); */
-+ /* PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping); */
- PARAM_INT("ff_thread_count",thread_count);
- PARAM_INT("ff_me_threshold",me_threshold);
- PARAM_INT("ff_mb_threshold",mb_threshold);
-@@ -272,8 +272,8 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
- PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
- // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused
-- PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD);
-- PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD);
-+ /* PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD); */
-+ /* PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD); */
-
- #if LIBAVCODEC_VERSION_MAJOR >= 54
- PARAM_DICT_FLAG("ff_flag_h263p_aiv", "aiv");
-@@ -288,7 +288,7 @@ void lqt_ffmpeg_set_parameter(AVCodecCon
- PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
- PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP);
- PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST);
-- PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP);
-+ /* PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP); */
- PARAM_ENUM("ff_coder_type",coder_type,coder_type);
-
- }
---- plugins/ffmpeg/video.c.orig
-+++ plugins/ffmpeg/video.c
-@@ -400,7 +400,7 @@ static void lqt_ffmpeg_setup_decoding_co
- codec->reinterpret_pix_fmt = codec->avctx->pix_fmt;
-
- /* First we try codec-specific colormodel matching. */
-- if(codec->decoder->id == CODEC_ID_DNXHD)
-+ if(codec->decoder->id == AV_CODEC_ID_DNXHD)
- {
- /* FFMpeg supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10 for DNxHD, which
- we sometimes interpret as PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10. */
-@@ -438,7 +438,7 @@ static void lqt_ffmpeg_setup_encoding_co
- quicktime_ffmpeg_video_codec_t *codec = vtrack->codec->priv;
- codec->avctx->pix_fmt = lqt_ffmpeg_get_ffmpeg_colormodel(vtrack->stream_cmodel);
-
-- if (codec->encoder->id == CODEC_ID_DNXHD)
-+ if (codec->encoder->id == AV_CODEC_ID_DNXHD)
- {
- /* FFMpeg's DNxHD encoder only supports PIX_FMT_YUV422P and PIX_FMT_YUV422P10
- and doesn't know anything about PIX_FMT_YUVJ422P and PIX_FMT_YUVJ422P10
-@@ -728,13 +728,13 @@ static int lqt_ffmpeg_decode_video(quick
-
- /* Set extradata: It's done differently for each codec */
-
-- if(codec->decoder->id == CODEC_ID_SVQ3)
-+ if(codec->decoder->id == AV_CODEC_ID_SVQ3)
- {
- extradata = trak->mdia.minf.stbl.stsd.table[0].table_raw + 4;
- extradata_size = trak->mdia.minf.stbl.stsd.table[0].table_raw_size - 4;
-
- }
-- else if(codec->decoder->id == CODEC_ID_H264)
-+ else if(codec->decoder->id == AV_CODEC_ID_H264)
- {
- user_atom = quicktime_stsd_get_user_atom(trak, "avcC", &user_atom_len);
-
-@@ -753,7 +753,7 @@ static int lqt_ffmpeg_decode_video(quick
- }
-
- }
-- else if(codec->decoder->id == CODEC_ID_MPEG4)
-+ else if(codec->decoder->id == AV_CODEC_ID_MPEG4)
- {
- if(trak->mdia.minf.stbl.stsd.table[0].has_esds)
- {
-@@ -947,15 +947,15 @@ static int lqt_ffmpeg_decode_video(quick
- }
- #endif
- }
-- if(codec->decoder->id == CODEC_ID_DVVIDEO)
-+ if(codec->decoder->id == AV_CODEC_ID_DVVIDEO)
- {
- if(vtrack->stream_cmodel == BC_YUV420P)
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_DVPAL;
- vtrack->interlace_mode = LQT_INTERLACE_BOTTOM_FIRST;
- vtrack->ci.id = LQT_COMPRESSION_DV;
- }
-- else if((codec->decoder->id == CODEC_ID_MPEG4) ||
-- (codec->decoder->id == CODEC_ID_H264))
-+ else if((codec->decoder->id == AV_CODEC_ID_MPEG4) ||
-+ (codec->decoder->id == AV_CODEC_ID_H264))
- {
- if(vtrack->stream_cmodel == BC_YUV420P)
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_MPEG2;
-@@ -1299,13 +1299,13 @@ static int lqt_ffmpeg_encode_video(quick
- {
- if(vtrack->stream_cmodel == BC_YUV420P)
- {
-- if(codec->encoder->id == CODEC_ID_MPEG4)
-+ if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_MPEG2;
- /* enable interlaced encoding */
- vtrack->interlace_mode = LQT_INTERLACE_NONE;
- }
-- else if(codec->encoder->id == CODEC_ID_DVVIDEO)
-+ else if(codec->encoder->id == AV_CODEC_ID_DVVIDEO)
- {
- vtrack->chroma_placement = LQT_CHROMA_PLACEMENT_DVPAL;
- }
-@@ -1340,7 +1340,7 @@ static int lqt_ffmpeg_encode_video(quick
- codec->avctx->sample_aspect_ratio.num = pixel_width;
- codec->avctx->sample_aspect_ratio.den = pixel_height;
- /* Use global headers for mp4v */
-- if(codec->encoder->id == CODEC_ID_MPEG4)
-+ if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-@@ -1364,12 +1364,12 @@ static int lqt_ffmpeg_encode_video(quick
- }
- #endif
- }
-- else if((codec->encoder->id == CODEC_ID_MSMPEG4V3) && (trak->strl) &&
-+ else if((codec->encoder->id == AV_CODEC_ID_MSMPEG4V3) && (trak->strl) &&
- !strncmp(trak->strl->strf.bh.biCompression, "DIV3", 4))
- {
- strncpy(trak->strl->strh.fccHandler, "div3", 4);
- }
-- else if((codec->encoder->id == CODEC_ID_H263) &&
-+ else if((codec->encoder->id == AV_CODEC_ID_H263) &&
- (file->file_type & (LQT_FILE_MP4|LQT_FILE_3GP)))
- {
- uint8_t d263_data[] =
-@@ -1383,7 +1383,7 @@ static int lqt_ffmpeg_encode_video(quick
- strncpy(trak->mdia.minf.stbl.stsd.table[0].format,
- "s263", 4);
- }
-- else if(codec->encoder->id == CODEC_ID_FFVHUFF)
-+ else if(codec->encoder->id == AV_CODEC_ID_FFVHUFF)
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-@@ -1391,7 +1391,7 @@ static int lqt_ffmpeg_encode_video(quick
- codec->write_global_header = 1;
- }
- }
-- else if(codec->encoder->id == CODEC_ID_QTRLE)
-+ else if(codec->encoder->id == AV_CODEC_ID_QTRLE)
- {
- if(vtrack->stream_cmodel == BC_RGBA8888)
- {
-@@ -1402,11 +1402,11 @@ static int lqt_ffmpeg_encode_video(quick
- vtrack->track->mdia.minf.stbl.stsd.table[0].depth = 32;
- }
- }
-- else if(codec->encoder->id == CODEC_ID_DVVIDEO)
-+ else if(codec->encoder->id == AV_CODEC_ID_DVVIDEO)
- {
- set_dv_fourcc(width, height, vtrack->stream_cmodel, trak);
- }
-- else if(codec->encoder->id == CODEC_ID_DNXHD)
-+ else if(codec->encoder->id == AV_CODEC_ID_DNXHD)
- {
- if(vtrack->interlace_mode != LQT_INTERLACE_NONE)
- {
-@@ -1558,12 +1558,12 @@ static int lqt_ffmpeg_encode_video(quick
-
- #endif
-
-- if(!was_initialized && codec->encoder->id == CODEC_ID_DNXHD)
-+ if(!was_initialized && codec->encoder->id == AV_CODEC_ID_DNXHD)
- setup_avid_atoms(file, vtrack, codec->buffer, bytes_encoded);
-
- if(bytes_encoded)
- {
-- if (pts == AV_NOPTS_VALUE || (codec->encoder->id == CODEC_ID_DNXHD && pts == 0))
-+ if (pts == AV_NOPTS_VALUE || (codec->encoder->id == AV_CODEC_ID_DNXHD && pts == 0))
- {
- /* Some codecs don't bother generating presentation timestamps.
- FFMpeg's DNxHD encoder doesn't even bother to set it to AV_NOPTS_VALUE. */
-@@ -1590,13 +1590,13 @@ static int lqt_ffmpeg_encode_video(quick
-
- if(codec->write_global_header && !codec->global_header_written)
- {
-- if(codec->encoder->id == CODEC_ID_FFVHUFF)
-+ if(codec->encoder->id == AV_CODEC_ID_FFVHUFF)
- {
- quicktime_user_atoms_add_atom(&trak->mdia.minf.stbl.stsd.table[0].user_atoms,
- "glbl",
- codec->avctx->extradata, codec->avctx->extradata_size );
- }
-- else if(codec->encoder->id == CODEC_ID_MPEG4)
-+ else if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- int advanced = 0;
- if(codec->avctx->max_b_frames ||
-@@ -1903,18 +1903,18 @@ void quicktime_init_video_codec_ffmpeg(q
- codec_base->encode_video = lqt_ffmpeg_encode_video;
- codec_base->set_pass = set_pass_ffmpeg;
-
-- if(encoder->id == CODEC_ID_MPEG4)
-+ if(encoder->id == AV_CODEC_ID_MPEG4)
- {
- codec_base->writes_compressed = writes_compressed_mpeg4;
- codec_base->init_compressed = init_compressed_mpeg4;
- codec_base->write_packet = write_packet_mpeg4;
- }
-- else if(encoder->id == CODEC_ID_MPEG2VIDEO)
-+ else if(encoder->id == AV_CODEC_ID_MPEG2VIDEO)
- {
- codec_base->writes_compressed = writes_compressed_imx;
- codec_base->init_compressed = init_compressed_imx;
- }
-- else if(encoder->id == CODEC_ID_DVVIDEO)
-+ else if(encoder->id == AV_CODEC_ID_DVVIDEO)
- {
- codec_base->init_compressed = init_compressed_dv;
- }
-@@ -1922,7 +1922,7 @@ void quicktime_init_video_codec_ffmpeg(q
- }
- if(decoder)
- {
-- if(decoder->id == CODEC_ID_H264)
-+ if(decoder->id == AV_CODEC_ID_H264)
- codec_base->read_packet = read_packet_h264;
- codec_base->decode_video = lqt_ffmpeg_decode_video;
- }
diff --git a/multimedia/libquicktime/files/patch-z-ffmpeg4 b/multimedia/libquicktime/files/patch-z-ffmpeg4
deleted file mode 100644
index 099b8f429348..000000000000
--- a/multimedia/libquicktime/files/patch-z-ffmpeg4
+++ /dev/null
@@ -1,307 +0,0 @@
-https://gitweb.gentoo.org/repo/gentoo.git/tree/media-libs/libquicktime/files/libquicktime-1.2.4-ffmpeg4.patch?id=3060f60f2983
-
---- plugins/ffmpeg/audio.c.orig
-+++ plugins/ffmpeg/audio.c
-@@ -546,7 +546,7 @@ static int decode_chunk_vbr(quicktime_t * file, int track)
-
- #if DECODE_AUDIO3 || DECODE_AUDIO4
- codec->pkt.data = codec->chunk_buffer;
-- codec->pkt.size = packet_size + FF_INPUT_BUFFER_PADDING_SIZE;
-+ codec->pkt.size = packet_size + AV_INPUT_BUFFER_PADDING_SIZE;
-
- #if DECODE_AUDIO4
- frame_bytes = avcodec_decode_audio4(codec->avctx, &f,
-@@ -584,7 +584,7 @@ static int decode_chunk_vbr(quicktime_t * file, int track)
- (codec->sample_buffer_end - codec->sample_buffer_start)],
- &bytes_decoded,
- codec->chunk_buffer,
-- packet_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ packet_size + AV_INPUT_BUFFER_PADDING_SIZE);
- if(frame_bytes < 0)
- {
- lqt_log(file, LQT_LOG_ERROR, LOG_DOMAIN, "avcodec_decode_audio2 error");
-@@ -646,13 +646,13 @@ static int decode_chunk(quicktime_t * file, int track)
- return 0;
- }
-
-- if(codec->chunk_buffer_alloc < mph.frame_bytes + FF_INPUT_BUFFER_PADDING_SIZE)
-+ if(codec->chunk_buffer_alloc < mph.frame_bytes + AV_INPUT_BUFFER_PADDING_SIZE)
- {
-- codec->chunk_buffer_alloc = mph.frame_bytes + FF_INPUT_BUFFER_PADDING_SIZE;
-+ codec->chunk_buffer_alloc = mph.frame_bytes + AV_INPUT_BUFFER_PADDING_SIZE;
- codec->chunk_buffer = realloc(codec->chunk_buffer, codec->chunk_buffer_alloc);
- }
- memset(codec->chunk_buffer + codec->bytes_in_chunk_buffer, 0,
-- mph.frame_bytes - codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE);
-+ mph.frame_bytes - codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE);
- num_samples = mph.samples_per_frame;
- codec->bytes_in_chunk_buffer = mph.frame_bytes;
- }
-@@ -696,7 +696,7 @@ static int decode_chunk(quicktime_t * file, int track)
- {
-
-
-- /* BIG NOTE: We pass extra FF_INPUT_BUFFER_PADDING_SIZE for the buffer size
-+ /* BIG NOTE: We pass extra AV_INPUT_BUFFER_PADDING_SIZE for the buffer size
- because we know, that lqt_read_audio_chunk allocates 16 extra bytes for us */
-
- /* Some really broken mp3 files have the header bytes split across 2 chunks */
-@@ -762,7 +762,7 @@ static int decode_chunk(quicktime_t * file, int track)
-
- #if DECODE_AUDIO3 || DECODE_AUDIO4
- codec->pkt.data = &codec->chunk_buffer[bytes_used];
-- codec->pkt.size = codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE;
-+ codec->pkt.size = codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE;
-
- #if DECODE_AUDIO4
-
-@@ -799,7 +799,7 @@ static int decode_chunk(quicktime_t * file, int track)
- (codec->sample_buffer_end - codec->sample_buffer_start)],
- &bytes_decoded,
- &codec->chunk_buffer[bytes_used],
-- codec->bytes_in_chunk_buffer + FF_INPUT_BUFFER_PADDING_SIZE);
-+ codec->bytes_in_chunk_buffer + AV_INPUT_BUFFER_PADDING_SIZE);
- #endif
- if(frame_bytes < 0)
- {
-@@ -839,7 +839,7 @@ static int decode_chunk(quicktime_t * file, int track)
- }
- }
-
-- /* This happens because ffmpeg adds FF_INPUT_BUFFER_PADDING_SIZE to the bytes returned */
-+ /* This happens because ffmpeg adds AV_INPUT_BUFFER_PADDING_SIZE to the bytes returned */
-
- if(codec->bytes_in_chunk_buffer < 0)
- codec->bytes_in_chunk_buffer = 0;
---- plugins/ffmpeg/params.c.orig
-+++ plugins/ffmpeg/params.c
-@@ -113,16 +113,6 @@ typedef struct
- }
-
-
--enum_t me_method[] =
-- {
-- { "Zero", ME_ZERO },
-- { "Phods", ME_PHODS },
-- { "Log", ME_LOG },
-- { "X1", ME_X1 },
-- { "Epzs", ME_EPZS },
-- { "Full", ME_FULL }
-- };
--
- enum_t prediction_method[] =
- {
- { "Left", FF_PRED_LEFT },
-@@ -152,14 +142,6 @@ enum_t mb_decision[] =
- { "Rate distoration", FF_MB_DECISION_RD }
- };
-
--enum_t coder_type[] =
-- {
-- { "VLC", FF_CODER_TYPE_VLC },
-- { "Arithmetic", FF_CODER_TYPE_AC },
-- { "Raw", FF_CODER_TYPE_RAW },
-- { "RLE", FF_CODER_TYPE_RLE },
-- };
--
- #define PARAM_ENUM(name, var, arr) \
- if(!strcasecmp(key, name)) \
- { \
-@@ -191,7 +173,7 @@ void lqt_ffmpeg_set_parameter(AVCodecContext * ctx,
- PARAM_INT_SCALE("ff_bit_rate_audio",bit_rate,1000);
- PARAM_INT_SCALE("ff_bit_rate_video",bit_rate,1000);
- PARAM_INT_SCALE("ff_bit_rate_tolerance",bit_rate_tolerance,1000);
-- PARAM_ENUM("ff_me_method",me_method,me_method);
-+ PARAM_DICT_INT("ff_me_method","motion-est");
- PARAM_INT("ff_gop_size",gop_size);
- PARAM_FLOAT("ff_qcompress",qcompress);
- PARAM_FLOAT("ff_qblur",qblur);
-@@ -208,10 +190,9 @@ void lqt_ffmpeg_set_parameter(AVCodecContext * ctx,
- PARAM_INT("ff_rc_min_rate",rc_min_rate);
- PARAM_INT("ff_rc_max_rate",rc_max_rate);
- PARAM_INT_SCALE("ff_rc_buffer_size",rc_buffer_size,1000);
-- PARAM_FLOAT("ff_rc_buffer_aggressivity",rc_buffer_aggressivity);
- PARAM_FLOAT("ff_i_quant_factor",i_quant_factor);
- PARAM_QP2LAMBDA("ff_i_quant_offset",i_quant_offset);
-- PARAM_FLOAT("ff_rc_initial_cplx",rc_initial_cplx);
-+ PARAM_DICT_INT("ff_rc_initial_cplx","rc_init_cplx");
- PARAM_FLOAT("ff_lumi_masking",lumi_masking);
- PARAM_FLOAT("ff_temporal_cplx_masking",temporal_cplx_masking);
- PARAM_FLOAT("ff_spatial_cplx_masking",spatial_cplx_masking);
-@@ -236,38 +217,36 @@ void lqt_ffmpeg_set_parameter(AVCodecContext * ctx,
- PARAM_INT("ff_me_range",me_range);
- PARAM_ENUM("ff_mb_decision",mb_decision,mb_decision);
- PARAM_INT("ff_scenechange_threshold",scenechange_threshold);
-- PARAM_QP2LAMBDA("ff_lmin", lmin);
-- PARAM_QP2LAMBDA("ff_lmax", lmax);
-+ PARAM_DICT_INT("ff_lmin", "lmin");
-+ PARAM_DICT_INT("ff_lmax", "lmax");
- PARAM_INT("ff_noise_reduction",noise_reduction);
- PARAM_INT_SCALE("ff_rc_initial_buffer_occupancy",rc_initial_buffer_occupancy,1000);
- /* PARAM_INT("ff_inter_threshold",inter_threshold); */
- /* PARAM_INT("ff_quantizer_noise_shaping",quantizer_noise_shaping); */
- PARAM_INT("ff_thread_count",thread_count);
-- PARAM_INT("ff_me_threshold",me_threshold);
-- PARAM_INT("ff_mb_threshold",mb_threshold);
- PARAM_INT("ff_nsse_weight",nsse_weight);
-- PARAM_FLOAT("ff_border_masking",border_masking);
-+ PARAM_DICT_INT("ff_border_masking","border_mask");
- PARAM_QP2LAMBDA("ff_mb_lmin", mb_lmin);
- PARAM_QP2LAMBDA("ff_mb_lmax", mb_lmax);
- PARAM_INT("ff_me_penalty_compensation",me_penalty_compensation);
- PARAM_INT("ff_bidir_refine",bidir_refine);
- PARAM_INT("ff_brd_scale",brd_scale);
-- PARAM_FLAG("ff_flag_qscale",CODEC_FLAG_QSCALE);
-- PARAM_FLAG("ff_flag_4mv",CODEC_FLAG_4MV);
-- PARAM_FLAG("ff_flag_qpel",CODEC_FLAG_QPEL);
-+ PARAM_FLAG("ff_flag_qscale",AV_CODEC_FLAG_QSCALE);
-+ PARAM_FLAG("ff_flag_4mv",AV_CODEC_FLAG_4MV);
-+ PARAM_FLAG("ff_flag_qpel",AV_CODEC_FLAG_QPEL);
- PARAM_DICT_FLAG("ff_flag_gmc", "gmc");
-- PARAM_FLAG("ff_flag_mv0",CODEC_FLAG_MV0);
-+ PARAM_DICT_FLAG("ff_flag_mv0","mpv_flags");
- // PARAM_FLAG("ff_flag_part",CODEC_FLAG_PART); // Unused
-- PARAM_FLAG("ff_flag_gray",CODEC_FLAG_GRAY);
-- PARAM_FLAG("ff_flag_normalize_aqp",CODEC_FLAG_NORMALIZE_AQP);
-+ PARAM_FLAG("ff_flag_gray",AV_CODEC_FLAG_GRAY);
-+ PARAM_DICT_FLAG("ff_flag_normalize_aqp","naq");
- // PARAM_FLAG("ff_flag_alt_scan",CODEC_FLAG_ALT_SCAN); // Unused
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- PARAM_FLAG("ff_flag_trellis_quant",CODEC_FLAG_TRELLIS_QUANT);
- #else
- PARAM_INT("ff_trellis",trellis);
- #endif
-- PARAM_FLAG("ff_flag_bitexact",CODEC_FLAG_BITEXACT);
-- PARAM_FLAG("ff_flag_ac_pred",CODEC_FLAG_AC_PRED);
-+ PARAM_FLAG("ff_flag_bitexact",AV_CODEC_FLAG_BITEXACT);
-+ PARAM_FLAG("ff_flag_ac_pred",AV_CODEC_FLAG_AC_PRED);
- // PARAM_FLAG("ff_flag_h263p_umv",CODEC_FLAG_H263P_UMV); // Unused
- /* PARAM_FLAG("ff_flag_cbp_rd",CODEC_FLAG_CBP_RD); */
- /* PARAM_FLAG("ff_flag_qp_rd",CODEC_FLAG_QP_RD); */
-@@ -277,15 +256,15 @@ void lqt_ffmpeg_set_parameter(AVCodecContext * ctx,
- PARAM_DICT_FLAG("ff_flag_obmc","obmc");
- PARAM_DICT_FLAG("ff_flag_h263p_slice_struct","structured_slices");
- #else
-- PARAM_FLAG("ff_flag_h263p_aiv",CODEC_FLAG_H263P_AIV);
-- PARAM_FLAG("ff_flag_obmc",CODEC_FLAG_OBMC);
-- PARAM_FLAG("ff_flag_h263p_slice_struct",CODEC_FLAG_H263P_SLICE_STRUCT);
-+ PARAM_FLAG("ff_flag_h263p_aiv",AV_CODEC_FLAG_H263P_AIV);
-+ PARAM_FLAG("ff_flag_obmc",AV_CODEC_FLAG_OBMC);
-+ PARAM_FLAG("ff_flag_h263p_slice_struct",AV_CODEC_FLAG_H263P_SLICE_STRUCT);
- #endif
-
-- PARAM_FLAG("ff_flag_loop_filter",CODEC_FLAG_LOOP_FILTER);
-- PARAM_FLAG("ff_flag_closed_gop",CODEC_FLAG_CLOSED_GOP);
-- PARAM_FLAG2("ff_flag2_fast",CODEC_FLAG2_FAST);
-+ PARAM_FLAG("ff_flag_loop_filter",AV_CODEC_FLAG_LOOP_FILTER);
-+ PARAM_FLAG("ff_flag_closed_gop",AV_CODEC_FLAG_CLOSED_GOP);
-+ PARAM_FLAG2("ff_flag2_fast",AV_CODEC_FLAG2_FAST);
- /* PARAM_FLAG2("ff_flag2_strict_gop",CODEC_FLAG2_STRICT_GOP); */
-- PARAM_ENUM("ff_coder_type",coder_type,coder_type);
-+ PARAM_DICT_INT("ff_coder_type","coder");
-
- }
---- plugins/ffmpeg/video.c.orig
-+++ plugins/ffmpeg/video.c
-@@ -781,7 +781,7 @@ static int lqt_ffmpeg_decode_video(quicktime_t *file, unsigned char **row_pointe
- if(extradata)
- {
- codec->extradata =
-- calloc(1, extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);
-+ calloc(1, extradata_size + AV_INPUT_BUFFER_PADDING_SIZE);
- memcpy(codec->extradata, extradata, extradata_size);
- codec->avctx->extradata_size = extradata_size;
- codec->avctx->extradata = codec->extradata;
-@@ -1140,8 +1140,8 @@ static int init_imx_encoder(quicktime_t *file, int track)
- codec->avctx->qmin = 1;
- codec->avctx->qmax = 3;
- codec->avctx->rtp_payload_size = 1; // ??
-- codec->avctx->rc_buffer_aggressivity = 0.25;
-- codec->avctx->flags |= CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_LOW_DELAY;
-+ av_dict_set(&codec->options, "rc_buf_aggressivity", "0.25", 0);
-+ codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_LOW_DELAY;
-
- #if (LIBAVCODEC_VERSION_MAJOR < 54)
- codec->avctx->flags2 |= CODEC_FLAG2_INTRA_VLC|CODEC_FLAG2_NON_LINEAR_QUANT;
-@@ -1328,7 +1328,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- // codec->avctx->time_base.den = 1;
- // codec->avctx->time_base.num = lqt_video_time_scale(file, track);
-
-- if(codec->avctx->flags & CODEC_FLAG_QSCALE)
-+ if(codec->avctx->flags & AV_CODEC_FLAG_QSCALE)
- codec->avctx->global_quality = codec->qscale;
-
- codec->avctx->width = width;
-@@ -1344,7 +1344,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-- codec->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ codec->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- codec->write_global_header = 1;
- }
-
-@@ -1360,7 +1360,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- {
- lqt_log(file, LQT_LOG_INFO, LOG_DOMAIN, "Enabling interlaced encoding");
- codec->avctx->flags |=
-- (CODEC_FLAG_INTERLACED_DCT|CODEC_FLAG_INTERLACED_ME|CODEC_FLAG_ALT_SCAN);
-+ (AV_CODEC_FLAG_INTERLACED_DCT|AV_CODEC_FLAG_INTERLACED_ME|AV_CODEC_FLAG_ALT_SCAN);
- }
- #endif
- }
-@@ -1387,7 +1387,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- {
- if(!(file->file_type & (LQT_FILE_AVI|LQT_FILE_AVI_ODML)))
- {
-- codec->avctx->flags |= CODEC_FLAG_GLOBAL_HEADER;
-+ codec->avctx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER;
- codec->write_global_header = 1;
- }
- }
-@@ -1410,7 +1410,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- {
- if(vtrack->interlace_mode != LQT_INTERLACE_NONE)
- {
-- codec->avctx->flags |= CODEC_FLAG_INTERLACED_DCT;
-+ codec->avctx->flags |= AV_CODEC_FLAG_INTERLACED_DCT;
- }
- }
- else if(codec->is_imx)
-@@ -1422,7 +1422,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- if(codec->pass == 1)
- {
- codec->stats_file = fopen(codec->stats_filename, "w");
-- codec->avctx->flags |= CODEC_FLAG_PASS1;
-+ codec->avctx->flags |= AV_CODEC_FLAG_PASS1;
- }
- else if(codec->pass == codec->total_passes)
- {
-@@ -1438,7 +1438,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- fclose(codec->stats_file);
- codec->stats_file = (FILE*)0;
-
-- codec->avctx->flags |= CODEC_FLAG_PASS2;
-+ codec->avctx->flags |= AV_CODEC_FLAG_PASS2;
- }
- }
- /* Open codec */
-@@ -1516,7 +1516,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- }
-
- codec->frame->pts = vtrack->timestamp;
-- if(codec->avctx->flags & CODEC_FLAG_QSCALE)
-+ if(codec->avctx->flags & AV_CODEC_FLAG_QSCALE)
- codec->frame->quality = codec->qscale;
- #ifdef DO_INTERLACE
- if(vtrack->interlace_mode != LQT_INTERLACE_NONE)
-@@ -1599,8 +1599,7 @@ static int lqt_ffmpeg_encode_video(quicktime_t *file, unsigned char **row_pointe
- else if(codec->encoder->id == AV_CODEC_ID_MPEG4)
- {
- int advanced = 0;
-- if(codec->avctx->max_b_frames ||
-- (codec->avctx->flags & (AV_CODEC_FLAG_QPEL|CODEC_FLAG_GMC)))
-+ if(codec->avctx->max_b_frames)
- advanced = 1;
-
- setup_header_mpeg4(file, track, codec->avctx->extradata,
diff --git a/multimedia/libquicktime/pkg-descr b/multimedia/libquicktime/pkg-descr
deleted file mode 100644
index d797ade08e75..000000000000
--- a/multimedia/libquicktime/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-libquicktime is a library for reading and writing quicktime files.
-
-WWW: http://libquicktime.sourceforge.net/
diff --git a/multimedia/libquicktime/pkg-plist b/multimedia/libquicktime/pkg-plist
deleted file mode 100644
index 9f0287a67317..000000000000
--- a/multimedia/libquicktime/pkg-plist
+++ /dev/null
@@ -1,36 +0,0 @@
-%%GTK2%%bin/libquicktime_config
-bin/lqt_transcode
-bin/lqtplay
-bin/lqtremux
-bin/qt2text
-bin/qtdechunk
-bin/qtdump
-bin/qtinfo
-bin/qtrechunk
-bin/qtstreamize
-bin/qtyuv4toyuv
-include/lqt/colormodels.h
-include/lqt/compression.h
-include/lqt/lqt.h
-include/lqt/lqt_atoms.h
-include/lqt/lqt_codecinfo.h
-include/lqt/lqt_qtvr.h
-include/lqt/lqt_version.h
-include/lqt/quicktime.h
-lib/libquicktime.so
-lib/libquicktime.so.0
-lib/libquicktime.so.0.0.0
-lib/libquicktime/lqt_audiocodec.so
-%%DV%%lib/libquicktime/lqt_dv.so
-%%FAAC%%lib/libquicktime/lqt_faac.so
-%%FAAD%%lib/libquicktime/lqt_faad2.so
-%%FFMPEG%%lib/libquicktime/lqt_ffmpeg.so
-%%JPEG%%lib/libquicktime/lqt_mjpeg.so
-%%PNG%%lib/libquicktime/lqt_png.so
-lib/libquicktime/lqt_rtjpeg.so
-lib/libquicktime/lqt_videocodec.so
-lib/libquicktime/lqt_vorbis.so
-%%X264%%lib/libquicktime/lqt_x264.so
-libdata/pkgconfig/libquicktime.pc
-man/man1/lqtplay.1.gz
-share/locale/de/LC_MESSAGES/libquicktime.mo
diff --git a/multimedia/libquvi-scripts/Makefile b/multimedia/libquvi-scripts/Makefile
deleted file mode 100644
index c226edc3bb37..000000000000
--- a/multimedia/libquvi-scripts/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
-PORTNAME= libquvi-scripts
-PORTVERSION= 0.4.21
-CATEGORIES= multimedia devel
-MASTER_SITES= SF/quvi/${PORTVERSION:R}/libquvi-scripts/ \
- LOCAL/sunpoet
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Embedded lua scripts for libquvi and utility scripts
-
-LICENSE= LGPL21+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-USES= pathfix tar:xz
-
-GNU_CONFIGURE= yes
-NO_ARCH= yes
-
-PORTSCOUT= limit:^0\.4\.
-
-OPTIONS_DEFINE= NSFW
-OPTIONS_SUB= yes
-NSFW_DESC= Enable adult website support
-
-NSFW_CONFIGURE_WITH= nsfw
-
-.include <bsd.port.mk>
diff --git a/multimedia/libquvi-scripts/distinfo b/multimedia/libquvi-scripts/distinfo
deleted file mode 100644
index f29d334c16c1..000000000000
--- a/multimedia/libquvi-scripts/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libquvi-scripts-0.4.21.tar.xz) = 7c02cc86ac25334892d08bbc31251d78a55ee2a16d57dfa2bda7ac657c8e0f34
-SIZE (libquvi-scripts-0.4.21.tar.xz) = 121072
diff --git a/multimedia/libquvi-scripts/pkg-descr b/multimedia/libquvi-scripts/pkg-descr
deleted file mode 100644
index 280359283dd0..000000000000
--- a/multimedia/libquvi-scripts/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-quvi is a command line tool for parsing flash media stream URLs. It supports
-many websites including YouTube and Dailymotion.
-
-Starting from 0.4.0, the quvi distribution has split into libquvi-scripts,
-libquvi and quvi.
-
-libquvi-scripts contains the embedded lua scripts that libquvi uses for parsing
-the media details. Some additional utility scripts are also included.
-
-WWW: http://quvi.sourceforge.net/
-WWW: https://github.com/legatvs/libquvi-scripts
diff --git a/multimedia/libquvi-scripts/pkg-plist b/multimedia/libquvi-scripts/pkg-plist
deleted file mode 100644
index fd5e1afc3310..000000000000
--- a/multimedia/libquvi-scripts/pkg-plist
+++ /dev/null
@@ -1,66 +0,0 @@
-libdata/pkgconfig/libquvi-scripts.pc
-man/man7/libquvi-scripts.7.gz
-%%DATADIR%%/lua/README
-%%DATADIR%%/lua/util/charset.lua
-%%DATADIR%%/lua/util/content_type.lua
-%%DATADIR%%/lua/util/trim.lua
-%%DATADIR%%/lua/website/README
-%%DATADIR%%/lua/website/101greatgoals.lua
-%%DATADIR%%/lua/website/1tvru.lua
-%%DATADIR%%/lua/website/ardmediathek.lua
-%%DATADIR%%/lua/website/arte.lua
-%%DATADIR%%/lua/website/audioboo.lua
-%%DATADIR%%/lua/website/bbc.lua
-%%NSFW%%%%DATADIR%%/lua/website/beeg.lua
-%%DATADIR%%/lua/website/bikeradar.lua
-%%DATADIR%%/lua/website/canalplus.lua
-%%DATADIR%%/lua/website/cbsnews.lua
-%%DATADIR%%/lua/website/clipfish.lua
-%%DATADIR%%/lua/website/collegehumor.lua
-%%DATADIR%%/lua/website/dailymotion.lua
-%%NSFW%%%%DATADIR%%/lua/website/deviantclip.lua
-%%DATADIR%%/lua/website/dorkly.lua
-%%NSFW%%%%DATADIR%%/lua/website/empflix.lua
-%%DATADIR%%/lua/website/foxnews.lua
-%%DATADIR%%/lua/website/funnyordie.lua
-%%DATADIR%%/lua/website/gaskrank.lua
-%%DATADIR%%/lua/website/guardian.lua
-%%NSFW%%%%DATADIR%%/lua/website/jizzhut.lua
-%%NSFW%%%%DATADIR%%/lua/website/keezmovies.lua
-%%DATADIR%%/lua/website/lego.lua
-%%DATADIR%%/lua/website/liveleak.lua
-%%DATADIR%%/lua/website/metacafe.lua
-%%DATADIR%%/lua/website/myspass.lua
-%%DATADIR%%/lua/website/publicsenat.lua
-%%DATADIR%%/lua/website/quvi/bit.lua
-%%DATADIR%%/lua/website/quvi/const.lua
-%%DATADIR%%/lua/website/quvi/html.lua
-%%DATADIR%%/lua/website/quvi/url.lua
-%%DATADIR%%/lua/website/quvi/util.lua
-%%NSFW%%%%DATADIR%%/lua/website/redtube.lua
-%%DATADIR%%/lua/website/sapo.lua
-%%DATADIR%%/lua/website/senat.lua
-%%DATADIR%%/lua/website/sevenload.lua
-%%DATADIR%%/lua/website/soundcloud.lua
-%%NSFW%%%%DATADIR%%/lua/website/spankwire.lua
-%%DATADIR%%/lua/website/spiegel.lua
-%%DATADIR%%/lua/website/tagtele.lua
-%%DATADIR%%/lua/website/tapuz.lua
-%%NSFW%%%%DATADIR%%/lua/website/tcmag.lua
-%%DATADIR%%/lua/website/ted.lua
-%%DATADIR%%/lua/website/theonion.lua
-%%DATADIR%%/lua/website/tmunderground.lua
-%%NSFW%%%%DATADIR%%/lua/website/tnaflix.lua
-%%NSFW%%%%DATADIR%%/lua/website/totallynsfw.lua
-%%DATADIR%%/lua/website/tvlux.lua
-%%DATADIR%%/lua/website/tvrain.lua
-%%DATADIR%%/lua/website/videa.lua
-%%DATADIR%%/lua/website/videobash.lua
-%%DATADIR%%/lua/website/vimeo.lua
-%%DATADIR%%/lua/website/wimp.lua
-%%NSFW%%%%DATADIR%%/lua/website/xhamster.lua
-%%NSFW%%%%DATADIR%%/lua/website/xnxx.lua
-%%NSFW%%%%DATADIR%%/lua/website/xvideos.lua
-%%NSFW%%%%DATADIR%%/lua/website/youjizz.lua
-%%DATADIR%%/lua/website/youtube.lua
-%%DATADIR%%/version
diff --git a/multimedia/libquvi-scripts09/Makefile b/multimedia/libquvi-scripts09/Makefile
deleted file mode 100644
index db4b2dd66616..000000000000
--- a/multimedia/libquvi-scripts09/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
-PORTNAME= libquvi-scripts
-PORTVERSION= 0.9.20131130
-PORTREVISION= 1
-CATEGORIES= multimedia devel
-MASTER_SITES= SF/quvi/${PORTVERSION:R}/libquvi-scripts/ \
- LOCAL/sunpoet
-PKGNAMESUFFIX= 09
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Embedded lua scripts for libquvi and utility scripts
-
-LICENSE= AGPLv3
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-RUN_DEPENDS= ${LUA_PKGNAMEPREFIX}bitop>=1.0.1:devel/lua-bitop@${LUA_FLAVOR} \
- ${LUA_PKGNAMEPREFIX}luaexpat>=1.2.0:textproc/luaexpat@${LUA_FLAVOR} \
- ${LUA_PKGNAMEPREFIX}json>=1.1.1:converters/lua-json@${LUA_FLAVOR} \
- ${LUA_PKGNAMEPREFIX}luasocket>=2.0.2:net/luasocket@${LUA_FLAVOR}
-
-USES= lua:run pathfix tar:xz
-
-CONFIGURE_ARGS= --program-suffix=${PKGNAMESUFFIX}
-GNU_CONFIGURE= yes
-NO_ARCH= yes
-
-PLIST_SUB= PKGNAMESUFFIX=${PKGNAMESUFFIX} PORTVERSION=${PORTVERSION} QUVIVERSION=${PORTVERSION:R}
-
-OPTIONS_DEFINE= NSFW
-OPTIONS_SUB= yes
-NSFW_DESC= Enable adult website support
-
-NSFW_CONFIGURE_WITH= nsfw
-
-.include <bsd.port.mk>
diff --git a/multimedia/libquvi-scripts09/distinfo b/multimedia/libquvi-scripts09/distinfo
deleted file mode 100644
index 5b25914bd476..000000000000
--- a/multimedia/libquvi-scripts09/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libquvi-scripts-0.9.20131130.tar.xz) = 17f21f9fac10cf60af2741f2c86a8ffd8007aa334d1eb78ff6ece130cb3777e3
-SIZE (libquvi-scripts-0.9.20131130.tar.xz) = 322080
diff --git a/multimedia/libquvi-scripts09/pkg-descr b/multimedia/libquvi-scripts09/pkg-descr
deleted file mode 100644
index 280359283dd0..000000000000
--- a/multimedia/libquvi-scripts09/pkg-descr
+++ /dev/null
@@ -1,11 +0,0 @@
-quvi is a command line tool for parsing flash media stream URLs. It supports
-many websites including YouTube and Dailymotion.
-
-Starting from 0.4.0, the quvi distribution has split into libquvi-scripts,
-libquvi and quvi.
-
-libquvi-scripts contains the embedded lua scripts that libquvi uses for parsing
-the media details. Some additional utility scripts are also included.
-
-WWW: http://quvi.sourceforge.net/
-WWW: https://github.com/legatvs/libquvi-scripts
diff --git a/multimedia/libquvi-scripts09/pkg-plist b/multimedia/libquvi-scripts09/pkg-plist
deleted file mode 100644
index 7df34d55bd03..000000000000
--- a/multimedia/libquvi-scripts09/pkg-plist
+++ /dev/null
@@ -1,65 +0,0 @@
-libdata/pkgconfig/libquvi-scripts-%%QUVIVERSION%%.pc
-man/man7/libquvi-scripts%%PKGNAMESUFFIX%%.7.gz
-man/man7/quvi-modules-3rdparty%%PKGNAMESUFFIX%%.7.gz
-man/man7/quvi-modules%%PKGNAMESUFFIX%%.7.gz
-%%DATADIR%%/%%QUVIVERSION%%
-%%DATADIR%%/%%PORTVERSION%%/README
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/const.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/debug.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/entity.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/hash.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/hex.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/html.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/http/cookie.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/lxph.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/stream.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/time.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/util.lua
-%%DATADIR%%/%%PORTVERSION%%/common/quvi/youtube.lua
-%%DATADIR%%/%%PORTVERSION%%/media/101greatgoals.lua
-%%DATADIR%%/%%PORTVERSION%%/media/1tvru.lua
-%%DATADIR%%/%%PORTVERSION%%/media/ardmediathek.lua
-%%DATADIR%%/%%PORTVERSION%%/media/arte.lua
-%%DATADIR%%/%%PORTVERSION%%/media/audioboo.lua
-%%DATADIR%%/%%PORTVERSION%%/media/bikeradar.lua
-%%DATADIR%%/%%PORTVERSION%%/media/canalplus.lua
-%%DATADIR%%/%%PORTVERSION%%/media/cbsnews.lua
-%%DATADIR%%/%%PORTVERSION%%/media/clipfish.lua
-%%DATADIR%%/%%PORTVERSION%%/media/collegehumor.lua
-%%DATADIR%%/%%PORTVERSION%%/media/dailymotion.lua
-%%DATADIR%%/%%PORTVERSION%%/media/dorkly.lua
-%%DATADIR%%/%%PORTVERSION%%/media/funnyordie.lua
-%%DATADIR%%/%%PORTVERSION%%/media/gaskrank.lua
-%%DATADIR%%/%%PORTVERSION%%/media/guardian.lua
-%%DATADIR%%/%%PORTVERSION%%/media/ina.lua
-%%DATADIR%%/%%PORTVERSION%%/media/lego.lua
-%%DATADIR%%/%%PORTVERSION%%/media/liveleak.lua
-%%DATADIR%%/%%PORTVERSION%%/media/majestyc.lua
-%%DATADIR%%/%%PORTVERSION%%/media/metacafe.lua
-%%DATADIR%%/%%PORTVERSION%%/media/myspass.lua
-%%DATADIR%%/%%PORTVERSION%%/media/publicsenat.lua
-%%DATADIR%%/%%PORTVERSION%%/media/sapo.lua
-%%DATADIR%%/%%PORTVERSION%%/media/senat.lua
-%%DATADIR%%/%%PORTVERSION%%/media/sevenload.lua
-%%DATADIR%%/%%PORTVERSION%%/media/soundcloud.lua
-%%DATADIR%%/%%PORTVERSION%%/media/spiegel.lua
-%%DATADIR%%/%%PORTVERSION%%/media/tagtele.lua
-%%DATADIR%%/%%PORTVERSION%%/media/tapuz.lua
-%%DATADIR%%/%%PORTVERSION%%/media/ted.lua
-%%DATADIR%%/%%PORTVERSION%%/media/theonion.lua
-%%DATADIR%%/%%PORTVERSION%%/media/tvlux.lua
-%%DATADIR%%/%%PORTVERSION%%/media/videa.lua
-%%DATADIR%%/%%PORTVERSION%%/media/videobash.lua
-%%DATADIR%%/%%PORTVERSION%%/media/vimeo.lua
-%%DATADIR%%/%%PORTVERSION%%/media/vzaar.lua
-%%DATADIR%%/%%PORTVERSION%%/media/youtube.lua
-%%DATADIR%%/%%PORTVERSION%%/playlist/soundcloud.lua
-%%DATADIR%%/%%PORTVERSION%%/playlist/youtube.lua
-%%DATADIR%%/%%PORTVERSION%%/scan/vzaar.lua
-%%DATADIR%%/%%PORTVERSION%%/scan/youtube.lua
-%%DATADIR%%/%%PORTVERSION%%/subtitle/export/subrip.lua
-%%DATADIR%%/%%PORTVERSION%%/subtitle/youtube.lua
-%%DATADIR%%/%%PORTVERSION%%/util/convert_entities.lua
-%%DATADIR%%/%%PORTVERSION%%/util/resolve_redirections.lua
-%%DATADIR%%/%%PORTVERSION%%/util/to_file_ext.lua
-%%DATADIR%%/%%PORTVERSION%%/version
diff --git a/multimedia/libquvi/Makefile b/multimedia/libquvi/Makefile
deleted file mode 100644
index a5fe59f311cb..000000000000
--- a/multimedia/libquvi/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
-PORTNAME= libquvi
-PORTVERSION= 0.4.1
-PORTREVISION= 5
-CATEGORIES= multimedia devel
-MASTER_SITES= SF/quvi/${PORTVERSION:R}/libquvi/ \
- LOCAL/sunpoet
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Cross-platform library for parsing flash media stream URLs
-
-LICENSE= LGPL21+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= ${RUN_DEPENDS}
-LIB_DEPENDS= libcurl.so:ftp/curl
-RUN_DEPENDS= libquvi-scripts>=0.4.0:multimedia/libquvi-scripts
-
-USES= iconv libtool pathfix pkgconfig tar:xz
-
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USE_LDCONFIG= yes
-
-PORTDOCS= *
-
-PORTSCOUT= limit:^0\.4\.
-
-OPTIONS_DEFINE= DOCS LUAJIT
-LUAJIT_DESC= Use LuaJIT instead of Lua
-
-LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit
-LUAJIT_USES_OFF= lua
-
-post-patch-LUAJIT-off:
- @${REINPLACE_CMD} 's|lua-5.1|lua-${LUA_VER}|g' ${WRKSRC}/configure
-
-post-patch-LUAJIT-on:
- @${REINPLACE_CMD} 's|lua >= 5.1|luajit|g' ${WRKSRC}/configure
-
-post-install:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}/
- cd ${WRKSRC}/doc/nd/ && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/
-
-.include <bsd.port.mk>
diff --git a/multimedia/libquvi/distinfo b/multimedia/libquvi/distinfo
deleted file mode 100644
index 004b50e468fe..000000000000
--- a/multimedia/libquvi/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libquvi-0.4.1.tar.xz) = b5862f7e5fa6ed7defd169adb5c7586c6406af86e029671fd09615f6eb7aa903
-SIZE (libquvi-0.4.1.tar.xz) = 262740
diff --git a/multimedia/libquvi/pkg-descr b/multimedia/libquvi/pkg-descr
deleted file mode 100644
index 3e853f495bd7..000000000000
--- a/multimedia/libquvi/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-quvi is a command line tool for parsing flash media stream URLs. It supports
-many websites including YouTube and Dailymotion.
-
-Starting from 0.4.0, the quvi distribution has split into libquvi-scripts,
-libquvi and quvi.
-
-libquvi is a cross-platform library for parsing flash media stream URLs with C
-API.
-
-libquvi originates from the idea of allowing users to view the videos without
-having to install or use flash. It is a "workaround", not an "alternative" to
-flash.
-
-WWW: http://quvi.sourceforge.net/
-WWW: https://github.com/legatvs/libquvi
diff --git a/multimedia/libquvi/pkg-plist b/multimedia/libquvi/pkg-plist
deleted file mode 100644
index a18c1876b9af..000000000000
--- a/multimedia/libquvi/pkg-plist
+++ /dev/null
@@ -1,9 +0,0 @@
-include/quvi/llst.h
-include/quvi/net.h
-include/quvi/quvi.h
-lib/libquvi.a
-lib/libquvi.so
-lib/libquvi.so.7
-lib/libquvi.so.7.0.1
-libdata/pkgconfig/libquvi.pc
-man/man3/libquvi.3.gz
diff --git a/multimedia/libquvi09/Makefile b/multimedia/libquvi09/Makefile
deleted file mode 100644
index 01d2e4dc3b44..000000000000
--- a/multimedia/libquvi09/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
-PORTNAME= libquvi
-PORTVERSION= 0.9.4
-PORTREVISION= 4
-CATEGORIES= multimedia devel
-MASTER_SITES= SF/quvi/${PORTVERSION:R}/libquvi/ \
- LOCAL/sunpoet
-PKGNAMESUFFIX= 09
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Cross-platform library for parsing flash media stream URLs
-
-LICENSE= AGPLv3
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= ${RUN_DEPENDS}
-LIB_DEPENDS= libcurl.so:ftp/curl \
- libproxy.so:net/libproxy \
- libgcrypt.so:security/libgcrypt
-RUN_DEPENDS= libquvi-scripts09>=0.9:multimedia/libquvi-scripts09
-
-USES= gnome iconv libtool lua pathfix pkgconfig tar:xz
-USE_GNOME= glib20
-
-CONFIGURE_ARGS= --program-suffix=${PKGNAMESUFFIX}
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USE_LDCONFIG= yes
-
-PLIST_SUB= PKGNAMESUFFIX=${PKGNAMESUFFIX} PORTVERSION=${PORTVERSION} QUVIVERSION=${PORTVERSION:R}
-
-OPTIONS_DEFINE= DOCS
-
-post-patch:
- @${REINPLACE_CMD} 's/lua-5.1/lua-${LUA_VER}/g' ${WRKSRC}/configure
-
-.include <bsd.port.mk>
diff --git a/multimedia/libquvi09/distinfo b/multimedia/libquvi09/distinfo
deleted file mode 100644
index e1306e494d99..000000000000
--- a/multimedia/libquvi09/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (libquvi-0.9.4.tar.xz) = 2d3fe28954a68ed97587e7b920ada5095c450105e993ceade85606dadf9a81b2
-SIZE (libquvi-0.9.4.tar.xz) = 373172
diff --git a/multimedia/libquvi09/files/patch-src-lua-init.c b/multimedia/libquvi09/files/patch-src-lua-init.c
deleted file mode 100644
index 530cb374e628..000000000000
--- a/multimedia/libquvi09/files/patch-src-lua-init.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/lua/init.c.orig
-+++ src/lua/init.c
-@@ -80,10 +80,17 @@ QuviError l_init(_quvi_t q)
- return (QUVI_ERROR_LUA_INIT);
-
- luaL_openlibs(q->handle.lua);
-+#if LUA_VERSION_NUM < 502
- luaL_register(q->handle.lua, "quvi", quvi_reg_meth);
- luaL_register(q->handle.lua, "quvi.http", quvi_http_reg_meth);
- luaL_register(q->handle.lua, "quvi.crypto", quvi_crypto_reg_meth);
- luaL_register(q->handle.lua, "quvi.base64", quvi_base64_reg_meth);
-+#else
-+ luaL_newlib(q->handle.lua, quvi_reg_meth);
-+ luaL_newlib(q->handle.lua, quvi_http_reg_meth);
-+ luaL_newlib(q->handle.lua, quvi_crypto_reg_meth);
-+ luaL_newlib(q->handle.lua, quvi_base64_reg_meth);
-+#endif
-
- return (QUVI_OK);
- }
diff --git a/multimedia/libquvi09/files/patch-src-quvi-0.9-quvi-Makefile.in b/multimedia/libquvi09/files/patch-src-quvi-0.9-quvi-Makefile.in
deleted file mode 100644
index 08782c036d42..000000000000
--- a/multimedia/libquvi09/files/patch-src-quvi-0.9-quvi-Makefile.in
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/quvi-0.9/quvi/Makefile.in.orig 2015-01-06 23:20:41.370951000 +0800
-+++ src/quvi-0.9/quvi/Makefile.in 2015-01-08 21:58:34.731380089 +0800
-@@ -558,8 +558,8 @@
-
-
- install-data-local:
-- @if test -f $(libquvisubincludedir)/qfunc.h ; then \
-- echo "** Old headers found in $(libquvisubincludedir). You should" ; \
-+ @if test -f $(DESTDIR)$(libquvisubincludedir)/qfunc.h ; then \
-+ echo "** Old headers found in $(DESTDIR)$(libquvisubincludedir). You should" ; \
- echo "** remove the contents of this directory and type 'make " ; \
- echo "** install' again." ; \
- false ; \
diff --git a/multimedia/libquvi09/pkg-descr b/multimedia/libquvi09/pkg-descr
deleted file mode 100644
index 3e853f495bd7..000000000000
--- a/multimedia/libquvi09/pkg-descr
+++ /dev/null
@@ -1,15 +0,0 @@
-quvi is a command line tool for parsing flash media stream URLs. It supports
-many websites including YouTube and Dailymotion.
-
-Starting from 0.4.0, the quvi distribution has split into libquvi-scripts,
-libquvi and quvi.
-
-libquvi is a cross-platform library for parsing flash media stream URLs with C
-API.
-
-libquvi originates from the idea of allowing users to view the videos without
-having to install or use flash. It is a "workaround", not an "alternative" to
-flash.
-
-WWW: http://quvi.sourceforge.net/
-WWW: https://github.com/legatvs/libquvi
diff --git a/multimedia/libquvi09/pkg-plist b/multimedia/libquvi09/pkg-plist
deleted file mode 100644
index 85f7a4185ddf..000000000000
--- a/multimedia/libquvi09/pkg-plist
+++ /dev/null
@@ -1,20 +0,0 @@
-include/quvi-%%QUVIVERSION%%/quvi.h
-include/quvi-%%QUVIVERSION%%/quvi/qbool.h
-include/quvi-%%QUVIVERSION%%/quvi/qcallback.h
-include/quvi-%%QUVIVERSION%%/quvi/qdef.h
-include/quvi-%%QUVIVERSION%%/quvi/qerror.h
-include/quvi-%%QUVIVERSION%%/quvi/qfunc.h
-include/quvi-%%QUVIVERSION%%/quvi/qhttpmiprop.h
-include/quvi-%%QUVIVERSION%%/quvi/qinfo.h
-include/quvi-%%QUVIVERSION%%/quvi/qmediaprop.h
-include/quvi-%%QUVIVERSION%%/quvi/qoption.h
-include/quvi-%%QUVIVERSION%%/quvi/qplaylistprop.h
-include/quvi-%%QUVIVERSION%%/quvi/qscript.h
-include/quvi-%%QUVIVERSION%%/quvi/qsubtprop.h
-include/quvi-%%QUVIVERSION%%/quvi/qsupp.h
-include/quvi-%%QUVIVERSION%%/quvi/qversion.h
-lib/libquvi-%%QUVIVERSION%%-%%PORTVERSION%%.so
-lib/libquvi-%%QUVIVERSION%%.so
-libdata/pkgconfig/libquvi-%%QUVIVERSION%%.pc
-man/man3/libquvi%%PKGNAMESUFFIX%%.3.gz
-man/man7/quvi-object%%PKGNAMESUFFIX%%.7.gz
diff --git a/multimedia/librav1e/Makefile b/multimedia/librav1e/Makefile
index 819eeeb2554e..95e2a3197f12 100644
--- a/multimedia/librav1e/Makefile
+++ b/multimedia/librav1e/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 4
+PORTREVISION= 2
PKGNAMEPREFIX= lib
MASTERDIR= ${.CURDIR}/../rav1e
diff --git a/multimedia/librav1e/pkg-plist b/multimedia/librav1e/pkg-plist
index 34784fcebb08..68bb1c6edadf 100644
--- a/multimedia/librav1e/pkg-plist
+++ b/multimedia/librav1e/pkg-plist
@@ -1,6 +1,6 @@
include/rav1e/rav1e.h
lib/librav1e.a
lib/librav1e.so
-lib/librav1e.so.0
+lib/librav1e.so.0.7
lib/librav1e.so.%%VERSION%%
libdata/pkgconfig/rav1e.pc
diff --git a/multimedia/librespot/Makefile b/multimedia/librespot/Makefile
index d98a03bde50c..bb9e6c940f31 100644
--- a/multimedia/librespot/Makefile
+++ b/multimedia/librespot/Makefile
@@ -1,10 +1,12 @@
PORTNAME= librespot
DISTVERSIONPREFIX= v
-DISTVERSION= 0.4.1
+DISTVERSION= 0.4.2
+PORTREVISION= 17
CATEGORIES= multimedia
MAINTAINER= driesm@FreeBSD.org
COMMENT= Open Source Spotify client library
+WWW= https://github.com/librespot-org/librespot
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/librespot/Makefile.crates b/multimedia/librespot/Makefile.crates
index bd9d553585b1..801024b5f20f 100644
--- a/multimedia/librespot/Makefile.crates
+++ b/multimedia/librespot/Makefile.crates
@@ -7,20 +7,20 @@ CARGO_CRATES= addr2line-0.17.0 \
aho-corasick-0.7.18 \
alsa-0.6.0 \
alsa-sys-0.3.1 \
- anyhow-1.0.57 \
- array-init-2.0.0 \
- async-trait-0.1.53 \
+ anyhow-1.0.58 \
+ array-init-2.0.1 \
+ async-trait-0.1.56 \
atty-0.2.14 \
autocfg-1.1.0 \
- backtrace-0.3.65 \
+ backtrace-0.3.66 \
base64-0.13.0 \
bindgen-0.59.2 \
bitflags-1.3.2 \
block-buffer-0.9.0 \
block-buffer-0.10.2 \
- bumpalo-3.9.1 \
+ bumpalo-3.10.0 \
byteorder-1.4.3 \
- bytes-1.1.0 \
+ bytes-1.2.0 \
cc-1.0.73 \
cesu8-1.1.0 \
cexpr-0.6.0 \
@@ -28,7 +28,7 @@ CARGO_CRATES= addr2line-0.17.0 \
cfg-if-1.0.0 \
chrono-0.4.19 \
cipher-0.2.5 \
- clang-sys-1.3.2 \
+ clang-sys-1.3.3 \
colored-2.0.0 \
combine-4.6.4 \
core-foundation-sys-0.8.3 \
@@ -36,7 +36,7 @@ CARGO_CRATES= addr2line-0.17.0 \
coreaudio-sys-0.2.10 \
cpal-0.13.5 \
cpufeatures-0.2.2 \
- crypto-common-0.1.3 \
+ crypto-common-0.1.6 \
crypto-mac-0.11.1 \
ctr-0.6.0 \
darling-0.13.4 \
@@ -46,8 +46,8 @@ CARGO_CRATES= addr2line-0.17.0 \
digest-0.10.3 \
dns-sd-0.1.3 \
env_logger-0.9.0 \
- fastrand-1.7.0 \
- fixedbitset-0.4.1 \
+ fastrand-1.8.0 \
+ fixedbitset-0.4.2 \
fnv-1.0.7 \
form_urlencoded-1.0.1 \
futures-0.3.21 \
@@ -61,9 +61,9 @@ CARGO_CRATES= addr2line-0.17.0 \
futures-util-0.3.21 \
generic-array-0.14.5 \
getopts-0.2.21 \
- getrandom-0.2.6 \
- gimli-0.26.1 \
- glib-0.15.11 \
+ getrandom-0.2.7 \
+ gimli-0.26.2 \
+ glib-0.15.12 \
glib-macros-0.15.11 \
glib-sys-0.15.10 \
glob-0.3.0 \
@@ -76,7 +76,7 @@ CARGO_CRATES= addr2line-0.17.0 \
gstreamer-base-0.18.0 \
gstreamer-base-sys-0.18.0 \
gstreamer-sys-0.18.0 \
- hashbrown-0.11.2 \
+ hashbrown-0.12.3 \
headers-0.3.7 \
headers-core-0.2.0 \
heck-0.4.0 \
@@ -84,17 +84,17 @@ CARGO_CRATES= addr2line-0.17.0 \
hex-0.4.3 \
hmac-0.11.0 \
hostname-0.3.1 \
- http-0.2.7 \
+ http-0.2.8 \
http-body-0.4.5 \
httparse-1.7.1 \
httpdate-1.0.2 \
humantime-2.1.0 \
- hyper-0.14.18 \
+ hyper-0.14.20 \
hyper-proxy-0.9.1 \
ident_case-1.0.1 \
idna-0.2.3 \
if-addrs-0.7.0 \
- indexmap-1.7.0 \
+ indexmap-1.9.1 \
instant-0.1.12 \
itoa-1.0.2 \
jack-0.8.3 \
@@ -104,7 +104,7 @@ CARGO_CRATES= addr2line-0.17.0 \
jni-0.19.0 \
jni-sys-0.3.0 \
jobserver-0.1.24 \
- js-sys-0.3.57 \
+ js-sys-0.3.59 \
lazy_static-1.4.0 \
lazycell-1.3.0 \
lewton-0.10.2 \
@@ -126,8 +126,8 @@ CARGO_CRATES= addr2line-0.17.0 \
memoffset-0.6.5 \
mime-0.3.16 \
minimal-lexical-0.2.1 \
- miniz_oxide-0.5.1 \
- mio-0.8.3 \
+ miniz_oxide-0.5.3 \
+ mio-0.8.4 \
muldiv-1.0.0 \
multimap-0.8.3 \
ndk-0.6.0 \
@@ -140,28 +140,28 @@ CARGO_CRATES= addr2line-0.17.0 \
num-bigint-0.4.3 \
num-derive-0.3.3 \
num-integer-0.1.45 \
- num-rational-0.4.0 \
+ num-rational-0.4.1 \
num-traits-0.2.15 \
num_cpus-1.13.1 \
num_enum-0.5.7 \
num_enum_derive-0.5.7 \
num_threads-0.1.6 \
- object-0.28.4 \
+ object-0.29.0 \
oboe-0.4.6 \
oboe-sys-0.4.5 \
ogg-0.8.0 \
- once_cell-1.12.0 \
+ once_cell-1.13.0 \
opaque-debug-0.3.0 \
- option-operations-0.4.0 \
+ option-operations-0.4.1 \
parking_lot-0.11.2 \
- parking_lot-0.12.0 \
+ parking_lot-0.12.1 \
parking_lot_core-0.8.5 \
parking_lot_core-0.9.3 \
paste-1.0.7 \
pbkdf2-0.8.0 \
peeking_take_while-0.1.2 \
percent-encoding-2.1.0 \
- petgraph-0.6.1 \
+ petgraph-0.6.2 \
pin-project-lite-0.2.9 \
pin-utils-0.1.0 \
pkg-config-0.3.25 \
@@ -169,22 +169,22 @@ CARGO_CRATES= addr2line-0.17.0 \
portaudio-sys-0.1.1 \
ppv-lite86-0.2.16 \
pretty-hex-0.3.0 \
- priority-queue-1.2.2 \
+ priority-queue-1.2.3 \
proc-macro-crate-1.1.3 \
proc-macro-error-1.0.4 \
proc-macro-error-attr-1.0.4 \
- proc-macro2-1.0.39 \
+ proc-macro2-1.0.42 \
protobuf-2.27.1 \
protobuf-codegen-2.27.1 \
protobuf-codegen-pure-2.27.1 \
- quote-1.0.18 \
+ quote-1.0.20 \
rand-0.8.5 \
rand_chacha-0.3.1 \
rand_core-0.6.3 \
rand_distr-0.4.3 \
- redox_syscall-0.2.13 \
- regex-1.5.6 \
- regex-syntax-0.6.26 \
+ redox_syscall-0.2.16 \
+ regex-1.6.0 \
+ regex-syntax-0.6.27 \
remove_dir_all-0.5.3 \
rodio-0.15.0 \
rpassword-6.0.1 \
@@ -196,24 +196,24 @@ CARGO_CRATES= addr2line-0.17.0 \
scopeguard-1.1.0 \
sdl2-0.35.2 \
sdl2-sys-0.35.2 \
- semver-1.0.9 \
- serde-1.0.137 \
- serde_derive-1.0.137 \
- serde_json-1.0.81 \
+ semver-1.0.12 \
+ serde-1.0.140 \
+ serde_derive-1.0.140 \
+ serde_json-1.0.82 \
sha-1-0.9.8 \
sha-1-0.10.0 \
shannon-0.2.0 \
shell-words-1.1.0 \
shlex-1.1.0 \
signal-hook-registry-1.4.0 \
- simple_logger-2.1.0 \
- slab-0.4.6 \
- smallvec-1.8.0 \
+ simple_logger-2.2.0 \
+ slab-0.4.7 \
+ smallvec-1.9.0 \
socket2-0.4.4 \
stdweb-0.1.3 \
strsim-0.10.0 \
subtle-2.4.1 \
- syn-1.0.95 \
+ syn-1.0.98 \
synstructure-0.12.6 \
system-deps-6.0.2 \
tempfile-3.3.0 \
@@ -221,42 +221,41 @@ CARGO_CRATES= addr2line-0.17.0 \
thiserror-1.0.31 \
thiserror-impl-1.0.31 \
thread-id-4.0.0 \
- time-0.1.43 \
- time-0.3.9 \
+ time-0.1.44 \
+ time-0.3.11 \
time-macros-0.2.4 \
tinyvec-1.6.0 \
tinyvec_macros-0.1.0 \
- tokio-1.18.2 \
- tokio-macros-1.7.0 \
- tokio-stream-0.1.8 \
- tokio-util-0.7.2 \
+ tokio-1.20.1 \
+ tokio-macros-1.8.0 \
+ tokio-stream-0.1.9 \
+ tokio-util-0.7.3 \
toml-0.5.9 \
- tower-service-0.3.1 \
- tracing-0.1.34 \
- tracing-attributes-0.1.21 \
- tracing-core-0.1.26 \
+ tower-service-0.3.2 \
+ tracing-0.1.35 \
+ tracing-core-0.1.28 \
try-lock-0.2.3 \
typenum-1.15.0 \
unicode-bidi-0.3.8 \
- unicode-ident-1.0.0 \
- unicode-normalization-0.1.19 \
+ unicode-ident-1.0.2 \
+ unicode-normalization-0.1.21 \
unicode-width-0.1.9 \
unicode-xid-0.2.3 \
url-2.2.2 \
- uuid-1.0.0 \
+ uuid-1.1.2 \
vergen-3.2.0 \
version-compare-0.1.0 \
version_check-0.9.4 \
walkdir-2.3.2 \
want-0.3.0 \
- wasi-0.10.2+wasi-snapshot-preview1 \
+ wasi-0.10.0+wasi-snapshot-preview1 \
wasi-0.11.0+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.80 \
- wasm-bindgen-backend-0.2.80 \
- wasm-bindgen-macro-0.2.80 \
- wasm-bindgen-macro-support-0.2.80 \
- wasm-bindgen-shared-0.2.80 \
- web-sys-0.3.57 \
+ wasm-bindgen-0.2.82 \
+ wasm-bindgen-backend-0.2.82 \
+ wasm-bindgen-macro-0.2.82 \
+ wasm-bindgen-macro-support-0.2.82 \
+ wasm-bindgen-shared-0.2.82 \
+ web-sys-0.3.59 \
winapi-0.3.9 \
winapi-i686-pc-windows-gnu-0.4.0 \
winapi-util-0.1.5 \
diff --git a/multimedia/librespot/distinfo b/multimedia/librespot/distinfo
index 0b03c4002947..5248d0d99d39 100644
--- a/multimedia/librespot/distinfo
+++ b/multimedia/librespot/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1653351086
+TIMESTAMP = 1659255508
SHA256 (rust/crates/addr2line-0.17.0.crate) = b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b
SIZE (rust/crates/addr2line-0.17.0.crate) = 32260
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
@@ -17,18 +17,18 @@ SHA256 (rust/crates/alsa-0.6.0.crate) = 5915f52fe2cf65e83924d037b6c5290b7cee097c
SIZE (rust/crates/alsa-0.6.0.crate) = 68171
SHA256 (rust/crates/alsa-sys-0.3.1.crate) = db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527
SIZE (rust/crates/alsa-sys-0.3.1.crate) = 32748
-SHA256 (rust/crates/anyhow-1.0.57.crate) = 08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc
-SIZE (rust/crates/anyhow-1.0.57.crate) = 44614
-SHA256 (rust/crates/array-init-2.0.0.crate) = 6945cc5422176fc5e602e590c2878d2c2acd9a4fe20a4baa7c28022521698ec6
-SIZE (rust/crates/array-init-2.0.0.crate) = 10685
-SHA256 (rust/crates/async-trait-0.1.53.crate) = ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600
-SIZE (rust/crates/async-trait-0.1.53.crate) = 26210
+SHA256 (rust/crates/anyhow-1.0.58.crate) = bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704
+SIZE (rust/crates/anyhow-1.0.58.crate) = 43137
+SHA256 (rust/crates/array-init-2.0.1.crate) = bfb6d71005dc22a708c7496eee5c8dc0300ee47355de6256c3b35b12b5fef596
+SIZE (rust/crates/array-init-2.0.1.crate) = 10998
+SHA256 (rust/crates/async-trait-0.1.56.crate) = 96cf8829f67d2eab0b2dfa42c5d0ef737e0724e4a82b01b3e292456202b19716
+SIZE (rust/crates/async-trait-0.1.56.crate) = 27425
SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
SIZE (rust/crates/atty-0.2.14.crate) = 5470
SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
-SHA256 (rust/crates/backtrace-0.3.65.crate) = 11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61
-SIZE (rust/crates/backtrace-0.3.65.crate) = 74129
+SHA256 (rust/crates/backtrace-0.3.66.crate) = cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7
+SIZE (rust/crates/backtrace-0.3.66.crate) = 74397
SHA256 (rust/crates/base64-0.13.0.crate) = 904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd
SIZE (rust/crates/base64-0.13.0.crate) = 62070
SHA256 (rust/crates/bindgen-0.59.2.crate) = 2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8
@@ -39,12 +39,12 @@ SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575
SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108
SHA256 (rust/crates/block-buffer-0.10.2.crate) = 0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324
SIZE (rust/crates/block-buffer-0.10.2.crate) = 10258
-SHA256 (rust/crates/bumpalo-3.9.1.crate) = a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899
-SIZE (rust/crates/bumpalo-3.9.1.crate) = 77507
+SHA256 (rust/crates/bumpalo-3.10.0.crate) = 37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3
+SIZE (rust/crates/bumpalo-3.10.0.crate) = 78915
SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (rust/crates/bytes-1.1.0.crate) = c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8
-SIZE (rust/crates/bytes-1.1.0.crate) = 49640
+SHA256 (rust/crates/bytes-1.2.0.crate) = f0b3de4a0c5e67e16066a0715723abd91edc2f9001d09c46e1dca929351e130e
+SIZE (rust/crates/bytes-1.2.0.crate) = 54688
SHA256 (rust/crates/cc-1.0.73.crate) = 2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11
SIZE (rust/crates/cc-1.0.73.crate) = 57880
SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
@@ -59,8 +59,8 @@ SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9
SIZE (rust/crates/chrono-0.4.19.crate) = 155663
SHA256 (rust/crates/cipher-0.2.5.crate) = 12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801
SIZE (rust/crates/cipher-0.2.5.crate) = 13099
-SHA256 (rust/crates/clang-sys-1.3.2.crate) = bf6b561dcf059c85bbe388e0a7b0a1469acb3934cc0cfa148613a830629e3049
-SIZE (rust/crates/clang-sys-1.3.2.crate) = 37904
+SHA256 (rust/crates/clang-sys-1.3.3.crate) = 5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b
+SIZE (rust/crates/clang-sys-1.3.3.crate) = 37943
SHA256 (rust/crates/colored-2.0.0.crate) = b3616f750b84d8f0de8a58bda93e08e2a81ad3f523089b05f1dffecab48c6cbd
SIZE (rust/crates/colored-2.0.0.crate) = 21619
SHA256 (rust/crates/combine-4.6.4.crate) = 2a604e93b79d1808327a6fca85a6f2d69de66461e7620f5a4cbf5fb4d1d7c948
@@ -75,8 +75,8 @@ SHA256 (rust/crates/cpal-0.13.5.crate) = 74117836a5124f3629e4b474eed03e479abaf98
SIZE (rust/crates/cpal-0.13.5.crate) = 93790
SHA256 (rust/crates/cpufeatures-0.2.2.crate) = 59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b
SIZE (rust/crates/cpufeatures-0.2.2.crate) = 10655
-SHA256 (rust/crates/crypto-common-0.1.3.crate) = 57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8
-SIZE (rust/crates/crypto-common-0.1.3.crate) = 8556
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
SHA256 (rust/crates/crypto-mac-0.11.1.crate) = b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714
SIZE (rust/crates/crypto-mac-0.11.1.crate) = 9551
SHA256 (rust/crates/ctr-0.6.0.crate) = fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f
@@ -95,10 +95,10 @@ SHA256 (rust/crates/dns-sd-0.1.3.crate) = d748509dea20228f63ba519bf142ce25933963
SIZE (rust/crates/dns-sd-0.1.3.crate) = 6201
SHA256 (rust/crates/env_logger-0.9.0.crate) = 0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3
SIZE (rust/crates/env_logger-0.9.0.crate) = 33573
-SHA256 (rust/crates/fastrand-1.7.0.crate) = c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf
-SIZE (rust/crates/fastrand-1.7.0.crate) = 11265
-SHA256 (rust/crates/fixedbitset-0.4.1.crate) = 279fb028e20b3c4c320317955b77c5e0c9701f05a1d309905d6fc702cdc5053e
-SIZE (rust/crates/fixedbitset-0.4.1.crate) = 15551
+SHA256 (rust/crates/fastrand-1.8.0.crate) = a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499
+SIZE (rust/crates/fastrand-1.8.0.crate) = 11369
+SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80
+SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954
SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
SIZE (rust/crates/fnv-1.0.7.crate) = 11266
SHA256 (rust/crates/form_urlencoded-1.0.1.crate) = 5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191
@@ -125,12 +125,12 @@ SHA256 (rust/crates/generic-array-0.14.5.crate) = fd48d33ec7f05fbfa152300fdad764
SIZE (rust/crates/generic-array-0.14.5.crate) = 28915
SHA256 (rust/crates/getopts-0.2.21.crate) = 14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5
SIZE (rust/crates/getopts-0.2.21.crate) = 18457
-SHA256 (rust/crates/getrandom-0.2.6.crate) = 9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad
-SIZE (rust/crates/getrandom-0.2.6.crate) = 28043
-SHA256 (rust/crates/gimli-0.26.1.crate) = 78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4
-SIZE (rust/crates/gimli-0.26.1.crate) = 716168
-SHA256 (rust/crates/glib-0.15.11.crate) = bd124026a2fa8c33a3d17a3fe59c103f2d9fa5bd92c19e029e037736729abeab
-SIZE (rust/crates/glib-0.15.11.crate) = 207394
+SHA256 (rust/crates/getrandom-0.2.7.crate) = 4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6
+SIZE (rust/crates/getrandom-0.2.7.crate) = 28854
+SHA256 (rust/crates/gimli-0.26.2.crate) = 22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d
+SIZE (rust/crates/gimli-0.26.2.crate) = 717340
+SHA256 (rust/crates/glib-0.15.12.crate) = edb0306fbad0ab5428b0ca674a23893db909a98582969c9b537be4ced78c505d
+SIZE (rust/crates/glib-0.15.12.crate) = 210513
SHA256 (rust/crates/glib-macros-0.15.11.crate) = 25a68131a662b04931e71891fb14aaf65ee4b44d08e8abc10f49e77418c86c64
SIZE (rust/crates/glib-macros-0.15.11.crate) = 27851
SHA256 (rust/crates/glib-sys-0.15.10.crate) = ef4b192f8e65e9cf76cbf4ea71fa8e3be4a0e18ffe3d68b8da6836974cc5bad4
@@ -155,8 +155,8 @@ SHA256 (rust/crates/gstreamer-base-sys-0.18.0.crate) = a083493c3c340e71fa7c66eeb
SIZE (rust/crates/gstreamer-base-sys-0.18.0.crate) = 36412
SHA256 (rust/crates/gstreamer-sys-0.18.0.crate) = e3517a65d3c2e6f8905b456eba5d53bda158d664863aef960b44f651cb7d33e2
SIZE (rust/crates/gstreamer-sys-0.18.0.crate) = 86281
-SHA256 (rust/crates/hashbrown-0.11.2.crate) = ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e
-SIZE (rust/crates/hashbrown-0.11.2.crate) = 85713
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
SHA256 (rust/crates/headers-0.3.7.crate) = 4cff78e5788be1e0ab65b04d306b2ed5092c815ec97ec70f4ebd5aee158aa55d
SIZE (rust/crates/headers-0.3.7.crate) = 67907
SHA256 (rust/crates/headers-core-0.2.0.crate) = e7f66481bfee273957b1f20485a4ff3362987f85b2c236580d81b4eb7a326429
@@ -171,8 +171,8 @@ SHA256 (rust/crates/hmac-0.11.0.crate) = 2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d
SIZE (rust/crates/hmac-0.11.0.crate) = 11385
SHA256 (rust/crates/hostname-0.3.1.crate) = 3c731c3e10504cc8ed35cfe2f1db4c9274c3d35fa486e3b31df46f068ef3e867
SIZE (rust/crates/hostname-0.3.1.crate) = 9272
-SHA256 (rust/crates/http-0.2.7.crate) = ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb
-SIZE (rust/crates/http-0.2.7.crate) = 104219
+SHA256 (rust/crates/http-0.2.8.crate) = 75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399
+SIZE (rust/crates/http-0.2.8.crate) = 105591
SHA256 (rust/crates/http-body-0.4.5.crate) = d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1
SIZE (rust/crates/http-body-0.4.5.crate) = 9242
SHA256 (rust/crates/httparse-1.7.1.crate) = 496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c
@@ -181,8 +181,8 @@ SHA256 (rust/crates/httpdate-1.0.2.crate) = c4a1e36c821dbe04574f602848a19f742f4f
SIZE (rust/crates/httpdate-1.0.2.crate) = 10673
SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
SIZE (rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (rust/crates/hyper-0.14.18.crate) = b26ae0a80afebe130861d90abf98e3814a4f28a4c6ffeb5ab8ebb2be311e0ef2
-SIZE (rust/crates/hyper-0.14.18.crate) = 179660
+SHA256 (rust/crates/hyper-0.14.20.crate) = 02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac
+SIZE (rust/crates/hyper-0.14.20.crate) = 183885
SHA256 (rust/crates/hyper-proxy-0.9.1.crate) = ca815a891b24fdfb243fa3239c86154392b0953ee584aa1a2a1f66d20cbe75cc
SIZE (rust/crates/hyper-proxy-0.9.1.crate) = 10317
SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
@@ -191,8 +191,8 @@ SHA256 (rust/crates/idna-0.2.3.crate) = 418a0a6fab821475f634efe3ccc45c013f742efe
SIZE (rust/crates/idna-0.2.3.crate) = 271023
SHA256 (rust/crates/if-addrs-0.7.0.crate) = cbc0fa01ffc752e9dbc72818cdb072cd028b86be5e09dd04c5a643704fe101a9
SIZE (rust/crates/if-addrs-0.7.0.crate) = 9632
-SHA256 (rust/crates/indexmap-1.7.0.crate) = bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5
-SIZE (rust/crates/indexmap-1.7.0.crate) = 50363
+SHA256 (rust/crates/indexmap-1.9.1.crate) = 10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e
+SIZE (rust/crates/indexmap-1.9.1.crate) = 54114
SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
SIZE (rust/crates/instant-0.1.12.crate) = 6128
SHA256 (rust/crates/itoa-1.0.2.crate) = 112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d
@@ -211,8 +211,8 @@ SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4
SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232
SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa
SIZE (rust/crates/jobserver-0.1.24.crate) = 21303
-SHA256 (rust/crates/js-sys-0.3.57.crate) = 671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397
-SIZE (rust/crates/js-sys-0.3.57.crate) = 78605
+SHA256 (rust/crates/js-sys-0.3.59.crate) = 258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2
+SIZE (rust/crates/js-sys-0.3.59.crate) = 78849
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
@@ -255,10 +255,10 @@ SHA256 (rust/crates/mime-0.3.16.crate) = 2a60c7ce501c71e03a9c9c0d35b861413ae925b
SIZE (rust/crates/mime-0.3.16.crate) = 15206
SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
-SHA256 (rust/crates/miniz_oxide-0.5.1.crate) = d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082
-SIZE (rust/crates/miniz_oxide-0.5.1.crate) = 52418
-SHA256 (rust/crates/mio-0.8.3.crate) = 713d550d9b44d89174e066b7a6217ae06234c10cb47819a88290d2b353c31799
-SIZE (rust/crates/mio-0.8.3.crate) = 92506
+SHA256 (rust/crates/miniz_oxide-0.5.3.crate) = 6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc
+SIZE (rust/crates/miniz_oxide-0.5.3.crate) = 53452
+SHA256 (rust/crates/mio-0.8.4.crate) = 57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf
+SIZE (rust/crates/mio-0.8.4.crate) = 93013
SHA256 (rust/crates/muldiv-1.0.0.crate) = b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3
SIZE (rust/crates/muldiv-1.0.0.crate) = 4991
SHA256 (rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
@@ -283,8 +283,8 @@ SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605
SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
-SHA256 (rust/crates/num-rational-0.4.0.crate) = d41702bd167c2df5520b384281bc111a4b5efcf7fbc4c9c222c815b07e0a6a6a
-SIZE (rust/crates/num-rational-0.4.0.crate) = 26428
+SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0
+SIZE (rust/crates/num-rational-0.4.1.crate) = 27889
SHA256 (rust/crates/num-traits-0.2.15.crate) = 578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd
SIZE (rust/crates/num-traits-0.2.15.crate) = 49262
SHA256 (rust/crates/num_cpus-1.13.1.crate) = 19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1
@@ -295,24 +295,24 @@ SHA256 (rust/crates/num_enum_derive-0.5.7.crate) = 3b0498641e53dd6ac1a4f22547548
SIZE (rust/crates/num_enum_derive-0.5.7.crate) = 12225
SHA256 (rust/crates/num_threads-0.1.6.crate) = 2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44
SIZE (rust/crates/num_threads-0.1.6.crate) = 7334
-SHA256 (rust/crates/object-0.28.4.crate) = e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424
-SIZE (rust/crates/object-0.28.4.crate) = 237248
+SHA256 (rust/crates/object-0.29.0.crate) = 21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53
+SIZE (rust/crates/object-0.29.0.crate) = 237723
SHA256 (rust/crates/oboe-0.4.6.crate) = 27f63c358b4fa0fbcfefd7c8be5cfc39c08ce2389f5325687e7762a48d30a5c1
SIZE (rust/crates/oboe-0.4.6.crate) = 24067
SHA256 (rust/crates/oboe-sys-0.4.5.crate) = 3370abb7372ed744232c12954d920d1a40f1c4686de9e79e800021ef492294bd
SIZE (rust/crates/oboe-sys-0.4.5.crate) = 140656
SHA256 (rust/crates/ogg-0.8.0.crate) = 6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e
SIZE (rust/crates/ogg-0.8.0.crate) = 27128
-SHA256 (rust/crates/once_cell-1.12.0.crate) = 7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225
-SIZE (rust/crates/once_cell-1.12.0.crate) = 31549
+SHA256 (rust/crates/once_cell-1.13.0.crate) = 18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1
+SIZE (rust/crates/once_cell-1.13.0.crate) = 31726
SHA256 (rust/crates/opaque-debug-0.3.0.crate) = 624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5
SIZE (rust/crates/opaque-debug-0.3.0.crate) = 5767
-SHA256 (rust/crates/option-operations-0.4.0.crate) = 95d6113415f41b268f1195907427519769e40ee6f28cbb053795098a2c16f447
-SIZE (rust/crates/option-operations-0.4.0.crate) = 18396
+SHA256 (rust/crates/option-operations-0.4.1.crate) = 42b01597916c91a493b1e8a2fde64fec1764be3259abc1f06efc99c274f150a2
+SIZE (rust/crates/option-operations-0.4.1.crate) = 19210
SHA256 (rust/crates/parking_lot-0.11.2.crate) = 7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99
SIZE (rust/crates/parking_lot-0.11.2.crate) = 39869
-SHA256 (rust/crates/parking_lot-0.12.0.crate) = 87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58
-SIZE (rust/crates/parking_lot-0.12.0.crate) = 39761
+SHA256 (rust/crates/parking_lot-0.12.1.crate) = 3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f
+SIZE (rust/crates/parking_lot-0.12.1.crate) = 40967
SHA256 (rust/crates/parking_lot_core-0.8.5.crate) = d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216
SIZE (rust/crates/parking_lot_core-0.8.5.crate) = 32466
SHA256 (rust/crates/parking_lot_core-0.9.3.crate) = 09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929
@@ -325,8 +325,8 @@ SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887ba
SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
SHA256 (rust/crates/percent-encoding-2.1.0.crate) = d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e
SIZE (rust/crates/percent-encoding-2.1.0.crate) = 9748
-SHA256 (rust/crates/petgraph-0.6.1.crate) = 51b305cc4569dd4e8765bab46261f67ef5d4d11a4b6e745100ee5dad8948b46c
-SIZE (rust/crates/petgraph-0.6.1.crate) = 184340
+SHA256 (rust/crates/petgraph-0.6.2.crate) = e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143
+SIZE (rust/crates/petgraph-0.6.2.crate) = 182513
SHA256 (rust/crates/pin-project-lite-0.2.9.crate) = e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116
SIZE (rust/crates/pin-project-lite-0.2.9.crate) = 27713
SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
@@ -341,24 +341,24 @@ SHA256 (rust/crates/ppv-lite86-0.2.16.crate) = eb9f9e6e233e5c4a35559a617bf40a4ec
SIZE (rust/crates/ppv-lite86-0.2.16.crate) = 22245
SHA256 (rust/crates/pretty-hex-0.3.0.crate) = c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5
SIZE (rust/crates/pretty-hex-0.3.0.crate) = 6677
-SHA256 (rust/crates/priority-queue-1.2.2.crate) = de9cde7493f5f5d2d163b174be9f9a72d756b79b0f6ed85654128d238c347c1e
-SIZE (rust/crates/priority-queue-1.2.2.crate) = 32561
+SHA256 (rust/crates/priority-queue-1.2.3.crate) = 815082d99af3acc75a3e67efd2a07f72e67b4e81b4344eb8ca34c6ebf3dfa9c5
+SIZE (rust/crates/priority-queue-1.2.3.crate) = 32894
SHA256 (rust/crates/proc-macro-crate-1.1.3.crate) = e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a
SIZE (rust/crates/proc-macro-crate-1.1.3.crate) = 8758
SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
-SHA256 (rust/crates/proc-macro2-1.0.39.crate) = c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f
-SIZE (rust/crates/proc-macro2-1.0.39.crate) = 41663
+SHA256 (rust/crates/proc-macro2-1.0.42.crate) = c278e965f1d8cf32d6e0e96de3d3e79712178ae67986d9cf9151f51e95aac89b
+SIZE (rust/crates/proc-macro2-1.0.42.crate) = 41464
SHA256 (rust/crates/protobuf-2.27.1.crate) = cf7e6d18738ecd0902d30d1ad232c9125985a3422929b16c65517b38adc14f96
SIZE (rust/crates/protobuf-2.27.1.crate) = 167497
SHA256 (rust/crates/protobuf-codegen-2.27.1.crate) = aec1632b7c8f2e620343439a7dfd1f3c47b18906c4be58982079911482b5d707
SIZE (rust/crates/protobuf-codegen-2.27.1.crate) = 40830
SHA256 (rust/crates/protobuf-codegen-pure-2.27.1.crate) = 9f8122fdb18e55190c796b088a16bdb70cd7acdcd48f7a8b796b58c62e532cc6
SIZE (rust/crates/protobuf-codegen-pure-2.27.1.crate) = 58054
-SHA256 (rust/crates/quote-1.0.18.crate) = a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1
-SIZE (rust/crates/quote-1.0.18.crate) = 28911
+SHA256 (rust/crates/quote-1.0.20.crate) = 3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804
+SIZE (rust/crates/quote-1.0.20.crate) = 28160
SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
@@ -367,12 +367,12 @@ SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b
SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
SHA256 (rust/crates/rand_distr-0.4.3.crate) = 32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31
SIZE (rust/crates/rand_distr-0.4.3.crate) = 58255
-SHA256 (rust/crates/redox_syscall-0.2.13.crate) = 62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42
-SIZE (rust/crates/redox_syscall-0.2.13.crate) = 23759
-SHA256 (rust/crates/regex-1.5.6.crate) = d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1
-SIZE (rust/crates/regex-1.5.6.crate) = 238593
-SHA256 (rust/crates/regex-syntax-0.6.26.crate) = 49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64
-SIZE (rust/crates/regex-syntax-0.6.26.crate) = 293912
+SHA256 (rust/crates/redox_syscall-0.2.16.crate) = fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a
+SIZE (rust/crates/redox_syscall-0.2.16.crate) = 24012
+SHA256 (rust/crates/regex-1.6.0.crate) = 4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b
+SIZE (rust/crates/regex-1.6.0.crate) = 239329
+SHA256 (rust/crates/regex-syntax-0.6.27.crate) = a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244
+SIZE (rust/crates/regex-syntax-0.6.27.crate) = 297300
SHA256 (rust/crates/remove_dir_all-0.5.3.crate) = 3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7
SIZE (rust/crates/remove_dir_all-0.5.3.crate) = 9184
SHA256 (rust/crates/rodio-0.15.0.crate) = ec0939e9f626e6c6f1989adb6226a039c855ca483053f0ee7c98b90e41cf731e
@@ -395,14 +395,14 @@ SHA256 (rust/crates/sdl2-0.35.2.crate) = f7959277b623f1fb9e04aea73686c3ca52f01b2
SIZE (rust/crates/sdl2-0.35.2.crate) = 177570
SHA256 (rust/crates/sdl2-sys-0.35.2.crate) = e3586be2cf6c0a8099a79a12b4084357aa9b3e0b0d7980e3b67aaf7a9d55f9f0
SIZE (rust/crates/sdl2-sys-0.35.2.crate) = 7425816
-SHA256 (rust/crates/semver-1.0.9.crate) = 8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd
-SIZE (rust/crates/semver-1.0.9.crate) = 30843
-SHA256 (rust/crates/serde-1.0.137.crate) = 61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1
-SIZE (rust/crates/serde-1.0.137.crate) = 76182
-SHA256 (rust/crates/serde_derive-1.0.137.crate) = 1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be
-SIZE (rust/crates/serde_derive-1.0.137.crate) = 54831
-SHA256 (rust/crates/serde_json-1.0.81.crate) = 9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c
-SIZE (rust/crates/serde_json-1.0.81.crate) = 144480
+SHA256 (rust/crates/semver-1.0.12.crate) = a2333e6df6d6598f2b1974829f853c2b4c5f4a6e503c10af918081aa6f8564e1
+SIZE (rust/crates/semver-1.0.12.crate) = 29615
+SHA256 (rust/crates/serde-1.0.140.crate) = fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03
+SIZE (rust/crates/serde-1.0.140.crate) = 76408
+SHA256 (rust/crates/serde_derive-1.0.140.crate) = 6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da
+SIZE (rust/crates/serde_derive-1.0.140.crate) = 54851
+SHA256 (rust/crates/serde_json-1.0.82.crate) = 82c2c1fdcd807d1098552c5b9a36e425e42e9fbd7c6a37a8425f390f781f7fa7
+SIZE (rust/crates/serde_json-1.0.82.crate) = 144514
SHA256 (rust/crates/sha-1-0.9.8.crate) = 99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6
SIZE (rust/crates/sha-1-0.9.8.crate) = 14029
SHA256 (rust/crates/sha-1-0.10.0.crate) = 028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f
@@ -415,12 +415,12 @@ SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d35
SIZE (rust/crates/shlex-1.1.0.crate) = 5199
SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
-SHA256 (rust/crates/simple_logger-2.1.0.crate) = c75a9723083573ace81ad0cdfc50b858aa3c366c48636edb4109d73122a0c0ea
-SIZE (rust/crates/simple_logger-2.1.0.crate) = 9493
-SHA256 (rust/crates/slab-0.4.6.crate) = eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32
-SIZE (rust/crates/slab-0.4.6.crate) = 16067
-SHA256 (rust/crates/smallvec-1.8.0.crate) = f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83
-SIZE (rust/crates/smallvec-1.8.0.crate) = 27992
+SHA256 (rust/crates/simple_logger-2.2.0.crate) = 166fea527c36d9b8a0a88c0c6d4c5077c699d9ffb5cf890b231a3f08c35f3d40
+SIZE (rust/crates/simple_logger-2.2.0.crate) = 9582
+SHA256 (rust/crates/slab-0.4.7.crate) = 4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef
+SIZE (rust/crates/slab-0.4.7.crate) = 16647
+SHA256 (rust/crates/smallvec-1.9.0.crate) = 2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1
+SIZE (rust/crates/smallvec-1.9.0.crate) = 28396
SHA256 (rust/crates/socket2-0.4.4.crate) = 66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0
SIZE (rust/crates/socket2-0.4.4.crate) = 44048
SHA256 (rust/crates/stdweb-0.1.3.crate) = ef5430c8e36b713e13b48a9f709cc21e046723fe44ce34587b73a830203b533e
@@ -429,8 +429,8 @@ SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f0
SIZE (rust/crates/strsim-0.10.0.crate) = 11355
SHA256 (rust/crates/subtle-2.4.1.crate) = 6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601
SIZE (rust/crates/subtle-2.4.1.crate) = 12630
-SHA256 (rust/crates/syn-1.0.95.crate) = fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942
-SIZE (rust/crates/syn-1.0.95.crate) = 236676
+SHA256 (rust/crates/syn-1.0.98.crate) = c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd
+SIZE (rust/crates/syn-1.0.98.crate) = 235451
SHA256 (rust/crates/synstructure-0.12.6.crate) = f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f
SIZE (rust/crates/synstructure-0.12.6.crate) = 18429
SHA256 (rust/crates/system-deps-6.0.2.crate) = a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709
@@ -445,52 +445,50 @@ SHA256 (rust/crates/thiserror-impl-1.0.31.crate) = 0396bc89e626244658bef819e22d0
SIZE (rust/crates/thiserror-impl-1.0.31.crate) = 15283
SHA256 (rust/crates/thread-id-4.0.0.crate) = 5fdfe0627923f7411a43ec9ec9c39c3a9b4151be313e0922042581fb6c9b717f
SIZE (rust/crates/thread-id-4.0.0.crate) = 8045
-SHA256 (rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
-SIZE (rust/crates/time-0.1.43.crate) = 28653
-SHA256 (rust/crates/time-0.3.9.crate) = c2702e08a7a860f005826c6815dcac101b19b5eb330c27fe4a5928fec1d20ddd
-SIZE (rust/crates/time-0.3.9.crate) = 81412
+SHA256 (rust/crates/time-0.1.44.crate) = 6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255
+SIZE (rust/crates/time-0.1.44.crate) = 28885
+SHA256 (rust/crates/time-0.3.11.crate) = 72c91f41dcb2f096c05f0873d667dceec1087ce5bcf984ec8ffb19acddbb3217
+SIZE (rust/crates/time-0.3.11.crate) = 91807
SHA256 (rust/crates/time-macros-0.2.4.crate) = 42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792
SIZE (rust/crates/time-macros-0.2.4.crate) = 18421
SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
SHA256 (rust/crates/tinyvec_macros-0.1.0.crate) = cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c
SIZE (rust/crates/tinyvec_macros-0.1.0.crate) = 1817
-SHA256 (rust/crates/tokio-1.18.2.crate) = 4903bf0427cf68dddd5aa6a93220756f8be0c34fcfa9f5e6191e103e15a31395
-SIZE (rust/crates/tokio-1.18.2.crate) = 572381
-SHA256 (rust/crates/tokio-macros-1.7.0.crate) = b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7
-SIZE (rust/crates/tokio-macros-1.7.0.crate) = 9261
-SHA256 (rust/crates/tokio-stream-0.1.8.crate) = 50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3
-SIZE (rust/crates/tokio-stream-0.1.8.crate) = 30537
-SHA256 (rust/crates/tokio-util-0.7.2.crate) = f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c
-SIZE (rust/crates/tokio-util-0.7.2.crate) = 82006
+SHA256 (rust/crates/tokio-1.20.1.crate) = 7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581
+SIZE (rust/crates/tokio-1.20.1.crate) = 590375
+SHA256 (rust/crates/tokio-macros-1.8.0.crate) = 9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484
+SIZE (rust/crates/tokio-macros-1.8.0.crate) = 9346
+SHA256 (rust/crates/tokio-stream-0.1.9.crate) = df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9
+SIZE (rust/crates/tokio-stream-0.1.9.crate) = 31779
+SHA256 (rust/crates/tokio-util-0.7.3.crate) = cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45
+SIZE (rust/crates/tokio-util-0.7.3.crate) = 90513
SHA256 (rust/crates/toml-0.5.9.crate) = 8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7
SIZE (rust/crates/toml-0.5.9.crate) = 55667
-SHA256 (rust/crates/tower-service-0.3.1.crate) = 360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6
-SIZE (rust/crates/tower-service-0.3.1.crate) = 6299
-SHA256 (rust/crates/tracing-0.1.34.crate) = 5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09
-SIZE (rust/crates/tracing-0.1.34.crate) = 72775
-SHA256 (rust/crates/tracing-attributes-0.1.21.crate) = cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c
-SIZE (rust/crates/tracing-attributes-0.1.21.crate) = 27552
-SHA256 (rust/crates/tracing-core-0.1.26.crate) = f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f
-SIZE (rust/crates/tracing-core-0.1.26.crate) = 53727
+SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
+SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
+SHA256 (rust/crates/tracing-0.1.35.crate) = a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160
+SIZE (rust/crates/tracing-0.1.35.crate) = 72680
+SHA256 (rust/crates/tracing-core-0.1.28.crate) = 7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7
+SIZE (rust/crates/tracing-core-0.1.28.crate) = 57723
SHA256 (rust/crates/try-lock-0.2.3.crate) = 59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642
SIZE (rust/crates/try-lock-0.2.3.crate) = 4158
SHA256 (rust/crates/typenum-1.15.0.crate) = dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987
SIZE (rust/crates/typenum-1.15.0.crate) = 40741
SHA256 (rust/crates/unicode-bidi-0.3.8.crate) = 099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992
SIZE (rust/crates/unicode-bidi-0.3.8.crate) = 36575
-SHA256 (rust/crates/unicode-ident-1.0.0.crate) = d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee
-SIZE (rust/crates/unicode-ident-1.0.0.crate) = 34224
-SHA256 (rust/crates/unicode-normalization-0.1.19.crate) = d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9
-SIZE (rust/crates/unicode-normalization-0.1.19.crate) = 107353
+SHA256 (rust/crates/unicode-ident-1.0.2.crate) = 15c61ba63f9235225a22310255a29b806b907c9b8c964bcbd0a2c70f3f2deea7
+SIZE (rust/crates/unicode-ident-1.0.2.crate) = 34951
+SHA256 (rust/crates/unicode-normalization-0.1.21.crate) = 854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6
+SIZE (rust/crates/unicode-normalization-0.1.21.crate) = 121745
SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
SHA256 (rust/crates/unicode-xid-0.2.3.crate) = 957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04
SIZE (rust/crates/unicode-xid-0.2.3.crate) = 15174
SHA256 (rust/crates/url-2.2.2.crate) = a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c
SIZE (rust/crates/url-2.2.2.crate) = 68555
-SHA256 (rust/crates/uuid-1.0.0.crate) = 8cfcd319456c4d6ea10087ed423473267e1a071f3bc0aa89f80d60997843c6f0
-SIZE (rust/crates/uuid-1.0.0.crate) = 48627
+SHA256 (rust/crates/uuid-1.1.2.crate) = dd6469f4314d5f1ffec476e05f17cc9a78bc7a27a6a857842170bdf8d6f98d2f
+SIZE (rust/crates/uuid-1.1.2.crate) = 49511
SHA256 (rust/crates/vergen-3.2.0.crate) = e7141e445af09c8919f1d5f8a20dae0b20c3b57a45dee0d5823c6ed5d237f15a
SIZE (rust/crates/vergen-3.2.0.crate) = 16897
SHA256 (rust/crates/version-compare-0.1.0.crate) = fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73
@@ -501,22 +499,22 @@ SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714
SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
SHA256 (rust/crates/want-0.3.0.crate) = 1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0
SIZE (rust/crates/want-0.3.0.crate) = 6550
-SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
-SHA256 (rust/crates/wasm-bindgen-0.2.80.crate) = 27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad
-SIZE (rust/crates/wasm-bindgen-0.2.80.crate) = 164576
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.80.crate) = 53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4
-SIZE (rust/crates/wasm-bindgen-backend-0.2.80.crate) = 25741
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.80.crate) = 17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5
-SIZE (rust/crates/wasm-bindgen-macro-0.2.80.crate) = 11805
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.80.crate) = 99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.80.crate) = 17857
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.80.crate) = d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744
-SIZE (rust/crates/wasm-bindgen-shared-0.2.80.crate) = 7204
-SHA256 (rust/crates/web-sys-0.3.57.crate) = 7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283
-SIZE (rust/crates/web-sys-0.3.57.crate) = 686563
+SHA256 (rust/crates/wasm-bindgen-0.2.82.crate) = fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d
+SIZE (rust/crates/wasm-bindgen-0.2.82.crate) = 166376
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.82.crate) = 662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f
+SIZE (rust/crates/wasm-bindgen-backend-0.2.82.crate) = 25764
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.82.crate) = b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602
+SIZE (rust/crates/wasm-bindgen-macro-0.2.82.crate) = 11808
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.82.crate) = 5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.82.crate) = 18529
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.82.crate) = 6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a
+SIZE (rust/crates/wasm-bindgen-shared-0.2.82.crate) = 7197
+SHA256 (rust/crates/web-sys-0.3.59.crate) = ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1
+SIZE (rust/crates/web-sys-0.3.59.crate) = 697461
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
@@ -541,5 +539,5 @@ SHA256 (rust/crates/zerocopy-0.6.1.crate) = 332f188cc1bcf1fe1064b8c58d150f497e69
SIZE (rust/crates/zerocopy-0.6.1.crate) = 23933
SHA256 (rust/crates/zerocopy-derive-0.3.1.crate) = a0fbc82b82efe24da867ee52e015e58178684bd9dd64c34e66bdf21da2582a9f
SIZE (rust/crates/zerocopy-derive-0.3.1.crate) = 519668
-SHA256 (librespot-org-librespot-v0.4.1_GH0.tar.gz) = ae3ce1f3bd0031cac687eb60e08abb2d327ba51623c583765eda70376d69a71f
-SIZE (librespot-org-librespot-v0.4.1_GH0.tar.gz) = 153144
+SHA256 (librespot-org-librespot-v0.4.2_GH0.tar.gz) = cc8cb81bdbaa5abf366170dec5e6b8c0ecf570a7cb68f04483e9f7eed338ca61
+SIZE (librespot-org-librespot-v0.4.2_GH0.tar.gz) = 154642
diff --git a/multimedia/librespot/pkg-descr b/multimedia/librespot/pkg-descr
index d97c5a678049..bd7d31dcabdf 100644
--- a/multimedia/librespot/pkg-descr
+++ b/multimedia/librespot/pkg-descr
@@ -3,5 +3,3 @@ to use Spotify's service to control and play music via various backends, and to
act as a Spotify Connect receiver. It is an alternative to the official and now
deprecated closed-source libspotify. Additionally, it will provide extra
features which are not available in the official library.
-
-WWW: https://github.com/librespot-org/librespot
diff --git a/multimedia/librist/Makefile b/multimedia/librist/Makefile
index eac947a2656c..15e58b2e2339 100644
--- a/multimedia/librist/Makefile
+++ b/multimedia/librist/Makefile
@@ -1,16 +1,17 @@
PORTNAME= librist
-DISTVERSION= 0.2.6
-PORTREVISION= 1
+DISTVERSION= 0.2.10
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= Library for Reliable Internet Stream Transport (RIST) protocol
+WWW= https://code.videolan.org/rist/librist
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libcjson.so:devel/libcjson \
- libmbedcrypto.so:security/mbedtls
+ libmbedcrypto.so:security/mbedtls \
+ libmicrohttpd.so:www/libmicrohttpd
USES= localbase:ldflags meson pkgconfig
USE_GITLAB= yes
@@ -18,14 +19,13 @@ USE_LDCONFIG= yes
GL_SITE= https://code.videolan.org
GL_ACCOUNT= rist
-GL_COMMIT= 5c1f4a06ab46e16e6bba42fe7381d8353020a1fd
+GL_TAGNAME= 1e805500dc14a507598cebdd49557c32e514899f
MESON_ARGS= -Dtest=false
do-test:
@cd ${WRKSRC} && \
- ${RM} -r _build && \
- ${SETENV} ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS} -Dtest=true && \
+ ${SETENV} ${CONFIGURE_ENV} ${CONFIGURE_CMD} --reconfigure ${CONFIGURE_ARGS} -Dtest=true && \
cd ${BUILD_WRKSRC} && \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} ${ALL_TARGET} test
diff --git a/multimedia/librist/distinfo b/multimedia/librist/distinfo
index fae03dfb1540..58894f6f0826 100644
--- a/multimedia/librist/distinfo
+++ b/multimedia/librist/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1628116806
-SHA256 (rist-librist-5c1f4a06ab46e16e6bba42fe7381d8353020a1fd_GL0.tar.gz) = 9ee3a1f1e7280b6ca6f7bb17603242852cf926ca2b233a5e18dbdfc135e19017
-SIZE (rist-librist-5c1f4a06ab46e16e6bba42fe7381d8353020a1fd_GL0.tar.gz) = 2876898
+TIMESTAMP = 1699077208
+SHA256 (rist-librist-1e805500dc14a507598cebdd49557c32e514899f_GL0.tar.gz) = 15d664708fe6e044f1249dd0df9291a6d3849ff9cb340b11270afd26efea62dc
+SIZE (rist-librist-1e805500dc14a507598cebdd49557c32e514899f_GL0.tar.gz) = 2918205
diff --git a/multimedia/librist/pkg-descr b/multimedia/librist/pkg-descr
index 248c68adb182..a48331818703 100644
--- a/multimedia/librist/pkg-descr
+++ b/multimedia/librist/pkg-descr
@@ -1,5 +1,3 @@
Reliable Internet Stream Transport is an open source, open specification
transport protocol designed for reliable transmission of video over lossy
networks.
-
-WWW: https://code.videolan.org/rist/librist
diff --git a/multimedia/librist/pkg-plist b/multimedia/librist/pkg-plist
index 6cea39c4a0c8..bdcce7162674 100644
--- a/multimedia/librist/pkg-plist
+++ b/multimedia/librist/pkg-plist
@@ -5,11 +5,19 @@ bin/ristsrppasswd
include/librist/common.h
include/librist/headers.h
include/librist/librist.h
+include/librist/librist_config.h
include/librist/librist_srp.h
include/librist/logging.h
+include/librist/oob.h
+include/librist/opt.h
+include/librist/peer.h
+include/librist/receiver.h
+include/librist/sender.h
+include/librist/stats.h
include/librist/udpsocket.h
+include/librist/urlparam.h
include/librist/version.h
lib/librist.so
lib/librist.so.4
-lib/librist.so.4.1.4
+lib/librist.so.4.3.1
libdata/pkgconfig/librist.pc
diff --git a/multimedia/librtmp/Makefile b/multimedia/librtmp/Makefile
index 7d68cdb9e397..a4933aa681da 100644
--- a/multimedia/librtmp/Makefile
+++ b/multimedia/librtmp/Makefile
@@ -1,15 +1,20 @@
PORTNAME= librtmp
PORTVERSION= 2.4.20190330
+PORTREVISION= 1
CATEGORIES= multimedia net
MASTER_SITES= https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/
DISTNAME= rtmpdump-${PORTVERSION}
MAINTAINER= hrs@FreeBSD.org
COMMENT= RTMP stream library
+WWW= https://rtmpdump.mplayerhq.hu/
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= Depends on legacy functionality of OpenSSL and superseded by multimedia/ffmpeg
+EXPIRATION_DATE=2024-04-30
+
USES= pkgconfig ssl
USE_LDCONFIG= yes
diff --git a/multimedia/librtmp/files/patch-librtmp-Makefile b/multimedia/librtmp/files/patch-librtmp-Makefile
index a3fdb32d2c96..c3337a8b97ed 100644
--- a/multimedia/librtmp/files/patch-librtmp-Makefile
+++ b/multimedia/librtmp/files/patch-librtmp-Makefile
@@ -1,6 +1,6 @@
---- librtmp/Makefile.orig 2016-02-29 01:15:13 UTC
+--- librtmp/Makefile.orig 2019-03-30 21:33:00 UTC
+++ librtmp/Makefile
-@@ -1,19 +1,21 @@
+@@ -1,19 +1,21 @@ VERSION=v2.4
VERSION=v2.4
-prefix=/usr/local
@@ -9,8 +9,9 @@
incdir=$(prefix)/include/librtmp
bindir=$(prefix)/bin
libdir=$(prefix)/lib
+-mandir=$(prefix)/man
+libdatadir=$(prefix)/libdata
- mandir=$(prefix)/man
++mandir=$(prefix)/share/man
BINDIR=$(DESTDIR)$(bindir)
INCDIR=$(DESTDIR)$(incdir)
LIBDIR=$(DESTDIR)$(libdir)
@@ -26,7 +27,7 @@
SYS=posix
CRYPTO=OPENSSL
-@@ -23,14 +25,14 @@ DEF_OPENSSL=-DUSE_OPENSSL
+@@ -23,14 +25,14 @@ REQ_GNUTLS=gnutls,hogweed,nettle
DEF_GNUTLS=-DUSE_GNUTLS
DEF_=-DNO_CRYPTO
REQ_GNUTLS=gnutls,hogweed,nettle
@@ -43,7 +44,7 @@
LIB_POLARSSL=-lpolarssl $(LIBZ)
PRIVATE_LIBS=$(LIBS_$(SYS))
CRYPTO_LIB=$(LIB_$(CRYPTO)) $(PRIVATE_LIBS)
-@@ -74,8 +76,9 @@ SO_INST=$(SOINST_$(SHARED))
+@@ -74,8 +76,9 @@ OPT=-O2
DEF=-DRTMPDUMP_VERSION=\"$(VERSION)\" $(CRYPTO_DEF) $(XDEF)
OPT=-O2
diff --git a/multimedia/librtmp/files/patch-librtmp-hashswf.c b/multimedia/librtmp/files/patch-librtmp-hashswf.c
index 6973abfd8968..2ee5b412ab45 100644
--- a/multimedia/librtmp/files/patch-librtmp-hashswf.c
+++ b/multimedia/librtmp/files/patch-librtmp-hashswf.c
@@ -1,4 +1,4 @@
---- librtmp/hashswf.c.orig 2016-02-29 01:15:13 UTC
+--- librtmp/hashswf.c.orig 2019-03-30 21:33:00 UTC
+++ librtmp/hashswf.c
@@ -37,10 +37,17 @@
#define SHA256_DIGEST_LENGTH 32
@@ -22,7 +22,7 @@
#elif defined(USE_GNUTLS)
#include <nettle/hmac.h>
#ifndef SHA256_DIGEST_LENGTH
-@@ -48,19 +55,51 @@
+@@ -48,20 +55,52 @@
#endif
#undef HMAC_CTX
#define HMAC_CTX struct hmac_sha256_ctx
@@ -63,7 +63,7 @@
+ ctx = HMAC_CTX_new(); \
+ HMAC_Init_ex(ctx, (unsigned char *)key, len, EVP_sha256(), 0); \
+ } while (0);
-+#endif
+ #endif
+#define HMAC_crunch(ctx, buf, len) HMAC_Update(ctx, (unsigned char *)buf, len)
+#define HMAC_finish(ctx, dig, dlen) HMAC_Final(ctx, (unsigned char *)dig, &dlen);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
@@ -79,10 +79,11 @@
+ ctx = NULL; \
+ } while (0)
+#endif
- #endif
++#endif
extern void RTMP_TLS_Init();
-@@ -289,7 +328,7 @@ leave:
+ extern TLS_CTX RTMP_TLS_ctx;
+@@ -298,7 +337,7 @@ struct info
struct info
{
z_stream *zs;
diff --git a/multimedia/librtmp/pkg-descr b/multimedia/librtmp/pkg-descr
index 0798091d561e..cf319656f081 100644
--- a/multimedia/librtmp/pkg-descr
+++ b/multimedia/librtmp/pkg-descr
@@ -1,3 +1 @@
librtmp is the library part of rtmpdump.
-
-WWW: http://rtmpdump.mplayerhq.hu/
diff --git a/multimedia/librtmp/pkg-plist b/multimedia/librtmp/pkg-plist
index 8c6e7dd7c06b..692f847a7e43 100644
--- a/multimedia/librtmp/pkg-plist
+++ b/multimedia/librtmp/pkg-plist
@@ -6,4 +6,4 @@ lib/librtmp.a
lib/librtmp.so
lib/librtmp.so.1
libdata/pkgconfig/librtmp.pc
-man/man3/librtmp.3.gz
+share/man/man3/librtmp.3.gz
diff --git a/multimedia/libtheora/Makefile b/multimedia/libtheora/Makefile
index 038ffe67fe1c..fa452d1331e5 100644
--- a/multimedia/libtheora/Makefile
+++ b/multimedia/libtheora/Makefile
@@ -1,5 +1,3 @@
-# Created by: Koop Mast <kwm@rainbow-runner.nl>
-
PORTNAME= libtheora
PORTVERSION= 1.1.1
PORTREVISION= 7
@@ -9,6 +7,7 @@ MASTER_SITES= https://downloads.xiph.org/releases/theora/ \
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Theora video codec for the Ogg multimedia streaming system
+WWW= https://www.theora.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/libtheora/pkg-descr b/multimedia/libtheora/pkg-descr
index 1872bf2268bc..d19c094b8fa7 100644
--- a/multimedia/libtheora/pkg-descr
+++ b/multimedia/libtheora/pkg-descr
@@ -3,5 +3,3 @@ project's Ogg multimedia streaming system. Theora is derived
directly from On2's VP3 codec.
This is alpha testing software; the API will probably change.
-
-WWW: https://www.theora.org/
diff --git a/multimedia/libtuner/Makefile b/multimedia/libtuner/Makefile
index 77680499f592..90e4ca301d81 100644
--- a/multimedia/libtuner/Makefile
+++ b/multimedia/libtuner/Makefile
@@ -1,5 +1,3 @@
-# Created by: Jason Harmening <jason.harmening@gmail.com>
-
PORTNAME= libtuner
PORTVERSION= 1.1.5
CATEGORIES= multimedia
diff --git a/multimedia/libudfread/Makefile b/multimedia/libudfread/Makefile
new file mode 100644
index 000000000000..1acd1fe452f1
--- /dev/null
+++ b/multimedia/libudfread/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= libudfread
+DISTVERSION= 1.1.2
+CATEGORIES= multimedia
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/ \
+ https://download.videolan.org/pub/videolan/${PORTNAME}/
+
+MAINTAINER= yzrh@noema.org
+COMMENT= UDF reader for media players
+WWW= https://code.videolan.org/videolan/libudfread/
+
+LICENSE= LGPL21
+
+USES= autoreconf cpe libtool tar:bzip2
+CPE_VENDOR= videolan
+GNU_CONFIGURE= yes
+USE_LDCONFIG= yes
+
+INSTALL_TARGET= install-strip
+
+.include <bsd.port.mk>
diff --git a/multimedia/libudfread/distinfo b/multimedia/libudfread/distinfo
new file mode 100644
index 000000000000..1fb6488c8bba
--- /dev/null
+++ b/multimedia/libudfread/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709645400
+SHA256 (libudfread-1.1.2.tar.bz2) = d5946f19b27288ce0911eb11fe583c136767421220ece3bafc96245efd208915
+SIZE (libudfread-1.1.2.tar.bz2) = 268559
diff --git a/multimedia/libudfread/pkg-descr b/multimedia/libudfread/pkg-descr
new file mode 100644
index 000000000000..fc45cf18d50a
--- /dev/null
+++ b/multimedia/libudfread/pkg-descr
@@ -0,0 +1,2 @@
+libudfread is a library for accessing UDF filesystem, commonly found
+on optical discs and disc images.
diff --git a/multimedia/libudfread/pkg-plist b/multimedia/libudfread/pkg-plist
new file mode 100644
index 000000000000..1b5a509bc736
--- /dev/null
+++ b/multimedia/libudfread/pkg-plist
@@ -0,0 +1,8 @@
+include/udfread/blockinput.h
+include/udfread/udfread-version.h
+include/udfread/udfread.h
+lib/libudfread.a
+lib/libudfread.so
+lib/libudfread.so.0
+lib/libudfread.so.0.1.0
+libdata/pkgconfig/libudfread.pc
diff --git a/multimedia/libuvc/Makefile b/multimedia/libuvc/Makefile
index 57c21100c8ad..c297d32902ce 100644
--- a/multimedia/libuvc/Makefile
+++ b/multimedia/libuvc/Makefile
@@ -1,19 +1,21 @@
PORTNAME= libuvc
DISTVERSIONPREFIX= v
-DISTVERSION= 0.0.6-32
-DISTVERSIONSUFFIX= -gc612d45
+DISTVERSION= 0.0.7
+PORTREVISION= 1
CATEGORIES= multimedia
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= c765bb30b5f5.patch:-p1 # https://github.com/libuvc/libuvc/pull/163
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= Cross-platform library for USB video devices
+WWW= https://libuvc.github.io/libuvc/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-USES= cmake jpeg pkgconfig
+USES= cmake:testing jpeg pkgconfig
USE_GITHUB= yes
+USE_LDCONFIG= yes
+
+CMAKE_OFF= BUILD_EXAMPLE
+CMAKE_TESTING_ON= BUILD_TEST # tests fail to compile, see https://github.com/libuvc/libuvc/issues/254
.include <bsd.port.mk>
diff --git a/multimedia/libuvc/distinfo b/multimedia/libuvc/distinfo
index f436cb59cdcd..5612bec22d54 100644
--- a/multimedia/libuvc/distinfo
+++ b/multimedia/libuvc/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1605975516
-SHA256 (libuvc-libuvc-v0.0.6-32-gc612d45_GH0.tar.gz) = 629c3021bd38596b8be33fa678e1dceca9a085ebd56933424d1a544f53a2ca42
-SIZE (libuvc-libuvc-v0.0.6-32-gc612d45_GH0.tar.gz) = 103317
-SHA256 (c765bb30b5f5.patch) = 4f6c3423adba1ea8be54f40418a3f8deb54942725a76ce1cfd8ba45856d4c3f4
-SIZE (c765bb30b5f5.patch) = 1232
+TIMESTAMP = 1680414479
+SHA256 (libuvc-libuvc-v0.0.7_GH0.tar.gz) = 7c6ba79723ad5d0ccdfbe6cadcfbd03f9f75b701d7ba96631eb1fd929a86ee72
+SIZE (libuvc-libuvc-v0.0.7_GH0.tar.gz) = 104376
diff --git a/multimedia/libuvc/pkg-descr b/multimedia/libuvc/pkg-descr
index 8f6e455566eb..8e610c523ce6 100644
--- a/multimedia/libuvc/pkg-descr
+++ b/multimedia/libuvc/pkg-descr
@@ -2,5 +2,3 @@ libuvc is a cross-platform library for USB video devices, built atop libusb.
It enables fine-grained control over USB video devices exporting the standard
USB Video Class (UVC) interface, enabling developers to write drivers for
previously unsupported devices, or just access UVC devices in a generic fashion.
-
-WWW: https://int80k.com/libuvc
diff --git a/multimedia/libuvc/pkg-plist b/multimedia/libuvc/pkg-plist
index 219b073d3c58..625d6593155b 100644
--- a/multimedia/libuvc/pkg-plist
+++ b/multimedia/libuvc/pkg-plist
@@ -9,5 +9,5 @@ lib/cmake/libuvc/libuvcTargets.cmake
lib/libuvc.a
lib/libuvc.so
lib/libuvc.so.0
-lib/libuvc.so.0.0.6
+lib/libuvc.so.0.0.7
libdata/pkgconfig/libuvc.pc
diff --git a/multimedia/libv4l/Makefile b/multimedia/libv4l/Makefile
index ff1a2d757e7b..5c261d7ad34f 100644
--- a/multimedia/libv4l/Makefile
+++ b/multimedia/libv4l/Makefile
@@ -1,13 +1,14 @@
-# Created by: Andrew Thompson <thompsa@FreeBSD.org>
# Check v4l_compat and v4l-utils slave ports
PORTNAME?= libv4l
PORTVERSION= 1.23.0
+PORTREVISION?= 4
DISTVERSIONPREFIX= v4l-utils-
CATEGORIES= multimedia
MAINTAINER= multimedia@FreeBSD.org
COMMENT?= Video4Linux library
+WWW?= https://linuxtv.org/wiki/index.php/V4l-utils
LICENSE= GPLv2 LGPL21
LICENSE_COMB= dual
@@ -25,12 +26,12 @@ WEBCAMDDIR= ${WRKDIR}/webcamd-5.17.1.0
LINUXDIR= ${WRKDIR}/linux-*
.if ${PORTNAME} == v4l-utils || ${PORTNAME} == libv4l
-LIB_DEPENDS+= libargp.so:devel/argp-standalone \
- libudev.so:devel/libudev-devd
+LIB_DEPENDS+= libudev.so:devel/libudev-devd
BUILD_DEPENDS+= gsed>0:textproc/gsed \
v4l_compat>=${PORTVERSION}:multimedia/v4l_compat
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
USES+= autoreconf gettext-tools gmake iconv jpeg libtool pathfix pkgconfig
@@ -50,10 +51,11 @@ RUN_DEPENDS+= evdev-proto>=5.3:devel/evdev-proto
.if ${PORTNAME} == v4l-utils
USES+= perl5
BUILD_DEPENDS+= libv4l>=${PORTVERSION}:multimedia/libv4l
-LIB_DEPENDS+= libepoll-shim.so:devel/libepoll-shim \
- libv4l2.so:multimedia/libv4l
-CPPFLAGS+= -I${LOCALBASE}/include/libepoll-shim
-LDFLAGS+= -lepoll-shim
+LIB_DEPENDS+= libepoll-shim-interpose.so:devel/libepoll-shim \
+ libv4l2.so:multimedia/libv4l \
+ libargp.so:devel/argp-standalone
+CPPFLAGS+= `pkg-config --cflags epoll-shim-interpose`
+LDFLAGS+= `pkg-config --libs epoll-shim-interpose`
CONFIGURE_ARGS+= \
--enable-v4l-utils \
--without-v4l2-compliance
@@ -61,7 +63,9 @@ CONFIGURE_ARGS+= \
.if ${PORTNAME} == libv4l
CONFIGURE_ENV+= \
- libudev_CFLAGS=" "
+ libudev_CFLAGS=" " \
+ ac_cv_header_argp_h=yes \
+ ac_cv_search_argp_parse="none required"
CONFIGURE_ARGS+= \
--disable-v4l-utils \
--enable-dyn-libv4l \
diff --git a/multimedia/libv4l/pkg-descr b/multimedia/libv4l/pkg-descr
index dc3e7d9ebc5d..bb60fa4f8209 100644
--- a/multimedia/libv4l/pkg-descr
+++ b/multimedia/libv4l/pkg-descr
@@ -2,5 +2,3 @@ The Video4Linux library is a wrapper library for accessing Video4Linux
compliant video devices. It allows for transcoding of capture streams
in user space instead of kernel space and creates a standard interface
mechanism for video devices.
-
-WWW: https://linuxtv.org/wiki/index.php/V4l-utils
diff --git a/multimedia/libva-glx/Makefile b/multimedia/libva-glx/Makefile
deleted file mode 100644
index 0addf7913d30..000000000000
--- a/multimedia/libva-glx/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-PORTREVISION= 1
-PKGNAMESUFFIX= -glx
-
-COMMENT= VAAPI wrapper for GLX
-
-MASTERDIR= ${.CURDIR}/../libva
-
-OPTIONS_SLAVE= GLX ${GLX_IMPLIES}
-OPTIONS_EXCLUDE=WAYLAND
-
-post-install: slave-post-install
-slave-post-install:
- @${REINPLACE_CMD} '/glx/!s/^/@comment /' ${TMPPLIST}
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/libva-intel-driver/Makefile b/multimedia/libva-intel-driver/Makefile
index a01a1ce9df33..9009363f5544 100644
--- a/multimedia/libva-intel-driver/Makefile
+++ b/multimedia/libva-intel-driver/Makefile
@@ -1,10 +1,11 @@
PORTNAME= libva-intel-driver
DISTVERSION= 2.4.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= VAAPI legacy driver for Intel GMA 4500 (Gen4) to UHD 630 (Gen9.5)
+WWW= https://01.org/linuxmedia
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -20,7 +21,7 @@ USES= compiler:c11 meson pkgconfig
USE_GITHUB= yes
GH_ACCOUNT= intel
GH_PROJECT= intel-vaapi-driver
-PLIST_FILES= lib/dri/i915_drv_video.so lib/dri/i965_drv_video.so
+PLIST_FILES= lib/dri/i965_drv_video.so
OPTIONS_DEFINE= HYBRID WAYLAND X11
OPTIONS_DEFAULT=HYBRID WAYLAND X11
@@ -35,7 +36,4 @@ WAYLAND_MESON_YES= with_wayland
X11_LIB_DEPENDS= libva-x11.so:multimedia/libva
X11_MESON_YES= with_x11
-post-install:
- ${LN} -sf i965_drv_video.so ${STAGEDIR}${PREFIX}/lib/dri/i915_drv_video.so
-
.include <bsd.port.mk>
diff --git a/multimedia/libva-intel-driver/pkg-descr b/multimedia/libva-intel-driver/pkg-descr
index a5c91db705a6..fb6489aac918 100644
--- a/multimedia/libva-intel-driver/pkg-descr
+++ b/multimedia/libva-intel-driver/pkg-descr
@@ -3,5 +3,3 @@ Graphics family provides a bridge to the GEN GPUs through the
packaging of buffers and commands to be sent to the i915 driver for
exercising both hardware and shader functionality for video decode,
encode, and processing.
-
-WWW: https://01.org/linuxmedia
diff --git a/multimedia/libva-intel-hybrid-driver/Makefile b/multimedia/libva-intel-hybrid-driver/Makefile
index 3f8c133b84a6..8b02f28fc62a 100644
--- a/multimedia/libva-intel-hybrid-driver/Makefile
+++ b/multimedia/libva-intel-hybrid-driver/Makefile
@@ -12,6 +12,7 @@ PATCHFILES+= 7de7270e7f96.patch:-p1 # https://github.com/intel/intel-hybrid-driv
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Hybrid VP8 encoder and VP9 decoder for Intel GPUs
+WWW= https://01.org/linuxmedia
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -24,6 +25,7 @@ LIB_DEPENDS= libdrm_intel.so:graphics/libdrm \
libva.so:multimedia/libva
USES= autoreconf compiler:c11 gmake libtool pkgconfig
+USE_CXXSTD= gnu++98
USE_GITHUB= yes
GH_ACCOUNT= intel
GNU_CONFIGURE= yes
diff --git a/multimedia/libva-intel-hybrid-driver/pkg-descr b/multimedia/libva-intel-hybrid-driver/pkg-descr
index a4ae6216ac65..6befde3ffd30 100644
--- a/multimedia/libva-intel-hybrid-driver/pkg-descr
+++ b/multimedia/libva-intel-hybrid-driver/pkg-descr
@@ -2,5 +2,3 @@ Intel hybrid driver provides support for WebM project VPx codecs. GPU
acceleration is provided via media kernels executed on Intel GEN GPUs.
The hybrid driver provides the CPU bound entropy (e.g., CPBAC)
decoding and manages the GEN GPU media kernel parameters and buffers.
-
-WWW: https://01.org/linuxmedia
diff --git a/multimedia/libva-intel-media-driver/Makefile b/multimedia/libva-intel-media-driver/Makefile
index 4e63ea8adf78..c14ec1b7720b 100644
--- a/multimedia/libva-intel-media-driver/Makefile
+++ b/multimedia/libva-intel-media-driver/Makefile
@@ -1,23 +1,30 @@
PORTNAME= media-driver
DISTVERSIONPREFIX= intel-media-
-DISTVERSION= 22.4.1
+DISTVERSION= 23.4.3
CATEGORIES= multimedia
PKGNAMEPREFIX= libva-intel-
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= dc74b5f2fe82.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 921023462274.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 6de6d1940e88.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 8f3fa352bd79.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 2c68fd4a62fb.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= e850bcb7b6e1.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 22d91bd65702.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= d7f88bd305f8.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= d7280f526022.patch:-p1 # https://github.com/intel/media-driver/pull/819
-PATCHFILES+= 231c06faa4c4.patch:-p1 # https://github.com/intel/media-driver/pull/819
-
-MAINTAINER= jbeich@FreeBSD.org
+PATCHFILES+= d54347296.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 7e26e598e.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 6e1f5e635.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 7485cf796.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 3297302d8.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 0f3012331.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 695b56fe0.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= be6bd904b.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= daaa7172e.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 59c560101.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 2933bb51e.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 4ec9b2bd6.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 17d384458.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= abb792cad.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 7d261abf2.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+PATCHFILES+= 67961a267.patch:-p1 #https://github.com/intel/media-driver/pull/1785
+
+MAINTAINER= ports@FreeBSD.org
COMMENT= VAAPI driver for Intel HD 5000 (Gen8) or newer
+WWW= https://01.org/intel-media-for-linux
LICENSE= MIT BSD3CLAUSE
LICENSE_COMB= multi
diff --git a/multimedia/libva-intel-media-driver/distinfo b/multimedia/libva-intel-media-driver/distinfo
index 32d3b8660388..2745ab7bd091 100644
--- a/multimedia/libva-intel-media-driver/distinfo
+++ b/multimedia/libva-intel-media-driver/distinfo
@@ -1,23 +1,35 @@
-TIMESTAMP = 1650600295
-SHA256 (intel-media-driver-intel-media-22.4.1_GH0.tar.gz) = 5589d4e0142ae957d58798e3fba08d9e5e096e92eed422d40a82d45a14e6042f
-SIZE (intel-media-driver-intel-media-22.4.1_GH0.tar.gz) = 27407593
-SHA256 (dc74b5f2fe82.patch) = d844140b4243b3d30ce452296b4a44add79f41da745fc0cfb5cc6b47ec6a15a3
-SIZE (dc74b5f2fe82.patch) = 1239
-SHA256 (921023462274.patch) = e7ecc71c27f68b8668c8742f123e4aa4da367ab7b94dcb011ee6333c784a0bfd
-SIZE (921023462274.patch) = 1265
-SHA256 (6de6d1940e88.patch) = 8f02743cbcf2b254ff46b0fadd99904ea3baf1701c6512f2b9f07d19d26edb1f
-SIZE (6de6d1940e88.patch) = 2186
-SHA256 (8f3fa352bd79.patch) = 5fddcb5a21e5deacdcc2c12d2404c18e41515fa3b08724303d9b19a44f1e1a85
-SIZE (8f3fa352bd79.patch) = 2192
-SHA256 (2c68fd4a62fb.patch) = 5d880f5140a444368d15c3314a87fc7d34f6e8ffb840f460298932ee71fd8546
-SIZE (2c68fd4a62fb.patch) = 1180
-SHA256 (e850bcb7b6e1.patch) = eaec515e29b441c335f2514745b3ef9f4f198b3c1f522f334da3153023a06941
-SIZE (e850bcb7b6e1.patch) = 3417
-SHA256 (22d91bd65702.patch) = 25797e672d83cc0e175e3012b8e7b42dab9737ce6ba206df720b5ceacebffebc
-SIZE (22d91bd65702.patch) = 6453
-SHA256 (d7f88bd305f8.patch) = 4cf2f0363fd67216a56de808809f7357a644736a0620a3b564f0355bf2c831a0
-SIZE (d7f88bd305f8.patch) = 2404
-SHA256 (d7280f526022.patch) = eb085bb3ff3f02c0ea1fc7f5e543953aba3c11361d02810d318df8fc6ca347b3
-SIZE (d7280f526022.patch) = 3276
-SHA256 (231c06faa4c4.patch) = 2dd7e208a6914c640402ac2f912ddb03fb565020cd389a630692ad0d988cc3b0
-SIZE (231c06faa4c4.patch) = 802
+TIMESTAMP = 1711293145
+SHA256 (intel-media-driver-intel-media-23.4.3_GH0.tar.gz) = 83b95eefe86c9d58d92c2a77793541ea3cb643dff419599ffa87899fd58738cd
+SIZE (intel-media-driver-intel-media-23.4.3_GH0.tar.gz) = 25805389
+SHA256 (67961a267.patch) = be88e1a492b5b03d8dd516135fff4eb07e97a2f32d9b3ec7bd1a9a57f9c78cde
+SIZE (67961a267.patch) = 846
+SHA256 (7d261abf2.patch) = 68d24418ead81595ea4729764abd51e930d99e45ac5023790f3bcea37c02cbc6
+SIZE (7d261abf2.patch) = 1950
+SHA256 (abb792cad.patch) = 32c71ff1849e161b77833f8b3925644756de80779fae3497a31e1a95cfd52a5b
+SIZE (abb792cad.patch) = 1596
+SHA256 (17d384458.patch) = 846da2dd019172cb4ab64c8d094dceae9ab21483378c8ea35e5fe81f0182ab20
+SIZE (17d384458.patch) = 7680
+SHA256 (4ec9b2bd6.patch) = 3fadd418328cda433788ead1cf911003023e3dab79c29120de99b1939feb20a2
+SIZE (4ec9b2bd6.patch) = 1040
+SHA256 (2933bb51e.patch) = 4013d2a2a0b03d80e20580930246505e268e5a16057e07dfcdc229a81e6d8b45
+SIZE (2933bb51e.patch) = 1417
+SHA256 (59c560101.patch) = 38f7c9081e6c35e7550e34fad5075a547febc788e76d31bea78915a35c861cfc
+SIZE (59c560101.patch) = 807
+SHA256 (daaa7172e.patch) = 0ff9dff3cbf0344368a1d5ec313d5ba5c38a482e7c9cfcb8b513b8972b898cb8
+SIZE (daaa7172e.patch) = 3305
+SHA256 (be6bd904b.patch) = 23e3c93a92fd03aac75b53a99d6edf8a9ed31ac046b1bf3266e041559b1836fc
+SIZE (be6bd904b.patch) = 2378
+SHA256 (695b56fe0.patch) = e190823ee8c45437bda97ee0acbf07e6ee02197e8bc8f7e137080953e0c7a769
+SIZE (695b56fe0.patch) = 5997
+SHA256 (0f3012331.patch) = ad7862e7717db30d6e1295e49737a06425bcc00bd286fe4b2fa480e44d4e7855
+SIZE (0f3012331.patch) = 3421
+SHA256 (3297302d8.patch) = 8b029a88e44567d120dec6a940c9ecf3e71cc387c026942668d7e6e12d254be5
+SIZE (3297302d8.patch) = 1162
+SHA256 (7485cf796.patch) = 34d85d997c25ed2a6d6e8f426e137c517950276b8b9681dfa125fd7e2550183d
+SIZE (7485cf796.patch) = 2027
+SHA256 (6e1f5e635.patch) = d14fff98319669fc6aef8aff830f34ee28a50a32f2466ced69582f40308b33cd
+SIZE (6e1f5e635.patch) = 2197
+SHA256 (7e26e598e.patch) = 703f78ec4ec117fa67b224c5989a08b5c95b71db08d2b8bece16ef131caa9db3
+SIZE (7e26e598e.patch) = 1265
+SHA256 (d54347296.patch) = b02fa57c0eee1f0d9d388a1cce649841b4902c297ed3c3f609ec5ae03f1131c4
+SIZE (d54347296.patch) = 1241
diff --git a/multimedia/libva-intel-media-driver/files/patch-revert b/multimedia/libva-intel-media-driver/files/patch-revert
deleted file mode 100644
index ff6d3c1ca303..000000000000
--- a/multimedia/libva-intel-media-driver/files/patch-revert
+++ /dev/null
@@ -1,240 +0,0 @@
-Temporarily revert https://github.com/intel/media-driver/commit/53405da4ad2d
-until bundled libdrm is ported
-
-In file included from media_driver/linux/common/os/mos_interface.cpp:37:
-cmrtlib/linux/hardware/drm_device.h:268:19: error: use of undeclared identifier 'DRM_MAJOR'
- return maj == DRM_MAJOR;
- ^
-
---- cmrtlib/linux/hardware/drm_device.h.orig 2022-05-08 00:14:20 UTC
-+++ cmrtlib/linux/hardware/drm_device.h
-@@ -53,7 +53,6 @@
- #endif
- #include <math.h>
- #include <string>
--#include <cstring>
-
- #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
-
-@@ -125,7 +124,7 @@ typedef void *drmAddress, **drmAddressPtr; /*
- #define MAX3( A, B, C ) ((A) > (B) ? MAX2(A, C) : MAX2(B, C))
-
- #define __align_mask(value, mask) (((value) + (mask)) & ~(mask))
--#define ALIGN_CEIL(value, alignment) __align_mask(value, (__typeof__(value))((alignment) - 1))
-+#define ALIGN(value, alignment) __align_mask(value, (__typeof__(value))((alignment) - 1))
- #define DRM_PLATFORM_DEVICE_NAME_LEN 512
-
- typedef struct _drmPciBusInfo {
-@@ -231,21 +230,6 @@ drm_device_validate_flags(uint32_t flags)
- return (flags & ~DRM_DEVICE_GET_PCI_REVISION);
- }
-
--static bool
--drm_device_has_rdev(drmDevicePtr device, dev_t find_rdev)
--{
-- struct stat sbuf;
--
-- for (int i = 0; i < DRM_NODE_MAX; i++) {
-- if (device->available_nodes & 1 << i) {
-- if (stat(device->nodes[i], &sbuf) == 0 &&
-- sbuf.st_rdev == find_rdev)
-- return true;
-- }
-- }
-- return false;
--}
--
- static int drmGetMaxNodeName(void)
- {
- return sizeof(DRM_DIR_NAME) +
-@@ -305,7 +289,7 @@ static drmDevicePtr drmDeviceAlloc(unsigned int type,
- unsigned int i;
- char *ptr;
-
-- max_node_length = ALIGN_CEIL(drmGetMaxNodeName(), sizeof(void *));
-+ max_node_length = ALIGN(drmGetMaxNodeName(), sizeof(void *));
-
- extra = DRM_NODE_MAX * (sizeof(void *) + max_node_length);
-
-@@ -1192,105 +1176,6 @@ int drmGetDevices(drmDevicePtr devices[], int max_devi
- return drmGetDevices2(DRM_DEVICE_GET_PCI_REVISION, devices, max_devices);
- }
-
--/**
-- * Get information about the opened drm device
-- *
-- * \param fd file descriptor of the drm device
-- * \param flags feature/behaviour bitmask
-- * \param device the address of a drmDevicePtr where the information
-- * will be allocated in stored
-- *
-- * \return zero on success, negative error code otherwise.
-- *
-- * \note Unlike drmGetDevice it does not retrieve the pci device revision field
-- * unless the DRM_DEVICE_GET_PCI_REVISION \p flag is set.
-- */
--int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr *device)
--{
-- drmDevicePtr local_devices[MAX_DRM_NODES];
-- drmDevicePtr d;
-- DIR *sysdir;
-- struct dirent *dent;
-- struct stat sbuf;
-- int subsystem_type;
-- int maj, min;
-- int ret, i, node_count;
-- dev_t find_rdev;
--
-- if (drm_device_validate_flags(flags))
-- return -EINVAL;
--
-- if (fd == -1 || device == NULL)
-- return -EINVAL;
--
-- if (fstat(fd, &sbuf))
-- return -errno;
--
-- find_rdev = sbuf.st_rdev;
-- maj = major(sbuf.st_rdev);
-- min = minor(sbuf.st_rdev);
--
-- if (!drmNodeIsDRM(maj, min) || !S_ISCHR(sbuf.st_mode))
-- return -EINVAL;
--
-- subsystem_type = drmParseSubsystemType(maj, min);
-- if (subsystem_type < 0)
-- return subsystem_type;
--
-- sysdir = opendir(DRM_DIR_NAME);
-- if (!sysdir)
-- return -errno;
--
-- i = 0;
-- while ((dent = readdir(sysdir))) {
-- ret = process_device(&d, dent->d_name, subsystem_type, true, flags);
-- if (ret)
-- continue;
--
-- if (i >= MAX_DRM_NODES) {
-- fprintf(stderr, "More than %d drm nodes detected. "
-- "Please report a bug - that should not happen.\n"
-- "Skipping extra nodes\n", MAX_DRM_NODES);
-- break;
-- }
-- local_devices[i] = d;
-- i++;
-- }
-- node_count = i;
--
-- drmFoldDuplicatedDevices(local_devices, node_count);
--
-- *device = NULL;
--
-- for (i = 0; i < node_count; i++) {
-- if (!local_devices[i])
-- continue;
--
-- if (drm_device_has_rdev(local_devices[i], find_rdev))
-- *device = local_devices[i];
-- else
-- drmFreeDevice(&local_devices[i]);
-- }
--
-- closedir(sysdir);
-- if (*device == NULL)
-- return -ENODEV;
-- return 0;
--}
--
--/**
-- * Get information about the opened drm device
-- *
-- * \param fd file descriptor of the drm device
-- * \param device the address of a drmDevicePtr where the information
-- * will be allocated in stored
-- *
-- * \return zero on success, negative error code otherwise.
-- */
--int drmGetDevice(int fd, drmDevicePtr *device)
--{
-- return drmGetDevice2(fd, DRM_DEVICE_GET_PCI_REVISION, device);
--}
-
- static int32_t GetRendererFileDescriptor(char * drm_node)
- {
---- media_driver/linux/common/os/i915/include/xf86drm.h.orig 2022-04-22 04:04:55 UTC
-+++ media_driver/linux/common/os/i915/include/xf86drm.h
-@@ -713,6 +713,39 @@ extern char *drmGetRenderDeviceNameFromFd(int fd);
-
- #define DRM_BUS_PCI 0
-
-+typedef struct _drmPciBusInfo {
-+ uint16_t domain;
-+ uint8_t bus;
-+ uint8_t dev;
-+ uint8_t func;
-+} drmPciBusInfo, *drmPciBusInfoPtr;
-+
-+typedef struct _drmPciDeviceInfo {
-+ uint16_t vendor_id;
-+ uint16_t device_id;
-+ uint16_t subvendor_id;
-+ uint16_t subdevice_id;
-+ uint8_t revision_id;
-+} drmPciDeviceInfo, *drmPciDeviceInfoPtr;
-+
-+typedef struct _drmDevice {
-+ char **nodes; /* DRM_NODE_MAX sized array */
-+ int available_nodes; /* DRM_NODE_* bitmask */
-+ int bustype;
-+ union {
-+ drmPciBusInfoPtr pci;
-+ } businfo;
-+ union {
-+ drmPciDeviceInfoPtr pci;
-+ } deviceinfo;
-+} drmDevice, *drmDevicePtr;
-+
-+extern int drmGetDevice(int fd, drmDevicePtr *device);
-+extern void drmFreeDevice(drmDevicePtr *device);
-+
-+extern int drmGetDevices(drmDevicePtr devices[], int max_devices);
-+extern void drmFreeDevices(drmDevicePtr devices[], int count);
-+
- #if defined(__cplusplus)
- }
- #endif
---- media_driver/linux/common/os/media_srcs.cmake.orig 2022-04-22 04:04:55 UTC
-+++ media_driver/linux/common/os/media_srcs.cmake
-@@ -27,10 +27,6 @@ endif()
- media_include_subdirectory(i915_production)
- endif()
-
--# This is to include drm_device.h in cmrtlib, no cpp file needed.
--include_directories(${BS_DIR_MEDIA}/cmrtlib/linux/hardware)
--
--
- set(TMP_SOURCES_
- ${CMAKE_CURRENT_LIST_DIR}/hwinfo_linux.c
- ${CMAKE_CURRENT_LIST_DIR}/mos_context_specific.cpp
---- media_driver/linux/common/os/mos_interface.cpp.orig 2022-04-22 04:04:55 UTC
-+++ media_driver/linux/common/os/mos_interface.cpp
-@@ -34,7 +34,6 @@
- #include "mos_os_virtualengine_scalability_specific_next.h"
- #include "mos_graphicsresource_specific_next.h"
- #include "mos_bufmgr_priv.h"
--#include "drm_device.h"
-
- #if (_DEBUG || _RELEASE_INTERNAL)
- #include <stdlib.h> //for simulate random OS API failure
---- media_driver/media_top_cmake.cmake.orig 2022-05-08 00:14:20 UTC
-+++ media_driver/media_top_cmake.cmake
-@@ -198,7 +198,7 @@ if (NOT DEFINED INCLUDED_LIBS OR "${INCLUDED_LIBS}" ST
- endif()
-
- target_compile_options( ${LIB_NAME} PUBLIC ${LIBGMM_CFLAGS_OTHER})
-- target_link_libraries ( ${LIB_NAME} ${LIBGMM_LIBRARIES})
-+ target_link_libraries ( ${LIB_NAME} ${LIBGMM_LIBRARIES} drm)
-
- include(${MEDIA_EXT_CMAKE}/ext/media_feature_include_ext.cmake OPTIONAL)
-
diff --git a/multimedia/libva-intel-media-driver/files/patch-userptr b/multimedia/libva-intel-media-driver/files/patch-userptr
deleted file mode 100644
index 0be32504c772..000000000000
--- a/multimedia/libva-intel-media-driver/files/patch-userptr
+++ /dev/null
@@ -1,31 +0,0 @@
-Try unsynchronized userptr if regular one fails.
-https://github.com/FreeBSDDesktop/kms-drm/issues/197
-
---- media_driver/linux/common/os/i915/mos_bufmgr.c.orig 2019-12-10 08:54:00 UTC
-+++ media_driver/linux/common/os/i915/mos_bufmgr.c
-@@ -945,10 +945,15 @@ mos_gem_bo_alloc_userptr(struct mos_bufmgr *bufmgr,
- userptr.user_size = size;
- userptr.flags = 0;
-
-+retry:
- ret = drmIoctl(bufmgr_gem->fd,
- DRM_IOCTL_I915_GEM_USERPTR,
- &userptr);
- if (ret != 0) {
-+ if (errno == ENODEV && userptr.flags == 0) {
-+ userptr.flags = I915_USERPTR_UNSYNCHRONIZED;
-+ goto retry;
-+ }
- MOS_DBG("bo_create_userptr: "
- "ioctl failed with user ptr %p size 0x%lx, "
- "user flags 0x%lx\n", addr, size, flags);
-@@ -1021,6 +1026,9 @@ retry:
- if (errno == ENODEV && userptr.flags == 0) {
- userptr.flags = I915_USERPTR_UNSYNCHRONIZED;
- goto retry;
-+ }
-+ if (geteuid() != 0) {
-+ fprintf(stderr, "%s", "ioctl(I915_GEM_USERPTR) failed. Try running as root but expect poor stability.\n");
- }
- free(ptr);
- return false;
diff --git a/multimedia/libva-intel-media-driver/pkg-descr b/multimedia/libva-intel-media-driver/pkg-descr
index 3a96abf2f3a1..2f5576cad865 100644
--- a/multimedia/libva-intel-media-driver/pkg-descr
+++ b/multimedia/libva-intel-media-driver/pkg-descr
@@ -1,5 +1,3 @@
The Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API)
user mode driver supporting hardware accelerated decoding, encoding, and
video post processing for GEN based graphics hardware.
-
-WWW: https://01.org/intel-media-for-linux
diff --git a/multimedia/libva-nvidia-driver/Makefile b/multimedia/libva-nvidia-driver/Makefile
new file mode 100644
index 000000000000..4885d80db457
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/Makefile
@@ -0,0 +1,45 @@
+PORTNAME= libva-nvidia-driver
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.0.11
+CATEGORIES= multimedia
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= 8e8d49e11772.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+= 5dc46a5a2fab.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+= 22be7754bee5.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+= 119a5a3ac448.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+= 39c08a61a888.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+= fc1afd905f8c.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+PATCHFILES+= 97430842d11a.patch:-p1 # https://github.com/elFarto/nvidia-vaapi-driver/pull/220
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= NVDEC-based backend for VAAPI
+WWW= https://github.com/elFarto/nvidia-vaapi-driver
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= Unusable without nvidia-drm-kmod and libc6-shim
+
+BUILD_DEPENDS= libdrm>=2.4.60,1:graphics/libdrm \
+ ffnvcodec-headers>=11.1.5.1:multimedia/ffnvcodec-headers \
+ libva>=2.8.0:multimedia/libva
+
+USES= compiler:c11 gl meson pkgconfig
+USE_GITHUB= yes
+USE_GL= egl
+GH_ACCOUNT= elFarto
+GH_PROJECT= nvidia-vaapi-driver
+PLIST_FILES= lib/dri/nvidia-drm_drv_video.so
+
+OPTIONS_DEFINE= GSTREAMER
+OPTIONS_DEFAULT=GSTREAMER
+
+GSTREAMER_USES= gstreamer:1
+GSTREAMER_USE= GSTREAMER=bad
+
+post-patch-GSTREAMER-off:
+ @${REINPLACE_CMD} 's/gstreamer-codecparsers-1\.0//' ${WRKSRC}/meson.build
+
+.include <bsd.port.mk>
diff --git a/multimedia/libva-nvidia-driver/distinfo b/multimedia/libva-nvidia-driver/distinfo
new file mode 100644
index 000000000000..d91fd7debce4
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/distinfo
@@ -0,0 +1,17 @@
+TIMESTAMP = 1699098983
+SHA256 (elFarto-nvidia-vaapi-driver-v0.0.11_GH0.tar.gz) = 3e1ed95d7e2b2b1377c9cb59c3e7caaf960134694e9441e1d91c38f224d1d5d9
+SIZE (elFarto-nvidia-vaapi-driver-v0.0.11_GH0.tar.gz) = 182479
+SHA256 (8e8d49e11772.patch) = 7bba9dc7e96961a4e9b7046c192cfe0bde7d76c9765dd3df4ad4c0368378a427
+SIZE (8e8d49e11772.patch) = 1258
+SHA256 (5dc46a5a2fab.patch) = 9d63405e05f60ac702a3842def28645907b5319dbcea124f97b965344f27cbd2
+SIZE (5dc46a5a2fab.patch) = 3602
+SHA256 (22be7754bee5.patch) = c41d0f88ed773c751d4f515d6e537232a679cbc5d38e985cb77f422259c107a9
+SIZE (22be7754bee5.patch) = 1248
+SHA256 (119a5a3ac448.patch) = d6d981539ea4c6c3143532ad0182aa68b6df72a5c58232e3692247f8afbeff6f
+SIZE (119a5a3ac448.patch) = 2064
+SHA256 (39c08a61a888.patch) = c84fedb1e77f8465c44d48e4aefd9d78399b40c3f75ac3fa8b1ae730db285e4c
+SIZE (39c08a61a888.patch) = 990
+SHA256 (fc1afd905f8c.patch) = 2afb9e9d0ad86d1b8bf286dbc9921f98c2c2efb0a0353e47d031a90dac515e3d
+SIZE (fc1afd905f8c.patch) = 1229
+SHA256 (97430842d11a.patch) = 272c10f67ac344b83d87a8662eda6f18d6955157597e4171ba060455af0e5a6a
+SIZE (97430842d11a.patch) = 1289
diff --git a/multimedia/libva-nvidia-driver/files/patch-meson.build b/multimedia/libva-nvidia-driver/files/patch-meson.build
new file mode 100644
index 000000000000..e155c3c2f0ce
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/files/patch-meson.build
@@ -0,0 +1,21 @@
+- Avoid conflict with libva-vdpau-driver
+
+--- meson.build.orig 2023-06-10 09:21:05 UTC
++++ meson.build
+@@ -71,7 +71,7 @@ shared_library(
+ nvidia_incdir = include_directories('nvidia-include')
+
+ shared_library(
+- 'nvidia_drv_video',
++ 'nvidia-drm_drv_video',
+ name_prefix: '',
+ sources: sources,
+ dependencies: deps,
+@@ -83,6 +83,6 @@ meson.add_devenv(environment({
+
+ meson.add_devenv(environment({
+ 'NVD_LOG': '1',
+- 'LIBVA_DRIVER_NAME': 'nvidia',
++ 'LIBVA_DRIVER_NAME': 'nvidia-drm',
+ 'LIBVA_DRIVERS_PATH': meson.project_build_root(),
+ }))
diff --git a/multimedia/libva-nvidia-driver/pkg-descr b/multimedia/libva-nvidia-driver/pkg-descr
new file mode 100644
index 000000000000..01d24de66009
--- /dev/null
+++ b/multimedia/libva-nvidia-driver/pkg-descr
@@ -0,0 +1,9 @@
+This is an VA-API implementation that uses NVDEC as a backend. This
+implementation is specifically designed to be used by Firefox for
+accelerated decode of web content, and may not operate correctly in
+other applications.
+
+System requirements:
+- Non-legacy NVIDIA GPU
+- nvidia-drm-kmod for DMA-BUF
+- libc6-shim (nv-sglrun) for NVDEC
diff --git a/multimedia/libva-utils/Makefile b/multimedia/libva-utils/Makefile
index c552cd5b98fd..a962befefea0 100644
--- a/multimedia/libva-utils/Makefile
+++ b/multimedia/libva-utils/Makefile
@@ -1,9 +1,10 @@
PORTNAME= libva-utils
-PORTVERSION= 2.14.0
+PORTVERSION= 2.21.0
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Collection of tests and utilities for VAAPI
+WWW= https://github.com/intel/libva-utils
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/libva-utils/distinfo b/multimedia/libva-utils/distinfo
index 7e79e963eebe..32f601039bca 100644
--- a/multimedia/libva-utils/distinfo
+++ b/multimedia/libva-utils/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1645120496
-SHA256 (intel-libva-utils-2.14.0_GH0.tar.gz) = 0ad6410aaa27d7b15dadee0f4d775d54d6394b582bf315353a4657b49c78ac31
-SIZE (intel-libva-utils-2.14.0_GH0.tar.gz) = 1241072
+TIMESTAMP = 1710231517
+SHA256 (intel-libva-utils-2.21.0_GH0.tar.gz) = 15ca12bd11c7001c04af5079512754fea6ba8d79151b9f07908c99b27622714e
+SIZE (intel-libva-utils-2.21.0_GH0.tar.gz) = 1281468
diff --git a/multimedia/libva-utils/pkg-descr b/multimedia/libva-utils/pkg-descr
index e29726bccc3a..1fd37ff63c7c 100644
--- a/multimedia/libva-utils/pkg-descr
+++ b/multimedia/libva-utils/pkg-descr
@@ -1,4 +1,2 @@
libva-utils is a collection of utilities and examples to exercise
VA-API in accordance with the libva project.
-
-WWW: https://github.com/intel/libva-utils
diff --git a/multimedia/libva-utils/pkg-plist b/multimedia/libva-utils/pkg-plist
index d67378bc3d67..70cb6fda92a6 100644
--- a/multimedia/libva-utils/pkg-plist
+++ b/multimedia/libva-utils/pkg-plist
@@ -1,3 +1,4 @@
+bin/av1encode
bin/avcenc
bin/avcstreamoutdemo
bin/h264encode
@@ -9,13 +10,16 @@ bin/mpeg2vldemo
%%X11%%bin/putsurface
%%WAYLAND%%bin/putsurface_wayland
bin/sfcsample
+bin/vacopy
bin/vainfo
bin/vavpp
bin/vp8enc
bin/vp9enc
+bin/vpp3dlut
bin/vppblending
bin/vppchromasitting
bin/vppdenoise
+bin/vpphdr_tm
bin/vppscaling_csc
bin/vppscaling_n_out_usrptr
bin/vppsharpness
diff --git a/multimedia/libva-vdpau-driver/Makefile b/multimedia/libva-vdpau-driver/Makefile
index 08eff5f11fdd..14d11fe96b9b 100644
--- a/multimedia/libva-vdpau-driver/Makefile
+++ b/multimedia/libva-vdpau-driver/Makefile
@@ -6,6 +6,7 @@ MASTER_SITES= http://www.freedesktop.org/software/vaapi/releases/${PORTNAME}/
MAINTAINER= madpilot@FreeBSD.org
COMMENT= VDPAU-based backend for VAAPI
+WWW= https://cgit.freedesktop.org/vaapi/vdpau-driver/
LICENSE= GPLv2 GPLv3
LICENSE_COMB= dual
diff --git a/multimedia/libva-vdpau-driver/pkg-descr b/multimedia/libva-vdpau-driver/pkg-descr
index dd6489230323..be4001a708e2 100644
--- a/multimedia/libva-vdpau-driver/pkg-descr
+++ b/multimedia/libva-vdpau-driver/pkg-descr
@@ -1,3 +1 @@
A VDPAU-based backend for VAAPI.
-
-WWW: https://cgit.freedesktop.org/vaapi/vdpau-driver/
diff --git a/multimedia/libva/Makefile b/multimedia/libva/Makefile
index 2015cc2f46e6..cdf180d991e8 100644
--- a/multimedia/libva/Makefile
+++ b/multimedia/libva/Makefile
@@ -1,40 +1,34 @@
PORTNAME= libva
-DISTVERSION= 2.14.0
+DISTVERSION= 2.21.0
CATEGORIES= multimedia
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= 0c9e5f2fff22.patch:-p1 # https://github.com/intel/libva/pull/292
-PATCHFILES+= 657d77406161.patch:-p1 # https://github.com/intel/libva/pull/292
+PATCHFILES+= 9ed99b6b0b3b.patch:-p1 # https://github.com/intel/libva/pull/667
+PATCHFILES+= 6b0efda45140.patch:-p1 # https://github.com/intel/libva/pull/758
MAINTAINER= jbeich@FreeBSD.org
-COMMENT?= VAAPI wrapper and dummy driver
+COMMENT= VAAPI wrapper and dummy driver
+WWW= https://github.com/intel/libva
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS+= libdrm.so:graphics/libdrm
+LIB_DEPENDS= libdrm.so:graphics/libdrm
USES= meson pkgconfig
USE_GITHUB= yes
USE_LDCONFIG= yes
GH_ACCOUNT= intel
-OPTIONS_DEFINE= GLX WAYLAND X11
-OPTIONS_DEFAULT=GLX WAYLAND X11
-OPTIONS_EXCLUDE?=GLX # enslaved until subpackaging
+OPTIONS_DEFINE= WAYLAND X11
+OPTIONS_DEFAULT=WAYLAND X11
OPTIONS_SUB= yes
-GLX_LIB_DEPENDS= libva-x11.so:multimedia/libva
-GLX_USES= gl
-GLX_USE= GL=gl
-GLX_MESON_YES= with_glx
-GLX_IMPLIES= X11
-
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
WAYLAND_MESON_YES= with_wayland
-X11_USES= xorg
-X11_USE= XORG=x11,xorgproto,xext,xfixes
-X11_MESON_YES= with_x11
+X11_USES= gl xorg
+X11_USE= GL=gl XORG=x11,xcb,xext,xfixes,xorgproto
+X11_MESON_YES= with_glx with_x11
.include <bsd.port.mk>
diff --git a/multimedia/libva/distinfo b/multimedia/libva/distinfo
index 2c8c4f95af2f..e6f0aeb50a03 100644
--- a/multimedia/libva/distinfo
+++ b/multimedia/libva/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1645025200
-SHA256 (intel-libva-2.14.0_GH0.tar.gz) = f21152a2170edda9d1c4dd463d52eaf62b553e83e553c0a946654523cca86d5e
-SIZE (intel-libva-2.14.0_GH0.tar.gz) = 266254
-SHA256 (0c9e5f2fff22.patch) = ea769e0225befd4d0046f1f6f4d60bd85c24f9c96b519c414a1597f30185abd6
-SIZE (0c9e5f2fff22.patch) = 1715
-SHA256 (657d77406161.patch) = 0aa9cc936440e07ebc748829a139546acb01256065afea4a9f5cdc131d97db9d
-SIZE (657d77406161.patch) = 1107
+TIMESTAMP = 1710231314
+SHA256 (intel-libva-2.21.0_GH0.tar.gz) = f7c3fffef3f04eb146e036dad2587d852bfb70e4926d014bf437244915ef7425
+SIZE (intel-libva-2.21.0_GH0.tar.gz) = 281515
+SHA256 (9ed99b6b0b3b.patch) = 5a0a9551c461de67a2c049bafd1bc36916d7e7d9099bb3ca3cc3845bf322b895
+SIZE (9ed99b6b0b3b.patch) = 2117
+SHA256 (6b0efda45140.patch) = ac440a6633896a35938a3c7f761fea32d6c1d75020ecbfdb51216cf603a31604
+SIZE (6b0efda45140.patch) = 2101
diff --git a/multimedia/libva/pkg-descr b/multimedia/libva/pkg-descr
index 2a510e2f0aa3..2621c2671b3d 100644
--- a/multimedia/libva/pkg-descr
+++ b/multimedia/libva/pkg-descr
@@ -2,5 +2,3 @@ VA-API is an open-source library and API specification, which provides
access to graphics hardware acceleration capabilities for video
processing. It consists of a main library and driver-specific
acceleration backends for each supported hardware vendor.
-
-WWW: https://github.com/intel/libva
diff --git a/multimedia/libva/pkg-plist b/multimedia/libva/pkg-plist
index c1037b44cf32..49cdc86b2c3e 100644
--- a/multimedia/libva/pkg-plist
+++ b/multimedia/libva/pkg-plist
@@ -1,6 +1,6 @@
include/va/va.h
include/va/va_backend.h
-%%GLX%%include/va/va_backend_glx.h
+%%X11%%include/va/va_backend_glx.h
include/va/va_backend_prot.h
include/va/va_backend_vpp.h
%%WAYLAND%%include/va/va_backend_wayland.h
@@ -11,6 +11,7 @@ include/va/va_dec_jpeg.h
include/va/va_dec_vp8.h
include/va/va_dec_vp9.h
%%X11%%include/va/va_dri2.h
+%%X11%%include/va/va_dri3.h
%%X11%%include/va/va_dricommon.h
include/va/va_drm.h
include/va/va_drmcommon.h
@@ -25,31 +26,32 @@ include/va/va_enc_vp9.h
include/va/va_fei_h264.h
include/va/va_fei_hevc.h
include/va/va_fei.h
-%%GLX%%include/va/va_glx.h
+%%X11%%include/va/va_glx.h
include/va/va_prot.h
include/va/va_str.h
include/va/va_tpi.h
+%%X11%%include/va/va_trace.h
include/va/va_version.h
include/va/va_vpp.h
%%WAYLAND%%include/va/va_wayland.h
%%X11%%include/va/va_x11.h
lib/libva-drm.so
lib/libva-drm.so.2
-lib/libva-drm.so.2.1400.0
-%%GLX%%lib/libva-glx.so
-%%GLX%%lib/libva-glx.so.2
-%%GLX%%lib/libva-glx.so.2.1400.0
+lib/libva-drm.so.2.2100.0
+%%X11%%lib/libva-glx.so
+%%X11%%lib/libva-glx.so.2
+%%X11%%lib/libva-glx.so.2.2100.0
%%WAYLAND%%lib/libva-wayland.so
%%WAYLAND%%lib/libva-wayland.so.2
-%%WAYLAND%%lib/libva-wayland.so.2.1400.0
+%%WAYLAND%%lib/libva-wayland.so.2.2100.0
%%X11%%lib/libva-x11.so
%%X11%%lib/libva-x11.so.2
-%%X11%%lib/libva-x11.so.2.1400.0
+%%X11%%lib/libva-x11.so.2.2100.0
lib/libva.so
lib/libva.so.2
-lib/libva.so.2.1400.0
+lib/libva.so.2.2100.0
libdata/pkgconfig/libva-drm.pc
-%%GLX%%libdata/pkgconfig/libva-glx.pc
+%%X11%%libdata/pkgconfig/libva-glx.pc
%%WAYLAND%%libdata/pkgconfig/libva-wayland.pc
%%X11%%libdata/pkgconfig/libva-x11.pc
libdata/pkgconfig/libva.pc
diff --git a/multimedia/libvdpau-va-gl/Makefile b/multimedia/libvdpau-va-gl/Makefile
index cf570b8541ef..6744c3645866 100644
--- a/multimedia/libvdpau-va-gl/Makefile
+++ b/multimedia/libvdpau-va-gl/Makefile
@@ -9,6 +9,7 @@ PATCHFILES= 58a98e8a735f.patch:-p1
MAINTAINER= madpilot@FreeBSD.org
COMMENT= VDPAU driver with OpenGL/VAAPI backend
+WWW= https://github.com/i-rinat/libvdpau-va-gl
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/libvdpau-va-gl/pkg-descr b/multimedia/libvdpau-va-gl/pkg-descr
index 1e074461f937..b1ce56b6d3ce 100644
--- a/multimedia/libvdpau-va-gl/pkg-descr
+++ b/multimedia/libvdpau-va-gl/pkg-descr
@@ -1,5 +1,3 @@
The package provides a generic VDPAU driver. It uses OpenGL under the
hood to accelerate drawing, scaling, and (if available) VA-API to
accelerate video decoding.
-
-WWW: https://github.com/i-rinat/libvdpau-va-gl
diff --git a/multimedia/libvdpau/Makefile b/multimedia/libvdpau/Makefile
index 133e55061b74..75dcd6cbb254 100644
--- a/multimedia/libvdpau/Makefile
+++ b/multimedia/libvdpau/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= multimedia
MAINTAINER= madpilot@FreeBSD.org
COMMENT= VDPAU wrapper and tracing library
+WWW= https://freedesktop.org/wiki/Software/VDPAU
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -14,7 +15,7 @@ USE_XORG= x11 xext xorgproto
USE_LDCONFIG= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= vdpau
-GL_COMMIT= 79f1506a3307d3275b0fdfb2e110c173f68e6f78
+GL_TAGNAME= 79f1506a3307d3275b0fdfb2e110c173f68e6f78
MESON_ARGS= -Ddocumentation=false
post-patch: .SILENT
diff --git a/multimedia/libvdpau/pkg-descr b/multimedia/libvdpau/pkg-descr
index 74295a4f62ca..28ee28024f42 100644
--- a/multimedia/libvdpau/pkg-descr
+++ b/multimedia/libvdpau/pkg-descr
@@ -1,5 +1,3 @@
VDPAU is the Video Decode and Presentation API for UNIX. It provides
an interface to video decode acceleration and presentation hardware
present in modern GPUs.
-
-WWW: http://freedesktop.org/wiki/Software/VDPAU
diff --git a/multimedia/libvlcpp/Makefile b/multimedia/libvlcpp/Makefile
index 3cd2fcd56754..fc89e2836dd9 100644
--- a/multimedia/libvlcpp/Makefile
+++ b/multimedia/libvlcpp/Makefile
@@ -1,9 +1,11 @@
PORTNAME= libvlcpp
DISTVERSION= 0.1.0.20210319
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ bindings for libvlc, VLC mediaplayer library
+WWW= https://code.videolan.org/videolan/libvlcpp
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -16,7 +18,7 @@ USE_GITLAB= yes
GL_SITE= https://code.videolan.org
GL_ACCOUNT= videolan
-GL_COMMIT= 17e622c6a23f685a60451e9611d50e361cee2278
+GL_TAGNAME= 17e622c6a23f685a60451e9611d50e361cee2278
GNU_CONFIGURE= yes
diff --git a/multimedia/libvlcpp/pkg-descr b/multimedia/libvlcpp/pkg-descr
index 9eb4bfe31736..d40a970bf832 100644
--- a/multimedia/libvlcpp/pkg-descr
+++ b/multimedia/libvlcpp/pkg-descr
@@ -1,3 +1 @@
C++ bindings for libvlc, VLC media player library.
-
-WWW: https://code.videolan.org/videolan/libvlcpp
diff --git a/multimedia/libvpx/Makefile b/multimedia/libvpx/Makefile
index c03581628869..7d86ab5d19db 100644
--- a/multimedia/libvpx/Makefile
+++ b/multimedia/libvpx/Makefile
@@ -1,12 +1,11 @@
-# Created by: Ashish SHUKLA <ashish@FreeBSD.org>
-
PORTNAME= libvpx
DISTVERSIONPREFIX= v
-DISTVERSION= 1.11.0
+DISTVERSION= 1.14.0
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= VP8/VP9 reference encoder/decoder
+WWW= https://www.webmproject.org/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/libvpx/distinfo b/multimedia/libvpx/distinfo
index 300682b17873..f360f9815cf6 100644
--- a/multimedia/libvpx/distinfo
+++ b/multimedia/libvpx/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1633542079
-SHA256 (webmproject-libvpx-v1.11.0_GH0.tar.gz) = 965e51c91ad9851e2337aebcc0f517440c637c506f3a03948062e3d5ea129a83
-SIZE (webmproject-libvpx-v1.11.0_GH0.tar.gz) = 5347256
+TIMESTAMP = 1704834742
+SHA256 (webmproject-libvpx-v1.14.0_GH0.tar.gz) = 5f21d2db27071c8a46f1725928a10227ae45c5cd1cad3727e4aafbe476e321fa
+SIZE (webmproject-libvpx-v1.14.0_GH0.tar.gz) = 5606471
diff --git a/multimedia/libvpx/files/patch-build_make_Makefile b/multimedia/libvpx/files/patch-build_make_Makefile
index 41bcf8e37f40..5fccb79db4f5 100644
--- a/multimedia/libvpx/files/patch-build_make_Makefile
+++ b/multimedia/libvpx/files/patch-build_make_Makefile
@@ -1,10 +1,10 @@
- Make sure NEON is available when building with intrinsics
---- build/make/Makefile.orig
+--- build/make/Makefile.orig 2024-01-09 21:12:22 UTC
+++ build/make/Makefile
-@@ -142,6 +142,28 @@ $(BUILD_PFX)%_avx2.c.o: CFLAGS += -mavx2
- $(BUILD_PFX)%_avx512.c.d: CFLAGS += -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl
- $(BUILD_PFX)%_avx512.c.o: CFLAGS += -mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl
+@@ -151,6 +151,28 @@ $(BUILD_PFX)%_sve.c.o: CFLAGS += -march=armv8.2-a+dotp
+ $(BUILD_PFX)%_sve.c.d: CFLAGS += -march=armv8.2-a+dotprod+i8mm+sve
+ $(BUILD_PFX)%_sve.c.o: CFLAGS += -march=armv8.2-a+dotprod+i8mm+sve
+# ARM
+ifeq ($(TGT_ISA),armv6)
@@ -31,7 +31,7 @@
# POWER
$(BUILD_PFX)%_vsx.c.d: CFLAGS += -maltivec -mvsx
$(BUILD_PFX)%_vsx.c.o: CFLAGS += -maltivec -mvsx
-@@ -230,8 +230,8 @@
+@@ -299,8 +321,8 @@ $(DIST_DIR)/$(1): $(2)
define install_map_template
$(DIST_DIR)/$(1): $(2)
$(if $(quiet),@echo " [INSTALL] $$@")
diff --git a/multimedia/libvpx/files/patch-build_make_configure.sh b/multimedia/libvpx/files/patch-build_make_configure.sh
index c2eda18109b5..64a1cd33a14b 100644
--- a/multimedia/libvpx/files/patch-build_make_configure.sh
+++ b/multimedia/libvpx/files/patch-build_make_configure.sh
@@ -2,9 +2,9 @@
- Recognize DragonFly as x86_64-linux-gcc target by default
- Don't override -march= on armv6, armv7 and aarch64
---- build/make/configure.sh.orig 2018-01-24 22:25:44 UTC
+--- build/make/configure.sh.orig 2024-01-09 21:12:22 UTC
+++ build/make/configure.sh
-@@ -696,6 +696,14 @@ process_common_toolchain() {
+@@ -752,6 +752,14 @@ process_common_toolchain() {
aarch64*)
tgt_isa=arm64
;;
@@ -19,7 +19,7 @@
armv7*-hardfloat* | armv7*-gnueabihf | arm-*-gnueabihf)
tgt_isa=armv7
float_abi=hard
-@@ -767,7 +767,7 @@ process_common_toolchain() {
+@@ -806,7 +814,7 @@ process_common_toolchain() {
[ -z "$tgt_isa" ] && tgt_isa=x86
tgt_os=win32
;;
@@ -28,18 +28,18 @@
tgt_os=linux
;;
*solaris2.10)
-@@ -914,7 +922,7 @@ process_common_toolchain() {
- arm64|armv8)
- soft_enable neon
+@@ -997,7 +1005,7 @@ EOF
+ fi
+ done
;;
- armv7|armv7s)
+ armv6|armv7|armv7s)
soft_enable neon
# Only enable neon_asm when neon is also enabled.
enabled neon && soft_enable neon_asm
-@@ -935,29 +943,6 @@
+@@ -1017,29 +1025,6 @@ EOF
+ arch_int=${tgt_isa##armv}
arch_int=${arch_int%%te}
- check_add_asflags --defsym ARCHITECTURE=${arch_int}
tune_cflags="-mtune="
- if [ ${tgt_isa} = "armv7" ] || [ ${tgt_isa} = "armv7s" ]; then
- if [ -z "${float_abi}" ]; then
@@ -65,5 +65,5 @@
- fi
-
enabled debug && add_asflags -g
- asm_conversion_cmd="${source_path}/build/make/ads2gas.pl"
- if enabled thumb; then
+ asm_conversion_cmd="${source_path_mk}/build/make/ads2gas.pl"
+
diff --git a/multimedia/libvpx/files/patch-configure b/multimedia/libvpx/files/patch-configure
index 9891cc480b93..6fb4bb43e7bd 100644
--- a/multimedia/libvpx/files/patch-configure
+++ b/multimedia/libvpx/files/patch-configure
@@ -2,17 +2,17 @@
- --version is a GNUism which BSD diff doesn't support
- Skip bogus NEON check when soft-enabled on armv6
---- configure.orig 2019-02-04 17:02:33 UTC
+--- configure.orig 2024-01-09 21:12:22 UTC
+++ configure
-@@ -103,6 +103,7 @@ all_platforms="${all_platforms} arm64-darwin-gcc"
- all_platforms="${all_platforms} arm64-linux-gcc"
- all_platforms="${all_platforms} arm64-win64-gcc"
- all_platforms="${all_platforms} arm64-win64-vs15"
+@@ -110,6 +110,7 @@ all_platforms="${all_platforms} arm64-win64-vs17-clang
+ all_platforms="${all_platforms} arm64-win64-vs16-clangcl"
+ all_platforms="${all_platforms} arm64-win64-vs17"
+ all_platforms="${all_platforms} arm64-win64-vs17-clangcl"
+all_platforms="${all_platforms} armv6-linux-gcc"
all_platforms="${all_platforms} armv7-android-gcc" #neon Cortex-A8
all_platforms="${all_platforms} armv7-darwin-gcc" #neon Cortex-A8
all_platforms="${all_platforms} armv7-linux-rvct" #neon Cortex-A8
-@@ -116,6 +117,7 @@ all_platforms="${all_platforms} armv8-linux-gcc"
+@@ -127,6 +128,7 @@ all_platforms="${all_platforms} ppc64le-linux-gcc"
all_platforms="${all_platforms} mips32-linux-gcc"
all_platforms="${all_platforms} mips64-linux-gcc"
all_platforms="${all_platforms} ppc64le-linux-gcc"
@@ -20,7 +20,7 @@
all_platforms="${all_platforms} sparc-solaris-gcc"
all_platforms="${all_platforms} x86-android-gcc"
all_platforms="${all_platforms} x86-darwin8-gcc"
-@@ -166,7 +168,7 @@ for t in ${all_targets}; do
+@@ -187,7 +189,7 @@ done
[ -f "${source_path}/${t}.mk" ] && enable_feature ${t}
done
@@ -29,7 +29,7 @@
die "diff missing: Try installing diffutils via your package manager."
fi
-@@ -591,9 +593,6 @@ EOF
+@@ -633,9 +635,6 @@ EOF
check_header vpx/vpx_integer.h -I${source_path} && enable_feature vpx_ports
diff --git a/multimedia/libvpx/files/patch-libs.mk b/multimedia/libvpx/files/patch-libs.mk
index 5a1cfab21b74..1f6624fd2b24 100644
--- a/multimedia/libvpx/files/patch-libs.mk
+++ b/multimedia/libvpx/files/patch-libs.mk
@@ -1,6 +1,6 @@
---- libs.mk.orig 2017-01-12 20:27:27 UTC
+--- libs.mk.orig 2024-01-09 21:12:22 UTC
+++ libs.mk
-@@ -339,8 +339,8 @@ else
+@@ -408,8 +408,8 @@ endif
$(qexec)echo 'Libs.private: -lm' >> $@
endif
$(qexec)echo 'Cflags: -I$${includedir}' >> $@
@@ -9,5 +9,5 @@
+INSTALL-LIBS-yes += libdata/pkgconfig/vpx.pc
+INSTALL_MAPS += libdata/pkgconfig/%.pc %.pc
CLEAN-OBJS += vpx.pc
- endif
+ ifeq ($(CONFIG_ENCODERS),yes)
diff --git a/multimedia/libvpx/files/patch-vpx__ports_aarch32__cpudetect.c b/multimedia/libvpx/files/patch-vpx__ports_aarch32__cpudetect.c
new file mode 100644
index 000000000000..a6d4484fefe3
--- /dev/null
+++ b/multimedia/libvpx/files/patch-vpx__ports_aarch32__cpudetect.c
@@ -0,0 +1,39 @@
+- Assume NEON is enabled on armv7
+- Implement runtime detection on FreeBSD
+
+--- vpx_ports/aarch32_cpudetect.c.orig 2024-01-09 21:12:22 UTC
++++ vpx_ports/aarch32_cpudetect.c
+@@ -12,7 +12,7 @@
+ #include "./vpx_config.h"
+ #include "arm_cpudetect.h"
+
+-#if !CONFIG_RUNTIME_CPU_DETECT
++#if !CONFIG_RUNTIME_CPU_DETECT || defined(__ARM_NEON)
+
+ static int arm_get_cpu_caps(void) {
+ // This function should actually be a no-op. There is no way to adjust any of
+@@ -57,9 +57,23 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(AOM_USE_ANDROID_CPU_FEATURES)
+
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/multimedia/libvpx/files/patch-vpx__ports_aarch64__cpudetect.c b/multimedia/libvpx/files/patch-vpx__ports_aarch64__cpudetect.c
new file mode 100644
index 000000000000..440a7a558cb8
--- /dev/null
+++ b/multimedia/libvpx/files/patch-vpx__ports_aarch64__cpudetect.c
@@ -0,0 +1,29 @@
+- Implement runtime detection on FreeBSD
+
+--- vpx_ports/aarch64_cpudetect.c.orig 2024-01-09 21:12:22 UTC
++++ vpx_ports/aarch64_cpudetect.c
+@@ -91,9 +91,23 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(VPX_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(VPX_USE_ANDROID_CPU_FEATURES)
+
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/multimedia/libvpx/files/patch-vpx__ports_arm__cpudetect.c b/multimedia/libvpx/files/patch-vpx__ports_arm__cpudetect.c
deleted file mode 100644
index 14978d7f8f2f..000000000000
--- a/multimedia/libvpx/files/patch-vpx__ports_arm__cpudetect.c
+++ /dev/null
@@ -1,38 +0,0 @@
---- vpx_ports/arm_cpudetect.c.orig 2021-03-18 19:59:46 UTC
-+++ vpx_ports/arm_cpudetect.c
-@@ -38,7 +38,7 @@ static int arm_cpu_env_mask(void) {
- return env && *env ? (int)strtol(env, NULL, 0) : ~0;
- }
-
--#if !CONFIG_RUNTIME_CPU_DETECT
-+#if !CONFIG_RUNTIME_CPU_DETECT || defined(__ARM_NEON)
-
- int arm_cpu_caps(void) {
- /* This function should actually be a no-op. There is no way to adjust any of
-@@ -147,7 +147,25 @@ int arm_cpu_caps(void) {
- }
- return flags & mask;
- }
--#else /* end __linux__ */
-+#elif defined(__FreeBSD__)
-+
-+#include <sys/auxv.h>
-+
-+int arm_cpu_caps(void) {
-+ int flags;
-+ int mask;
-+ u_long hwcap = 0;
-+ if (!arm_cpu_env_flags(&flags)) {
-+ return flags;
-+ }
-+ mask = arm_cpu_env_mask();
-+ elf_aux_info(AT_HWCAP, &hwcap, sizeof(hwcap));
-+#if HAVE_NEON || HAVE_NEON_ASM
-+ if (hwcap & HWCAP_NEON) flags |= HAS_NEON;
-+#endif
-+ return flags & mask;
-+}
-+#else /* end __FreeBSD__ */
- #error \
- "--enable-runtime-cpu-detect selected, but no CPU detection method " \
- "available for your platform. Reconfigure with --disable-runtime-cpu-detect."
diff --git a/multimedia/libvpx/pkg-descr b/multimedia/libvpx/pkg-descr
index 3e0f9a44cf3d..2024fc31b2fa 100644
--- a/multimedia/libvpx/pkg-descr
+++ b/multimedia/libvpx/pkg-descr
@@ -1,3 +1 @@
libvpx is the VP8/VP9 Codec SDK.
-
-WWW: https://www.webmproject.org/
diff --git a/multimedia/libvpx/pkg-plist b/multimedia/libvpx/pkg-plist
index a29fb2806f82..b48a4cc542fe 100644
--- a/multimedia/libvpx/pkg-plist
+++ b/multimedia/libvpx/pkg-plist
@@ -10,9 +10,10 @@ include/vpx/vpx_ext_ratectrl.h
include/vpx/vpx_frame_buffer.h
include/vpx/vpx_image.h
include/vpx/vpx_integer.h
+include/vpx/vpx_tpl.h
lib/libvpx.a
lib/libvpx.so
-lib/libvpx.so.7
-lib/libvpx.so.7.0
-lib/libvpx.so.7.0.0
+lib/libvpx.so.9
+lib/libvpx.so.9.0
+lib/libvpx.so.9.0.0
libdata/pkgconfig/vpx.pc
diff --git a/multimedia/libwebm/Makefile b/multimedia/libwebm/Makefile
new file mode 100644
index 000000000000..8e3f769a3eaf
--- /dev/null
+++ b/multimedia/libwebm/Makefile
@@ -0,0 +1,24 @@
+PORTNAME= libwebm
+DISTVERSIONPREFIX= libwebm-
+DISTVERSION= 1.0.0.31
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= WebM video format
+WWW= https://www.webmproject.org/
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
+
+USES= cmake:testing compiler:c++11-lang
+
+USE_GITHUB= yes
+GH_ACCOUNT= webmproject
+GH_TUPLE= google:googletest:release-1.11.0:gtest/../googletest
+
+CMAKE_ON= ENABLE_IWYU \
+ ENABLE_WEBM_PARSER \
+ BUILD_SHARED_LIBS
+CMAKE_TESTING_ON= ENABLE_TESTS # it's not clear how to run tests, some test executables show failures when run
+
+.include <bsd.port.mk>
diff --git a/multimedia/libwebm/distinfo b/multimedia/libwebm/distinfo
new file mode 100644
index 000000000000..9d15f6e8a634
--- /dev/null
+++ b/multimedia/libwebm/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1708391912
+SHA256 (webmproject-libwebm-libwebm-1.0.0.31_GH0.tar.gz) = 616cfdca1c869222dc60d5a49d112c1464040390e3876afca4d385347c6ce55e
+SIZE (webmproject-libwebm-libwebm-1.0.0.31_GH0.tar.gz) = 501573
+SHA256 (google-googletest-release-1.11.0_GH0.tar.gz) = b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5
+SIZE (google-googletest-release-1.11.0_GH0.tar.gz) = 886330
diff --git a/multimedia/libwebm/pkg-descr b/multimedia/libwebm/pkg-descr
new file mode 100644
index 000000000000..7f36f75fad00
--- /dev/null
+++ b/multimedia/libwebm/pkg-descr
@@ -0,0 +1,9 @@
+WebM is an open, royalty-free, media file format designed for
+the web.
+
+WebM defines the file container structure, video and audio formats.
+WebM files consist of video streams compressed with the VP8 or VP9
+video codecs and audio streams compressed with the Vorbis or Opus
+audio codecs.
+
+The WebM file structure is based on the Matroska container.
diff --git a/multimedia/libwebm/pkg-plist b/multimedia/libwebm/pkg-plist
new file mode 100644
index 000000000000..873ddd836c4b
--- /dev/null
+++ b/multimedia/libwebm/pkg-plist
@@ -0,0 +1,18 @@
+include/webm/buffer_reader.h
+include/webm/callback.h
+include/webm/common/webmids.h
+include/webm/dom_types.h
+include/webm/element.h
+include/webm/file_reader.h
+include/webm/id.h
+include/webm/istream_reader.h
+include/webm/mkvmuxer/mkvmuxer.h
+include/webm/mkvmuxer/mkvmuxertypes.h
+include/webm/mkvmuxer/mkvmuxerutil.h
+include/webm/mkvmuxer/mkvwriter.h
+include/webm/mkvparser/mkvparser.h
+include/webm/mkvparser/mkvreader.h
+include/webm/reader.h
+include/webm/status.h
+include/webm/webm_parser.h
+lib/libwebm.so
diff --git a/multimedia/libx264/Makefile b/multimedia/libx264/Makefile
index b059a7833efa..487cb9514621 100644
--- a/multimedia/libx264/Makefile
+++ b/multimedia/libx264/Makefile
@@ -1,4 +1,3 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
#
# Updating notes: see multimedia/x264/Makefile.
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile
index 982f05d0ef01..a8b755a25bf3 100644
--- a/multimedia/libxine/Makefile
+++ b/multimedia/libxine/Makefile
@@ -1,15 +1,14 @@
-# Created by: alex
-
PORTNAME= xine
-DISTVERSION= 1.2.12
-PORTREVISION= 1
+DISTVERSION= 1.2.13
+PORTREVISION= 9
CATEGORIES= multimedia
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-lib/${PORTVERSION}
+MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-lib/${DISTVERSION}
PKGNAMEPREFIX= lib
-DISTNAME= ${PORTNAME}-lib-${PORTVERSION}
+DISTNAME= ${PORTNAME}-lib-${DISTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Libraries for xine multimedia player
+WWW= https://www.xine-project.org/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -44,6 +43,7 @@ LLD_UNSAFE= yes
CPE_PRODUCT= xine-lib
CPE_VENDOR= xine
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_XORG= x11 xcb xv xinerama xext sm ice
USE_GL= gl glu
USE_PERL5= build
@@ -51,7 +51,8 @@ USE_LDCONFIG= yes
CONFIGURE_ARGS= --with-libflac \
--enable-musepack \
--enable-real-codecs \
- --without-esound
+ --without-esound \
+ --disable-crypto
MAKE_ENV= V=1
MAKE_ARGS= pkgdatadir="${DATADIR}" \
@@ -63,7 +64,7 @@ CFLAGS_i386= -fomit-frame-pointer
DOCSDIR= ${PREFIX}/share/doc/xine-lib
# Please sync with XINE_PLUGINSDIR in multimedia/xine
# and multimedia/vdr-plugin-xineliboutput
-PLUGINSDIR= lib/xine/plugins/2.10
+PLUGINSDIR= lib/xine/plugins/2.11
PLIST_SUB= PLUGINSDIR="${PLUGINSDIR}"
OPTIONS_DEFINE= AALIB ALSA AOM CACA DAV1D DOCS DMX_IMAGE DVB \
@@ -133,8 +134,7 @@ SMB_CONFIGURE_ENV= LIBSMBCLIENT_LIBS="-L${SAMBALIBS} -lsmbclient" \
SMB_CONFIGURE_ENABLE= samba
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
SNDIO_CONFIGURE_ENABLE= sndio
-VAAPI_LIB_DEPENDS= libva.so:multimedia/libva \
- libva-glx.so:multimedia/libva-glx
+VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
VAAPI_CONFIGURE_ENABLE= vaapi
V4L_BUILD_DEPENDS= v4l_compat>=1.0.20100321:multimedia/v4l_compat
V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
@@ -171,6 +171,8 @@ pre-configure-GNUTLS-off:
${WRKSRC}/configure
post-patch:
+ @${REINPLACE_CMD} -e '/xine_set_flags/s/XINE_PROTECTED//' \
+ ${WRKSRC}/include/xine.h
.if ${COMPILER_TYPE} == "clang"
@${REINPLACE_CMD} -e 's|-fno-rename-registers||' \
${WRKSRC}/src/libw32dll/Makefile.in
diff --git a/multimedia/libxine/distinfo b/multimedia/libxine/distinfo
index a072dcd0da74..15caf696f97f 100644
--- a/multimedia/libxine/distinfo
+++ b/multimedia/libxine/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1646930905
-SHA256 (xine-lib-1.2.12.tar.xz) = d606270468e1540c2a89c0d7f5fdf11e17ecc0c2698cc0bcb1065ff26abee098
-SIZE (xine-lib-1.2.12.tar.xz) = 5341212
+TIMESTAMP = 1679084820
+SHA256 (xine-lib-1.2.13.tar.xz) = 5f10d6d718a4a51c17ed1b32b031d4f9b80b061e8276535b2be31e5ac4b75e6f
+SIZE (xine-lib-1.2.13.tar.xz) = 5004196
diff --git a/multimedia/libxine/files/patch-configure b/multimedia/libxine/files/patch-configure
index 5ef94ba0253e..05d52d8a2e80 100644
--- a/multimedia/libxine/files/patch-configure
+++ b/multimedia/libxine/files/patch-configure
@@ -27,47 +27,3 @@
*) have_dvb=no ;;
esac
if test x"$hard_enable_dvb" = x"yes" && test x"$have_dvb" != x"yes"; then
-@@ -32826,12 +32826,12 @@ if test -n "$PKG_CONFIG"; then
- pkg_cv_LIBMAD_CFLAGS="$LIBMAD_CFLAGS"
- else
- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mad\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "mad") 2>&5
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libmad\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "libmad") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_LIBMAD_CFLAGS=`$PKG_CONFIG --cflags "mad" 2>/dev/null`
-+ pkg_cv_LIBMAD_CFLAGS=`$PKG_CONFIG --cflags "libmad" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -32844,12 +32844,12 @@ if test -n "$PKG_CONFIG"; then
- pkg_cv_LIBMAD_LIBS="$LIBMAD_LIBS"
- else
- if test -n "$PKG_CONFIG" && \
-- { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"mad\""; } >&5
-- ($PKG_CONFIG --exists --print-errors "mad") 2>&5
-+ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libmad\""; } >&5
-+ ($PKG_CONFIG --exists --print-errors "libmad") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then
-- pkg_cv_LIBMAD_LIBS=`$PKG_CONFIG --libs "mad" 2>/dev/null`
-+ pkg_cv_LIBMAD_LIBS=`$PKG_CONFIG --libs "libmad" 2>/dev/null`
- else
- pkg_failed=yes
- fi
-@@ -32868,9 +32868,9 @@ else
- _pkg_short_errors_supported=no
- fi
- if test $_pkg_short_errors_supported = yes; then
-- LIBMAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "mad"`
-+ LIBMAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libmad"`
- else
-- LIBMAD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "mad"`
-+ LIBMAD_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libmad"`
- fi
- # Put the nasty error message in config.log where it belongs
- echo "$LIBMAD_PKG_ERRORS" >&5
diff --git a/multimedia/libxine/files/patch-dav1d-1.0 b/multimedia/libxine/files/patch-dav1d-1.0
deleted file mode 100644
index e18689712281..000000000000
--- a/multimedia/libxine/files/patch-dav1d-1.0
+++ /dev/null
@@ -1,47 +0,0 @@
-https://sourceforge.net/p/xine/tickets/11/
-
-dav1d.c:547:12: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
- ~~~~~~~~ ^
-dav1d.c:548:12: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
- ~~~~~~~~ ^
-dav1d.c:548:52: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
- ~~~~~~~~ ^
-dav1d.c:548:52: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
- ~~~~~~~~ ^
-/usr/include/sys/param.h:306:34: note: expanded from macro 'MAX'
-#define MAX(a,b) (((a)>(b))?(a):(b))
- ^
-dav1d.c:551:22: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- settings.n_frame_threads, settings.n_tile_threads);
- ~~~~~~~~ ^
-dav1d.c:551:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- settings.n_frame_threads, settings.n_tile_threads);
- ~~~~~~~~ ^
-../../include/xine/xineutils.h:687:40: note: expanded from macro 'xprintf'
- xine_log(xine, XINE_LOG_TRACE, __VA_ARGS__); \
- ^~~~~~~~~~~
-
---- src/video_dec/dav1d.c.orig 2022-03-06 16:31:24 UTC
-+++ src/video_dec/dav1d.c
-@@ -544,11 +544,17 @@ static video_decoder_t *_open_plugin(video_decoder_cla
-
- /* multithreading */
- ncpu = xine_cpu_count();
-+#if DAV1D_API_VERSION_MAJOR > 5
-+ settings.n_threads = ncpu + 1;
-+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
-+ "Using %d threads\n", settings.n_threads);
-+#else
- settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2;
- settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1);
- xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": "
- "Using %d frame threads, %d tile threads\n",
- settings.n_frame_threads, settings.n_tile_threads);
-+#endif
-
- /* dri frame allocator */
- settings.allocator.cookie = this;
diff --git a/multimedia/libxine/files/patch-include-xine-xineutils.h b/multimedia/libxine/files/patch-include-xine-xineutils.h
deleted file mode 100644
index 93609a722522..000000000000
--- a/multimedia/libxine/files/patch-include-xine-xineutils.h
+++ /dev/null
@@ -1,22 +0,0 @@
-Unbreak build of phonon-xine
-
-In file included from xine/plugins.c:23:
-In file included from /usr/local/include/xine/input_plugin.h:27:
-/usr/local/include/xine/xineutils.h:197:8: error: unknown type name 'inline'
-static inline void _x_freep(void *ptr) {
- ^
-/usr/local/include/xine/xineutils.h:197:15: error: expected identifier or '('
-static inline void _x_freep(void *ptr) {
- ^
-
---- include/xine/xineutils.h.orig
-+++ include/xine/xineutils.h
-@@ -146,7 +146,7 @@ void *xine_xcalloc(size_t nmemb, size_t
- * Free allocated memory and set pointer to NULL
- * @param ptr Pointer to the pointer to the memory block which should be freed.
- */
--static inline void _x_freep(void *ptr) {
-+static void _x_freep(void *ptr) {
- void **p = (void **)ptr;
- free (*p);
- *p = NULL;
diff --git a/multimedia/libxine/files/patch-src_combined_ffmpeg_demux__avformat.c b/multimedia/libxine/files/patch-src_combined_ffmpeg_demux__avformat.c
new file mode 100644
index 000000000000..954c65f363e8
--- /dev/null
+++ b/multimedia/libxine/files/patch-src_combined_ffmpeg_demux__avformat.c
@@ -0,0 +1,35 @@
+--- src/combined/ffmpeg/demux_avformat.c.orig 2022-09-08 21:43:29 UTC
++++ src/combined/ffmpeg/demux_avformat.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2013-2022 the xine project
++ * Copyright (C) 2013-2023 the xine project
+ * Copyright (C) 2013-2020 Petri Hintukainen <phintuka@users.sourceforge.net>
+ *
+ * This file is part of xine, a free video player.
+@@ -423,8 +423,13 @@ static int find_avformat_streams(avformat_demux_plugin
+ }
+
+ #ifdef XFF_CODECPAR
++# if XFF_AUDIO_CHANNEL_LAYOUT < 2
+ if (st->codecpar && st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
+ st->codecpar->sample_rate != 0 && st->codecpar->channels != 0)
++# else
++ if (st->codecpar && st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
++ st->codecpar->sample_rate != 0 && st->codecpar->ch_layout.nb_channels != 0)
++# endif
+ #else
+ if (st->codec && st->codec->codec_type == AVMEDIA_TYPE_AUDIO &&
+ st->codec->sample_rate != 0 && st->codec->channels != 0)
+@@ -501,7 +506,11 @@ static void send_headers_audio(avformat_demux_plugin_t
+ buf->size = extradata_size + sizeof(xine_waveformatex);
+ buf->decoder_info[1] = ctx->sample_rate;
+ buf->decoder_info[2] = ctx->bits_per_coded_sample;
++#if XFF_AUDIO_CHANNEL_LAYOUT < 2
+ buf->decoder_info[3] = ctx->channels;
++#else
++ buf->decoder_info[3] = ctx->ch_layout.nb_channels;
++#endif
+ buf->decoder_flags = BUF_FLAG_HEADER | BUF_FLAG_STDHEADER | BUF_FLAG_FRAME_END;
+
+ this->stream->audio_fifo->put (this->stream->audio_fifo, buf);
diff --git a/multimedia/libxine/files/patch-src_combined_ffmpeg_ff__audio__decoder.c b/multimedia/libxine/files/patch-src_combined_ffmpeg_ff__audio__decoder.c
new file mode 100644
index 000000000000..2108a84e9540
--- /dev/null
+++ b/multimedia/libxine/files/patch-src_combined_ffmpeg_ff__audio__decoder.c
@@ -0,0 +1,152 @@
+--- src/combined/ffmpeg/ff_audio_decoder.c.orig 2022-09-08 21:43:29 UTC
++++ src/combined/ffmpeg/ff_audio_decoder.c
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2001-2022 the xine project
++ * Copyright (C) 2001-2023 the xine project
+ *
+ * This file is part of xine, a free video player.
+ *
+@@ -303,7 +303,11 @@ static void ff_audio_init_codec(ff_audio_decoder_t *th
+
+ this->context->bits_per_sample = this->ff_bits;
+ this->context->sample_rate = this->ff_sample_rate;
++#if XFF_AUDIO_CHANNEL_LAYOUT < 2
+ this->context->channels = this->ff_channels;
++#else
++ this->context->ch_layout.nb_channels = this->ff_channels;
++#endif
+ this->context->codec_id = this->codec->id;
+ this->context->codec_type = this->codec->type;
+ this->context->codec_tag = _x_stream_info_get(this->stream, XINE_STREAM_INFO_AUDIO_FOURCC);
+@@ -527,17 +531,76 @@ static void ff_audio_output_close(ff_audio_decoder_t *
+ this->ao_mode = 0;
+ }
+
++static unsigned int ff_list_channels (uint8_t *list, uint64_t map) {
++ unsigned int n, bit;
++
++ for (n = bit = 0; map; map >>= 1, bit++) {
++ uint32_t b = map & 1;
++
++ list[n] = bit;
++ n += b;
++ }
++ return n;
++}
++
+ static void ff_map_channels (ff_audio_decoder_t *this) {
+ uint64_t ff_map;
++ uint8_t ff_list[64];
++ unsigned int ff_num;
++ const char *type = "native";
+ int caps = this->stream->audio_out->get_capabilities (this->stream->audio_out);
+
++#if XFF_AUDIO_CHANNEL_LAYOUT < 2
++
+ /* safety kludge for very old libavcodec */
+-#ifdef AV_CH_FRONT_LEFT
++# ifdef AV_CH_FRONT_LEFT
+ ff_map = this->context->channel_layout;
+ if (!ff_map) /* wma2 bug */
+-#endif
++# endif
+ ff_map = ((uint64_t)1 << this->context->channels) - 1;
++ ff_num = ff_list_channels (ff_list, ff_map);
+
++#else /* XFF_AUDIO_CHANNEL_LAYOUT == 2 */
++
++ ff_num = this->context->ch_layout.nb_channels;
++ if (ff_num > (int)(sizeof (ff_list) / sizeof (ff_list[0])))
++ ff_num = sizeof (ff_list) / sizeof (ff_list[0]);
++ switch (this->context->ch_layout.order) {
++ const AVChannelCustom *cmap;
++ unsigned int i;
++
++ case AV_CHANNEL_ORDER_UNSPEC:
++ type = "unknown";
++ goto _fallback;
++
++ case AV_CHANNEL_ORDER_NATIVE:
++ ff_map = this->context->ch_layout.u.mask;
++ if (!ff_map) /* wma2 bug */
++ ff_map = ((uint64_t)1 << ff_num) - 1;
++ ff_num = ff_list_channels (ff_list, ff_map);
++ break;
++
++ case AV_CHANNEL_ORDER_CUSTOM:
++ type = "custom";
++ if (!(cmap = this->context->ch_layout.u.map))
++ goto _fallback;
++ ff_map = 0;
++ for (i = 0; i < ff_num; i++) {
++ ff_list[i] = cmap[i].id;
++ ff_map |= (uint64_t)1 << ff_list[i];
++ }
++ break;
++
++ default:
++ type = "unsupported";
++ /* fall through */
++ _fallback:
++ ff_map = ((uint64_t)1 << ff_num) - 1;
++ ff_num = ff_list_channels (ff_list, ff_map);
++ }
++
++#endif
++
+ if ((caps != this->ao_caps) || (ff_map != this->ff_map)) {
+ unsigned int i, j;
+ /* ff: see names[] below; xine: L R RL RR C LFE */
+@@ -562,7 +625,7 @@ static void ff_map_channels (ff_audio_decoder_t *this)
+
+ this->ao_caps = caps;
+ this->ff_map = ff_map;
+- this->ff_channels = this->context->channels;
++ this->ff_channels = ff_num;
+
+ /* silence out */
+ for (i = 0; i < MAX_CHANNELS; i++)
+@@ -576,20 +639,23 @@ static void ff_map_channels (ff_audio_decoder_t *this)
+ this->left[0] = this->right[0] = 0;
+ tries = wishlist + 0 * num_modes;
+ } else if (this->ff_channels == 2) { /* stereo */
++ /* FIXME: libxine does not yet support audio selection _after_ decoding.
++ * For now, treat the most common "dual mono" case as stereo. */
+ name_map[0] = 0;
+ name_map[1] = 1;
+ this->left[0] = 0;
+ this->right[0] = 1;
+ tries = wishlist + 1 * num_modes;
+ } else {
+- for (i = j = 0; i < sizeof (base_map) / sizeof (base_map[0]); i++) {
+- if ((ff_map >> i) & 1) {
+- int8_t target = base_map[i];
+- if ((target >= 0) && (this->map[target] < 0))
+- this->map[target] = j;
+- name_map[j] = i; /* for debug output below */
+- j++;
+- }
++ for (i = 0; i < ff_num; i++) {
++ int8_t target;
++ uint32_t num = ff_list[i];
++ if (num >= sizeof (base_map) / sizeof (base_map[0]))
++ continue;
++ target = base_map[num];
++ if ((target >= 0) && (this->map[target] < 0))
++ this->map[target] = i;
++ name_map[i] = num; /* for debug output below */
+ }
+ this->left[0] = this->map[0] < 0 ? 0 : this->map[0];
+ this->map[0] = -1;
+@@ -641,8 +707,8 @@ static void ff_map_channels (ff_audio_decoder_t *this)
+ "rear center",
+ "side left", "side right"
+ };
+- int8_t buf[200];
+- int p = sprintf (buf, "ff_audio_dec: channel layout: ");
++ int8_t buf[256];
++ int p = sprintf (buf, "ff_audio_dec: %s channel layout: ", type);
+ int8_t *indx = this->left;
+ for (i = 0; i < 2; i++) {
+ buf[p++] = '[';
diff --git a/multimedia/libxine/pkg-descr b/multimedia/libxine/pkg-descr
index 0cca7a0950ae..2d2a3c4b2fbe 100644
--- a/multimedia/libxine/pkg-descr
+++ b/multimedia/libxine/pkg-descr
@@ -4,5 +4,3 @@ drives, and displays multimedia streamed over the Internet. It interprets many
of the most common multimedia formats available.
These are the libraries for the xine.
-
-WWW: http://www.xine-project.org/
diff --git a/multimedia/libxine/pkg-plist b/multimedia/libxine/pkg-plist
index ef0cd825e3f3..7bca936938b6 100644
--- a/multimedia/libxine/pkg-plist
+++ b/multimedia/libxine/pkg-plist
@@ -49,7 +49,7 @@ lib/libxine.la
lib/libxine-interface.la
lib/libxine.so
lib/libxine.so.2
-lib/libxine.so.2.10.0
+lib/libxine.so.2.11.0
%%PLUGINSDIR%%/mime.types
%%PLUGINSDIR%%/post/xineplug_post_audio_filters.so
%%PLUGINSDIR%%/post/xineplug_post_goom.so
@@ -147,9 +147,9 @@ lib/libxine.so.2.10.0
%%WAVPACK%%%%PLUGINSDIR%%/xineplug_wavpack.so
%%PLUGINSDIR%%/xineplug_xiph.so
libdata/pkgconfig/libxine.pc
-man/man1/xine-config.1.gz
-man/man1/xine-list-1.2.1.gz
-man/man5/xine.5.gz
+share/man/man1/xine-config.1.gz
+share/man/man1/xine-list-1.2.1.gz
+share/man/man5/xine.5.gz
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/CREDITS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
diff --git a/multimedia/libxspf/Makefile b/multimedia/libxspf/Makefile
index 001880ff5e02..f78706c40cf2 100644
--- a/multimedia/libxspf/Makefile
+++ b/multimedia/libxspf/Makefile
@@ -1,5 +1,3 @@
-# Created by: Ed Schouten <ed@FreeBSD.org>
-
PORTNAME= libxspf
PORTVERSION= 1.2.0
PORTREVISION= 2
@@ -8,6 +6,7 @@ MASTER_SITES= SF/libspiff/Sources/${PORTVERSION}
MAINTAINER= ed@FreeBSD.org
COMMENT= XSPF parsing library
+WWW= https://libspiff.sourceforge.net/
LIB_DEPENDS= libexpat.so:textproc/expat2
diff --git a/multimedia/libxspf/pkg-descr b/multimedia/libxspf/pkg-descr
index 52e14d25aa69..5b60900047e8 100644
--- a/multimedia/libxspf/pkg-descr
+++ b/multimedia/libxspf/pkg-descr
@@ -1,5 +1,3 @@
libxspf is a parser library for the XML Shareable Playlist Format
(XSPF). XSPF is an open format for playlists. The XSPF specification has
been written by Xiph.
-
-WWW: http://libspiff.sourceforge.net/
diff --git a/multimedia/libzen/Makefile b/multimedia/libzen/Makefile
index 6c3e8446cd3f..85aeaa75d82b 100644
--- a/multimedia/libzen/Makefile
+++ b/multimedia/libzen/Makefile
@@ -1,33 +1,28 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
PORTNAME= libzen
-PORTVERSION= 22.03
+PORTVERSION= 0.4.41.${MEDIAINFO_VERSION}
+PORTEPOCH= 3
CATEGORIES= multimedia
-MASTER_SITES= https://mediaarea.net/download/binary/mediainfo/${PORTVERSION}/ \
+MASTER_SITES= https://mediaarea.net/download/binary/mediainfo/${MEDIAINFO_VERSION}/ \
LOCAL/sunpoet
-DISTNAME= MediaInfo_CLI_${PORTVERSION}_GNU_FromSource
+DISTNAME= MediaInfo_CLI_${MEDIAINFO_VERSION}_GNU_FromSource
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= ZenLib used by MediaInfo and its library
+WWW= https://mediaarea.net/en/MediaInfo \
+ https://github.com/MediaArea/ZenLib
LICENSE= ZLIB
LICENSE_FILE= ${WRKSRC}/../../../License.txt
-USES= compiler:c++11-lang libtool pathfix tar:xz
+USES= compiler:c++11-lang dos2unix libtool pathfix tar:xz
CONFIGURE_ARGS= --enable-shared --enable-static
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
-USE_CXXSTD= c++11
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/MediaInfo_CLI_GNU_FromSource/ZenLib/Project/GNU/Library
-post-patch:
- @${REINPLACE_CMD} -e '/^ZenLib_LIBS/ s|$$(pwd)[^ ]*|${LOCALBASE}/lib|' ${WRKSRC}/configure
- @${REINPLACE_CMD} -e 's| -lstdc++||g' ${WRKSRC}/configure ${WRKSRC}/libzen.pc.in
-
-post-install:
- ${INSTALL_DATA} ${WRKSRC}/../../../Source/ZenLib/BitStream_Fast.h ${STAGEDIR}${PREFIX}/include/ZenLib/BitStream_Fast.h
+MEDIAINFO_VERSION= 24.03
.include <bsd.port.mk>
diff --git a/multimedia/libzen/distinfo b/multimedia/libzen/distinfo
index 176045aa250a..a3f652670744 100644
--- a/multimedia/libzen/distinfo
+++ b/multimedia/libzen/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649423688
-SHA256 (MediaInfo_CLI_22.03_GNU_FromSource.tar.xz) = 3ff154367b0216a55c78ec48b431dfab8fbefed321869f11295f27918b4a9255
-SIZE (MediaInfo_CLI_22.03_GNU_FromSource.tar.xz) = 3311908
+TIMESTAMP = 1711860483
+SHA256 (MediaInfo_CLI_24.03_GNU_FromSource.tar.xz) = d4aadbc9083b4a1d24c040d4fa6cfb6c77e0ee22b8c52e5d25c93c2cbf2b372a
+SIZE (MediaInfo_CLI_24.03_GNU_FromSource.tar.xz) = 3473824
diff --git a/multimedia/libzen/pkg-descr b/multimedia/libzen/pkg-descr
index d314f38c5eff..efdc90b6a90b 100644
--- a/multimedia/libzen/pkg-descr
+++ b/multimedia/libzen/pkg-descr
@@ -2,6 +2,3 @@ MediaInfo is a convenient unified display of the most relevant technical and
tag data for video and audio files.
Read http://mediaarea.net/en/MediaInfo/Support/Formats for supported formats.
-
-WWW: https://mediaarea.net/en/MediaInfo
-WWW: https://github.com/MediaArea/ZenLib
diff --git a/multimedia/linux-c7-libtheora/Makefile b/multimedia/linux-c7-libtheora/Makefile
index 00c1ddddc6ab..8762ffb5643c 100644
--- a/multimedia/linux-c7-libtheora/Makefile
+++ b/multimedia/linux-c7-libtheora/Makefile
@@ -1,5 +1,3 @@
-# Created by: Piotr Kubaj <pkubaj@anongoth.pl>
-
PORTNAME= libtheora
PORTVERSION= 1.1.1
DISTVERSIONSUFFIX= -8.el7
@@ -8,6 +6,7 @@ CATEGORIES= multimedia linux
MAINTAINER= emulation@FreeBSD.org
COMMENT= Theora Video Compression Codec (Linux CentOS ${LINUX_DIST_VER})
+WWW= https://www.theora.org/
LICENSE= BSD3CLAUSE
diff --git a/multimedia/linux-c7-libv4l/Makefile b/multimedia/linux-c7-libv4l/Makefile
index 12fb103d64a1..e2c123471bab 100644
--- a/multimedia/linux-c7-libv4l/Makefile
+++ b/multimedia/linux-c7-libv4l/Makefile
@@ -1,5 +1,3 @@
-# Created by: Piotr Kubaj <pkubaj@anongoth.pl>
-
PORTNAME= libv4l
PORTVERSION= 0.9.5
DISTVERSIONSUFFIX= -4.el7
@@ -8,6 +6,7 @@ CATEGORIES= multimedia linux
MAINTAINER= emulation@FreeBSD.org
COMMENT= Video4Linux library (Linux CentOS ${LINUX_DIST_VER})
+WWW= https://linuxtv.org/wiki/index.php/V4l-utils
LICENSE= LGPL20+
diff --git a/multimedia/linux-tsmuxer/Makefile b/multimedia/linux-tsmuxer/Makefile
index 890d21f12389..092e52bd627f 100644
--- a/multimedia/linux-tsmuxer/Makefile
+++ b/multimedia/linux-tsmuxer/Makefile
@@ -1,5 +1,3 @@
-# Created by: Steve Wills <steve@mouf.net>
-
PORTNAME= tsmuxer
PORTVERSION= 1.10.6
CATEGORIES= multimedia linux
@@ -9,6 +7,7 @@ DISTNAME= tsMuxeR_${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Utility to create TS and M2TS files for IP broadcasting
+WWW= http://www.smlabs.net/en/products/tsmuxer/
USES= linux
NO_WRKSUBDIR= yes
diff --git a/multimedia/linux-tsmuxer/pkg-descr b/multimedia/linux-tsmuxer/pkg-descr
index 3b473876db92..e64fab532fc2 100644
--- a/multimedia/linux-tsmuxer/pkg-descr
+++ b/multimedia/linux-tsmuxer/pkg-descr
@@ -1,5 +1,3 @@
tsMuxeR a software utility to create TS and M2TS files for IP broadcasting
as well as for viewing at hardware video players (i.e., Dune HD Ultra, Sony
Playstation3 and others).
-
-WWW: http://www.smlabs.net/en/products/tsmuxer/
diff --git a/multimedia/linux_dvbwrapper-kmod/Makefile b/multimedia/linux_dvbwrapper-kmod/Makefile
index a242962ba118..6e9aac435155 100644
--- a/multimedia/linux_dvbwrapper-kmod/Makefile
+++ b/multimedia/linux_dvbwrapper-kmod/Makefile
@@ -1,13 +1,12 @@
-# Created by: nox@FreeBSD.org
-
PORTNAME= linux_dvbwrapper-kmod
PORTVERSION= 1.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
DISTFILES= # none
MAINTAINER= ports@FreeBSD.org
COMMENT= Linux compatibility layer - DVB ioctl handler
+WWW= https://people.freebsd.org/~nox/dvb/
ONLY_FOR_ARCHS= aarch64 amd64 i386
diff --git a/multimedia/linux_dvbwrapper-kmod/files/patch-linux__dvbwrapper.c b/multimedia/linux_dvbwrapper-kmod/files/patch-linux__dvbwrapper.c
index fa16b8afa9f6..5c36be1ffd28 100644
--- a/multimedia/linux_dvbwrapper-kmod/files/patch-linux__dvbwrapper.c
+++ b/multimedia/linux_dvbwrapper-kmod/files/patch-linux__dvbwrapper.c
@@ -1,14 +1,35 @@
---- linux_dvbwrapper.c.orig 2017-02-01 19:40:17 UTC
+--- linux_dvbwrapper.c.orig 2024-01-02 18:20:10 UTC
+++ linux_dvbwrapper.c
-@@ -38,10 +38,7 @@ __FBSDID("$FreeBSD$");
+@@ -37,11 +37,8 @@
#include <sys/sysproto.h>
#include <sys/mman.h>
#include <sys/resourcevar.h>
--
++#include <sys/capsicum.h>
+
-#if __FreeBSD_version > 900040
-#include <sys/capability.h>
-#endif
-+#include <sys/capsicum.h>
-
+-
#include <vm/vm.h>
#include <vm/pmap.h>
+ #include <vm/vm_extern.h>
+@@ -299,7 +296,9 @@ linux_ioctl_dvb(struct thread *td, struct linux_ioctl_
+ error = copyout_map(td, &uvp, propsiz);
+ if (error)
+ goto out2;
+- copyout(vp, (void *)uvp, propsiz);
++ error = copyout(vp, (void *)uvp, propsiz);
++ if (error)
++ goto out2;
+
+ #if __FreeBSD_version > 1000051
+ error = fget(td, args->fd,
+@@ -330,7 +329,7 @@ linux_ioctl_dvb(struct thread *td, struct linux_ioctl_
+ for (i = vps.num, l_p = l_vp, p = vp; i--; ++l_p, ++p)
+ bsd_to_linux_dtv_property(p, l_p);
+ linux_to_bsd_dtv_properties(&l_vps, &vps);
+- copyout(l_vp, (void *)vps.props, l_propsiz);
++ error = copyout(l_vp, (void *)vps.props, l_propsiz);
+
+ out:
+ fdrop(fp, td);
diff --git a/multimedia/linux_dvbwrapper-kmod/pkg-descr b/multimedia/linux_dvbwrapper-kmod/pkg-descr
index 95d3155ccd2e..24197897e1a7 100644
--- a/multimedia/linux_dvbwrapper-kmod/pkg-descr
+++ b/multimedia/linux_dvbwrapper-kmod/pkg-descr
@@ -3,5 +3,3 @@ so that Linux apps can talk to DVB/ATSC tuners via /dev/dvb/adapterX.
Note this port does not contain actual DVB drivers, those are
provided by e.g. the multimedia/webcamd port.
-
-WWW: https://people.freebsd.org/~nox/dvb/
diff --git a/multimedia/livego/Makefile b/multimedia/livego/Makefile
index 946e726b2d70..bb7a8aaf6e9d 100644
--- a/multimedia/livego/Makefile
+++ b/multimedia/livego/Makefile
@@ -1,10 +1,11 @@
PORTNAME= livego
DISTVERSION= 0.0.15
-PORTREVISION= 1
+PORTREVISION= 19
CATEGORIES= multimedia
-MAINTAINER= nc@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Live video streaming server in golang
+WWW= https://github.com/gwuhaolin/livego
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -20,9 +21,8 @@ GH_TUPLE= \
dgrijalva:jwt-go:v3.2.0:dgrijalva_jwt_go/vendor/github.com/dgrijalva/jwt-go \
fsnotify:fsnotify:v1.4.7:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
go-ini:ini:v1.51.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
- go-redis:redis:v7.2.0:go_redis_redis_v7/vendor/github.com/go-redis/redis/v7 \
go-yaml:yaml:v2.2.4:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
- golang:sys:b09406accb47:golang_sys/vendor/golang.org/x/sys \
+ golang:sys:v0.6.0:golang_sys/vendor/golang.org/x/sys \
golang:text:v0.3.2:golang_text/vendor/golang.org/x/text \
hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
konsorten:go-windows-terminal-sequences:v1.0.1:konsorten_go_windows_terminal_sequences/vendor/github.com/konsorten/go-windows-terminal-sequences \
@@ -33,6 +33,7 @@ GH_TUPLE= \
patrickmn:go-cache:v2.1.0:patrickmn_go_cache/vendor/github.com/patrickmn/go-cache \
pelletier:go-toml:v1.2.0:pelletier_go_toml/vendor/github.com/pelletier/go-toml \
pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
+ redis:go-redis:v7.2.0:go_redis_redis_v7/vendor/github.com/go-redis/redis/v7 \
satori:go.uuid:v1.2.0:satori_go_uuid/vendor/github.com/satori/go.uuid \
sirupsen:logrus:v1.5.0:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
spf13:afero:v1.1.2:spf13_afero/vendor/github.com/spf13/afero \
diff --git a/multimedia/livego/distinfo b/multimedia/livego/distinfo
index 1189c10a65c6..d4d6b46ce42c 100644
--- a/multimedia/livego/distinfo
+++ b/multimedia/livego/distinfo
@@ -1,4 +1,4 @@
-TIMESTAMP = 1611343160
+TIMESTAMP = 1679512645
SHA256 (gwuhaolin-livego-0.0.15_GH0.tar.gz) = f1beb250dbbcfb578c32e37f862379aacf804570a8ce602b1a7a9f4d53d1304d
SIZE (gwuhaolin-livego-0.0.15_GH0.tar.gz) = 74659
SHA256 (auth0-go-jwt-middleware-36081240882b_GH0.tar.gz) = ab5a31dffaac4998b2c9544f80ab718c5bc12c046557c0cf00518d9fecf1d884
@@ -11,12 +11,10 @@ SHA256 (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = b7530d973d0ab0e58ad8ce1b9a4b963d6
SIZE (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = 31139
SHA256 (go-ini-ini-v1.51.0_GH0.tar.gz) = 6c98311d375afbe36a246c5d29acb5cb428634a4186e591ce9b7fe2fa4f2a471
SIZE (go-ini-ini-v1.51.0_GH0.tar.gz) = 43536
-SHA256 (go-redis-redis-v7.2.0_GH0.tar.gz) = 9aa836b2ae3be6214a12efbce7cf54d234525396e51a4ebcdadc35942807958a
-SIZE (go-redis-redis-v7.2.0_GH0.tar.gz) = 101816
SHA256 (go-yaml-yaml-v2.2.4_GH0.tar.gz) = 9004c9709200d52ef6e5c69af3f71f3adb1a2b7e884ea7597f306bf54b1f007c
SIZE (go-yaml-yaml-v2.2.4_GH0.tar.gz) = 72209
-SHA256 (golang-sys-b09406accb47_GH0.tar.gz) = 732651ee709d3443e992f716796c5dac7cbc29a345a8ffe3fb80f505c93503d2
-SIZE (golang-sys-b09406accb47_GH0.tar.gz) = 1496780
+SHA256 (golang-sys-v0.6.0_GH0.tar.gz) = b4f6d17c7a128f76169964b437cb66b3f2dbf9a33361928ec19dfecf7b03fc54
+SIZE (golang-sys-v0.6.0_GH0.tar.gz) = 1434234
SHA256 (golang-text-v0.3.2_GH0.tar.gz) = 0b9309698f5708531c5377ab1e29b423a6d9e20c55a8d386c3b8283428212f22
SIZE (golang-text-v0.3.2_GH0.tar.gz) = 7168069
SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
@@ -37,6 +35,8 @@ SHA256 (pelletier-go-toml-v1.2.0_GH0.tar.gz) = 1a5a620f680033f17e34148bee8f26d96
SIZE (pelletier-go-toml-v1.2.0_GH0.tar.gz) = 57496
SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
+SHA256 (redis-go-redis-v7.2.0_GH0.tar.gz) = 0be85c516835a2715a70648c10650f0d412c6b31398937c1511ae812ae2a2234
+SIZE (redis-go-redis-v7.2.0_GH0.tar.gz) = 101823
SHA256 (satori-go.uuid-v1.2.0_GH0.tar.gz) = 6f9d9549958252d7c5a5ed1cabeedeaab7a600ca0b888a3666cce4c3590aa5a7
SIZE (satori-go.uuid-v1.2.0_GH0.tar.gz) = 8297
SHA256 (sirupsen-logrus-v1.5.0_GH0.tar.gz) = b93c79fdb137a8c723bd096cf7cf1871e2c038e790d7f3cb5758e07bc2b836f3
diff --git a/multimedia/livego/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go b/multimedia/livego/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go
deleted file mode 100644
index 9684a5cfae8e..000000000000
--- a/multimedia/livego/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go
+++ /dev/null
@@ -1,24 +0,0 @@
-From 33540a1f603772f9d4b761f416f5c10dade23e96 Mon Sep 17 00:00:00 2001
-From: Tobias Klauser <tklauser@distanz.ch>
-Date: Fri, 25 Oct 2019 21:13:51 +0200
-Subject: [PATCH] unix: don't use non-existing uint128 type on freebsd/arm64
-
-CL 179099 introduced type FpReg on freebsd, on freebsd/arm64 using a
-type uint128. This type doesn't exist in Go.
-
-Change-Id: Ie7f065f38f2cc2c163abdfa7dddad886b8edbe3b
-Reviewed-on: https://go-review.googlesource.com/c/sys/+/203419
-Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
-TryBot-Result: Gobot Gobot <gobot@golang.org>
-Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
---- vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go.orig 2019-10-10 19:43:22 UTC
-+++ vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
-@@ -397,7 +397,7 @@ type Reg struct {
- }
-
- type FpReg struct {
-- Fp_q [32]uint128
-+ Fp_q [512]uint8
- Fp_sr uint32
- Fp_cr uint32
- }
diff --git a/multimedia/livego/pkg-descr b/multimedia/livego/pkg-descr
index 4ea68fe16184..09c2485f2c8b 100644
--- a/multimedia/livego/pkg-descr
+++ b/multimedia/livego/pkg-descr
@@ -4,5 +4,3 @@ Simple and efficient live broadcast server:
* Pure Golang, high performance, and cross-platform;
* Supports commonly used transmission protocols, file formats, and encoding
formats
-
-WWW: https://github.com/gwuhaolin/livego
diff --git a/multimedia/lives/Makefile b/multimedia/lives/Makefile
index 5827492b98c9..de7f0c471061 100644
--- a/multimedia/lives/Makefile
+++ b/multimedia/lives/Makefile
@@ -1,20 +1,21 @@
-# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
-
PORTNAME= lives
DISTVERSION= 3.2.0
-PORTREVISION= 9
+PORTREVISION= 22
CATEGORIES= multimedia
MASTER_SITES= http://lives-video.com/releases/
DISTNAME= LiVES-${PORTVERSION}
-MAINTAINER= vvd@unislabs.com
+MAINTAINER= vvd@FreeBSD.org
COMMENT= Video editing system
+WWW= http://lives-video.com/
LICENSE= GPLv3+ LGPL3+
LICENSE_COMB= multi
LICENSE_FILE_GPLv3+ = ${WRKSRC}/COPYING
LICENSE_FILE_LGPL3+ = ${WRKSRC}/COPYING.LGPL
+BROKEN= fails to build with FFmpeg 6
+
BUILD_DEPENDS= ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \
analyseplugin:audio/ladspa
LIB_DEPENDS= liboil-0.3.so:devel/liboil \
@@ -25,25 +26,25 @@ RUN_DEPENDS= analyseplugin:audio/ladspa \
ffprobe:multimedia/ffmpeg \
sox:audio/sox
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
USES= autoreconf compiler:c++11-lib gettext-runtime gettext-tools \
gl gnome libtool localbase pathfix perl5 pkgconfig python \
sdl shebangfix xorg
+USE_GL= gl glu
+USE_GNOME= cairo gdkpixbuf2 gtk30 intltool
+USE_LDCONFIG= yes
+USE_SDL= sdl sdl2
+USE_XORG= x11 xrender
+
SHEBANG_FILES= build-lives-rfx-plugin build-lives-rfx-plugin-multi smogrify \
tools/autolives.pl lives-plugins/plugins/encoders/*_encoder \
lives-plugins/marcos-encoders/*encoder* \
lives-plugins/plugins/encoders/multi_encoder3 \
lives-plugins/plugins/playback/audiostream/audiostreamer.pl
GNU_CONFIGURE= yes
-USE_XORG= x11 xrender
-USE_GL= gl glu
-USE_SDL= sdl sdl2
-USE_GNOME= cairo gdkpixbuf2 gtk30 intltool
-USE_LDCONFIG= yes
CONFIGURE_ARGS= --disable-ldvgrab --disable-prctl --disable-system-weed --disable-dirac
INSTALL_TARGET= install-strip
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
DOC_FILES= AUTHORS COPYING COPYING.LGPL ChangeLog FEATURES GETTING.STARTED NEWS README \
OMC/lives-OMC.txt RFX/LiVES-Perl.odt RFX/rfxbuilder.odt \
@@ -54,94 +55,130 @@ DOC_FILES= AUTHORS COPYING COPYING.LGPL ChangeLog FEATURES GETTING.STARTED NEWS
OPTIONS_DEFINE= ALSA DOCS DOXYGEN DV FFTW FREI0R JACK IMAGEMAGICK LIBEXPLAIN \
LIBVISUAL OGG OPENCV OPTIMIZED_CFLAGS NLS PROJECTM PULSEAUDIO \
THEORA V4L WAYLAND
+OPTIONS_DEFAULT= CDDA2WAV DOCS DV FFTW GHOSTSCRIPT IMAGEMAGICK JACK LAME \
+ MPG123 MPLAYER NLS OGG123 OGG OGM OPENCV \
+ THEORA X264 XDG_SCREENSAVER XDOTOOL XWININFO YTDLP
OPTIONS_GROUP= RUNTIME EXT_WIN_CAPTURE MPLAYERS MP3
-OPTIONS_GROUP_RUNTIME= CDDA2WAV GHOSTSCRIPT LAME MATROSKA MENCODER OGG123 OGM \
- SSWF X264 XDG_SCREENSAVER XWININFO YTDLP
OPTIONS_GROUP_EXT_WIN_CAPTURE= WMCTRL XDOTOOL
OPTIONS_GROUP_MP3= MPG123 MPG321
OPTIONS_GROUP_MPLAYERS= MPLAYER MPV
-OPTIONS_DEFAULT= CDDA2WAV DOCS DV FFTW GHOSTSCRIPT IMAGEMAGICK JACK LAME \
- MPG123 MPLAYER NLS OGG OGG123 OGM OPENCV \
- THEORA X264 XDG_SCREENSAVER XDOTOOL XWININFO YTDLP
+OPTIONS_GROUP_RUNTIME= CDDA2WAV GHOSTSCRIPT LAME MATROSKA MENCODER OGG123 OGM \
+ SSWF X264 XDG_SCREENSAVER XWININFO YTDLP
OPTIONS_SUB= yes
-ALSA_CONFIGURE_OFF= --disable-alsa
+EXT_WIN_CAPTURE_DESC= Allows external window capture via xdotool or wmctrl
+LIBEXPLAIN_DESC= Used to explain Unix and Linux system call errors
+MENCODER_DESC= Use mencoder as video file and movie encoder
+MP3_DESC= Runtime check order is: mpg321, mpg123, mplayer, mplayer2, mpv
+MPG321_DESC= MP3 decoding support via mpg321
+MPLAYERS_DESC= Install mplayer/mpv (runtime check)
+MPV_DESC= MPV media player support
+OGG123_DESC= Use ogg123 from vorbis-tools
+OGM_DESC= Use ogmtools for manipulating with OGM files
+PROJECTM_DESC= projectM support
+RUNTIME_DESC= Runtime detected utilities
+SSWF_DESC= Use sswf for manipulating with Flash movies
+WMCTRL_DESC= Install wmctrl
+XDG_SCREENSAVER_DESC= Used to disable screensaver during playback
+XDOTOOL_DESC= Install xdotool
+XWININFO_DESC= Used for external window capture
+YTDLP_DESC= Install yt-dlp (youtube-dl fork) - requires SYMLINK option
+
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CONFIGURE_OFF= --disable-alsa
+
CDDA2WAV_RUN_DEPENDS= cdda2wav:sysutils/cdrtools
+
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
DOXYGEN_CONFIGURE_OFF= --disable-doxygen
-DV_CONFIGURE_OFF= --disable-libdv
+
DV_LIB_DEPENDS= libdv.so:multimedia/libdv
DV_RUN_DEPENDS= encodedv:multimedia/libdv
-EXT_WIN_CAPTURE_DESC= Allows external window capture via xdotool or wmctrl
-FFTW_CONFIGURE_OFF= --disable-fftw3f
+DV_CONFIGURE_OFF= --disable-libdv
+
FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3 \
libfftw3f.so:math/fftw3-float
+FFTW_CONFIGURE_OFF= --disable-fftw3f
+
FREI0R_BUILD_DEPENDS= frei0r>0:graphics/frei0r
-FREI0R_CONFIGURE_OFF= --disable-frei0r
FREI0R_RUN_DEPENDS= frei0r>0:graphics/frei0r
+FREI0R_CONFIGURE_OFF= --disable-frei0r
+
GHOSTSCRIPT_USES= ghostscript:run
+
IMAGEMAGICK_USES= magick:run
-JACK_CONFIGURE_OFF= --disable-jack
+
JACK_LIB_DEPENDS= libjack.so:audio/jack \
libjackserver.so:audio/jack
+JACK_CONFIGURE_OFF= --disable-jack
+
LAME_RUN_DEPENDS= lame:audio/lame
-LIBEXPLAIN_CONFIGURE_OFF= --disable-libexplain
-LIBEXPLAIN_DESC= Used to explain Unix and Linux system call errors
+
LIBEXPLAIN_LIB_DEPENDS= libexplain.so:devel/libexplain
-LIBVISUAL_CONFIGURE_OFF= --disable-libvisual
+LIBEXPLAIN_CONFIGURE_OFF= --disable-libexplain
+
LIBVISUAL_LIB_DEPENDS= libvisual-0.4.so:graphics/libvisual04
+LIBVISUAL_CONFIGURE_OFF= --disable-libvisual
+
MATROSKA_RUN_DEPENDS= mkvmerge:multimedia/mkvtoolnix
+
MENCODER_RUN_DEPENDS= mencoder:multimedia/mencoder
-MENCODER_DESC= Use mencoder as video file and movie encoder
-MP3_DESC= Runtime check order is: mpg321, mpg123, mplayer, mplayer2, mpv
+
MPG123_RUN_DEPENDS= mpg123:audio/mpg123
-MPG321_DESC= MP3 decoding support via mpg321
+
MPG321_RUN_DEPENDS= mpg321:audio/mpg321
+
MPLAYER_RUN_DEPENDS= mplayer:multimedia/mplayer
-MPLAYERS_DESC= Install mplayer/mpv (runtime check)
-MPV_DESC= MPV media player support
+
MPV_RUN_DEPENDS= mpv:multimedia/mpv
+
NLS_USES= gettext-tools
-OGG_CONFIGURE_OFF= --disable-ogg
-OGG_LIB_DEPENDS= libogg.so:audio/libogg
-OGG123_DESC= Use ogg123 from vorbis-tools
+
OGG123_RUN_DEPENDS= ogg123:audio/vorbis-tools
-OGM_DESC= Use ogmtools for manipulating with OGM files
+
+OGG_LIB_DEPENDS= libogg.so:audio/libogg
+OGG_CONFIGURE_OFF= --disable-ogg
+
OGM_RUN_DEPENDS= ogmmerge:multimedia/ogmtools
-OPENCV_CONFIGURE_OFF= --disable-opencv
+
OPENCV_LIB_DEPENDS= libopencv_calib3d.so:graphics/opencv \
libopencv_core.so:graphics/opencv
-SSWF_DESC= Use sswf for manipulating with Flash movies
-SSWF_RUN_DEPENDS= sswf:graphics/sswf
-THEORA_CONFIGURE_OFF= --disable-theora
-THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora
+OPENCV_CONFIGURE_OFF= --disable-opencv
+
OPTIMIZED_CFLAGS_CONFIGURE_ON= --enable-turbo
-PROJECTM_CONFIGURE_OFF= --disable-projectM
-PROJECTM_DESC= projectM support
+
PROJECTM_LIB_DEPENDS= libprojectM.so:graphics/libprojectm
-PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
+PROJECTM_CONFIGURE_OFF= --disable-projectM
+
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-RUNTIME_DESC= Runtime detected utilities
+PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
+
+SSWF_RUN_DEPENDS= sswf:graphics/sswf
+
+THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora
+THEORA_CONFIGURE_OFF= --disable-theora
+
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
-V4L_CONFIGURE_OFF= --disable-v4l
V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l
-WAYLAND_CONFIGURE_OFF= --disable-wayland
+V4L_CONFIGURE_OFF= --disable-v4l
+
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
libwayland-egl.so:graphics/wayland \
libwayland-cursor.so:graphics/wayland
-WMCTRL_DESC= Install wmctrl
+WAYLAND_CONFIGURE_OFF= --disable-wayland
+
WMCTRL_RUN_DEPENDS= wmctrl:x11/wmctrl
-YTDLP_DESC= Install yt-dlp (youtube-dl fork) - requires SYMLINK option
-YTDLP_RUN_DEPENDS= yt-dlp:www/yt-dlp
+
X264_RUN_DEPENDS= x264:multimedia/x264
-XDG_SCREENSAVER_DESC= Used to disable screensaver during playback
+
XDG_SCREENSAVER_RUN_DEPENDS= xdg-screensaver:devel/xdg-utils
-XDOTOOL_DESC= Install xdotool
+
XDOTOOL_RUN_DEPENDS= xdotool:x11/xdotool
-XWININFO_DESC= Used for external window capture
+
XWININFO_RUN_DEPENDS= xwininfo:x11/xwininfo
+YTDLP_RUN_DEPENDS= yt-dlp:www/yt-dlp
+
post-patch:
@${FIND} ${WRKSRC} -name Makefile.in | ${XARGS} ${REINPLACE_CMD} \
's/^LIBS = $$/&@LIBS@/'
diff --git a/multimedia/lives/pkg-descr b/multimedia/lives/pkg-descr
index 0c37c88be9ce..029b789bd69c 100644
--- a/multimedia/lives/pkg-descr
+++ b/multimedia/lives/pkg-descr
@@ -8,5 +8,3 @@ RFX builder.
LiVES is aimed at the digital video artist who wants to create their own
content, the video editor who wants to produce professional looking
video, and the VJ who wants to captivate with spectacular images.
-
-WWW: http://lives-video.com/
diff --git a/multimedia/livestreamer/Makefile b/multimedia/livestreamer/Makefile
deleted file mode 100644
index db2e2f0d16f0..000000000000
--- a/multimedia/livestreamer/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= livestreamer
-PORTVERSION= 1.12.2
-PORTREVISION= 1
-CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-MAINTAINER= multimedia@FreeBSD.org
-COMMENT= Extract web streams and pipe them into video player of choice
-
-LICENSE= BSD2CLAUSE MIT APACHE20
-LICENSE_COMB= multi
-
-BROKEN= Doesn't work, multiple reports upstream
-DEPRECATED= Abandoned upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-RUN_DEPENDS= rtmpdump:multimedia/rtmpdump \
- ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}librtmp>=0:multimedia/py-librtmp@${PY_FLAVOR}
-
-USES= python:3.6+
-USE_PYTHON= autoplist distutils
-PATCH_STRIP= -p1
-
-.include <bsd.port.mk>
diff --git a/multimedia/livestreamer/distinfo b/multimedia/livestreamer/distinfo
deleted file mode 100644
index 49ee7d39ce60..000000000000
--- a/multimedia/livestreamer/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (livestreamer-1.12.2.tar.gz) = ef3e743d0cabc27d8ad906c356e74370799e25ba46c94d3b8d585af77a258de0
-SIZE (livestreamer-1.12.2.tar.gz) = 430627
diff --git a/multimedia/livestreamer/pkg-descr b/multimedia/livestreamer/pkg-descr
deleted file mode 100644
index 0588c89f92ec..000000000000
--- a/multimedia/livestreamer/pkg-descr
+++ /dev/null
@@ -1,23 +0,0 @@
-Livestreamer is a Command Line Interface that pipes video streams
-from various services into a video player, such as VLC. The main
-purpose of Livestreamer is to allow the user to avoid buggy and CPU
-heavy flash plugins but still be able to enjoy various streamed
-content.
-
-Livestreamer is built upon a plugin system which allows support for
-new services to be easily added. Currently most of the big streaming
-services are supported, such as:
- Dailymotion
- Livestream
- Twitch/Justin.tv
- YouTube Live
- UStream
-
-Example use:
-
-$ livestreamer twitch.tv/day9tv best
-[cli][info] Found matching plugin justintv for URL twitch.tv/day9tv
-[cli][info] Opening stream: 720p
-[cli][info] Starting player: vlc
-
-WWW: https://github.com/chrippa/livestreamer
diff --git a/multimedia/lms/Makefile b/multimedia/lms/Makefile
index cc476470c205..8012caee069b 100644
--- a/multimedia/lms/Makefile
+++ b/multimedia/lms/Makefile
@@ -1,26 +1,29 @@
PORTNAME= lms
-DISTVERSION= 3.28.0
-PORTREVISION= 1
-MASTER_SITES= https://github.com/epoupon/lms/archive/refs/tags/v${DISTVERSION}${EXTRACT_SUFX}?dummy=/
+DISTVERSIONPREFIX= v
+DISTVERSION= 3.51.1
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
-COMMENT= Lightweight Music Server
+COMMENT= Lightweight Music Server to access music using a web interface
+WWW= https://github.com/epoupon/lms
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
-BUILD_DEPENDS= googletest>0:devel/googletest \
- ${LOCALBASE}/include/stb/stb_image.h:devel/stb
+BROKEN_FreeBSD_13= compilation fails: error: object of type 'const LiteralString' cannot be compared because its 'operator<=>' is implicitly deleted
+
+BUILD_DEPENDS= googletest>0:devel/googletest
LIB_DEPENDS= libavformat.so:multimedia/ffmpeg \
libboost_system.so:devel/boost-libs \
libconfig++.so:devel/libconfig \
- libGraphicsMagick.so:graphics/GraphicsMagick \
libtag.so:audio/taglib \
libwthttp.so:www/wt
RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
-USES= cmake compiler:c++17-lang cpe pkgconfig
+USES= cmake cpe libarchive pkgconfig
+
+USE_GITHUB= yes
+GH_ACCOUNT= epoupon
USER= nobody
GROUP= nobody
@@ -29,6 +32,25 @@ USE_RC_SUBR= ${PORTNAME}
PLIST_SUB= USER="${USER}" GROUP="${GROUP}"
+OPTIONS_RADIO= IMAGE_LIB
+OPTIONS_RADIO_IMAGE_LIB= STB MAGICK
+OPTIONS_DEFAULT= STB # STB is prefered by the upstream
+
+STB_DESC= Use STB as image library (uses less memory)
+STB_BUILD_DEPENDS= ${LOCALBASE}/include/stb/stb_image.h:devel/stb
+STB_CMAKE_BOOL= FREEBSD_USE_STB
+
+MAGICK_DESC= Use GraphicsMagick++ as image library
+MAGICK_LIB_DEPENDS= libGraphicsMagick.so:graphics/GraphicsMagick
+MAGICK_CMAKE_BOOL= FREEBSD_USE_MAGICK
+
+.include <bsd.port.options.mk>
+.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1400000
+USES+= llvm:17 # fix the build failure on 13: error: object of type 'const lms::core::LiteralString' cannot be compared because its 'operator<=>' is implicitly deleted
+.else
+USES+= compiler:c++20-lang
+.endif
+
post-patch:
@${REINPLACE_CMD} -e 's|"/etc/lms.conf"|"${PREFIX}/etc/lms.conf"|' \
${WRKSRC}/src/lms/main.cpp \
diff --git a/multimedia/lms/distinfo b/multimedia/lms/distinfo
index 1491c58da997..07ae8f72d733 100644
--- a/multimedia/lms/distinfo
+++ b/multimedia/lms/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1646928270
-SHA256 (lms-3.28.0.tar.gz) = 7128bbf83be14e1037ed1d6ad678679bcac52cf987be112b9b223c3b672f952c
-SIZE (lms-3.28.0.tar.gz) = 462781
+TIMESTAMP = 1710914535
+SHA256 (epoupon-lms-v3.51.1_GH0.tar.gz) = d6c4ee398e660b930f188347b85c89492ba836a3cc6043e137b090f8983836f0
+SIZE (epoupon-lms-v3.51.1_GH0.tar.gz) = 427958
diff --git a/multimedia/lms/files/patch-CMakeLists.txt b/multimedia/lms/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..921660903616
--- /dev/null
+++ b/multimedia/lms/files/patch-CMakeLists.txt
@@ -0,0 +1,20 @@
+--- CMakeLists.txt.orig 2023-07-02 19:48:46 UTC
++++ CMakeLists.txt
+@@ -19,11 +19,15 @@ find_package(Boost REQUIRED COMPONENTS system program_
+ find_package(Wt REQUIRED COMPONENTS Wt Dbo DboSqlite3 HTTP)
+ pkg_check_modules(Taglib REQUIRED IMPORTED_TARGET taglib)
+ pkg_check_modules(Config++ REQUIRED IMPORTED_TARGET libconfig++)
+-pkg_check_modules(GraphicsMagick++ IMPORTED_TARGET GraphicsMagick++)
++if (FREEBSD_USE_MAGICK)
++ pkg_check_modules(GraphicsMagick++ IMPORTED_TARGET GraphicsMagick++)
++endif()
+ pkg_check_modules(LIBAV IMPORTED_TARGET libavcodec libavutil libavformat)
+ pkg_check_modules(Archive REQUIRED IMPORTED_TARGET libarchive)
+ find_package(PAM)
+-find_package(STB)
++if (FREEBSD_USE_STB)
++ find_package(STB)
++endif()
+
+ # WT
+ if (NOT Wt_FOUND)
diff --git a/multimedia/lms/files/patch-cmake_modules_FindSTB.cmake b/multimedia/lms/files/patch-cmake_modules_FindSTB.cmake
deleted file mode 100644
index 5d3a894f91eb..000000000000
--- a/multimedia/lms/files/patch-cmake_modules_FindSTB.cmake
+++ /dev/null
@@ -1,10 +0,0 @@
-- workaround for https://github.com/epoupon/lms/issues/207
-
---- cmake/modules/FindSTB.cmake.orig 2022-03-10 16:21:18 UTC
-+++ cmake/modules/FindSTB.cmake
-@@ -1,4 +1,4 @@
--find_path(STB_INCLUDE_DIR stb/stb.h)
-+find_path(STB_INCLUDE_DIR stb/stb_image.h)
-
- include(FindPackageHandleStandardArgs)
-
diff --git a/multimedia/lms/files/patch-src_libs_services_auth_include_services_auth_IPasswordService.hpp b/multimedia/lms/files/patch-src_libs_services_auth_include_services_auth_IPasswordService.hpp
deleted file mode 100644
index b702ad3e1334..000000000000
--- a/multimedia/lms/files/patch-src_libs_services_auth_include_services_auth_IPasswordService.hpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/libs/services/auth/include/services/auth/IPasswordService.hpp
-+++ src/libs/services/auth/include/services/auth/IPasswordService.hpp
-@@ -20,6 +20,7 @@
- #pragma once
-
- #include <string_view>
-+#include <optional>
-
- #include <boost/asio/ip/address.hpp>
- #include <Wt/WDateTime.h>
diff --git a/multimedia/lms/files/patch-src_libs_utils_impl_ChildProcess.cpp b/multimedia/lms/files/patch-src_libs_utils_impl_ChildProcess.cpp
deleted file mode 100644
index f273aee461d0..000000000000
--- a/multimedia/lms/files/patch-src_libs_utils_impl_ChildProcess.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
---- src/libs/utils/impl/ChildProcess.cpp.orig 2022-02-02 17:25:04 UTC
-+++ src/libs/utils/impl/ChildProcess.cpp
-@@ -68,6 +68,7 @@ ChildProcess::ChildProcess(boost::asio::io_context& io
- if (res < 0)
- throw SystemException {errno, "pipe2 failed!"};
-
-+#if !defined(__FreeBSD__) // see https://github.com/epoupon/lms/issues/144
- {
- #if defined(__linux__) && defined(F_SETPIPE_SZ)
- // Just a hint here to prevent the writer from writing too many bytes ahead of the reader
-@@ -79,6 +80,7 @@ ChildProcess::ChildProcess(boost::asio::io_context& io
- throw SystemException {errno, "fcntl failed!"};
- #endif
- }
-+#endif
-
- res = fork();
- if (res == -1)
diff --git a/multimedia/lms/pkg-descr b/multimedia/lms/pkg-descr
index 626c00c006b6..0e2abc6f2bbe 100644
--- a/multimedia/lms/pkg-descr
+++ b/multimedia/lms/pkg-descr
@@ -1,4 +1,14 @@
LMS is a self-hosted music streaming software: it allows users to access their
music collections from anywhere using a web interface.
-WWW: https://github.com/epoupon/lms
+Main features
+* Recommendation engine
+* Audio transcode for maximum interoperability and low bandwith requirements
+* Multi-value tags: artist, genre, composer, lyricist, mood, performer, ...
+* MusicBrainz Identifier support to handle duplicated artist and release names
+* ListenBrainz support for:
+ Scrobbling and synchronizing listens
+ Synchronizing 'love' feedbacks
+* ReplayGain support
+* User management, with several authentication backends, see Deployment
+* Subsonic API
diff --git a/multimedia/lms/pkg-message b/multimedia/lms/pkg-message
index 49fd5d65b1d8..9aeddb012279 100644
--- a/multimedia/lms/pkg-message
+++ b/multimedia/lms/pkg-message
@@ -6,6 +6,13 @@ You installed LMS: Lightweight Music Server.
In order to use it please start the service 'lms' and
then access the URL http://0.0.0.0:5082 in your favorite browser.
+To clear the previously saved data:
+$ sudo rm -rf /var/db/lms/*
+
+To reset the admin password: execute the SQL UPDATE statement from
+https://github.com/epoupon/lms/blob/master/INSTALL.md
+on /var/db/lms/lms.db
+
EOM
}
]
diff --git a/multimedia/lms/pkg-plist b/multimedia/lms/pkg-plist
index b8cc024e0669..90efd04be103 100644
--- a/multimedia/lms/pkg-plist
+++ b/multimedia/lms/pkg-plist
@@ -1,9 +1,13 @@
bin/lms
bin/lms-metadata
bin/lms-recommendation
+@sample etc/lms.conf.sample
+etc/pam.d/lms
lib/liblmsauth.so
lib/liblmsav.so
+lib/liblmscore.so
lib/liblmsdatabase.so
+lib/liblmsfeedback.so
lib/liblmsimage.so
lib/liblmsmetadata.so
lib/liblmsrecommendation.so
@@ -12,12 +16,12 @@ lib/liblmsscrobbling.so
lib/liblmsservice-cover.so
lib/liblmssom.so
lib/liblmssubsonic.so
-lib/liblmsutils.so
-@sample etc/lms.conf.sample
-etc/pam.d/lms
-%%DATADIR%%/approot/admin-database.xml
%%DATADIR%%/approot/admin-initwizard.xml
+%%DATADIR%%/approot/admin-medialibraries.xml
+%%DATADIR%%/approot/admin-medialibrary.xml
%%DATADIR%%/approot/admin-scannercontroller.xml
+%%DATADIR%%/approot/admin-scansettings.xml
+%%DATADIR%%/approot/admin-tracing.xml
%%DATADIR%%/approot/admin-user.xml
%%DATADIR%%/approot/admin-users.xml
%%DATADIR%%/approot/artist.xml
@@ -27,34 +31,26 @@ etc/pam.d/lms
%%DATADIR%%/approot/images/unknown-artist.jpg
%%DATADIR%%/approot/images/unknown-cover.jpg
%%DATADIR%%/approot/login.xml
+%%DATADIR%%/approot/main.xml
%%DATADIR%%/approot/mediaplayer.xml
%%DATADIR%%/approot/messages.xml
%%DATADIR%%/approot/messages_fr.xml
%%DATADIR%%/approot/messages_it.xml
%%DATADIR%%/approot/messages_zh.xml
+%%DATADIR%%/approot/misc.xml
+%%DATADIR%%/approot/notifications.xml
%%DATADIR%%/approot/playqueue.xml
%%DATADIR%%/approot/%%CMAKE_BUILD_TYPE%%.xml
%%DATADIR%%/approot/%%CMAKE_BUILD_TYPE%%s.xml
%%DATADIR%%/approot/search.xml
%%DATADIR%%/approot/settings.xml
-%%DATADIR%%/approot/templates.xml
+%%DATADIR%%/approot/tracklist.xml
+%%DATADIR%%/approot/tracklists.xml
%%DATADIR%%/approot/tracks.xml
%%DATADIR%%/default.service
-%%DATADIR%%/docroot/css/S6u8w4BMUTPHjxsAUi-qJCY.woff2
-%%DATADIR%%/docroot/css/S6u8w4BMUTPHjxsAXC-q.woff2
-%%DATADIR%%/docroot/css/S6u9w4BMUTPHh6UVSwaPGR_p.woff2
-%%DATADIR%%/docroot/css/S6u9w4BMUTPHh6UVSwiPGQ.woff2
-%%DATADIR%%/docroot/css/S6uyw4BMUTPHjx4wXg.woff2
-%%DATADIR%%/docroot/css/S6uyw4BMUTPHjxAwXjeu.woff2
-%%DATADIR%%/docroot/css/bootstrap-darkly.min.css
-%%DATADIR%%/docroot/css/bootstrap-flatly.min.css
-%%DATADIR%%/docroot/css/fonts.css
-%%DATADIR%%/docroot/css/lms-darkly.css
-%%DATADIR%%/docroot/css/lms-flatly.css
+%%DATADIR%%/docroot/css/bootstrap.solar.min.css
%%DATADIR%%/docroot/css/lms.css
-%%DATADIR%%/docroot/js/bootstrap-notify.js
-%%DATADIR%%/docroot/js/bootstrap.min.js
-%%DATADIR%%/docroot/js/jquery-1.10.2.min.js
+%%DATADIR%%/docroot/js/bootstrap.bundle.min.js
%%DATADIR%%/docroot/js/mediaplayer.js
%%DATADIR%%/lms
%%DATADIR%%/lms.conf
diff --git a/multimedia/lsdvd/Makefile b/multimedia/lsdvd/Makefile
index d47f1f88b4b6..aee4c9927d2c 100644
--- a/multimedia/lsdvd/Makefile
+++ b/multimedia/lsdvd/Makefile
@@ -1,13 +1,12 @@
-# Created by: michael johnson <ahze@ahze.net>
-
PORTNAME= lsdvd
PORTVERSION= 0.17
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}
MAINTAINER= ports@FreeBSD.org
COMMENT= Print information about the contents and structure of a DVD
+WWW= https://sourceforge.net/projects/lsdvd/
LICENSE= GPLv2
@@ -15,12 +14,13 @@ LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
USES= pkgconfig
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
PLIST_FILES= bin/lsdvd \
- man/man1/lsdvd.1.gz
+ share/man/man1/lsdvd.1.gz
WITH_DVD_DEVICE?=/dev/cd0
diff --git a/multimedia/lsdvd/pkg-descr b/multimedia/lsdvd/pkg-descr
index 8be8dfff939b..9887ad742309 100644
--- a/multimedia/lsdvd/pkg-descr
+++ b/multimedia/lsdvd/pkg-descr
@@ -1,3 +1 @@
Print information about the contents and structure of a DVD.
-
-WWW: https://sourceforge.net/projects/lsdvd/
diff --git a/multimedia/m2tstoavi/Makefile b/multimedia/m2tstoavi/Makefile
deleted file mode 100644
index a03746d352e2..000000000000
--- a/multimedia/m2tstoavi/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# Created by: Steve Wills <steve@mouf.net>
-
-PORTNAME= m2tstoavi
-PORTVERSION= 2009121901
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://www.olmosconsulting.com/ http://meatwad.mouf.net/~steve/
-DISTNAME= m2ts
-
-MAINTAINER= swills@FreeBSD.org
-COMMENT= Utility which eases conversion of AVCHD (m2ts) to AVI
-
-DEPRECATED= Marked obsolete by upstream in 2010, please consider using multimedia/ffmpeg or multimedia/handbrake
-EXPIRATION_DATE=2022-06-30
-
-RUN_DEPENDS= xporthdmv:multimedia/xporthdmv \
- ldecod:multimedia/jmref \
- ffmpeg:multimedia/ffmpeg
-
-do-build:
- ${DO_NADA}
-
-do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/m2tstoavi.alkayata ${STAGEDIR}${PREFIX}/bin/m2tstoavi.alkayata
- ${INSTALL_SCRIPT} ${WRKSRC}/m2tstoavi.fifo ${STAGEDIR}${PREFIX}/bin/m2tstoavi.fifo
- ${INSTALL_SCRIPT} ${WRKSRC}/m2tstoavi.nofifo ${STAGEDIR}${PREFIX}/bin/m2tstoavi.nofifo
- ${INSTALL_SCRIPT} ${WRKSRC}/m2tstoavi.mencoder ${STAGEDIR}${PREFIX}/bin/m2tstoavi.mencoder
- ${LN} -s ${PREFIX}/bin/m2tstoavi.mencoder ${STAGEDIR}${PREFIX}/bin/m2tstoavi
-
-.include <bsd.port.mk>
diff --git a/multimedia/m2tstoavi/distinfo b/multimedia/m2tstoavi/distinfo
deleted file mode 100644
index cb16f9544e96..000000000000
--- a/multimedia/m2tstoavi/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (m2ts.tar.gz) = 40d3bc988d80bd7955b8aa88c5a2cc548978fac41ae9e2d5c43bcb2f192e2c61
-SIZE (m2ts.tar.gz) = 4810464
diff --git a/multimedia/m2tstoavi/pkg-descr b/multimedia/m2tstoavi/pkg-descr
deleted file mode 100644
index fbbdc1909ab4..000000000000
--- a/multimedia/m2tstoavi/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-Script which eases the conversion of AVCHD video to AVI
-
-WWW: http://www.olmosconsulting.com/hdr-sr1/
diff --git a/multimedia/m2tstoavi/pkg-plist b/multimedia/m2tstoavi/pkg-plist
deleted file mode 100644
index 89a6819dfae1..000000000000
--- a/multimedia/m2tstoavi/pkg-plist
+++ /dev/null
@@ -1,5 +0,0 @@
-bin/m2tstoavi.alkayata
-bin/m2tstoavi.fifo
-bin/m2tstoavi.nofifo
-bin/m2tstoavi.mencoder
-bin/m2tstoavi
diff --git a/multimedia/m2vrequantiser/Makefile b/multimedia/m2vrequantiser/Makefile
index 0a8bd04a276f..2a1ed8600303 100644
--- a/multimedia/m2vrequantiser/Makefile
+++ b/multimedia/m2vrequantiser/Makefile
@@ -1,5 +1,3 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
PORTNAME= m2vrequantiser
PORTVERSION= 1.1
CATEGORIES= multimedia
@@ -8,6 +6,7 @@ DISTNAME= M2VRequantiser-v${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Requantize MPEG-2 streams without recompressing
+WWW= https://launchpad.net/m2vrequantiser
CFLAGS= -Duint=unsigned
MAKE_ARGS= CC="${CC}" CXX="${CXX}"
diff --git a/multimedia/m2vrequantiser/pkg-descr b/multimedia/m2vrequantiser/pkg-descr
index 2cfe6b35a10f..dbf0cfec4b9b 100644
--- a/multimedia/m2vrequantiser/pkg-descr
+++ b/multimedia/m2vrequantiser/pkg-descr
@@ -4,5 +4,3 @@ writes the recompressed frames to standard output.
Usage is :
M2VRequantiser recompression_factor inputM2Vsize <input.m2v >output.m2v
-
-WWW: https://launchpad.net/m2vrequantiser
diff --git a/multimedia/makemkv/Makefile b/multimedia/makemkv/Makefile
index 9df41c52f8d8..2c62425152bf 100644
--- a/multimedia/makemkv/Makefile
+++ b/multimedia/makemkv/Makefile
@@ -1,51 +1,47 @@
-# Created by: Felix Palmen <felix@palmen-it.de>
-
PORTNAME= makemkv
-PORTVERSION= 1.16.4
+DISTVERSION= 1.17.6
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= http://www.makemkv.com/download/:makemkv \
http://www.makemkv.com/download/old/:makemkv \
SF/opencore-amr/fdk-aac/:fdkaac \
- https://ffmpeg.org/releases/:ffmpeg \
- https://www.openssl.org/source/old/${OPENSSLVERSION}/:openssl
-DISTFILES= makemkv-oss-${PORTVERSION}.tar.gz:makemkv \
- makemkv-bin-${PORTVERSION}.tar.gz:makemkv \
- fdk-aac-${FDKAACVERSION}.tar.gz:fdkaac \
- ffmpeg-${FFMPEGVERSION}.tar.bz2:ffmpeg \
- openssl-${OPENSSLFULLVER}.tar.gz:openssl
-DIST_SUBDIR= ${PORTNAME}
-
-MAINTAINER= felix@palmen-it.de
+ https://ffmpeg.org/releases/:ffmpeg
+DISTFILES= ${DISTFL_MAKEMKV:S/$/:makemkv/} \
+ ${DISTFL_FFMPEG:S/$/:ffmpeg/}
+
+MAINTAINER= zirias@FreeBSD.org
COMMENT= Video converter reading from DVD and Bluray
+WWW= https://www.makemkv.com
-# Do not sell. Do not redistribute modified binaries, but
-# explicit permission to distribute a patched makemkvcon given by
-# copyright owner
-LICENSE= MAKEMKV FDK LGPL21+ OpenSSL
-LICENSE_COMB= multi
+LICENSE= MAKEMKV LGPL21+ ${PORT_OPTIONS:MFDK_AAC}
+LICENSE_COMB= multi
LICENSE_NAME_MAKEMKV= The MakeMKV EULA
-LICENSE_NAME_FDK= The FDK AAC License
-LICENSE_FILE_MAKEMKV= ${WRKDIR}/makemkv-bin-${PORTVERSION}/src/eula_en_linux.txt
-LICENSE_FILE_FDK= ${WRKDIR}/fdk-aac-${FDKAACVERSION}/NOTICE
-LICENSE_PERMS_MAKEMKV= dist-mirror no-dist-sell pkg-mirror no-pkg-sell \
- auto-accept
-LICENSE_PERMS_FDK= dist-mirror no-dist-sell pkg-mirror no-pkg-sell \
- auto-accept
-LICENSE_DISTFILES_FDK= fdk-aac-${FDKAACVERSION}.tar.gz
-LICENSE_DISTFILES_LGPL21+ = ffmpeg-${FFMPEGVERSION}.tar.bz2
-LICENSE_DISTFILES_OpenSSL= openssl-${OPENSSLFULLVER}.tar.gz
-LICENSE_DISTFILES_MAKEMKV= makemkv-bin-${PORTVERSION}.tar.gz \
- makemkv-oss-${PORTVERSION}.tar.gz
-
-ONLY_FOR_ARCHS= amd64 i386
-USES= gmake linux pkgconfig perl5
-USE_LINUX= base expat expat:build openssl openssl:build devtools:build
-USE_PERL5= build
-BUILD_DEPENDS= nasm>0:devel/nasm \
- ${LOCALBASE}/include/expat.h:textproc/expat2 \
- patchelf>0:sysutils/patchelf
-
-WRKSRC= ${WRKDIR}/makemkv-oss-${PORTVERSION}
+LICENSE_NAME_FDK_AAC= The FDK AAC License
+LICENSE_FILE_MAKEMKV= ${WRKSRC_bin}/src/eula_en_linux.txt
+LICENSE_FILE_FDK_AAC= ${WRKSRC_fdkaac}/NOTICE
+LICENSE_PERMS_MAKEMKV= dist-mirror pkg-mirror auto-accept \
+ # eplicit permission granted by copyright owner to \
+ # distribute a patched makemkvcon binary.
+LICENSE_PERMS_FDK_AAC= auto-accept
+LICENSE_DISTFILES_FDK_AAC= ${DISTFL_FDKAAC}
+LICENSE_DISTFILES_LGPL21+ = ${DISTFL_FFMPEG}
+LICENSE_DISTFILES_MAKEMKV= ${DISTFL_MAKEMKV}
+
+ONLY_FOR_ARCHS= aarch64 amd64 i386
+USES= gmake linux pkgconfig
+USE_CSTD= c11
+USE_CXXSTD= c++11
+USE_LINUX= base expat \
+ devtools:build expat-devel:build openssl-devel:build \
+ zlib-devel:build
+BUILD_DEPENDS= patchelf:sysutils/patchelf \
+ ${BUILD_DEPENDS_${FFMPEG_ARCH}}
+BUILD_DEPENDS_x86= nasm:devel/nasm
+
+WRKSRC= ${WRKDIR}/makemkv-oss-${DISTVERSION}
+WRKSRC_bin= ${WRKDIR}/makemkv-bin-${DISTVERSION}
+WRKSRC_fdkaac= ${WRKDIR}/fdk-aac-${FDKAACVERSION}
+WRKSRC_ffmpeg= ${WRKDIR}/ffmpeg-${FFMPEGVERSION}
CONFLICTS_BUILD= v4l_compat
@@ -53,56 +49,38 @@ SUB_FILES= update-makemkv-drives
SUB_LIST= LINUXBASE=${LINUXBASE}
PLIST_SUB= LINUXBASE=${LINUXBASE}
-FDKAACVERSION= 2.0.2
-FFMPEGVERSION= 4.4
-OPENSSLVERSION= 1.0.2
-OPENSSLPATCHLEVEL= k
-OPENSSLFULLVER= ${OPENSSLVERSION}${OPENSSLPATCHLEVEL}
+FDKAACVERSION= 2.0.3
+FFMPEGVERSION= 6.1.1
-LINUXARCH= ${ARCH:S/amd64/x86_64/}
-LINUXTRIPLET= ${LINUXARCH}-redhat-linux
-LINUXLIBDIR= ${LINUXBASE}/${"${LINUXARCH:Mx86_64}" != "":?lib64:lib}
-OPENSSLTARGET= ${"${LINUXARCH:Mx86_64}" != "":?linux-x86_64:linux-elf}
+DISTFL_MAKEMKV= makemkv-oss-${DISTVERSION}.tar.gz \
+ makemkv-bin-${DISTVERSION}.tar.gz
+DISTFL_FDKAAC= fdk-aac-${FDKAACVERSION}.tar.gz
+DISTFL_FFMPEG= ffmpeg-${FFMPEGVERSION}.tar.xz
-OPTIONS_DEFINE= EXAMPLES
+OPTIONS_DEFINE= EXAMPLES FDK_AAC
+OPTIONS_DEFAULT= EXAMPLES
+FDK_AAC_DESC= Support AAC via statically linked fdk-aac
+FDK_AAC_DISTFILES= ${DISTFL_FDKAAC:S/$/:fdkaac/}
+TARGET_ORDER_OVERRIDE= 290:pre-configure-FDK_AAC-on
+CC= ${LINUXBASE}/bin/gcc
+CXX= ${LINUXBASE}/bin/g++
+CPPFLAGS+= -D_linux_ -DFORCE_OPENSSL_NO_EC
PATCHELF_CMD?= ${LOCALBASE}/bin/patchelf
-
-CFLAGS+= -std=c++11 -std=c11 -DFORCE_OPENSSL_NO_EC \
- -I${WRKDIR}/gnuroot/include \
- -I${WRKDIR}/openssl-${OPENSSLFULLVER}/include
-SSP_CFLAGS=
-LDFLAGS+= -L${WRKDIR}/gnuroot/lib
+LINUXSYSROOT= ${WRKDIR}/gnuroot
HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --prefix=${PREFIX} --disable-gui --host=${LINUXTRIPLET} \
- --libdir=${PREFIX}/lib/makemkv
-CONFIGURE_ENV= CC=${LINUXTRIPLET}-gcc CXX=${LINUXTRIPLET}-g++ \
- PATH=${WRKDIR}/gnuroot/bin:${PATH} \
- PKG_CONFIG_PATH=${WRKDIR}/gnuroot/lib/pkgconfig
-MAKE_ENV= PATH=${WRKDIR}/gnuroot/bin:${PATH}
-STRIP_CMD= ${WRKDIR}/gnuroot/bin/${LINUXTRIPLET}-strip
-
-post-extract:
- @${MKDIR} ${WRKDIR}/gnuroot/lib
- @cd ${WRKDIR}/gnuroot/lib; \
- ${LN} -s ${LINUXLIBDIR}/libz.so.1; \
- ${LN} -s libz.so.1 libz.so; \
- ${LN} -s ${LINUXLIBDIR}/libcrypto.so.10; \
- ${LN} -s libcrypto.so.10 libcrypto.so; \
- ${LN} -s ${LINUXLIBDIR}/libexpat.so.1; \
- ${LN} -s libexpat.so.1 libexpat.so
- @${MKDIR} ${WRKDIR}/gnuroot/include
- @cd ${WRKDIR}/gnuroot/include; \
- ${LN} -s /usr/include/zlib.h; \
- ${LN} -s /usr/include/zconf.h; \
- ${LN} -s ${LOCALBASE}/include/expat.h; \
- ${LN} -s ${LOCALBASE}/include/expat_config.h; \
- ${LN} -s ${LOCALBASE}/include/expat_external.h
- @${MKDIR} ${WRKDIR}/gnuroot/bin
- @cd ${WRKDIR}/gnuroot/bin; \
- for t in gcc link ld objdump ar nm strip ranlib g++; do \
- ${LN} -s ${LINUXBASE}/bin/$$t ${LINUXTRIPLET}-$$t; \
- done
+CONFIGURE_ARGS= --prefix=${PREFIX} --disable-gui --libdir=${PREFIX}/lib/makemkv
+CONFIGURE_ENV= PKG_CONFIG_PATH=${LINUXSYSROOT}/lib/pkgconfig
+MAKE_ARGS= CFLAGS="${CXXFLAGS} ${CPPFLAGS} -std=c11"
+
+FFMPEG_ARCH= ${ARCH:Maarch64:S/^$/x86/}
+FFMPEG_CONFIGURE_ARGS= --prefix=${LINUXSYSROOT} --pkg-config=pkg-config \
+ --disable-shared --enable-static --enable-pic \
+ --target-os=linux --cc=${CC} \
+ ${"${PORT_OPTIONS:MFDK_AAC}":?--enable-libfdk-aac:}
+FFMPEG_CONFIGURE_ENV= ${CONFIGURE_ENV} CFLAGS="${CPPFLAGS} ${CFLAGS}"
+FFMPEG_MAKE_ARGS= V=1 ARCH=${FFMPEG_ARCH}
+FFMPEG_INSTALL_TARGET= ${ALL_TARGET} ${INSTALL_TARGET}
post-patch:
@${REINPLACE_CMD} -e 's:INSTALL) -D:INSTALL):' \
@@ -111,43 +89,30 @@ post-patch:
-e 's:x86_64:amd64:' \
-e 's:i686:i386:' \
-e 's:-t \([^ ]*\) \([^ ]*\):\2 \1:' \
- ${WRKDIR}/makemkv-bin-${PORTVERSION}/Makefile
+ -e 's:ARCH=:BINARCH=:' \
+ -e 's:bin/$$(ARCH:bin/$$(BINARCH:' \
+ ${WRKSRC_bin}/Makefile
+
+pre-configure-FDK_AAC-on:
+ cd ${WRKSRC_fdkaac}; \
+ ${CONFIGURE_ENV} CXX=${CXX} \
+ ./configure --prefix=${LINUXSYSROOT} --disable-silent-rules \
+ --disable-shared --enable-static --with-pic; \
+ ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} ${INSTALL_TARGET}
pre-configure:
- # FDK AAC
- cd ${WRKDIR}/fdk-aac-${FDKAACVERSION}; \
- export PATH=${WRKDIR}/gnuroot/bin:$$PATH; \
- export CXXFLAGS="${CFLAGS}"; \
- LDFLAGS=-L${WRKDIR}/gnuroot/lib \
- ./configure --prefix=${WRKDIR}/gnuroot \
- --disable-shared --enable-static --with-pic \
- --host=${LINUXTRIPLET} --disable-silent-rules; \
- ${MAKE_CMD} ${_MAKE_JOBS} install
- # ffmpeg
- cd ${WRKDIR}/ffmpeg-${FFMPEGVERSION}; \
- export PATH=${WRKDIR}/gnuroot/bin:$$PATH; \
- export CFLAGS="${CFLAGS}"; \
- PKG_CONFIG_PATH=${WRKDIR}/gnuroot/lib/pkgconfig \
- CPPFLAGS="-Dcaddr_t=void\* -D__daddr_t_defined" \
- LDFLAGS=-L${WRKDIR}/gnuroot/lib \
- ./configure --prefix=${WRKDIR}/gnuroot \
- --disable-shared --enable-static --enable-pic \
- --enable-libfdk-aac --pkg-config=pkg-config \
- --cross-prefix=${LINUXTRIPLET}- --arch=${LINUXARCH} \
- --target-os=linux --host-cc=${CC}; \
- CFLAGS="${CFLAGS}" \
- ${MAKE_CMD} ${_MAKE_JOBS} V=1 ARCH=x86 all install
- # OpenSSL headers
- cd ${WRKDIR}/openssl-${OPENSSLFULLVER}; \
- ./Configure --openssldir= --prefix=/usr ${OPENSSLTARGET}
+ cd ${WRKSRC_ffmpeg}; \
+ ${FFMPEG_CONFIGURE_ENV} ./configure ${FFMPEG_CONFIGURE_ARGS}; \
+ ${MAKE_ENV} ${MAKE_CMD} ${_MAKE_JOBS} \
+ ${FFMPEG_MAKE_ARGS} ${FFMPEG_INSTALL_TARGET}
pre-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/makemkv
post-install:
${INSTALL_MAN} ${FILESDIR}/makemkvcon.1 \
- ${STAGEDIR}${PREFIX}/man/man1
- cd ${WRKDIR}/makemkv-bin-${PORTVERSION}; \
+ ${STAGEDIR}${PREFIX}/share/man/man1
+ cd ${WRKSRC_bin}; \
${MKDIR} tmp; \
${ECHO_CMD} accepted > tmp/eula_accepted; \
${MAKE_CMD} DESTDIR=${STAGEDIR} PREFIX=${PREFIX} install
@@ -164,10 +129,4 @@ post-install-EXAMPLES-on:
${INSTALL_DATA} ${FILESDIR}/update-makemkv-key.sh \
${STAGEDIR}${EXAMPLESDIR}
-.include <bsd.port.pre.mk>
-
-.if ${ARCH} == "i386"
-MAKE_JOBS_UNSAFE= yes
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/multimedia/makemkv/distinfo b/multimedia/makemkv/distinfo
index 249dc9e071fa..315dae185579 100644
--- a/multimedia/makemkv/distinfo
+++ b/multimedia/makemkv/distinfo
@@ -1,11 +1,9 @@
-TIMESTAMP = 1629369603
-SHA256 (makemkv/makemkv-oss-1.16.4.tar.gz) = e6b0d391159e60c48c115cdf6938eb02f5aeef3c3fecf94813c500f4031e4f6b
-SIZE (makemkv/makemkv-oss-1.16.4.tar.gz) = 6536730
-SHA256 (makemkv/makemkv-bin-1.16.4.tar.gz) = 22fbd3f57e93f3c79a76c878202fb27e85f2d66de26b3be87b69198228a66aa2
-SIZE (makemkv/makemkv-bin-1.16.4.tar.gz) = 15455839
-SHA256 (makemkv/fdk-aac-2.0.2.tar.gz) = c9e8630cf9d433f3cead74906a1520d2223f89bcd3fa9254861017440b8eb22f
-SIZE (makemkv/fdk-aac-2.0.2.tar.gz) = 2886434
-SHA256 (makemkv/ffmpeg-4.4.tar.bz2) = 42093549751b582cf0f338a21a3664f52e0a9fbe0d238d3c992005e493607d0e
-SIZE (makemkv/ffmpeg-4.4.tar.bz2) = 11489948
-SHA256 (makemkv/openssl-1.0.2k.tar.gz) = 6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0
-SIZE (makemkv/openssl-1.0.2k.tar.gz) = 5309236
+TIMESTAMP = 1706434198
+SHA256 (makemkv-oss-1.17.6.tar.gz) = d9db4d772bf4f9061642b7eb22ee5140a48de2c71258ab8b14d949657a710d43
+SIZE (makemkv-oss-1.17.6.tar.gz) = 6618067
+SHA256 (makemkv-bin-1.17.6.tar.gz) = 287646005029f771d366cf0e4fbeb17fcf1033452d955547deae7b0999b4ed1b
+SIZE (makemkv-bin-1.17.6.tar.gz) = 16423034
+SHA256 (ffmpeg-6.1.1.tar.xz) = 8684f4b00f94b85461884c3719382f1261f0d9eb3d59640a1f4ac0873616f968
+SIZE (ffmpeg-6.1.1.tar.xz) = 10458600
+SHA256 (fdk-aac-2.0.3.tar.gz) = 829b6b89eef382409cda6857fd82af84fabb63417b08ede9ea7a553f811cb79e
+SIZE (fdk-aac-2.0.3.tar.gz) = 2906697
diff --git a/multimedia/makemkv/pkg-descr b/multimedia/makemkv/pkg-descr
index 8f84c6598f4a..8f8e9e785d44 100644
--- a/multimedia/makemkv/pkg-descr
+++ b/multimedia/makemkv/pkg-descr
@@ -6,17 +6,8 @@ converter, otherwise called "transcoder". It converts the video clips from
proprietary (and usually encrypted) disc into a set of MKV files, preserving
most information but not changing it in any way.
-Known issues on FreeBSD:
-
-* Only the commandline interface works, so there is no GUI in this port. The
- port includes a small manpage to get you started using makemkvcon.
-* makemkvcon always crashes on exit (after completing its job), so be aware
- this might leave core files on your system.
-* To find optical drives, makemkvcon uses some entries from Linux' sysfs that
- aren't present on FreeBSD. A script `update-makemkv-drives` is included with
- the port that fakes these entries. It is run automatically on installation,
- but if the system's configuration changes, it must be run manually again by
- root.
+Only the commandline interface works, so there is no GUI in this port. The port
+includes a small manpage to get you started using makemkvcon.
Requirements:
@@ -26,5 +17,3 @@ Requirements:
https://docs.freebsd.org/en/books/handbook/kernelconfig/#kernelconfig-building
* Make sure you have the "linux" kernel module loaded. On amd64, "linux64" is
also required.
-
-WWW: https://www.makemkv.com
diff --git a/multimedia/makemkv/pkg-message b/multimedia/makemkv/pkg-message
index f0cfb71e17e9..ca6c39cd1982 100644
--- a/multimedia/makemkv/pkg-message
+++ b/multimedia/makemkv/pkg-message
@@ -1,3 +1,6 @@
+[
+{ type: install
+ message: <<EOM
This port doesn't include the MakeMKV GUI as it doesn't work on FreeBSD.
To enable makemkvcon to find a drive on FreeBSD, a part of Linux' sysfs must
@@ -10,3 +13,6 @@ If makemkvcon refuses to work as root, check the permissions of
permissions, use the command
chmod 1777 /compat/linux/tmp
+EOM
+}
+]
diff --git a/multimedia/makemkv/pkg-plist b/multimedia/makemkv/pkg-plist
index 2c06ff60adda..dbc5b50a858b 100644
--- a/multimedia/makemkv/pkg-plist
+++ b/multimedia/makemkv/pkg-plist
@@ -1,14 +1,15 @@
bin/makemkvcon
bin/mmccextr
+bin/mmgplsrv
bin/sdftool
lib/makemkv/libdriveio.so.0
lib/makemkv/libmakemkv.so.1
lib/makemkv/libmmbd.so.0
-man/man1/makemkvcon.1.gz
sbin/update-makemkv-drives
share/MakeMKV/appdata.tar
share/MakeMKV/blues.jar
share/MakeMKV/blues.policy
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/update-makemkv-key.sh
+share/man/man1/makemkvcon.1.gz
@postexec update-makemkv-drives
@preunexec rm -fr %%LINUXBASE%%/etc/makemkv
diff --git a/multimedia/mediaelch/Makefile b/multimedia/mediaelch/Makefile
new file mode 100644
index 000000000000..5cd7bd12aac5
--- /dev/null
+++ b/multimedia/mediaelch/Makefile
@@ -0,0 +1,42 @@
+PORTNAME= mediaelch
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.10.6
+CATEGORIES= multimedia
+PKGNAMESUFFIX= -${FLAVOR}
+
+MAINTAINER= ports@freebsd.org
+COMMENT= Desktop utility to manage metadata and artwork for Kodi and Jellyfin
+WWW= https://www.mediaelch.de/mediaelch/
+
+LICENSE= LGPL3
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libmediainfo.so:multimedia/libmediainfo \
+ libcurl.so:ftp/curl \
+ libquazip1-${FLAVOR}.so:archivers/quazip@${FLAVOR}
+
+FLAVORS= qt6 qt5
+FLAVOR?= qt6
+
+USES= cmake gl localbase:ldflags qt:${FLAVOR:S/qt//}
+
+USE_GITHUB= yes
+GH_ACCOUNT= Komet
+GH_PROJECT= MediaElch
+
+USE_GL= opengl
+
+_USE_QT_qt5= buildtools:build qmake:build linguisttools:build \
+ concurrent core gui multimedia network opengl qmake sql svg \
+ widgets xml
+_USE_QT_qt6= 5compat base multimedia svg tools
+USE_QT= ${_USE_QT_${FLAVOR}}
+
+CMAKE_ON= USE_EXTERN_QUAZIP MEDIAELCH_FORCE_QT${FLAVOR:S/qt//}
+
+PLIST_FILES= bin/MediaElch \
+ share/applications/MediaElch.desktop \
+ share/metainfo/com.kvibes.MediaElch.metainfo.xml \
+ share/pixmaps/MediaElch.png
+
+.include <bsd.port.mk>
diff --git a/multimedia/mediaelch/distinfo b/multimedia/mediaelch/distinfo
new file mode 100644
index 000000000000..82413e3359cd
--- /dev/null
+++ b/multimedia/mediaelch/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1705330582
+SHA256 (Komet-MediaElch-v2.10.6_GH0.tar.gz) = c37464e4cf956e9abec14126eb681633988f31ba2b0f937817c7829c25737e22
+SIZE (Komet-MediaElch-v2.10.6_GH0.tar.gz) = 3300733
diff --git a/multimedia/mediaelch/pkg-descr b/multimedia/mediaelch/pkg-descr
new file mode 100644
index 000000000000..f624c5472ee0
--- /dev/null
+++ b/multimedia/mediaelch/pkg-descr
@@ -0,0 +1,5 @@
+MediaElch is a desktop media metadata manager for Kodi and Jellyfin.
+
+It can automatically download information about movies, TV shows and music,
+including artwork, and create ".nfo" files which are used by the Kodi/Jellyfin
+user interface.
diff --git a/multimedia/mediainfo/Makefile b/multimedia/mediainfo/Makefile
index 9cd47908491f..68b865d68d59 100644
--- a/multimedia/mediainfo/Makefile
+++ b/multimedia/mediainfo/Makefile
@@ -1,7 +1,5 @@
-# Created by: freebsd-ports@evilcode.net
-
PORTNAME= mediainfo
-PORTVERSION= 22.03
+PORTVERSION= 24.03
CATEGORIES= multimedia
MASTER_SITES= https://mediaarea.net/download/binary/mediainfo/${PORTVERSION}/ \
LOCAL/sunpoet
@@ -9,6 +7,8 @@ DISTNAME= MediaInfo_CLI_${PORTVERSION}_GNU_FromSource
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Provides technical and tag information for video and audio files
+WWW= https://mediaarea.net/en/MediaInfo \
+ https://github.com/MediaArea/MediaInfo
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/../../../License.html
@@ -19,7 +19,6 @@ LIB_DEPENDS= libmediainfo.so:multimedia/libmediainfo \
USES= compiler:c++11-lang cpe libtool pathfix pkgconfig tar:xz
GNU_CONFIGURE= yes
-USE_CXXSTD= c++11
USE_LDCONFIG= yes
PLIST_FILES= bin/mediainfo
diff --git a/multimedia/mediainfo/distinfo b/multimedia/mediainfo/distinfo
index d06bc0fa158b..a3f652670744 100644
--- a/multimedia/mediainfo/distinfo
+++ b/multimedia/mediainfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649423690
-SHA256 (MediaInfo_CLI_22.03_GNU_FromSource.tar.xz) = 3ff154367b0216a55c78ec48b431dfab8fbefed321869f11295f27918b4a9255
-SIZE (MediaInfo_CLI_22.03_GNU_FromSource.tar.xz) = 3311908
+TIMESTAMP = 1711860483
+SHA256 (MediaInfo_CLI_24.03_GNU_FromSource.tar.xz) = d4aadbc9083b4a1d24c040d4fa6cfb6c77e0ee22b8c52e5d25c93c2cbf2b372a
+SIZE (MediaInfo_CLI_24.03_GNU_FromSource.tar.xz) = 3473824
diff --git a/multimedia/mediainfo/pkg-descr b/multimedia/mediainfo/pkg-descr
index 6266eb8df7ba..efdc90b6a90b 100644
--- a/multimedia/mediainfo/pkg-descr
+++ b/multimedia/mediainfo/pkg-descr
@@ -2,5 +2,3 @@ MediaInfo is a convenient unified display of the most relevant technical and
tag data for video and audio files.
Read http://mediaarea.net/en/MediaInfo/Support/Formats for supported formats.
-
-WWW: https://mediaarea.net/en/MediaInfo
diff --git a/multimedia/mencoder/Makefile b/multimedia/mencoder/Makefile
index 2df6b5c12581..659d30b6ee48 100644
--- a/multimedia/mencoder/Makefile
+++ b/multimedia/mencoder/Makefile
@@ -1,21 +1,20 @@
-# Created by: Thomas E. Zander
-
PORTNAME= mencoder
PORTVERSION= ${MPLAYER_PORT_VERSION}.${MPLAYER_SNAPSHOT_DATE:S/-//g}
CATEGORIES= multimedia audio
MAINTAINER= riggs@FreeBSD.org
COMMENT= Convenient video file and movie encoder
+WWW= http://www.mplayerhq.hu/
.include "${.CURDIR}/../mplayer/Makefile.common"
-OPTIONS_DEFINE= AMR_NB AMR_WB ASS BLURAY CDIO DEBUG DV DVDNAV FAAC FONTCONFIG \
- FRIBIDI GIF GNUTLS GSM IPV6 JACK LADSPA LIBMNG LZO \
+OPTIONS_DEFINE= AMR_NB AMR_WB ASS BLURAY CDIO DV DVDNAV FAAC FONTCONFIG \
+ FRIBIDI GIF GNUTLS GSM IPV6 JACK JPEG LADSPA LIBMNG LZO \
MAD NAS NLS OPENAL OPENJPEG OPUS PULSEAUDIO \
RTMP SMB SPEEX THEORA TWOLAME V4L VPX \
X264 XVID
-OPTIONS_DEFAULT=ASS DVDNAV FONTCONFIG GIF GNUTLS X264 XVID
+OPTIONS_DEFAULT=ASS DVDNAV FONTCONFIG GIF GNUTLS JPEG X264 XVID
OPTIONS_DEFINE_i386= RTCPU
OPTIONS_DEFINE_amd64= RTCPU
@@ -92,7 +91,7 @@ post-patch: common-post-patch
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/mencoder ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/DOCS/man/en/mplayer.1 ${STAGEDIR}${MAN1PREFIX}/man/man1/mencoder.1
+ ${INSTALL_MAN} ${WRKSRC}/DOCS/man/en/mplayer.1 ${STAGEDIR}${PREFIX}/share/man/man1/mencoder.1
@${MKDIR} ${STAGEDIR}${DATADIR}
@${CHMOD} 755 ${STAGEDIR}${DATADIR}
@${MKDIR} ${STAGEDIR}${DATADIR}/tools
diff --git a/multimedia/mencoder/distinfo b/multimedia/mencoder/distinfo
index cf48b617d4ec..15aca8be4a8e 100644
--- a/multimedia/mencoder/distinfo
+++ b/multimedia/mencoder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1647355145
-SHA256 (mplayer-1.5.0.20220310.tar.xz) = 05467b1dd70a41da0ac2b0dbd02794dc0245ef556b421884ec24285d8fd2408c
-SIZE (mplayer-1.5.0.20220310.tar.xz) = 5195436
+TIMESTAMP = 1704536551
+SHA256 (mplayer-1.5.0.20240106.tar.xz) = c72f8c2e2a8829e49cadca8ed3f2454b70afd39b155bed734df603498b4ed5e5
+SIZE (mplayer-1.5.0.20240106.tar.xz) = 5191136
diff --git a/multimedia/mencoder/pkg-descr b/multimedia/mencoder/pkg-descr
index 21cd569f34cc..4fa5b787836c 100644
--- a/multimedia/mencoder/pkg-descr
+++ b/multimedia/mencoder/pkg-descr
@@ -4,5 +4,3 @@ of input sources as the player component and supports encoding from
these sources through various codecs, including the popular ffmpeg,
XviD and x264 families. "Transcoding" DVDs into avi files is also
possible.
-
-WWW: http://www.mplayerhq.hu/
diff --git a/multimedia/mencoder/pkg-plist b/multimedia/mencoder/pkg-plist
index 464bfbccf83c..c1bcd3db4305 100644
--- a/multimedia/mencoder/pkg-plist
+++ b/multimedia/mencoder/pkg-plist
@@ -1,5 +1,5 @@
bin/mencoder
-man/man1/mencoder.1.gz
+share/man/man1/mencoder.1.gz
%%DATADIR%%/tools/aconvert.sh
%%DATADIR%%/tools/binary_codecs.sh
%%DATADIR%%/tools/calcbpp.pl
diff --git a/multimedia/minisatip/Makefile b/multimedia/minisatip/Makefile
index 277129575976..08c87e942251 100644
--- a/multimedia/minisatip/Makefile
+++ b/multimedia/minisatip/Makefile
@@ -1,12 +1,12 @@
-# Created by: Bernhard Froehlich <decke@FreeBSD.org>
-
PORTNAME= minisatip
-PORTVERSION= 1.2.2
+PORTVERSION= 1.3.5
DISTVERSIONPREFIX= v
+PORTEPOCH= 1
CATEGORIES= multimedia
MAINTAINER= decke@FreeBSD.org
COMMENT= Multi-threaded SATIP server that supports DVB cards
+WWW= https://github.com/catalinii/minisatip
LICENSE= GPLv2+
diff --git a/multimedia/minisatip/distinfo b/multimedia/minisatip/distinfo
index 4501016e61ae..fbdbad098939 100644
--- a/multimedia/minisatip/distinfo
+++ b/multimedia/minisatip/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652814718
-SHA256 (catalinii-minisatip-v1.2.2_GH0.tar.gz) = 91239dc616a95f9a6020bd7065143bccac52b780457691efaa5d3f5ad06cea41
-SIZE (catalinii-minisatip-v1.2.2_GH0.tar.gz) = 393991
+TIMESTAMP = 1713439200
+SHA256 (catalinii-minisatip-v1.3.5_GH0.tar.gz) = 8e87ffe3eea5255baa1d6d62aa2dba4c1d6926974f7d877b45b9b02e73a70fab
+SIZE (catalinii-minisatip-v1.3.5_GH0.tar.gz) = 431380
diff --git a/multimedia/minisatip/pkg-descr b/multimedia/minisatip/pkg-descr
index 1ee621cad15d..b9150fb924f2 100644
--- a/multimedia/minisatip/pkg-descr
+++ b/multimedia/minisatip/pkg-descr
@@ -1,5 +1,3 @@
Minisatip is a multi-threaded satip server version 1.2 that runs under Linux and
it was tested with DVB-S, DVB-S2, DVB-T, DVB-T2, DVB-C, DVB-C2, ATSC and ISDB-T
cards.
-
-WWW: https://github.com/catalinii/minisatip
diff --git a/multimedia/minitube/Makefile b/multimedia/minitube/Makefile
index b1d3046df133..b9aadf129438 100644
--- a/multimedia/minitube/Makefile
+++ b/multimedia/minitube/Makefile
@@ -1,9 +1,11 @@
PORTNAME= minitube
DISTVERSION= 3.9.3
+PORTREVISION= 3
CATEGORIES= multimedia www
MAINTAINER= yuri@FreeBSD.org
COMMENT= TV-like client for YouTube
+WWW= https://flavio.tordini.org/minitube
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -23,7 +25,7 @@ GH_TUPLE= \
USE_GL= gl
USE_QT= core dbus declarative gui network script sql widgets \
- buildtools_build imageformats_run sql-sqlite3_run \
+ buildtools:build imageformats:run sql-sqlite3:run \
x11extras
QMAKE_ARGS= QMAKE_LRELEASE=${LRELEASE} \
@@ -31,7 +33,7 @@ QMAKE_ARGS= QMAKE_LRELEASE=${LRELEASE} \
OPTIONS_DEFINE= NLS
OPTIONS_SUB= yes
-NLS_USE= QT=linguisttools_build
+NLS_USE= QT=linguisttools:build
post-patch:
# Remove BOM
diff --git a/multimedia/minitube/files/patch-lib_media_src_mpv_mpvwidget.cpp b/multimedia/minitube/files/patch-lib_media_src_mpv_mpvwidget.cpp
new file mode 100644
index 000000000000..a6a48f27fadb
--- /dev/null
+++ b/multimedia/minitube/files/patch-lib_media_src_mpv_mpvwidget.cpp
@@ -0,0 +1,18 @@
+- workaround for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267115 to allow to build with mpv-0.35
+
+diff -Nur lib/media/src/mpv/mpvwidget.cpp.orig lib/media/src/mpv/mpvwidget.cpp
+--- lib/media/src/mpv/mpvwidget.cpp.orig
++++ lib/media/src/mpv/mpvwidget.cpp
+@@ -30,7 +30,11 @@
+ qDebug() << "initializeGL" << nativeParent;
+ if (nativeParent == nullptr) qFatal("No native parent");
+
+- mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
++ #if MPV_CLIENT_API_VERSION < MPV_MAKE_VERSION(2,0)
++ mpv_opengl_init_params gl_init_params{get_proc_address, this, nullptr};
++ #else
++ mpv_opengl_init_params gl_init_params{get_proc_address, this};
++ #endif
+ mpv_render_param params[]{{MPV_RENDER_PARAM_API_TYPE, (void *)MPV_RENDER_API_TYPE_OPENGL},
+ {MPV_RENDER_PARAM_OPENGL_INIT_PARAMS, &gl_init_params},
+ {MPV_RENDER_PARAM_INVALID, nullptr},
diff --git a/multimedia/minitube/pkg-descr b/multimedia/minitube/pkg-descr
index f1e57539f0d0..d54bfacf6abe 100644
--- a/multimedia/minitube/pkg-descr
+++ b/multimedia/minitube/pkg-descr
@@ -1,5 +1,3 @@
Minitube is a native YouTube client. With it you can watch YouTube
videos in a new way: you type a keyword, Minitube gives you an
endless video stream. Minitube does not require the Flash Player.
-
-WWW: https://flavio.tordini.org/minitube
diff --git a/multimedia/mjpegtools/Makefile b/multimedia/mjpegtools/Makefile
index 725f83fa0727..ad5d6e24c1b8 100644
--- a/multimedia/mjpegtools/Makefile
+++ b/multimedia/mjpegtools/Makefile
@@ -1,13 +1,12 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= mjpegtools
PORTVERSION= 2.1.0
-PORTREVISION= 15
+PORTREVISION= 18
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME:S/tools//}/${PORTNAME}/${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Set of tools to record/playback/edit videos in MPEG format
+WWW= http://mjpeg.sourceforge.net/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,15 +17,17 @@ CONFLICTS= mplex
USES= compiler:c++11-lang gmake gnome jpeg libtool localbase pathfix \
pkgconfig
+USE_CXXSTD= c++14
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --without-dga --without-x
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
+CONFIGURE_ARGS= --without-dga --without-libquicktime --without-x
CONFIGURE_TARGET= ${ARCH:S/amd64/x86_64/}-portbld-${OPSYS:tl}${OSREL}
INFO= mjpeg-howto
-OPTIONS_DEFINE= DOCS DV GTK2 PNG QUICKTIME SDL
+OPTIONS_DEFINE= DOCS DV GTK2 PNG SDL
OPTIONS_DEFAULT= GTK2 PNG SDL
OPTIONS_SUB= yes
@@ -36,8 +37,6 @@ GTK2_USE= GNOME=gtk20
GTK2_CONFIGURE_WITH= gtk
PNG_LIB_DEPENDS= libpng.so:graphics/png
PNG_CONFIGURE_WITH= libpng
-QUICKTIME_LIB_DEPENDS= libquicktime.so:multimedia/libquicktime
-QUICKTIME_CONFIGURE_WITH= libquicktime
SDL_USES= sdl
SDL_USE= SDL=gfx,sdl
SDL_CONFIGURE_OFF= --without-libsdl --without-sdlgfx
diff --git a/multimedia/mjpegtools/pkg-descr b/multimedia/mjpegtools/pkg-descr
index 073b98f582ce..c1af386b53de 100644
--- a/multimedia/mjpegtools/pkg-descr
+++ b/multimedia/mjpegtools/pkg-descr
@@ -10,5 +10,3 @@ The rest are from diverse open source originals, modified to work
with the lav tools edit lists and AVI and quicktime files. Some
(especially the MPEG tools) have had also more major perfomance and
functionality enhancements.
-
-WWW: http://mjpeg.sourceforge.net/
diff --git a/multimedia/mjpegtools/pkg-plist b/multimedia/mjpegtools/pkg-plist
index 7c9c59fa2d1f..68972c66e50e 100644
--- a/multimedia/mjpegtools/pkg-plist
+++ b/multimedia/mjpegtools/pkg-plist
@@ -24,7 +24,6 @@ bin/pgmtoy4m
%%PNG%%bin/png2yuv
bin/pnmtoy4m
bin/ppmtoy4m
-%%QUICKTIME%%bin/qttoy4m
bin/transist.flt
bin/y4mblack
bin/y4mcolorbars
@@ -38,7 +37,6 @@ bin/y4mspatialfilter
bin/y4mstabilizer
bin/y4mtopnm
bin/y4mtoppm
-%%QUICKTIME%%bin/y4mtoqt
bin/y4mtoyuv
bin/y4munsharp
bin/ypipe
@@ -137,38 +135,38 @@ lib/libmplex2-2.1.so.0.0.0
lib/libmplex2.a
lib/libmplex2.so
libdata/pkgconfig/mjpegtools.pc
-man/man1/jpeg2yuv.1.gz
-man/man1/lav2mpeg.1.gz
-man/man1/lav2wav.1.gz
-man/man1/lav2yuv.1.gz
-man/man1/lavpipe.1.gz
-man/man1/lavplay.1.gz
-man/man1/lavrec.1.gz
-man/man1/lavtrans.1.gz
-man/man1/mjpegtools.1.gz
-man/man1/mp2enc.1.gz
-man/man1/mpeg2enc.1.gz
-man/man1/mplex.1.gz
-man/man1/pgmtoy4m.1.gz
-man/man1/png2yuv.1.gz
-man/man1/pnmtoy4m.1.gz
-man/man1/ppmtoy4m.1.gz
-man/man1/y4mcolorbars.1.gz
-man/man1/y4mdenoise.1.gz
-man/man1/y4mscaler.1.gz
-man/man1/y4mtopnm.1.gz
-man/man1/y4mtoppm.1.gz
-man/man1/y4munsharp.1.gz
-man/man1/yuv2lav.1.gz
-man/man1/yuvdenoise.1.gz
-man/man1/yuvfps.1.gz
-man/man1/yuvinactive.1.gz
-man/man1/yuvkineco.1.gz
-man/man1/yuvmedianfilter.1.gz
-man/man1/yuvplay.1.gz
-man/man1/yuvscaler.1.gz
-man/man1/yuvycsnoise.1.gz
-man/man5/yuv4mpeg.5.gz
+share/man/man1/jpeg2yuv.1.gz
+share/man/man1/lav2mpeg.1.gz
+share/man/man1/lav2wav.1.gz
+share/man/man1/lav2yuv.1.gz
+share/man/man1/lavpipe.1.gz
+share/man/man1/lavplay.1.gz
+share/man/man1/lavrec.1.gz
+share/man/man1/lavtrans.1.gz
+share/man/man1/mjpegtools.1.gz
+share/man/man1/mp2enc.1.gz
+share/man/man1/mpeg2enc.1.gz
+share/man/man1/mplex.1.gz
+share/man/man1/pgmtoy4m.1.gz
+share/man/man1/png2yuv.1.gz
+share/man/man1/pnmtoy4m.1.gz
+share/man/man1/ppmtoy4m.1.gz
+share/man/man1/y4mcolorbars.1.gz
+share/man/man1/y4mdenoise.1.gz
+share/man/man1/y4mscaler.1.gz
+share/man/man1/y4mtopnm.1.gz
+share/man/man1/y4mtoppm.1.gz
+share/man/man1/y4munsharp.1.gz
+share/man/man1/yuv2lav.1.gz
+share/man/man1/yuvdenoise.1.gz
+share/man/man1/yuvfps.1.gz
+share/man/man1/yuvinactive.1.gz
+share/man/man1/yuvkineco.1.gz
+share/man/man1/yuvmedianfilter.1.gz
+share/man/man1/yuvplay.1.gz
+share/man/man1/yuvscaler.1.gz
+share/man/man1/yuvycsnoise.1.gz
+share/man/man5/yuv4mpeg.5.gz
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/CHANGES
diff --git a/multimedia/mjpg-streamer/Makefile b/multimedia/mjpg-streamer/Makefile
deleted file mode 100644
index 4b9fc4b931a6..000000000000
--- a/multimedia/mjpg-streamer/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Created by: Kozlov Sergey <kozlov.sergey.404@gmail.com>
-
-PORTNAME= mjpg-streamer
-PORTVERSION= g2021081601
-PORTEPOCH= 1
-CATEGORIES= multimedia net
-
-MAINTAINER= swills@FreeBSD.org
-COMMENT= HTTP video streaming daemon
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev.h:multimedia/v4l_compat
-
-USES= cmake jpeg localbase
-
-USE_GITHUB= yes
-GH_ACCOUNT= jacksonliam
-GH_TAGNAME= 310b29f4a94c46652b20c4b7b6e5cf24e532af39
-
-WRKSRC_SUBDIR= mjpg-streamer-experimental
-
-USE_RC_SUBR= mjpg_streamer
-SUB_FILES+= pkg-message
-
-PORTSCOUT= skipv:1.0.0
-
-post-build:
- cd ${WRKSRC}/plugins/input_testpicture && \
- ${SETENV} ${MAKE_ENV} make
-
-post-install:
- ${INSTALL_LIB} ${WRKSRC}/plugins/input_testpicture/input_testpicture.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
-
-.include <bsd.port.mk>
diff --git a/multimedia/mjpg-streamer/distinfo b/multimedia/mjpg-streamer/distinfo
deleted file mode 100644
index 32e82f8c64cd..000000000000
--- a/multimedia/mjpg-streamer/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1629161369
-SHA256 (jacksonliam-mjpg-streamer-g2021081601-310b29f4a94c46652b20c4b7b6e5cf24e532af39_GH0.tar.gz) = eb4de7fed9f8b15ee6d8ca2b0417aff2854cd018582b7090e28eb0aaa19bc808
-SIZE (jacksonliam-mjpg-streamer-g2021081601-310b29f4a94c46652b20c4b7b6e5cf24e532af39_GH0.tar.gz) = 711738
diff --git a/multimedia/mjpg-streamer/files/mjpg_streamer.in b/multimedia/mjpg-streamer/files/mjpg_streamer.in
deleted file mode 100644
index 41e94fa8608e..000000000000
--- a/multimedia/mjpg-streamer/files/mjpg_streamer.in
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-# $FreeBSD$
-#
-# PROVIDE: mjpg_streamer
-# REQUIRE: LOGIN
-# KEYWORD: shutdown
-#
-# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
-# to enable this service:
-#
-# mjpg_streamer_enable="YES"
-# #optional
-# mjpg_streamer_flags=""
-
-. /etc/rc.subr
-
-name=mjpg_streamer
-rcvar=mjpg_streamer_enable
-
-command=%%PREFIX%%/bin/${name}
-command_args="-b"
-
-mjpg_streamer_enable="NO"
-mjpg_streamer_flags="-o 'output_http.so -w %%WWWDIR%%'"
-
-load_rc_config $name
-run_rc_command "$1"
diff --git a/multimedia/mjpg-streamer/files/patch-mjpg__streamer.h b/multimedia/mjpg-streamer/files/patch-mjpg__streamer.h
deleted file mode 100644
index d6f19fc42e30..000000000000
--- a/multimedia/mjpg-streamer/files/patch-mjpg__streamer.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- mjpg_streamer.h.orig 2021-08-17 00:59:00 UTC
-+++ mjpg_streamer.h
-@@ -29,6 +29,7 @@
- #define MAX_OUTPUT_PLUGINS 10
- #define MAX_PLUGIN_ARGUMENTS 32
-
-+#include <netinet/in.h>
- #include <linux/types.h> /* for videodev2.h */
- #include <linux/videodev2.h>
- #include <pthread.h>
diff --git a/multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_Makefile b/multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_Makefile
deleted file mode 100644
index bd97e8fccd4c..000000000000
--- a/multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- plugins/input_testpicture/Makefile.orig 2021-02-20 17:47:40 UTC
-+++ plugins/input_testpicture/Makefile
-@@ -7,11 +7,10 @@
- #
- ###############################################################
-
--CC = gcc
-
- OTHER_HEADERS = ../../mjpg_streamer.h ../../utils.h ../output.h ../input.h
-
--CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC
-+CFLAGS += -shared -fPIC
- #CFLAGS += -DDEBUG
- LFLAGS += -lpthread -ldl
-
diff --git a/multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_input__testpicture.c b/multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_input__testpicture.c
deleted file mode 100644
index 8b004f725944..000000000000
--- a/multimedia/mjpg-streamer/files/patch-plugins_input__testpicture_input__testpicture.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/input_testpicture/input_testpicture.c.orig 2021-08-17 01:24:22 UTC
-+++ plugins/input_testpicture/input_testpicture.c
-@@ -34,7 +34,7 @@
- #include <pthread.h>
- #include <syslog.h>
-
--#include <linux/types.h> /* for videodev2.h */
-+#include <sys/types.h> /* for videodev2.h */
- #include <linux/videodev2.h>
-
- #include "../../mjpg_streamer.h"
diff --git a/multimedia/mjpg-streamer/files/patch-plugins_output__http_httpd.c b/multimedia/mjpg-streamer/files/patch-plugins_output__http_httpd.c
deleted file mode 100644
index cb8442b2dfa5..000000000000
--- a/multimedia/mjpg-streamer/files/patch-plugins_output__http_httpd.c
+++ /dev/null
@@ -1,23 +0,0 @@
---- plugins/output_http/httpd.c.orig 2021-02-20 17:47:40 UTC
-+++ plugins/output_http/httpd.c
-@@ -37,18 +37,17 @@
- #include <errno.h>
- #include <limits.h>
-
--#include <linux/version.h>
- #include <linux/types.h> /* for videodev2.h */
- #include <linux/videodev2.h>
-
-+#include <netinet/in.h>
-+
- #include "../../mjpg_streamer.h"
- #include "../../utils.h"
-
- #include "httpd.h"
-
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
- #define V4L2_CTRL_TYPE_STRING_SUPPORTED
--#endif
-
- #include "../output_file/output_file.h"
-
diff --git a/multimedia/mjpg-streamer/files/patch-plugins_output__rtsp_output__rtsp.c b/multimedia/mjpg-streamer/files/patch-plugins_output__rtsp_output__rtsp.c
deleted file mode 100644
index d460c7c415c3..000000000000
--- a/multimedia/mjpg-streamer/files/patch-plugins_output__rtsp_output__rtsp.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- plugins/output_rtsp/output_rtsp.c.orig 2021-08-17 00:57:41 UTC
-+++ plugins/output_rtsp/output_rtsp.c
-@@ -38,6 +38,7 @@
- #include <errno.h>
- #include <signal.h>
- #include <sys/socket.h>
-+#include <netinet/in.h>
- #include <resolv.h>
- #include <arpa/inet.h>
- #include <sys/types.h>
diff --git a/multimedia/mjpg-streamer/files/patch-plugins_output__udp_output__udp.c b/multimedia/mjpg-streamer/files/patch-plugins_output__udp_output__udp.c
deleted file mode 100644
index 1809803d61c5..000000000000
--- a/multimedia/mjpg-streamer/files/patch-plugins_output__udp_output__udp.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- plugins/output_udp/output_udp.c.orig 2021-08-17 01:14:40 UTC
-+++ plugins/output_udp/output_udp.c
-@@ -38,6 +38,7 @@
- #include <errno.h>
- #include <signal.h>
- #include <sys/socket.h>
-+#include <netinet/in.h>
- #include <resolv.h>
- #include <arpa/inet.h>
- #include <sys/types.h>
diff --git a/multimedia/mjpg-streamer/files/patch-utils.c b/multimedia/mjpg-streamer/files/patch-utils.c
deleted file mode 100644
index fdc9e4faa571..000000000000
--- a/multimedia/mjpg-streamer/files/patch-utils.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- utils.c.orig 2021-02-20 17:47:40 UTC
-+++ utils.c
-@@ -23,13 +23,12 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
--#include <linux/types.h>
-+#include <sys/types.h>
- #include <string.h>
- #include <fcntl.h>
--#include <wait.h>
-+#include <sys/wait.h>
- #include <time.h>
- #include <limits.h>
--#include <linux/stat.h>
- #include <sys/stat.h>
-
- #include "utils.h"
diff --git a/multimedia/mjpg-streamer/files/pkg-message.in b/multimedia/mjpg-streamer/files/pkg-message.in
deleted file mode 100644
index 9f7496eda41a..000000000000
--- a/multimedia/mjpg-streamer/files/pkg-message.in
+++ /dev/null
@@ -1,14 +0,0 @@
-[
-{ type: install
- message: <<EOM
-To launch MJPG-streamer demo, run
-%%PREFIX%%/etc/rc.d/mjpg_streamer start
-
-Then point your browser to
-http://your.server.com:8080
-
-To run MJPG-streamer at startup, add
-'mjpg_streamer_enable="YES"' to /etc/rc.conf
-EOM
-}
-]
diff --git a/multimedia/mjpg-streamer/pkg-descr b/multimedia/mjpg-streamer/pkg-descr
deleted file mode 100644
index 903141c10657..000000000000
--- a/multimedia/mjpg-streamer/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or
-other input plugins and streams them as M-JPEG via HTTP to webbrowsers,
-VLC and other software. It is the successor of uvc-streamer, a Linux-UVC
-streaming application with Pan/Tilt
-
-WWW: https://github.com/jacksonliam/mjpg-streamer
diff --git a/multimedia/mjpg-streamer/pkg-plist b/multimedia/mjpg-streamer/pkg-plist
deleted file mode 100644
index f2a9dc48e307..000000000000
--- a/multimedia/mjpg-streamer/pkg-plist
+++ /dev/null
@@ -1,41 +0,0 @@
-bin/mjpg_streamer
-lib/mjpg-streamer/input_http.so
-lib/mjpg-streamer/input_testpicture.so
-lib/mjpg-streamer/input_uvc.so
-lib/mjpg-streamer/output_file.so
-lib/mjpg-streamer/output_http.so
-lib/mjpg-streamer/output_rtsp.so
-lib/mjpg-streamer/output_udp.so
-%%DATADIR%%/www/JQuerySpinBtn.css
-%%DATADIR%%/www/JQuerySpinBtn.js
-%%DATADIR%%/www/LICENSE.txt
-%%DATADIR%%/www/bodybg.gif
-%%DATADIR%%/www/cambozola.jar
-%%DATADIR%%/www/control.htm
-%%DATADIR%%/www/example.jpg
-%%DATADIR%%/www/favicon.ico
-%%DATADIR%%/www/favicon.png
-%%DATADIR%%/www/fix.css
-%%DATADIR%%/www/functions.js
-%%DATADIR%%/www/index.html
-%%DATADIR%%/www/java.html
-%%DATADIR%%/www/java_control.html
-%%DATADIR%%/www/java_simple.html
-%%DATADIR%%/www/javascript.html
-%%DATADIR%%/www/javascript_motiondetection.html
-%%DATADIR%%/www/javascript_simple.html
-%%DATADIR%%/www/jquery.js
-%%DATADIR%%/www/jquery.rotate.js
-%%DATADIR%%/www/jquery.ui.core.min.js
-%%DATADIR%%/www/jquery.ui.custom.css
-%%DATADIR%%/www/jquery.ui.tabs.min.js
-%%DATADIR%%/www/jquery.ui.widget.min.js
-%%DATADIR%%/www/rotateicons.png
-%%DATADIR%%/www/sidebarbg.gif
-%%DATADIR%%/www/spinbtn_updn.gif
-%%DATADIR%%/www/static.html
-%%DATADIR%%/www/static_simple.html
-%%DATADIR%%/www/stream.html
-%%DATADIR%%/www/stream_simple.html
-%%DATADIR%%/www/style.css
-%%DATADIR%%/www/videolan.html
diff --git a/multimedia/mkclean/Makefile b/multimedia/mkclean/Makefile
index 5ef1b1d73be1..4f19c495ad6f 100644
--- a/multimedia/mkclean/Makefile
+++ b/multimedia/mkclean/Makefile
@@ -1,9 +1,11 @@
PORTNAME= mkclean
PORTVERSION= 0.9.0
+DISTVERSIONPREFIX= ${PORTNAME}-
CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
COMMENT= Clean and optimize Matroska and WebM files
+WWW= https://www.matroska.org/downloads/mkclean.html
LICENSE= BSD3CLAUSE
@@ -13,7 +15,6 @@ BROKEN_armv6= does not install: arm-none-linux-gnueabi-gcc: Command not found
BROKEN_armv7= does not install: arm-none-linux-gnueabi-gcc: Command not found
BROKEN_mips64= does not install: mipsel-linux-gcc: Command not found
BROKEN_riscv64= does not compile: cc: invalid arch name 'i486', string must begin with rv32{i,e,g} or rv64{i,g}
-BROKEN_sparc64= does not install: gmake: GNUmakefile: No such file or directory
USES= cmake compiler:c++11-lang cpe iconv localbase:ldflags
@@ -22,7 +23,6 @@ CPE_VENDOR= matroska
USE_GITHUB= yes
GH_ACCOUNT= Matroska-Org
GH_PROJECT= foundation-source
-GH_TAGNAME= ${PORTNAME}-${PORTVERSION}
NO_INSTALL= yes
diff --git a/multimedia/mkclean/distinfo b/multimedia/mkclean/distinfo
index 3102b82ba4bf..5a3345875993 100644
--- a/multimedia/mkclean/distinfo
+++ b/multimedia/mkclean/distinfo
@@ -1,3 +1,3 @@
TIMESTAMP = 1645167021
-SHA256 (Matroska-Org-foundation-source-0.9.0-mkclean-0.9.0_GH0.tar.gz) = d42123ceb22be6f682105fd4fc28b6657ca86ab2bb9450f753054bf17b65ad1e
-SIZE (Matroska-Org-foundation-source-0.9.0-mkclean-0.9.0_GH0.tar.gz) = 718527
+SHA256 (Matroska-Org-foundation-source-mkclean-0.9.0_GH0.tar.gz) = d42123ceb22be6f682105fd4fc28b6657ca86ab2bb9450f753054bf17b65ad1e
+SIZE (Matroska-Org-foundation-source-mkclean-0.9.0_GH0.tar.gz) = 718527
diff --git a/multimedia/mkclean/pkg-descr b/multimedia/mkclean/pkg-descr
index 0a84b59a66d6..f0b85fadef71 100644
--- a/multimedia/mkclean/pkg-descr
+++ b/multimedia/mkclean/pkg-descr
@@ -1,4 +1,2 @@
mkclean is a command line tool to clean and optimize Matroska files that have
already been muxed.
-
-WWW: https://www.matroska.org/downloads/mkclean.html
diff --git a/multimedia/mkvalidator/Makefile b/multimedia/mkvalidator/Makefile
index ee2d282b1503..547084c41117 100644
--- a/multimedia/mkvalidator/Makefile
+++ b/multimedia/mkvalidator/Makefile
@@ -5,6 +5,7 @@ MASTER_SITES= SF/matroska/${PORTNAME}/
MAINTAINER= ports@FreeBSD.org
COMMENT= Command line tool to verify Matroska and WebM files
+WWW= https://www.matroska.org/downloads/mkvalidator.html
LICENSE= BSD3CLAUSE BSD4CLAUSE GPLv2
LICENSE_COMB= multi
@@ -12,7 +13,6 @@ LICENSE_COMB= multi
BROKEN_mips= fails to build: gmake[3]: mipsel-linux-gcc: Command not found
BROKEN_mips64= fails to build: gmake[3]: mipsel-linux-gcc: Command not found
BROKEN_powerpc64= does not compile: mkvtree.c: error: dereferencing pointer to incomplete type
-BROKEN_sparc64= build broken on big endian architectures
BUILD_WRKSRC= ${WRKSRC}/${PORTNAME}
@@ -28,6 +28,12 @@ PLIST_FILES= bin/mkvalidator bin/mkvtree
MAKE_JOBS_UNSAFE= yes
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 ))
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
+
post-patch:
@${REINPLACE_CMD} -e \
'/STRIP/s|strip|${STRIP_CMD:T}| ; \
diff --git a/multimedia/mkvalidator/pkg-descr b/multimedia/mkvalidator/pkg-descr
index 9933a17a9f6d..87f7b5ef5bf3 100644
--- a/multimedia/mkvalidator/pkg-descr
+++ b/multimedia/mkvalidator/pkg-descr
@@ -2,5 +2,3 @@ mkvalidator is a simple command line tool to verify Matroska and WebM
files for spec conformance. It checks the various bogus or missing key
elements against the EBML DocType version of the file and reports the
errors/warnings in the command line.
-
-WWW: https://www.matroska.org/downloads/mkvalidator.html
diff --git a/multimedia/mkvtoolnix/Makefile b/multimedia/mkvtoolnix/Makefile
index 9d0fc93c6c07..41fc53342121 100644
--- a/multimedia/mkvtoolnix/Makefile
+++ b/multimedia/mkvtoolnix/Makefile
@@ -1,40 +1,43 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= mkvtoolnix
-PORTVERSION= 67.0.0
-PORTREVISION= 1
+PORTVERSION= 83.0
CATEGORIES= multimedia audio
MASTER_SITES= https://www.bunkus.org/videotools/mkvtoolnix/sources/ \
https://mkvtoolnix.download/sources/
MAINTAINER= riggs@FreeBSD.org
COMMENT= Tools to extract from/get info about/create Matroska media streams
+WWW= https://www.bunkus.org/videotools/mkvtoolnix/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN_sparc64= does not install
-
BUILD_DEPENDS= rake:devel/rubygem-rake \
docbook-xsl>=0:textproc/docbook-xsl \
xsltproc:textproc/libxslt
LIB_DEPENDS= libvorbis.so:audio/libvorbis \
libogg.so:audio/libogg \
libebml.so:textproc/libebml \
- libboost_regex.so:devel/boost-libs \
+ libboost_system.so:devel/boost-libs \
libpugixml.so:textproc/pugixml \
libmatroska.so:multimedia/libmatroska \
libcmark.so:textproc/cmark \
libgmp.so:math/gmp
-USES= compiler:c++17-lang iconv localbase pkgconfig qmake:no_env qt:5 tar:xz
-USE_QT= buildtools_build concurrent core linguisttools_build multimedia
+FLAVORS= qt6 nogui
+FLAVOR?= ${FLAVORS:[1]}
+nogui_PKGNAMESUFFIX= -nogui
+nogui_CONFLICTS_INSTALL=mkvtoolnix
+qt6_CONFLICTS_INSTALL= mkvtoolnix-nogui
+
+USES= ${_USES_${FLAVOR}}
+USE_GL= ${_USE_GL_${FLAVOR}}
+USE_QT= ${_USE_QT_${FLAVOR}}
GNU_CONFIGURE= yes
-CONFIGURE_ENV+= ac_cv_path_PO4A=no
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_ARGS= --with-boost=${LOCALBASE} \
--with-docbook-xsl-root=${PREFIX}/share/xsl/docbook \
- --disable-qt6
+ ${_CONFIGURE_ARGS_${FLAVOR}}
MAKE_ENV= V=1
MAKE_CMD= rake -v
MAKEFILE= Rakefile
@@ -46,8 +49,23 @@ BINARY_ALIAS= qmake=${QMAKE} \
rcc=${RCC} \
uic=${UIC}
-OPTIONS_DEFINE= DVDREAD FLAC GUI NLS MANTRANS
-OPTIONS_DEFAULT= FLAC GUI
+# Flavor handling
+_USES_qt6= compiler:c++17-lang desktop-file-utils gl iconv localbase \
+ pkgconfig qmake:no_env qt:6 shared-mime-info tar:xz
+_USE_GL_qt6= gl opengl
+_USE_QT_qt6= base declarative multimedia svg tools
+_PLIST_SUB_qt6= GUI=
+_CONFIGURE_ARGS_nogui= --disable-gui
+_USES_nogui= compiler:c++17-lang iconv localbase pkgconfig qmake:no_env \
+ qt:6 tar:xz
+_USE_QT_nogui= base multimedia svg tools:build
+_PLIST_SUB_nogui= GUI="@comment "
+
+PLIST_SUB+= ${_PLIST_SUB_${FLAVOR}}
+
+# Options handling
+OPTIONS_DEFINE= DVDREAD FLAC NLS MANTRANS GUI
+OPTIONS_DEFAULT= FLAC
OPTIONS_SUB= yes
DVDREAD_DESC= Support reading DVD chapters via libdvdread
@@ -60,10 +78,6 @@ FLAC_CONFIGURE_WITH= flac
NLS_USES= gettext
NLS_CONFIGURE_WITH= gettext
-GUI_DESC= Build and install GUI application (Qt 5)
-GUI_USES= desktop-file-utils shared-mime-info
-GUI_USE= QT=dbus,declarative,gui,network,widgets
-
MANTRANS_DESC= Build and install manpage translations
MANTRANS_BUILD_DEPENDS= po4a:textproc/po4a
diff --git a/multimedia/mkvtoolnix/distinfo b/multimedia/mkvtoolnix/distinfo
index de61a3d0c6d5..e5623687de67 100644
--- a/multimedia/mkvtoolnix/distinfo
+++ b/multimedia/mkvtoolnix/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649745790
-SHA256 (mkvtoolnix-67.0.0.tar.xz) = db68be91ee8a0b688d924cc00d3bac9349306d54c29ce44a555728c1abb7d3ec
-SIZE (mkvtoolnix-67.0.0.tar.xz) = 7791720
+TIMESTAMP = 1710455429
+SHA256 (mkvtoolnix-83.0.tar.xz) = 6a8615436406c7fa45bfb2b6270da1bf06ea54cfcd13c3699643833e1d73ecbc
+SIZE (mkvtoolnix-83.0.tar.xz) = 11278152
diff --git a/multimedia/mkvtoolnix/pkg-descr b/multimedia/mkvtoolnix/pkg-descr
index 3533d6e80acb..102c51574b26 100644
--- a/multimedia/mkvtoolnix/pkg-descr
+++ b/multimedia/mkvtoolnix/pkg-descr
@@ -3,5 +3,3 @@
MKVtoolnix will evolve into a set of tools to create, alter and
inspect Matroska files under Linux and other Unices, just what the
OGMtools do for the OGM format.
-
-WWW: http://www.bunkus.org/videotools/mkvtoolnix/
diff --git a/multimedia/mkvtoolnix/pkg-plist b/multimedia/mkvtoolnix/pkg-plist
index c5823f21f44a..3e8a0d9ee415 100644
--- a/multimedia/mkvtoolnix/pkg-plist
+++ b/multimedia/mkvtoolnix/pkg-plist
@@ -3,81 +3,86 @@ bin/mkvinfo
bin/mkvmerge
bin/mkvpropedit
%%GUI%%bin/mkvtoolnix-gui
-%%MANTRANS%%man/bg/man1/mkvextract.1.gz
-%%MANTRANS%%man/bg/man1/mkvinfo.1.gz
-%%MANTRANS%%man/bg/man1/mkvmerge.1.gz
-%%MANTRANS%%man/bg/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/bg/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/ca/man1/mkvextract.1.gz
-%%MANTRANS%%man/ca/man1/mkvinfo.1.gz
-%%MANTRANS%%man/ca/man1/mkvmerge.1.gz
-%%MANTRANS%%man/ca/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/ca/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/de/man1/mkvextract.1.gz
-%%MANTRANS%%man/de/man1/mkvinfo.1.gz
-%%MANTRANS%%man/de/man1/mkvmerge.1.gz
-%%MANTRANS%%man/de/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/de/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/es/man1/mkvextract.1.gz
-%%MANTRANS%%man/es/man1/mkvinfo.1.gz
-%%MANTRANS%%man/es/man1/mkvmerge.1.gz
-%%MANTRANS%%man/es/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/es/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/fr/man1/mkvextract.1.gz
-%%MANTRANS%%man/fr/man1/mkvinfo.1.gz
-%%MANTRANS%%man/fr/man1/mkvmerge.1.gz
-%%MANTRANS%%man/fr/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/fr/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/it/man1/mkvextract.1.gz
-%%MANTRANS%%man/it/man1/mkvinfo.1.gz
-%%MANTRANS%%man/it/man1/mkvmerge.1.gz
-%%MANTRANS%%man/it/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/it/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/ja/man1/mkvextract.1.gz
-%%MANTRANS%%man/ja/man1/mkvinfo.1.gz
-%%MANTRANS%%man/ja/man1/mkvmerge.1.gz
-%%MANTRANS%%man/ja/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/ja/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/ko/man1/mkvextract.1.gz
-%%MANTRANS%%man/ko/man1/mkvinfo.1.gz
-%%MANTRANS%%man/ko/man1/mkvmerge.1.gz
-%%MANTRANS%%man/ko/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/ko/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/ru/man1/mkvextract.1.gz
-%%MANTRANS%%man/ru/man1/mkvinfo.1.gz
-%%MANTRANS%%man/ru/man1/mkvmerge.1.gz
-%%MANTRANS%%man/ru/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/ru/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/zh_TW/man1/mkvextract.1.gz
-%%MANTRANS%%man/zh_TW/man1/mkvinfo.1.gz
-%%MANTRANS%%man/zh_TW/man1/mkvmerge.1.gz
-%%MANTRANS%%man/zh_TW/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/zh_TW/man1/mkvtoolnix-gui.1.gz
-man/man1/mkvextract.1.gz
-man/man1/mkvinfo.1.gz
-man/man1/mkvmerge.1.gz
-man/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/nl/man1/mkvextract.1.gz
-%%MANTRANS%%man/nl/man1/mkvinfo.1.gz
-%%MANTRANS%%man/nl/man1/mkvmerge.1.gz
-%%MANTRANS%%man/nl/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/nl/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/pl/man1/mkvextract.1.gz
-%%MANTRANS%%man/pl/man1/mkvinfo.1.gz
-%%MANTRANS%%man/pl/man1/mkvmerge.1.gz
-%%MANTRANS%%man/pl/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/pl/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/uk/man1/mkvextract.1.gz
-%%MANTRANS%%man/uk/man1/mkvinfo.1.gz
-%%MANTRANS%%man/uk/man1/mkvmerge.1.gz
-%%MANTRANS%%man/uk/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/uk/man1/mkvtoolnix-gui.1.gz
-%%MANTRANS%%man/zh_CN/man1/mkvextract.1.gz
-%%MANTRANS%%man/zh_CN/man1/mkvinfo.1.gz
-%%MANTRANS%%man/zh_CN/man1/mkvmerge.1.gz
-%%MANTRANS%%man/zh_CN/man1/mkvpropedit.1.gz
-%%MANTRANS%%%%GUI%%man/zh_CN/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/be/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/be/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/be/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/be/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/be/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/bg/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/bg/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/bg/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/bg/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/bg/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/ca/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/ca/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/ca/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/ca/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/ca/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/de/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/de/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/de/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/de/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/de/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/es/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/es/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/es/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/es/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/es/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/fr/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/fr/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/fr/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/fr/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/fr/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/it/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/it/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/it/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/it/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/it/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/ja/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/ja/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/ja/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/ja/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/ja/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/ko/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/ko/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/ko/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/ko/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/ko/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/ru/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/ru/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/ru/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/ru/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/ru/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/zh_TW/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/zh_TW/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/zh_TW/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/zh_TW/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/zh_TW/man1/mkvtoolnix-gui.1.gz
+share/man/man1/mkvextract.1.gz
+share/man/man1/mkvinfo.1.gz
+share/man/man1/mkvmerge.1.gz
+share/man/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/nl/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/nl/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/nl/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/nl/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/nl/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/pl/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/pl/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/pl/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/pl/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/pl/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/uk/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/uk/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/uk/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/uk/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/uk/man1/mkvtoolnix-gui.1.gz
+%%MANTRANS%%share/man/zh_CN/man1/mkvextract.1.gz
+%%MANTRANS%%share/man/zh_CN/man1/mkvinfo.1.gz
+%%MANTRANS%%share/man/zh_CN/man1/mkvmerge.1.gz
+%%MANTRANS%%share/man/zh_CN/man1/mkvpropedit.1.gz
+%%MANTRANS%%%%GUI%%share/man/zh_CN/man1/mkvtoolnix-gui.1.gz
%%GUI%%share/applications/org.bunkus.mkvtoolnix-gui.desktop
%%GUI%%share/icons/hicolor/128x128/apps/mkvextract.png
%%GUI%%share/icons/hicolor/128x128/apps/mkvinfo.png
@@ -119,6 +124,7 @@ man/man1/mkvpropedit.1.gz
%%GUI%%share/icons/hicolor/96x96/apps/mkvmerge.png
%%GUI%%share/icons/hicolor/96x96/apps/mkvpropedit.png
%%GUI%%share/icons/hicolor/96x96/apps/mkvtoolnix-gui.png
+%%NLS%%share/locale/be/LC_MESSAGES/mkvtoolnix.mo
%%NLS%%share/locale/bg/LC_MESSAGES/mkvtoolnix.mo
%%NLS%%share/locale/ca/LC_MESSAGES/mkvtoolnix.mo
%%NLS%%share/locale/cs/LC_MESSAGES/mkvtoolnix.mo
@@ -146,6 +152,7 @@ man/man1/mkvpropedit.1.gz
%%NLS%%share/locale/zh_TW/LC_MESSAGES/mkvtoolnix.mo
%%GUI%%share/metainfo/org.bunkus.mkvtoolnix-gui.appdata.xml
%%GUI%%share/mime/packages/org.bunkus.mkvtoolnix-gui.xml
+%%GUI%%%%DATADIR%%/qt_resources.rcc
%%GUI%%%%DATADIR%%/sounds/finished-1.webm
%%GUI%%%%DATADIR%%/sounds/finished-2.webm
%%GUI%%%%DATADIR%%/sounds/finished-3.webm
diff --git a/multimedia/mkxvcd/Makefile b/multimedia/mkxvcd/Makefile
deleted file mode 100644
index 4db23051b277..000000000000
--- a/multimedia/mkxvcd/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Created by: michael johnson <ahze@ahze.net>
-
-PORTNAME= mkxvcd
-PORTVERSION= 2.0.2
-PORTREVISION= 13
-CATEGORIES= multimedia
-MASTER_SITES= SF/kvcd4nix/${PORTNAME}/${PORTNAME}-${PORTVERSION}/
-
-MAINTAINER= se@FreeBSD.org
-COMMENT= Makes high quality X/K/S/VCD movies from many formats
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= mpeg2enc:multimedia/mjpegtools \
- bash:shells/bash \
- mplayer:multimedia/mplayer \
- transcode:multimedia/transcode
-
-USES= shebangfix
-SHEBANG_FILES= ${PORTNAME}.sh
-
-NO_ARCH= yes
-NO_BUILD= yes
-
-PLIST_FILES= bin/${PORTNAME}
-PORTDOCS= AUTHORS Changelog README
-
-OPTIONS_DEFINE= DOCS
-
-do-install:
- ${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME}.sh \
- ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/mkxvcd/distinfo b/multimedia/mkxvcd/distinfo
deleted file mode 100644
index 98439f808c8b..000000000000
--- a/multimedia/mkxvcd/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1619893261
-SHA256 (mkxvcd-2.0.2.tar.gz) = b62ba2de3ab7a04affa856b9a625c9ad97c9b793252d3006fd38385f5785e0ca
-SIZE (mkxvcd-2.0.2.tar.gz) = 23575
diff --git a/multimedia/mkxvcd/pkg-descr b/multimedia/mkxvcd/pkg-descr
deleted file mode 100644
index 53ab34d133b8..000000000000
--- a/multimedia/mkxvcd/pkg-descr
+++ /dev/null
@@ -1,16 +0,0 @@
-Makes high quality X/K/S/VCD movies from any format mplayer can play
-
-From README:
-GOAL
- Make a 2 hour vcd with good quality.
-
-USAGE
- mkxvcd.sh yourmovie.whateverextensionmplayercanplay
- mkxvcd.sh /dev/dvd (or whatever device your dvd drive is using)
- Options on the commandline are:
- -d for debugging.
- -m to force mplayer if you don't have transcode installed.
- -t to force transcode (you can also edit the script in the :user
- settings" section)
-
-WWW: http://kvcd4nix.sourceforge.net/
diff --git a/multimedia/mlt6-qt5/Makefile b/multimedia/mlt6-qt5/Makefile
deleted file mode 100644
index fef7bc744931..000000000000
--- a/multimedia/mlt6-qt5/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-MASTERDIR= ${.CURDIR:H}/mlt6
-SLAVEPORT= qt5
-
-PORTREVISION= 3
-PKGNAMESUFFIX= -qt5
-
-COMMENT= Qt plugin for the MLT multimedia framework
-CATEGORIES= multimedia kde
-
-LICENSE= GPLv2 GPLv3
-LICENSE_COMB= multi
-
-LIB_DEPENDS= libexif.so:graphics/libexif \
- libfftw3.so:math/fftw3
-
-USES= qt:5 xorg
-USE_CXXSTD= c++11
-USE_QT= core gui svg widgets xml \
- buildtools_build qmake_build
-USE_XORG= x11
-
-CONFLICTS_INSTALL= mlt7-qt5
-
-# Only enable Qt binding, and disable everything else
-CMAKE_ON= MOD_QT
-CMAKE_OFF= MOD_AVFORMAT MOD_DECKLINK MOD_FEEDS MOD_FREI0R MOD_GDK MOD_GTK2 \
- MOD_JACKRACK MOD_KDENLIVE MOD_LUMAS MOD_MOTION_EST MOD_NORMALIZE \
- MOD_OLDFILM MOD_OPENCV MOD_OPENGL MOD_PLUSGPL MOD_PLUS MOD_RESAMPLE \
- MOD_RTAUDIO MOD_RUBBERBAND MOD_SDL2 MOD_SOX MOD_VIDSTAB MOD_VMFX \
- MOD_VORBIS MOD_XINE MOD_XML \
- SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
- SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL
-
-BUILD_WRKSRC= ${WRKDIR}/.build/src/modules/qt
-
-# Dummy placeholder target.
-common-post-install:
- @${TRUE}
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/mlt6-qt5/pkg-plist b/multimedia/mlt6-qt5/pkg-plist
deleted file mode 100644
index 2df0ed79084e..000000000000
--- a/multimedia/mlt6-qt5/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-lib/mlt/libmltqt.so
-%%DATADIR%%/qt/filter_audiospectrum.yml
-%%DATADIR%%/qt/filter_audiowaveform.yml
-%%DATADIR%%/qt/filter_lightshow.yml
-%%DATADIR%%/qt/filter_qtblend.yml
-%%DATADIR%%/qt/filter_qtcrop.yml
-%%DATADIR%%/qt/filter_qtext.yml
-%%DATADIR%%/qt/filter_typewriter.yml
-%%DATADIR%%/qt/producer_kdenlivetitle.yml
-%%DATADIR%%/qt/producer_qimage.yml
-%%DATADIR%%/qt/producer_qtext.yml
-%%DATADIR%%/qt/transition_qtblend.yml
-%%DATADIR%%/qt/transition_vqm.yml
diff --git a/multimedia/mlt6/Makefile b/multimedia/mlt6/Makefile
deleted file mode 100644
index 07fb3e226f37..000000000000
--- a/multimedia/mlt6/Makefile
+++ /dev/null
@@ -1,196 +0,0 @@
-PORTNAME= ${_MLT_PORTNAME}
-DISTVERSION= ${_MLT_VERSION}
-PORTREVISION?= 6
-CATEGORIES?= multimedia
-# Don't use GitHub "fake" downloads that are auto-generated from a
-# tag; the project uploads tarballs for each release.
-# https://github.com/mltframework/mlt/releases/download/v6.26.1/mlt-6.26.1.tar.gz
-MASTER_SITES= https://github.com/mltframework/mlt/releases/download/v${DISTVERSION}/
-DISTFILES= mlt-${DISTVERSION}${EXTRACT_SUFX}
-WRKSRC= ${WRKDIR}/mlt-${DISTVERSION}
-
-MAINTAINER= kde@FreeBSD.org
-COMMENT?= Multimedia framework for TV broadcasting
-
-LICENSE?= GPLv2 GPLv3 LGPL21
-LICENSE_COMB?= multi
-
-USES+= alias cmake compiler:c++11-lang eigen:3 localbase pkgconfig
-
-DATADIR= ${PREFIX}/share/mlt
-
-.ifndef(SLAVEPORT) # Master port.
-CONFLICTS_INSTALL= mlt-6.*
-
-BROKEN_sparc64= does not compile on sparc64 (invokes i386 asm)
-
-USES+= mlt:6,nodepend
-
-# Explicitly disabled modules that are ouddated, unnecessary, or have
-# their own port.
-CMAKE_OFF= MOD_SDL1 MOD_QT \
- SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
- SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL
-
-PORTDOCS= AUTHORS NEWS README docs
-PORTEXAMPLES= demo
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-OPTIONS_DEFAULT= AVFORMAT FREI0R GDK KDENLIVE OPENGL PLUS PLUSGPL RESAMPLE \
- SDL2 SOX VIDSTAB VORBIS XML
-
-OPTIONS_GROUP= MODULES
-OPTIONS_GROUP_MODULES= AVFORMAT DECKLINK FEEDS FREI0R GDK GTK2 JACKRACK \
- KDENLIVE LUMAS MOTION_EST NORMALIZE OLDFILM OPENCV \
- OPENGL PLUS PLUSGPL RESAMPLE RTAUDIO RUBBERBAND \
- SDL2 SOX VIDSTAB VMFX VORBIS XINE XML
-
-OPTIONS_SUB= yes
-
-AVFORMAT_DESC= Enable avformat module
-AVFORMAT_LIB_DEPENDS= libavformat.so:multimedia/ffmpeg
-AVFORMAT_CMAKE_BOOL= MOD_AVFORMAT
-
-DECKLINK_DESC= Enable decklink module
-DECKLINK_CMAKE_BOOL= MOD_DECKLINK
-
-FEEDS_DESC= Enable feeds module
-FEEDS_CMAKE_BOOL= MOD_FEEDS
-
-FREI0R_DESC= Enable frei0r module
-FREI0R_BUILD_DEPENDS= ${LOCALBASE}/include/frei0r.h:graphics/frei0r
-FREI0R_CMAKE_BOOL= MOD_FREI0R
-
-GDK_DESC= Enable gdk module
-GDK_LIB_DEPENDS= libexif.so:graphics/libexif \
- libfontconfig.so:x11-fonts/fontconfig \
- libfreetype.so:print/freetype2 \
- libharfbuzz.so:print/harfbuzz
-GDK_USES= gnome
-GDK_USE= gnome=gdkpixbuf2,pango
-GDK_CMAKE_BOOL= MOD_GDK
-
-GTK2_DESC= Enable gtk2 module
-GTK2_USES= gnome
-GTK2_USE= gnome=cairo,gtk20
-GTK2_CMAKE_BOOL= MOD_GTK2
-
-JACKRACK_DESC= Enable jackrack module
-JACKRACK_BUILD_DEPENDS= ${LOCALBASE}/include/ladspa.h:audio/ladspa
-JACKRACK_LIB_DEPENDS= libjack.so:audio/jack
-JACKRACK_USES= gnome
-JACKRACK_USE= gnome=glib20
-JACKRACK_CMAKE_BOOL= MOD_JACKRACK
-
-KDENLIVE_DESC= Enable kdenlive module
-KDENLIVE_CMAKE_BOOL= MOD_KDENLIVE
-
-LUMAS_DESC= Enable lumas module
-LUMAS_CMAKE_BOOL= MOD_LUMAS
-
-MOTION_EST_DESC= Enable motion estimation module
-MOTION_EST_CMAKE_BOOL= MOD_MOTION_EST
-
-NORMALIZE_DESC= Enable normalize module
-NORMALIZE_CMAKE_BOOL= MOD_NORMALIZE
-
-OLDFILM_DESC= Enable oldfilm module
-OLDFILM_CMAKE_BOOL= MOD_OLDFILM
-
-OPENCV_DESC= Enable OpenCV module
-OPENCV_LIB_DEPENDS= libopencv_core.so:graphics/opencv
-OPENCV_CMAKE_BOOL= MOD_OPENCV
-
-OPENGL_DESC= Enable OpenGL module
-OPENGL_CMAKE_BOOL= MOD_OPENGL
-OPENGL_LIB_DEPENDS= libepoxy.so:graphics/libepoxy \
- libmovit.so:graphics/movit
-OPENGL_USES= gl xorg
-OPENGL_USE= gl=gl xorg=x11
-
-PLUSGPL_DESC= Enable plus GPL module
-PLUSGPL_CMAKE_BOOL= MOD_PLUSGPL
-
-PLUS_DESC= Enable plus module
-PLUS_LIB_DEPENDS= libfftw3.so:math/fftw3
-PLUS_CMAKE_BOOL= MOD_PLUS
-
-RESAMPLE_DESC= Enable resample module
-RESAMPLE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
-RESAMPLE_CMAKE_BOOL= MOD_RESAMPLE
-
-RTAUDIO_DESC= Enable RtAudio module
-RTAUDIO_LIB_DEPENDS= librtaudio.so:audio/rtaudio \
- libpulse-simple.so:audio/pulseaudio
-RTAUDIO_CMAKE_BOOL= MOD_RTAUDIO
-
-RUBBERBAND_DESC= Enable rubberband module
-RUBBERBAND_LIB_DEPENDS= librubberband.so:audio/rubberband
-RUBBERBAND_CMAKE_BOOL= MOD_RUBBERBAND
-
-SDL2_DESC= Enable SDL2 module
-SDL2_USES= sdl
-SDL2_USE= sdl=image2
-SDL2_CMAKE_BOOL= MOD_SDL2
-
-SOX_DESC= Enable SoX module
-SOX_LIB_DEPENDS= libsox.so:audio/sox
-SOX_CMAKE_BOOL= MOD_SOX
-
-VIDSTAB_DESC= Enable vid.stab module
-VIDSTAB_LIB_DEPENDS= libvidstab.so:multimedia/vid.stab
-VIDSTAB_CMAKE_BOOL= MOD_VIDSTAB
-
-VMFX_DESC= Enable vmfx module
-VMFX_CMAKE_BOOL= MOD_VMFX
-
-VORBIS_DESC= Enable Vorbis module
-VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis libogg.so:audio/libogg
-VORBIS_CMAKE_BOOL= MOD_VORBIS
-
-XINE_DESC= Enable xine module
-XINE_CMAKE_BOOL= MOD_XINE
-
-XML_DESC= Enable XML module
-XML_USES= gnome
-XML_USE= gnome=libxml2
-XML_CMAKE_BOOL= MOD_XML
-
-pre-configure:
- @${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' \
- ${WRKSRC}/src/modules/frei0r/factory.c \
- ${WRKSRC}/src/modules/jackrack/plugin_mgr.c
-
-common-post-install:
- ${INSTALL_MAN} ${WRKSRC}/docs/melt.1 ${STAGEDIR}${MANPREFIX}/share/man/man1/melt.1
- @${RM} ${WRKSRC}/docs/melt.1
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/melt
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt.so.${PORTVERSION}
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmlt++.so.${PORTVERSION}
-
-post-install-DOCS-on:
-.for f in ${PORTDOCS}
- cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${DOCSDIR}
-.endfor
-
-post-install-EXAMPLES-on:
-.for f in ${PORTEXAMPLES}
- cd ${WRKSRC} && ${COPYTREE_SHARE} ${f} ${STAGEDIR}${EXAMPLESDIR}
-.endfor
-
-.else # Slave port.
-PORTSCOUT= ignore:1
-
-# Depend on multimedia/mlt6 for child ports
-USES+= mlt:6
-
-PLIST?= ${.CURDIR}/pkg-plist
-
-INSTALL_WRKSRC?= ${BUILD_WRKSRC}
-.endif
-
-post-install: common-post-install
- ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/* 2>/dev/null || ${TRUE}
- @${RMDIR} -p ${STAGEDIR}${PREFIX}/lib/${PORTNAME} 2>/dev/null || ${TRUE}
-
-.include <bsd.port.mk>
diff --git a/multimedia/mlt6/distinfo b/multimedia/mlt6/distinfo
deleted file mode 100644
index c621f95e2e1e..000000000000
--- a/multimedia/mlt6/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1620310819
-SHA256 (mlt-6.26.1.tar.gz) = 8a484bbbf51f33e25312757531f3ad2ce20607149d20fcfcb40a3c1e60b20b4e
-SIZE (mlt-6.26.1.tar.gz) = 1366022
diff --git a/multimedia/mlt6/pkg-descr b/multimedia/mlt6/pkg-descr
deleted file mode 100644
index 971470cfc73e..000000000000
--- a/multimedia/mlt6/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-MLT is an open source multimedia framework, designed and developed for
-television broadcasting. It provides a toolkit for broadcasters, video
-editors, media players, transcoders, web streamers and many more types
-of applications. The functionality of the system is provided via an
-assortment of ready to use tools, XML authoring components, and an
-extensible plug-in based API.
-
-WWW: https://www.mltframework.org/
diff --git a/multimedia/mlt6/pkg-plist b/multimedia/mlt6/pkg-plist
deleted file mode 100644
index f659cb038681..000000000000
--- a/multimedia/mlt6/pkg-plist
+++ /dev/null
@@ -1,536 +0,0 @@
-bin/melt
-include/mlt++/Mlt.h
-include/mlt++/MltAnimation.h
-include/mlt++/MltAudio.h
-include/mlt++/MltConfig.h
-include/mlt++/MltConsumer.h
-include/mlt++/MltDeque.h
-include/mlt++/MltEvent.h
-include/mlt++/MltFactory.h
-include/mlt++/MltField.h
-include/mlt++/MltFilter.h
-include/mlt++/MltFilteredConsumer.h
-include/mlt++/MltFilteredProducer.h
-include/mlt++/MltFrame.h
-include/mlt++/MltGeometry.h
-include/mlt++/MltMultitrack.h
-include/mlt++/MltParser.h
-include/mlt++/MltPlaylist.h
-include/mlt++/MltProducer.h
-include/mlt++/MltProfile.h
-include/mlt++/MltProperties.h
-include/mlt++/MltPushConsumer.h
-include/mlt++/MltRepository.h
-include/mlt++/MltService.h
-include/mlt++/MltTokeniser.h
-include/mlt++/MltTractor.h
-include/mlt++/MltTransition.h
-include/mlt/framework/mlt.h
-include/mlt/framework/mlt_animation.h
-include/mlt/framework/mlt_audio.h
-include/mlt/framework/mlt_cache.h
-include/mlt/framework/mlt_consumer.h
-include/mlt/framework/mlt_deque.h
-include/mlt/framework/mlt_events.h
-include/mlt/framework/mlt_factory.h
-include/mlt/framework/mlt_field.h
-include/mlt/framework/mlt_filter.h
-include/mlt/framework/mlt_frame.h
-include/mlt/framework/mlt_geometry.h
-include/mlt/framework/mlt_log.h
-include/mlt/framework/mlt_luma_map.h
-include/mlt/framework/mlt_multitrack.h
-include/mlt/framework/mlt_parser.h
-include/mlt/framework/mlt_playlist.h
-include/mlt/framework/mlt_pool.h
-include/mlt/framework/mlt_producer.h
-include/mlt/framework/mlt_profile.h
-include/mlt/framework/mlt_properties.h
-include/mlt/framework/mlt_property.h
-include/mlt/framework/mlt_repository.h
-include/mlt/framework/mlt_service.h
-include/mlt/framework/mlt_slices.h
-include/mlt/framework/mlt_tokeniser.h
-include/mlt/framework/mlt_tractor.h
-include/mlt/framework/mlt_transition.h
-include/mlt/framework/mlt_types.h
-include/mlt/framework/mlt_version.h
-lib/libmlt++.so
-lib/libmlt++.so.3
-lib/libmlt++.so.%%MLT_VERSION%%
-lib/libmlt.so
-lib/libmlt.so.6
-lib/libmlt.so.%%MLT_VERSION%%
-%%AVFORMAT%%lib/mlt/libmltavformat.so
-lib/mlt/libmltcore.so
-%%DECKLINK%%lib/mlt/libmltdecklink.so
-%%FREI0R%%lib/mlt/libmltfrei0r.so
-%%GDK%%lib/mlt/libmltgdk.so
-%%GTK2%%lib/mlt/libmltgtk2.so
-%%JACKRACK%%lib/mlt/libmltjack.so
-%%KDENLIVE%%lib/mlt/libmltkdenlive.so
-%%MOTION_EST%%lib/mlt/libmltmotion_est.so
-%%NORMALIZE%%lib/mlt/libmltnormalize.so
-%%OLDFILM%%lib/mlt/libmltoldfilm.so
-%%OPENCV%%lib/mlt/libmltopencv.so
-%%OPENGL%%lib/mlt/libmltopengl.so
-%%PLUS%%lib/mlt/libmltplus.so
-%%PLUSGPL%%lib/mlt/libmltplusgpl.so
-%%RESAMPLE%%lib/mlt/libmltresample.so
-%%RTAUDIO%%lib/mlt/libmltrtaudio.so
-%%RUBBERBAND%%lib/mlt/libmltrubberband.so
-%%SDL2%%lib/mlt/libmltsdl2.so
-%%SOX%%lib/mlt/libmltsox.so
-%%VIDSTAB%%lib/mlt/libmltvidstab.so
-%%VMFX%%lib/mlt/libmltvmfx.so
-%%VORBIS%%lib/mlt/libmltvorbis.so
-%%XINE%%lib/mlt/libmltxine.so
-%%XML%%lib/mlt/libmltxml.so
-libdata/pkgconfig/mlt++.pc
-libdata/pkgconfig/mlt-framework.pc
-share/man/man1/melt.1.gz
-%%AVFORMAT%%%%DATADIR%%/avformat/blacklist.txt
-%%AVFORMAT%%%%DATADIR%%/avformat/consumer_avformat.yml
-%%AVFORMAT%%%%DATADIR%%/avformat/producer_avformat.yml
-%%AVFORMAT%%%%DATADIR%%/avformat/resolution_scale.yml
-%%AVFORMAT%%%%DATADIR%%/avformat/yuv_only.txt
-%%DATADIR%%/core/consumer_multi.yml
-%%DATADIR%%/core/data_fx.properties
-%%DATADIR%%/core/filter_audiomap.yml
-%%DATADIR%%/core/filter_audiowave.yml
-%%DATADIR%%/core/filter_brightness.yml
-%%DATADIR%%/core/filter_channelcopy.yml
-%%DATADIR%%/core/filter_choppy.yml
-%%DATADIR%%/core/filter_crop.yml
-%%DATADIR%%/core/filter_data_show.yml
-%%DATADIR%%/core/filter_fieldorder.yml
-%%DATADIR%%/core/filter_gamma.yml
-%%DATADIR%%/core/filter_greyscale.yml
-%%DATADIR%%/core/filter_luma.yml
-%%DATADIR%%/core/filter_mask_apply.yml
-%%DATADIR%%/core/filter_mask_start.yml
-%%DATADIR%%/core/filter_mirror.yml
-%%DATADIR%%/core/filter_mono.yml
-%%DATADIR%%/core/filter_obscure.yml
-%%DATADIR%%/core/filter_panner.yml
-%%DATADIR%%/core/filter_region.yml
-%%DATADIR%%/core/filter_rescale.yml
-%%DATADIR%%/core/filter_resize.yml
-%%DATADIR%%/core/filter_transition.yml
-%%DATADIR%%/core/filter_watermark.yml
-%%DATADIR%%/core/loader.dict
-%%DATADIR%%/core/loader.ini
-%%DATADIR%%/core/producer_colour.yml
-%%DATADIR%%/core/producer_consumer.yml
-%%DATADIR%%/core/producer_hold.yml
-%%DATADIR%%/core/producer_loader.yml
-%%DATADIR%%/core/producer_melt.yml
-%%DATADIR%%/core/producer_melt_file.yml
-%%DATADIR%%/core/producer_noise.yml
-%%DATADIR%%/core/producer_timewarp.yml
-%%DATADIR%%/core/producer_tone.yml
-%%DATADIR%%/core/transition_composite.yml
-%%DATADIR%%/core/transition_luma.yml
-%%DATADIR%%/core/transition_matte.yml
-%%DATADIR%%/core/transition_mix.yml
-%%DATADIR%%/core/transition_region.yml
-%%DECKLINK%%%%DATADIR%%/decklink/consumer_decklink.yml
-%%DECKLINK%%%%DATADIR%%/decklink/producer_decklink.yml
-%%FEEDS%%%%DATADIR%%/feeds/NTSC/data_fx.properties
-%%FEEDS%%%%DATADIR%%/feeds/NTSC/etv.properties
-%%FEEDS%%%%DATADIR%%/feeds/NTSC/obscure.properties
-%%FEEDS%%%%DATADIR%%/feeds/PAL/border.properties
-%%FEEDS%%%%DATADIR%%/feeds/PAL/data_fx.properties
-%%FEEDS%%%%DATADIR%%/feeds/PAL/etv.properties
-%%FEEDS%%%%DATADIR%%/feeds/PAL/example.properties
-%%FEEDS%%%%DATADIR%%/feeds/PAL/obscure.properties
-%%FREI0R%%%%DATADIR%%/frei0r/blacklist.txt
-%%FREI0R%%%%DATADIR%%/frei0r/filter_cairoblend_mode.yml
-%%FREI0R%%%%DATADIR%%/frei0r/not_thread_safe.txt
-%%FREI0R%%%%DATADIR%%/frei0r/param_name_map.yaml
-%%FREI0R%%%%DATADIR%%/frei0r/resolution_scale.yml
-%%GDK%%%%DATADIR%%/gdk/filter_rescale.yml
-%%GDK%%%%DATADIR%%/gdk/producer_pango.yml
-%%GDK%%%%DATADIR%%/gdk/producer_pixbuf.yml
-%%GTK2%%%%DATADIR%%/gtk2/consumer_gtk2_preview.yml
-%%JACKRACK%%%%DATADIR%%/jackrack/consumer_jack.yml
-%%JACKRACK%%%%DATADIR%%/jackrack/filter_jack.yml
-%%JACKRACK%%%%DATADIR%%/jackrack/filter_jackrack.yml
-%%JACKRACK%%%%DATADIR%%/jackrack/filter_ladspa.yml
-%%JACKRACK%%%%DATADIR%%/jackrack/producer_ladspa.yml
-%%JACKRACK%%%%DATADIR%%/kdenlive/filter_boxblur.yml
-%%JACKRACK%%%%DATADIR%%/kdenlive/filter_freeze.yml
-%%JACKRACK%%%%DATADIR%%/kdenlive/filter_wave.yml
-%%JACKRACK%%%%DATADIR%%/kdenlive/producer_framebuffer.yml
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma01.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma02.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma03.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma04.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma05.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma06.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma07.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma08.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma09.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma10.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma11.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma12.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma13.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma14.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma15.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma16.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma17.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma18.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma19.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma20.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma21.pgm
-%%LUMAS%%%%DATADIR%%/lumas/16_9/luma22.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma01.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma02.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma03.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma04.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma05.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma06.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma07.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma08.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma09.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma10.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma11.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma12.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma13.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma14.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma15.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma16.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma17.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma18.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma19.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma20.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma21.pgm
-%%LUMAS%%%%DATADIR%%/lumas/9_16/luma22.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma01.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma02.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma03.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma04.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma05.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma06.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma07.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma08.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma09.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma10.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma11.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma12.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma13.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma14.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma15.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma16.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma17.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma18.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma19.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma20.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma21.pgm
-%%LUMAS%%%%DATADIR%%/lumas/NTSC/luma22.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma01.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma02.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma03.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma04.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma05.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma06.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma07.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma08.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma09.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma10.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma11.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma12.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma13.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma14.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma15.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma16.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma17.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma18.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma19.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma20.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma21.pgm
-%%LUMAS%%%%DATADIR%%/lumas/PAL/luma22.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma01.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma02.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma03.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma04.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma05.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma06.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma07.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma08.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma09.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma10.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma11.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma12.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma13.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma14.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma15.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma16.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma17.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma18.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma19.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma20.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma21.pgm
-%%LUMAS%%%%DATADIR%%/lumas/square/luma22.pgm
-%%DATADIR%%/metaschema.yaml
-%%MOTION_EST%%%%DATADIR%%/motion_est/filter_autotrack_rectangle.yml
-%%MOTION_EST%%%%DATADIR%%/motion_est/filter_motion_est.yml
-%%MOTION_EST%%%%DATADIR%%/motion_est/filter_vismv.yml
-%%MOTION_EST%%%%DATADIR%%/motion_est/producer_slowmotion.yml
-%%NORMALIZE%%%%DATADIR%%/normalize/filter_audiolevel.yml
-%%NORMALIZE%%%%DATADIR%%/normalize/filter_volume.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/dust1.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/dust2.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/dust3.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/dust4.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/dust5.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/fdust.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/filter_dust.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/filter_grain.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/filter_lines.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/filter_oldfilm.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/filter_tcolor.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/filter_vignette.yml
-%%OLDFILM%%%%DATADIR%%/oldfilm/grain.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/lines.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/oldfilm.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/tcolor.svg
-%%OLDFILM%%%%DATADIR%%/oldfilm/vignette.svg
-%%OPENCV%%%%DATADIR%%/opencv/filter_opencv_tracker.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_blur.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_deconvolution_sharpen.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_diffusion.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_flip.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_glow.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_lift_gamma_gain.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_mirror.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_opacity.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_rect.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_saturation.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_vignette.yml
-%%OPENGL%%%%DATADIR%%/opengl/filter_movit_white_balance.yml
-%%OPENGL%%%%DATADIR%%/opengl/transition_movit_luma.yml
-%%OPENGL%%%%DATADIR%%/opengl/transition_movit_mix.yml
-%%OPENGL%%%%DATADIR%%/opengl/transition_movit_overlay.yml
-%%PLUS%%%%DATADIR%%/plus/consumer_blipflash.yml
-%%PLUS%%%%DATADIR%%/plus/filter_affine.yml
-%%PLUS%%%%DATADIR%%/plus/filter_charcoal.yml
-%%PLUS%%%%DATADIR%%/plus/filter_dance.yml
-%%PLUS%%%%DATADIR%%/plus/filter_dynamic_loudness.yml
-%%PLUS%%%%DATADIR%%/plus/filter_dynamictext.yml
-%%PLUS%%%%DATADIR%%/plus/filter_fft.yml
-%%PLUS%%%%DATADIR%%/plus/filter_invert.yml
-%%PLUS%%%%DATADIR%%/plus/filter_lift_gamma_gain.yml
-%%PLUS%%%%DATADIR%%/plus/filter_loudness.yml
-%%PLUS%%%%DATADIR%%/plus/filter_loudness_meter.yml
-%%PLUS%%%%DATADIR%%/plus/filter_lumakey.yml
-%%PLUS%%%%DATADIR%%/plus/filter_pillar_echo.yml
-%%PLUS%%%%DATADIR%%/plus/filter_rgblut.yml
-%%PLUS%%%%DATADIR%%/plus/filter_sepia.yml
-%%PLUS%%%%DATADIR%%/plus/filter_spot_remover.yml
-%%PLUS%%%%DATADIR%%/plus/filter_strobe.yml
-%%PLUS%%%%DATADIR%%/plus/filter_text.yml
-%%PLUS%%%%DATADIR%%/plus/filter_timer.yml
-%%PLUS%%%%DATADIR%%/plus/producer_blipflash.yml
-%%PLUS%%%%DATADIR%%/plus/producer_count.yml
-%%PLUS%%%%DATADIR%%/plus/transition_affine.yml
-%%PLUSGPL%%%%DATADIR%%/plusgpl/consumer_cbrts.yml
-%%PLUSGPL%%%%DATADIR%%/plusgpl/filter_burningtv.yml
-%%PLUSGPL%%%%DATADIR%%/plusgpl/filter_lumaliftgaingamma.yml
-%%PLUSGPL%%%%DATADIR%%/plusgpl/filter_rotoscoping.yml
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/AAC
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ALAC
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/AV1
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/FLAC
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/Flash
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/GIF
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/MJPEG
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/MP3
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/MPEG-2
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/MPEG-4
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/MPEG-4-ASP
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/Slide-Deck-H264
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/Slide-Deck-HEVC
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/Sony-PSP
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/Vorbis
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/WAV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/WMA
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/WMV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/XDCAM-HD422
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/YouTube
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/alpha/Quicktime Animation
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/alpha/Ut Video
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/alpha/vp8
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/alpha/vp9
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080i_50/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080i_5994/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_2398/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_24/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_25/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_2997/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_30/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_50/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_5994/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_1080p_60/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_720p_2398/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_720p_50/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_720p_5994/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/atsc_720p_60/DNxHD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc/D10
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc/DV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc/DVCPRO50
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc/DVD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc_wide/D10
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc_wide/DV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc_wide/DVCPRO50
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_ntsc_wide/DVD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal/D10
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal/DV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal/DVCPRO50
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal/DVD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal_wide/D10
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal_wide/DV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal_wide/DVCPRO50
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/dv_pal_wide/DVD
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_1080_25p/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_1080_30p/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_1080_50i/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_1080_60i/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_720_25p/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_720_30p/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_720_50p/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/hdv_720_60p/HDV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/DNxHR-HQ
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/MJPEG
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/MPEG-2
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/MPEG-4
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/ProRes
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/ProRes HQ
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/intermediate/ProRes-Kostya
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/lossless/FFV1
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/lossless/H.264
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/lossless/HuffYUV
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/lossless/Ut Video
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/BMP
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/DPX
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/JPEG
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/PNG
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/PPM
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/TGA
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/TIFF
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/vp9
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/webm
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/webm-pass1
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/x264-medium
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/x264-medium-baseline
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/x264-medium-main
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/x264-medium-pass1
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/x265-medium
-%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/x265-medium-pass1
-%%DATADIR%%/presets/filter/brightness/from_black
-%%DATADIR%%/presets/filter/brightness/to_black
-%%DATADIR%%/presets/filter/movit.blur/blur_in
-%%DATADIR%%/presets/filter/movit.blur/blur_in_out
-%%DATADIR%%/presets/filter/movit.blur/blur_out
-%%DATADIR%%/presets/filter/movit.opacity/fade_in
-%%DATADIR%%/presets/filter/movit.opacity/fade_in_out
-%%DATADIR%%/presets/filter/movit.opacity/fade_out
-%%DATADIR%%/presets/filter/volume/fade_in
-%%DATADIR%%/presets/filter/volume/fade_out
-%%DATADIR%%/profiles/Makefile
-%%DATADIR%%/profiles/atsc_1080i_50
-%%DATADIR%%/profiles/atsc_1080i_5994
-%%DATADIR%%/profiles/atsc_1080i_60
-%%DATADIR%%/profiles/atsc_1080p_2398
-%%DATADIR%%/profiles/atsc_1080p_24
-%%DATADIR%%/profiles/atsc_1080p_25
-%%DATADIR%%/profiles/atsc_1080p_2997
-%%DATADIR%%/profiles/atsc_1080p_30
-%%DATADIR%%/profiles/atsc_1080p_50
-%%DATADIR%%/profiles/atsc_1080p_5994
-%%DATADIR%%/profiles/atsc_1080p_60
-%%DATADIR%%/profiles/atsc_720p_2398
-%%DATADIR%%/profiles/atsc_720p_24
-%%DATADIR%%/profiles/atsc_720p_25
-%%DATADIR%%/profiles/atsc_720p_2997
-%%DATADIR%%/profiles/atsc_720p_30
-%%DATADIR%%/profiles/atsc_720p_50
-%%DATADIR%%/profiles/atsc_720p_5994
-%%DATADIR%%/profiles/atsc_720p_60
-%%DATADIR%%/profiles/cif_15
-%%DATADIR%%/profiles/cif_ntsc
-%%DATADIR%%/profiles/cif_pal
-%%DATADIR%%/profiles/cvd_ntsc
-%%DATADIR%%/profiles/cvd_pal
-%%DATADIR%%/profiles/dv_ntsc
-%%DATADIR%%/profiles/dv_ntsc_wide
-%%DATADIR%%/profiles/dv_pal
-%%DATADIR%%/profiles/dv_pal_wide
-%%DATADIR%%/profiles/hdv_1080_25p
-%%DATADIR%%/profiles/hdv_1080_30p
-%%DATADIR%%/profiles/hdv_1080_50i
-%%DATADIR%%/profiles/hdv_1080_60i
-%%DATADIR%%/profiles/hdv_720_25p
-%%DATADIR%%/profiles/hdv_720_30p
-%%DATADIR%%/profiles/hdv_720_50p
-%%DATADIR%%/profiles/hdv_720_60p
-%%DATADIR%%/profiles/qcif_15
-%%DATADIR%%/profiles/qcif_ntsc
-%%DATADIR%%/profiles/qcif_pal
-%%DATADIR%%/profiles/qhd_1440p_2398
-%%DATADIR%%/profiles/qhd_1440p_24
-%%DATADIR%%/profiles/qhd_1440p_25
-%%DATADIR%%/profiles/qhd_1440p_2997
-%%DATADIR%%/profiles/qhd_1440p_30
-%%DATADIR%%/profiles/qhd_1440p_50
-%%DATADIR%%/profiles/qhd_1440p_5994
-%%DATADIR%%/profiles/qhd_1440p_60
-%%DATADIR%%/profiles/quarter_15
-%%DATADIR%%/profiles/quarter_ntsc
-%%DATADIR%%/profiles/quarter_ntsc_wide
-%%DATADIR%%/profiles/quarter_pal
-%%DATADIR%%/profiles/quarter_pal_wide
-%%DATADIR%%/profiles/sdi_486i_5994
-%%DATADIR%%/profiles/sdi_486p_2398
-%%DATADIR%%/profiles/square_1080p_30
-%%DATADIR%%/profiles/square_1080p_60
-%%DATADIR%%/profiles/square_ntsc
-%%DATADIR%%/profiles/square_ntsc_wide
-%%DATADIR%%/profiles/square_pal
-%%DATADIR%%/profiles/square_pal_wide
-%%DATADIR%%/profiles/svcd_ntsc
-%%DATADIR%%/profiles/svcd_ntsc_wide
-%%DATADIR%%/profiles/svcd_pal
-%%DATADIR%%/profiles/svcd_pal_wide
-%%DATADIR%%/profiles/uhd_2160p_2398
-%%DATADIR%%/profiles/uhd_2160p_24
-%%DATADIR%%/profiles/uhd_2160p_25
-%%DATADIR%%/profiles/uhd_2160p_2997
-%%DATADIR%%/profiles/uhd_2160p_30
-%%DATADIR%%/profiles/uhd_2160p_50
-%%DATADIR%%/profiles/uhd_2160p_5994
-%%DATADIR%%/profiles/uhd_2160p_60
-%%DATADIR%%/profiles/vcd_ntsc
-%%DATADIR%%/profiles/vcd_pal
-%%DATADIR%%/profiles/vertical_hd_30
-%%DATADIR%%/profiles/vertical_hd_60
-%%RESAMPLE%%%%DATADIR%%/resample/filter_resample.yml
-%%RTAUDIO%%%%DATADIR%%/rtaudio/consumer_rtaudio.yml
-%%RUBBERBAND%%%%DATADIR%%/rubberband/filter_rbpitch.yml
-%%SDL2%%%%DATADIR%%/sdl2/consumer_sdl2.yml
-%%SDL2%%%%DATADIR%%/sdl2/consumer_sdl2_audio.yml
-%%SOX%%%%DATADIR%%/sox/filter_sox.yml
-%%SOX%%%%DATADIR%%/sox/filter_sox_effect.yml
-%%VIDSTAB%%%%DATADIR%%/vidstab/filter_deshake.yml
-%%VIDSTAB%%%%DATADIR%%/vidstab/filter_vidstab.yml
-%%VMFX%%%%DATADIR%%/vmfx/filter_chroma.yml
-%%VMFX%%%%DATADIR%%/vmfx/filter_chroma_hold.yml
-%%VMFX%%%%DATADIR%%/vmfx/filter_mono.yml
-%%VMFX%%%%DATADIR%%/vmfx/filter_shape.yml
-%%VMFX%%%%DATADIR%%/vmfx/producer_pgm.yml
-%%VORBIS%%%%DATADIR%%/vorbis/producer_vorbis.yml
-%%XML%%%%DATADIR%%/xml/consumer_xml.yml
-%%XML%%%%DATADIR%%/xml/mlt-xml.dtd
-%%XML%%%%DATADIR%%/xml/producer_xml-nogl.yml
-%%XML%%%%DATADIR%%/xml/producer_xml-string.yml
-%%XML%%%%DATADIR%%/xml/producer_xml.yml
diff --git a/multimedia/mlt7-glaxnimate/Makefile b/multimedia/mlt7-glaxnimate/Makefile
new file mode 100644
index 000000000000..a09ddbca6ab5
--- /dev/null
+++ b/multimedia/mlt7-glaxnimate/Makefile
@@ -0,0 +1,53 @@
+MASTERDIR= ${.CURDIR:H}/mlt7
+SLAVEPORT= glaxnimate
+
+PORTREVISION= 0
+PKGNAMESUFFIX= -glaxnimate-${FLAVOR}
+
+COMMENT= 2D animations plugin for the MLT multimedia framework
+CATEGORIES= multimedia kde
+
+LICENSE= GPLv2 GPLv3
+LICENSE_COMB= multi
+
+LIB_DEPENDS= libexif.so:graphics/libexif \
+ libfftw3.so:math/fftw3
+
+FLAVORS= qt5 qt6
+FLAVOR?= qt5
+
+USES= qt:${FLAVOR:S/qt//} libarchive xorg
+USE_QT= ${_USE_QT_${FLAVOR}}
+USE_XORG= x11
+
+# Flavor handling
+_USE_QT_qt5= core gui svg widgets xml \
+ buildtools:build qmake:build
+_USE_QT_qt6= base svg
+_CMAKE_ON_qt5= MOD_GLAXNIMATE
+_CMAKE_ON_qt6= MOD_GLAXNIMATE_QT6
+_CMAKE_OFF_qt5= MOD_GLAXNIMATE_QT6
+_CMAKE_OFF_qt6= MOD_GLAXNIMATE
+_PLIST_SUB_qt5= QT_VERSION_SUFFIX=
+_PLIST_SUB_qt6= QT_VERSION_SUFFIX="-qt6"
+
+# Only enable Qt binding, and disable everything else
+CMAKE_ON= ${_CMAKE_ON_${FLAVOR}}
+CMAKE_OFF= MOD_AVFORMAT MOD_DECKLINK MOD_FEEDS MOD_FREI0R MOD_GDK MOD_GTK2 \
+ MOD_JACKRACK MOD_KDENLIVE MOD_LUMAS MOD_MOTION_EST MOD_NORMALIZE \
+ MOD_OLDFILM MOD_OPENCV MOD_OPENGL MOD_PLUSGPL MOD_PLUS MOD_QT MOD_RESAMPLE \
+ MOD_RTAUDIO MOD_RUBBERBAND MOD_SDL2 MOD_SOX MOD_VIDSTAB MOD_VMFX \
+ MOD_VORBIS MOD_XINE MOD_XML \
+ SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
+ SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL \
+ ${_CMAKE_OFF_${FLAVOR}}
+
+PLIST_SUB+= ${_PLIST_SUB_${FLAVOR}}
+
+BUILD_WRKSRC= ${WRKDIR}/.build/src/modules/glaxnimate
+
+# Dummy placeholder target.
+common-post-install:
+ @${TRUE}
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/mlt7-glaxnimate/pkg-plist b/multimedia/mlt7-glaxnimate/pkg-plist
new file mode 100644
index 000000000000..d6b0940e7281
--- /dev/null
+++ b/multimedia/mlt7-glaxnimate/pkg-plist
@@ -0,0 +1,2 @@
+lib/mlt-7/libmltglaxnimate%%QT_VERSION_SUFFIX%%.so
+%%DATADIR%%/glaxnimate%%QT_VERSION_SUFFIX%%/producer_glaxnimate.yml
diff --git a/multimedia/mlt7-qt/Makefile b/multimedia/mlt7-qt/Makefile
new file mode 100644
index 000000000000..2dab919b70e1
--- /dev/null
+++ b/multimedia/mlt7-qt/Makefile
@@ -0,0 +1,53 @@
+MASTERDIR= ${.CURDIR:H}/mlt7
+SLAVEPORT= qt
+
+PORTREVISION= 0
+PKGNAMESUFFIX= -${FLAVOR}
+
+COMMENT= Qt plugin for the MLT multimedia framework
+CATEGORIES= multimedia kde
+
+LICENSE= GPLv2 GPLv3
+LICENSE_COMB= multi
+
+LIB_DEPENDS= libexif.so:graphics/libexif \
+ libfftw3.so:math/fftw3
+
+FLAVORS= qt5 qt6
+FLAVOR?= qt5
+
+USES= qt:${FLAVOR:S/qt//} xorg
+USE_QT= ${_USE_QT_${FLAVOR}}
+USE_XORG= x11
+
+# Flavor handling
+_USE_QT_qt5= core gui svg widgets xml \
+ buildtools:build qmake:build
+_USE_QT_qt6= 5compat base svg
+_CMAKE_ON_qt5= MOD_QT
+_CMAKE_ON_qt6= MOD_QT6
+_CMAKE_OFF_qt5= MOD_QT6
+_CMAKE_OFF_qt6= MOD_QT
+_PLIST_SUB_qt5= QT_VERSION_SUFFIX=
+_PLIST_SUB_qt6= QT_VERSION_SUFFIX=6
+
+# Only enable Qt binding, and disable everything else
+CMAKE_ON= ${_CMAKE_ON_${FLAVOR}}
+CMAKE_OFF= MOD_AVFORMAT MOD_DECKLINK MOD_FEEDS MOD_FREI0R MOD_GDK MOD_GTK2 \
+ MOD_JACKRACK MOD_KDENLIVE MOD_LUMAS MOD_MOTION_EST MOD_NORMALIZE \
+ MOD_OLDFILM MOD_OPENCV MOD_OPENGL MOD_PLUSGPL MOD_PLUS MOD_RESAMPLE \
+ MOD_RTAUDIO MOD_RUBBERBAND MOD_SDL2 MOD_SOX MOD_VIDSTAB MOD_VMFX \
+ MOD_VORBIS MOD_XINE MOD_XML \
+ SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
+ SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL \
+ ${_CMAKE_OFF_${FLAVOR}}
+
+PLIST_SUB+= ${_PLIST_SUB_${FLAVOR}}
+
+BUILD_WRKSRC= ${WRKDIR}/.build/src/modules/qt
+
+# Dummy placeholder target.
+common-post-install:
+ @${TRUE}
+
+.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/mlt7-qt/pkg-plist b/multimedia/mlt7-qt/pkg-plist
new file mode 100644
index 000000000000..7f22349345a2
--- /dev/null
+++ b/multimedia/mlt7-qt/pkg-plist
@@ -0,0 +1,16 @@
+lib/mlt-7/libmltqt%%QT_VERSION_SUFFIX%%.so
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_audiolevelgraph.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_audiospectrum.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_audiowaveform.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_gpsgraphic.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_gpstext.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_lightshow.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_qtblend.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_qtcrop.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_qtext.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/filter_typewriter.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/producer_kdenlivetitle.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/producer_qimage.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/producer_qtext.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/transition_qtblend.yml
+%%DATADIR%%/qt%%QT_VERSION_SUFFIX%%/transition_vqm.yml
diff --git a/multimedia/mlt7-qt5/Makefile b/multimedia/mlt7-qt5/Makefile
deleted file mode 100644
index 3a14ba98d0ea..000000000000
--- a/multimedia/mlt7-qt5/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-MASTERDIR= ${.CURDIR:H}/mlt7
-SLAVEPORT= qt5
-
-PORTREVISION= 0
-PKGNAMESUFFIX= -qt5
-
-COMMENT= Qt plugin for the MLT multimedia framework
-CATEGORIES= multimedia kde
-
-LICENSE= GPLv2 GPLv3
-LICENSE_COMB= multi
-
-LIB_DEPENDS= libexif.so:graphics/libexif \
- libfftw3.so:math/fftw3
-
-USES= qt:5 xorg
-USE_CXXSTD= c++11
-USE_QT= core gui svg widgets xml \
- buildtools_build qmake_build
-USE_XORG= x11
-
-CONFLICTS_INSTALL= mlt6-qt5
-
-# Only enable Qt binding, and disable everything else
-CMAKE_ON= MOD_QT
-CMAKE_OFF= MOD_AVFORMAT MOD_DECKLINK MOD_FEEDS MOD_FREI0R MOD_GDK MOD_GTK2 \
- MOD_JACKRACK MOD_KDENLIVE MOD_LUMAS MOD_MOTION_EST MOD_NORMALIZE \
- MOD_OLDFILM MOD_OPENCV MOD_OPENGL MOD_PLUSGPL MOD_PLUS MOD_RESAMPLE \
- MOD_RTAUDIO MOD_RUBBERBAND MOD_SDL2 MOD_SOX MOD_VIDSTAB MOD_VMFX \
- MOD_VORBIS MOD_XINE MOD_XML \
- SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
- SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL
-
-BUILD_WRKSRC= ${WRKDIR}/.build/src/modules/qt
-
-# Dummy placeholder target.
-common-post-install:
- @${TRUE}
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/mlt7-qt5/pkg-plist b/multimedia/mlt7-qt5/pkg-plist
deleted file mode 100644
index 49c50a98d060..000000000000
--- a/multimedia/mlt7-qt5/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-lib/mlt-7/libmltqt.so
-%%DATADIR%%/qt/filter_audiospectrum.yml
-%%DATADIR%%/qt/filter_audiowaveform.yml
-%%DATADIR%%/qt/filter_lightshow.yml
-%%DATADIR%%/qt/filter_qtblend.yml
-%%DATADIR%%/qt/filter_qtcrop.yml
-%%DATADIR%%/qt/filter_qtext.yml
-%%DATADIR%%/qt/filter_typewriter.yml
-%%DATADIR%%/qt/producer_kdenlivetitle.yml
-%%DATADIR%%/qt/producer_qimage.yml
-%%DATADIR%%/qt/producer_qtext.yml
-%%DATADIR%%/qt/transition_qtblend.yml
-%%DATADIR%%/qt/transition_vqm.yml
diff --git a/multimedia/mlt7/Makefile b/multimedia/mlt7/Makefile
index 25e58bfa209c..dbed7b13833d 100644
--- a/multimedia/mlt7/Makefile
+++ b/multimedia/mlt7/Makefile
@@ -1,32 +1,27 @@
PORTNAME= ${_MLT_PORTNAME}
DISTVERSION= ${_MLT_VERSION}
-PORTREVISION= 3
CATEGORIES?= multimedia
-# Don't use GitHub "fake" downloads that are auto-generated from a
-# tag; the project uploads tarballs for each release.
-# https://github.com/mltframework/mlt/releases/download/v6.26.1/mlt-6.26.1.tar.gz
MASTER_SITES= https://github.com/mltframework/mlt/releases/download/v${DISTVERSION}/
DISTFILES= mlt-${DISTVERSION}${EXTRACT_SUFX}
WRKSRC= ${WRKDIR}/mlt-${DISTVERSION}
-PATCH_SITES= https://github.com/mltframework/mlt/commit/
-PATCHFILES= 86b922b361c0dbc9a70999abaef7be065e91dd1f.patch:-p1 \
- 41cfefcdd9c490b016cedcdc56186f50ee35bc44.patch:-p1
-
MAINTAINER= kde@FreeBSD.org
COMMENT?= Multimedia framework for TV broadcasting
+WWW= https://www.mltframework.org/
LICENSE?= GPLv2 GPLv3 LGPL21
LICENSE_COMB?= multi
-USES+= alias cmake compiler:c++11-lang eigen:3 localbase pkgconfig
+USES+= alias cmake compiler:c++11-lang eigen:3 localbase \
+ pathfix pkgconfig
USE_LDCONFIG= yes
+# Suppress errors with lld >= 17 due to undefined symbols.
+LDFLAGS+= -Wl,--undefined-version
+
DATADIR= ${PREFIX}/share/mlt-7
.ifndef(SLAVEPORT) # Master port.
-BROKEN_sparc64= does not compile on sparc64 (invokes i386 asm)
-
USES+= gnome mlt:7,nodepend
USE_GNOME= libxml2
@@ -34,8 +29,8 @@ CMAKE_ON= MOD_XML
# Explicitly disabled modules that are ouddated, unnecessary, or have
# their own port.
-CMAKE_OFF= MOD_SDL1 MOD_QT \
- MOD_NDI \
+CMAKE_OFF= MOD_GLAXNIMATE MOD_GLAXNIMATE_QT6 MOD_SDL1 MOD_QT \
+ MOD_QT6 MOD_NDI \
SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
SWIG_PHP SWIG_PYTHON SWIG_RUBY SWIG_TCL
@@ -108,6 +103,7 @@ PLUSGPL_DESC= Enable plus GPL module
PLUSGPL_CMAKE_BOOL= MOD_PLUSGPL
PLUS_DESC= Enable plus module
+PLUS_USES= ebur128
PLUS_LIB_DEPENDS= libfftw3.so:math/fftw3
PLUS_CMAKE_BOOL= MOD_PLUS
@@ -138,7 +134,8 @@ VIDSTAB_LIB_DEPENDS= libvidstab.so:multimedia/vid.stab
VIDSTAB_CMAKE_BOOL= MOD_VIDSTAB
VORBIS_DESC= Enable Vorbis module
-VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis libogg.so:audio/libogg
+VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
+ libogg.so:audio/libogg
VORBIS_CMAKE_BOOL= MOD_VORBIS
XINE_DESC= Enable xine module
@@ -146,9 +143,6 @@ XINE_CMAKE_BOOL= MOD_XINE
pre-configure:
${RM} ${STAGEDIR}${PREFIX}/man/man1/melt.1
- @${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' \
- ${WRKSRC}/src/modules/frei0r/factory.c \
- ${WRKSRC}/src/modules/jackrack/plugin_mgr.c
common-post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/melt-7
diff --git a/multimedia/mlt7/distinfo b/multimedia/mlt7/distinfo
index 68049b3f9136..27f24af506e9 100644
--- a/multimedia/mlt7/distinfo
+++ b/multimedia/mlt7/distinfo
@@ -1,7 +1,3 @@
-TIMESTAMP = 1643124903
-SHA256 (mlt-7.4.0.tar.gz) = 17c19843ffdbca66777aaadf39acb11829fd930eaded92f768cbcb8ae59a5f37
-SIZE (mlt-7.4.0.tar.gz) = 1206316
-SHA256 (86b922b361c0dbc9a70999abaef7be065e91dd1f.patch) = 1e02b9955d93fc91fea1801623d1aa1b669f3bef88f1d6d206e9454b78e9972f
-SIZE (86b922b361c0dbc9a70999abaef7be065e91dd1f.patch) = 1775
-SHA256 (41cfefcdd9c490b016cedcdc56186f50ee35bc44.patch) = 8f76c5f1d292c6fa6135218a092858a10bf63a836cf91f191847fb04f8be98c8
-SIZE (41cfefcdd9c490b016cedcdc56186f50ee35bc44.patch) = 981
+TIMESTAMP = 1701896836
+SHA256 (mlt-7.22.0.tar.gz) = 7cf4d9573a061d76902c6e12a2f09f5f461e7c697635233df82a63a3fe4d6da6
+SIZE (mlt-7.22.0.tar.gz) = 1659954
diff --git a/multimedia/mlt7/files/patch-CMakeLists.txt b/multimedia/mlt7/files/patch-CMakeLists.txt
index 67c984260d0b..372e5cd2de3b 100644
--- a/multimedia/mlt7/files/patch-CMakeLists.txt
+++ b/multimedia/mlt7/files/patch-CMakeLists.txt
@@ -1,6 +1,6 @@
---- CMakeLists.txt.orig 2021-07-30 17:03:01 UTC
+--- CMakeLists.txt.orig 2023-12-06 23:26:22 UTC
+++ CMakeLists.txt
-@@ -435,9 +435,6 @@ install(DIRECTORY presets profiles DESTINATION ${MLT_I
+@@ -547,9 +547,6 @@ if(UNIX AND NOT APPLE)
if(UNIX AND NOT APPLE)
install(FILES docs/melt.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME melt-${MLT_VERSION_MAJOR}.1)
diff --git a/multimedia/mlt7/files/patch-src_melt_CMakeLists.txt b/multimedia/mlt7/files/patch-src_melt_CMakeLists.txt
index 7ea7e357f21d..f67476d2a4ba 100644
--- a/multimedia/mlt7/files/patch-src_melt_CMakeLists.txt
+++ b/multimedia/mlt7/files/patch-src_melt_CMakeLists.txt
@@ -1,10 +1,17 @@
---- src/melt/CMakeLists.txt.orig 2021-07-30 17:09:44 UTC
+--- src/melt/CMakeLists.txt.orig 2022-07-29 16:08:23 UTC
+++ src/melt/CMakeLists.txt
-@@ -22,7 +22,4 @@ if(WIN32 OR APPLE)
- install(TARGETS melt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
- else()
- install(PROGRAMS "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/melt" DESTINATION ${CMAKE_INSTALL_BINDIR} RENAME melt-${MLT_VERSION_MAJOR})
+@@ -24,13 +24,5 @@ endif()
+ )
+ endif()
+
++set_target_properties(melt PROPERTIES OUTPUT_NAME "melt-${MLT_VERSION_MAJOR}")
+ install(TARGETS melt RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+-
+-if(UNIX AND NOT APPLE)
+- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E rename melt melt-${MLT_VERSION_MAJOR} \
+- WORKING_DIRECTORY \$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_BINDIR})"
+- )
- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink melt-${MLT_VERSION_MAJOR} melt \
- WORKING_DIRECTORY \$ENV\{DESTDIR\}${CMAKE_INSTALL_FULL_BINDIR})"
- )
- endif()
+-endif()
diff --git a/multimedia/mlt7/files/patch-src_modules_avformat_producer__avformat.c b/multimedia/mlt7/files/patch-src_modules_avformat_producer__avformat.c
new file mode 100644
index 000000000000..c5a04d3b9915
--- /dev/null
+++ b/multimedia/mlt7/files/patch-src_modules_avformat_producer__avformat.c
@@ -0,0 +1,54 @@
+From 20b9bc778542b105039471e25e192e51fe9fd61f Mon Sep 17 00:00:00 2001
+From: Brian Matherly <brian.matherly@yahoo.com>
+Date: Mon, 11 Sep 2023 20:41:59 -0500
+Subject: [PATCH] Fix crash dereferencing freed pointer
+
+If the producer is deleted by the application before the avformat_producer
+is freed from the cache, then the avformat_producer destructor might
+try to access the freed producer.
+
+Hold a reference to the producer until the avformat_producer is also
+closed.
+
+--
+
+See also the seemingly FreeBSD-specific issue filed by jhale@:
+https://github.com/mltframework/mlt/issues/959
+multimedia/shotcut (even more recent Qt6-based versions) reproducibly crashes
+when using the undo operation without this patch. multimedia/kdenlive does not
+seem to be affected. This port builds with and without this patch, so please
+check multimedia/shotcut runtime before removing.
+
+--- src/modules/avformat/producer_avformat.c.orig 2023-11-29 04:03:52 UTC
++++ src/modules/avformat/producer_avformat.c
+@@ -220,11 +220,12 @@ mlt_producer producer_avformat_init(mlt_profile profil
+
+ // Initialise it
+ if (mlt_producer_init(producer, self) == 0) {
+- self->parent = producer;
+-
+ // Get the properties
+ mlt_properties properties = MLT_PRODUCER_PROPERTIES(producer);
+
++ self->parent = producer;
++ mlt_properties_inc_ref(properties);
++
+ // Set the resource property (required for all producers)
+ mlt_properties_set(properties, "resource", file);
+
+@@ -3739,6 +3740,7 @@ static int producer_get_frame(mlt_producer producer, m
+ if (!self) {
+ self = calloc(1, sizeof(struct producer_avformat_s));
+ self->parent = producer;
++ mlt_properties_inc_ref(MLT_PRODUCER_PROPERTIES(producer));
+ mlt_service_cache_put(service,
+ "producer_avformat",
+ self,
+@@ -3928,6 +3930,7 @@ static void producer_avformat_close(producer_avformat
+ self->vpackets = NULL;
+ }
+
++ mlt_properties_dec_ref(MLT_PRODUCER_PROPERTIES(self->parent));
+ free(self);
+ }
+
diff --git a/multimedia/mlt7/files/patch-src_modules_rtaudio_CMakeLists.txt b/multimedia/mlt7/files/patch-src_modules_rtaudio_CMakeLists.txt
index 04f702b7560d..af5498ce5056 100644
--- a/multimedia/mlt7/files/patch-src_modules_rtaudio_CMakeLists.txt
+++ b/multimedia/mlt7/files/patch-src_modules_rtaudio_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/modules/rtaudio/CMakeLists.txt.orig 2021-05-06 21:36:06 UTC
+--- src/modules/rtaudio/CMakeLists.txt.orig 2023-12-06 23:26:22 UTC
+++ src/modules/rtaudio/CMakeLists.txt
-@@ -25,7 +25,11 @@ else()
+@@ -32,7 +32,11 @@ else()
target_compile_definitions(mltrtaudio PRIVATE __LINUX_PULSE__)
endif()
if(NOT (TARGET PkgConfig::alsa OR TARGET PkgConfig::libpulse-simple))
diff --git a/multimedia/mlt7/files/patch-src_modules_rtaudio_RtAudio.cpp b/multimedia/mlt7/files/patch-src_modules_rtaudio_RtAudio.cpp
deleted file mode 100644
index e5c1e60d8495..000000000000
--- a/multimedia/mlt7/files/patch-src_modules_rtaudio_RtAudio.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/modules/rtaudio/RtAudio.cpp.orig 2021-05-06 21:27:47 UTC
-+++ src/modules/rtaudio/RtAudio.cpp
-@@ -8696,8 +8696,10 @@ RtAudio::DeviceInfo RtApiOss :: getDeviceInfo( unsigne
- info.nativeFormats |= RTAUDIO_SINT8;
- if ( mask & AFMT_S32_LE || mask & AFMT_S32_BE )
- info.nativeFormats |= RTAUDIO_SINT32;
-+#ifdef AFMT_FLOAT
- if ( mask & AFMT_FLOAT )
- info.nativeFormats |= RTAUDIO_FLOAT32;
-+#endif
- if ( mask & AFMT_S24_LE || mask & AFMT_S24_BE )
- info.nativeFormats |= RTAUDIO_SINT24;
-
-@@ -9024,7 +9026,7 @@ bool RtApiOss :: probeDeviceOpen( unsigned int device,
- }
-
- // Verify the sample rate setup worked.
-- if ( abs( srate - sampleRate ) > 100 ) {
-+ if ( abs( long( srate - sampleRate ) ) > 100 ) {
- close( fd );
- errorStream_ << "RtApiOss::probeDeviceOpen: device (" << ainfo.name << ") does not support sample rate (" << sampleRate << ").";
- errorText_ = errorStream_.str();
diff --git a/multimedia/mlt7/pkg-descr b/multimedia/mlt7/pkg-descr
index 971470cfc73e..03682ea7f73a 100644
--- a/multimedia/mlt7/pkg-descr
+++ b/multimedia/mlt7/pkg-descr
@@ -4,5 +4,3 @@ editors, media players, transcoders, web streamers and many more types
of applications. The functionality of the system is provided via an
assortment of ready to use tools, XML authoring components, and an
extensible plug-in based API.
-
-WWW: https://www.mltframework.org/
diff --git a/multimedia/mlt7/pkg-plist b/multimedia/mlt7/pkg-plist
index 57f50499d615..8c56d66642fb 100644
--- a/multimedia/mlt7/pkg-plist
+++ b/multimedia/mlt7/pkg-plist
@@ -96,12 +96,25 @@ libdata/pkgconfig/mlt-framework-7.pc
share/man/man1/melt-7.1.gz
%%AVFORMAT%%%%DATADIR%%/avformat/blacklist.txt
%%AVFORMAT%%%%DATADIR%%/avformat/consumer_avformat.yml
+%%AVFORMAT%%%%DATADIR%%/avformat/filter_avcolour_space.yml
+%%AVFORMAT%%%%DATADIR%%/avformat/filter_avdeinterlace.yml
+%%AVFORMAT%%%%DATADIR%%/avformat/filter_swresample.yml
+%%AVFORMAT%%%%DATADIR%%/avformat/filter_swscale.yml
+%%AVFORMAT%%%%DATADIR%%/avformat/link_avdeinterlace.yml
+%%AVFORMAT%%%%DATADIR%%/avformat/link_swresample.yml
%%AVFORMAT%%%%DATADIR%%/avformat/producer_avformat.yml
%%AVFORMAT%%%%DATADIR%%/avformat/resolution_scale.yml
%%AVFORMAT%%%%DATADIR%%/avformat/yuv_only.txt
+%%DATADIR%%/chain_normalizers.ini
%%DATADIR%%/core/consumer_multi.yml
+%%DATADIR%%/core/consumer_null.yml
+%%DATADIR%%/core/filter_audiochannels.yml
+%%DATADIR%%/core/filter_audioconvert.yml
%%DATADIR%%/core/filter_audiomap.yml
+%%DATADIR%%/core/filter_audioseam.yml
%%DATADIR%%/core/filter_audiowave.yml
+%%DATADIR%%/core/filter_autofade.yml
+%%DATADIR%%/core/filter_box_blur.yml
%%DATADIR%%/core/filter_brightness.yml
%%DATADIR%%/core/filter_channelcopy.yml
%%DATADIR%%/core/filter_choppy.yml
@@ -109,6 +122,7 @@ share/man/man1/melt-7.1.gz
%%DATADIR%%/core/filter_fieldorder.yml
%%DATADIR%%/core/filter_gamma.yml
%%DATADIR%%/core/filter_greyscale.yml
+%%DATADIR%%/core/filter_imageconvert.yml
%%DATADIR%%/core/filter_luma.yml
%%DATADIR%%/core/filter_mask_apply.yml
%%DATADIR%%/core/filter_mask_start.yml
@@ -116,6 +130,7 @@ share/man/man1/melt-7.1.gz
%%DATADIR%%/core/filter_mono.yml
%%DATADIR%%/core/filter_obscure.yml
%%DATADIR%%/core/filter_panner.yml
+%%DATADIR%%/core/filter_pillar_echo.yml
%%DATADIR%%/core/filter_rescale.yml
%%DATADIR%%/core/filter_resize.yml
%%DATADIR%%/core/filter_transition.yml
@@ -123,9 +138,12 @@ share/man/man1/melt-7.1.gz
%%DATADIR%%/core/link_timeremap.yml
%%DATADIR%%/core/loader.dict
%%DATADIR%%/core/loader.ini
+%%DATADIR%%/core/producer_abnormal.yml
+%%DATADIR%%/core/producer_blank.yml
%%DATADIR%%/core/producer_colour.yml
%%DATADIR%%/core/producer_consumer.yml
%%DATADIR%%/core/producer_hold.yml
+%%DATADIR%%/core/producer_loader-nogl.yml
%%DATADIR%%/core/producer_loader.yml
%%DATADIR%%/core/producer_melt.yml
%%DATADIR%%/core/producer_melt_file.yml
@@ -138,6 +156,7 @@ share/man/man1/melt-7.1.gz
%%DATADIR%%/core/transition_mix.yml
%%DECKLINK%%%%DATADIR%%/decklink/consumer_decklink.yml
%%DECKLINK%%%%DATADIR%%/decklink/producer_decklink.yml
+%%FREI0R%%%%DATADIR%%/frei0r/aliases.yaml
%%FREI0R%%%%DATADIR%%/frei0r/blacklist.txt
%%FREI0R%%%%DATADIR%%/frei0r/filter_cairoblend_mode.yml
%%FREI0R%%%%DATADIR%%/frei0r/not_thread_safe.txt
@@ -157,6 +176,8 @@ share/man/man1/melt-7.1.gz
%%KDENLIVE%%%%DATADIR%%/kdenlive/producer_framebuffer.yml
%%DATADIR%%/metaschema.yaml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_blur.yml
+%%MOVIT%%%%DATADIR%%/movit/filter_movit_convert.yml
+%%MOVIT%%%%DATADIR%%/movit/filter_movit_crop.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_deconvolution_sharpen.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_diffusion.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_flip.yml
@@ -165,6 +186,8 @@ share/man/man1/melt-7.1.gz
%%MOVIT%%%%DATADIR%%/movit/filter_movit_mirror.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_opacity.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_rect.yml
+%%MOVIT%%%%DATADIR%%/movit/filter_movit_resample.yml
+%%MOVIT%%%%DATADIR%%/movit/filter_movit_resize.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_saturation.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_vignette.yml
%%MOVIT%%%%DATADIR%%/movit/filter_movit_white_balance.yml
@@ -205,7 +228,6 @@ share/man/man1/melt-7.1.gz
%%PLUS%%%%DATADIR%%/plus/filter_loudness.yml
%%PLUS%%%%DATADIR%%/plus/filter_loudness_meter.yml
%%PLUS%%%%DATADIR%%/plus/filter_lumakey.yml
-%%PLUS%%%%DATADIR%%/plus/filter_pillar_echo.yml
%%PLUS%%%%DATADIR%%/plus/filter_rgblut.yml
%%PLUS%%%%DATADIR%%/plus/filter_sepia.yml
%%PLUS%%%%DATADIR%%/plus/filter_shape.yml
@@ -303,6 +325,14 @@ share/man/man1/melt-7.1.gz
%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/TGA
%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/TIFF
%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/stills/webp
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/AV1
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/DNxHR-HQ
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/FFV1
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/ProRes 422
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/ProRes 444
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/ProRes HQ
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/x264-high10
+%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/ten_bit/x265-main10
%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/vp9
%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/webm
%%AVFORMAT%%%%DATADIR%%/presets/consumer/avformat/webm-pass1
@@ -400,6 +430,7 @@ share/man/man1/melt-7.1.gz
%%DATADIR%%/profiles/vertical_hd_30
%%DATADIR%%/profiles/vertical_hd_60
%%RESAMPLE%%%%DATADIR%%/resample/filter_resample.yml
+%%RESAMPLE%%%%DATADIR%%/resample/link_resample.yml
%%RTAUDIO%%%%DATADIR%%/rtaudio/consumer_rtaudio.yml
%%RUBBERBAND%%%%DATADIR%%/rubberband/filter_rbpitch.yml
%%SDL2%%%%DATADIR%%/sdl2/consumer_sdl2.yml
@@ -409,8 +440,9 @@ share/man/man1/melt-7.1.gz
%%VIDSTAB%%%%DATADIR%%/vid.stab/filter_deshake.yml
%%VIDSTAB%%%%DATADIR%%/vid.stab/filter_vidstab.yml
%%VORBIS%%%%DATADIR%%/vorbis/producer_vorbis.yml
+%%XINE%%%%DATADIR%%/xine/filter_deinterlace.yml
+%%XINE%%%%DATADIR%%/xine/link_deinterlace.yml
%%DATADIR%%/xml/consumer_xml.yml
-%%DATADIR%%/xml/filter_gpstext.yml
%%DATADIR%%/xml/mlt-xml.dtd
%%DATADIR%%/xml/producer_xml-nogl.yml
%%DATADIR%%/xml/producer_xml-string.yml
diff --git a/multimedia/mmsrip/Makefile b/multimedia/mmsrip/Makefile
deleted file mode 100644
index 048f169769ea..000000000000
--- a/multimedia/mmsrip/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# Created by: Mun-Kyo Seo <munggo@pmy.lv>
-
-PORTNAME= mmsrip
-PORTVERSION= 0.7.0
-CATEGORIES= multimedia
-MASTER_SITES= http://www.sourcefiles.org/Multimedia/Tools/Network/ \
- http://nbenoit.tuxfamily.org/projects/mmsrip/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= MMS ripper - a client for the proprietary protocol mms://
-
-LICENSE= GPLv2+
-
-DEPRECATED= Obsolete, Microsoft deprecated MMS in 2003
-EXPIRATION_DATE=2022-06-30
-
-GNU_CONFIGURE= yes
-
-PLIST_FILES= bin/mmsrip \
- man/man1/mmsrip.1.gz
-
-.include <bsd.port.mk>
diff --git a/multimedia/mmsrip/distinfo b/multimedia/mmsrip/distinfo
deleted file mode 100644
index 6eca084b2a74..000000000000
--- a/multimedia/mmsrip/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mmsrip-0.7.0.tar.gz) = 5aed3cf17bfe50e2628561b46e12aec3644cfbbb242d738078e8b8fce6c23ed6
-SIZE (mmsrip-0.7.0.tar.gz) = 100869
diff --git a/multimedia/mmsrip/pkg-descr b/multimedia/mmsrip/pkg-descr
deleted file mode 100644
index d221f0db48cc..000000000000
--- a/multimedia/mmsrip/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-MMSRIP is a client for the proprietary protocol MMS://.
-It actually saves to a file the content being streamed.
-Please remember that this is not intended for real use, its existence
-is only and must only be documentary.
-
-WWW: http://nbenoit.tuxfamily.org/projects.php?rq=mmsrip
diff --git a/multimedia/motion/Makefile b/multimedia/motion/Makefile
index d3e8702f7d96..07db55d593fa 100644
--- a/multimedia/motion/Makefile
+++ b/multimedia/motion/Makefile
@@ -1,26 +1,25 @@
-# Created by: Angel Carpintero <ack@telefonica.net>
-
# PORTNAME block
PORTNAME= motion
-PORTVERSION= 4.3.2
-PORTREVISION= 3
DISTVERSIONPREFIX= release-
+DISTVERSION= 4.6.0
+PORTREVISION= 1
CATEGORIES= multimedia
# Maintainer block
MAINTAINER= ports@blievers.net
COMMENT= Motion detection application
+WWW= https://motion-project.github.io/
# License block
LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/doc/COPYING
+LICENSE_FILE= ${WRKSRC}/LICENSE
# Dependencies
LIB_DEPENDS= libwebp.so:graphics/webp \
libmicrohttpd.so:www/libmicrohttpd
# USES block
-USES= autoreconf cpe gmake jpeg localbase pkgconfig gettext
+USES= autoreconf cpe gmake jpeg localbase pkgconfig
CPE_VENDOR= ${PORTNAME}_project
USE_GITHUB= yes
@@ -28,25 +27,18 @@ GH_ACCOUNT= Motion-Project
USE_RC_SUBR= ${PORTNAME}
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
# Standard bsd.port.mk variables
SUB_FILES= pkg-message
-# Packaging list block
-PLIST_FILES= bin/motion \
- man/man1/motion.1.gz \
- "@sample ${ETCDIR}/motion.conf.sample" \
- "@dir ${ETCDIR}/conf.d"
-PORTDOCS= *
-
-PORTEXAMPLES= camera1-dist.conf camera2-dist.conf \
- camera3-dist.conf camera4-dist.conf
-
# Options definitions
-OPTIONS_DEFINE= DOCS EXAMPLES FFMPEG MYSQL PGSQL SQLITE3
+OPTIONS_DEFINE= DOCS EXAMPLES FFMPEG MYSQL PGSQL SQLITE3 NLS
+
OPTIONS_DEFAULT= WEBCAMD FFMPEG
OPTIONS_RADIO= VIDEO
OPTIONS_RADIO_VIDEO= BKTR PWCBSD WEBCAMD
+OPTIONS_SUB= yes
BKTR_DESC= BKTR based TV capture cards
@@ -56,18 +48,18 @@ VIDEO_DESC= Video capture driver (Netcam support only if none selected)
WEBCAMD_DESC= Webcams using webcamd
BKTR_CONFIGURE_WITH= bktr
-FFMPEG_LIB_DEPENDS= libavformat.so:multimedia/ffmpeg
-FFMPEG_CONFIGURE_ON= --with-ffmpeg=${LOCALBASE}
-FFMPEG_CONFIGURE_OFF= --without-ffmpeg
+
+FFMPEG_LIB_DEPENDS= libavformat.so.60:multimedia/ffmpeg
+FFMPEG_CONFIGURE_WITH= ffmpeg
MYSQL_USES= mysql
-MYSQL_CONFIGURE_ON= --with-mysql=${LOCALBASE}/include/mysql
-MYSQL_CONFIGURE_OFF= --without-mysql
+MYSQL_CONFIGURE_WITH= mysql
+
+NLS_USES= gettext
+NLS_CONFIGURE_ENABLE= nls
PGSQL_USES= pgsql
-PGSQL_CONFIGURE_ON= --with-pgsql-lib=${LOCALBASE}/lib \
- --with-pgsql-include=${LOCALBASE}/include
-PGSQL_CONFIGURE_OFF= --without-pgsql
+PGSQL_CONFIGURE_WITH= pgsql
PWCBSD_BUILD_DEPENDS= v4l_compat>=1.0.20060801:multimedia/v4l_compat
PWCBSD_RUN_DEPENDS= pwcbsd>0:multimedia/pwcbsd
@@ -80,28 +72,4 @@ WEBCAMD_BUILD_DEPENDS= v4l_compat>=1.0.20060801:multimedia/v4l_compat
# note: all configure --with-pwcbsd does is not shut off v4l support
WEBCAMD_CONFIGURE_WITH= pwcbsd
-.include <bsd.port.pre.mk>
-
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|/usr/local|${LOCALBASE}|g' ${WRKSRC}/configure.ac
-# Fix pidfile path
- @${REINPLACE_CMD} -e \
- 's|/run/motion|/run|' ${WRKSRC}/data/motion-dist.conf.in
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/src/motion ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/man/motion.1 ${STAGEDIR}${MANPREFIX}/man/man1
- @${MKDIR} ${STAGEDIR}${ETCDIR}/conf.d
- ${INSTALL_DATA} ${WRKSRC}/data/motion-dist.conf \
- ${STAGEDIR}${ETCDIR}/motion.conf.sample
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/* ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
-
-do-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${PORTEXAMPLES:S|^|${WRKSRC}/data/|} ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/multimedia/motion/distinfo b/multimedia/motion/distinfo
index 33c442065554..3dbdc6172c4f 100644
--- a/multimedia/motion/distinfo
+++ b/multimedia/motion/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1603754625
-SHA256 (Motion-Project-motion-release-4.3.2_GH0.tar.gz) = dafa4264b2d8e4778f8be5871f09b6c0ec710d5a836182c583469c18db944d70
-SIZE (Motion-Project-motion-release-4.3.2_GH0.tar.gz) = 849378
+TIMESTAMP = 1700617831
+SHA256 (Motion-Project-motion-release-4.6.0_GH0.tar.gz) = 9268df31a5ebeaf8daca4747cdcd01c86e223625b6f971e9bcec98edf35ec06f
+SIZE (Motion-Project-motion-release-4.6.0_GH0.tar.gz) = 857255
diff --git a/multimedia/motion/files/patch-configure.ac b/multimedia/motion/files/patch-configure.ac
deleted file mode 100644
index 90ec4379d3b6..000000000000
--- a/multimedia/motion/files/patch-configure.ac
+++ /dev/null
@@ -1,28 +0,0 @@
---- configure.ac.orig 2020-10-25 20:53:44 UTC
-+++ configure.ac
-@@ -327,15 +327,11 @@ AS_IF([test "${MYSQL}" = "no"], [
- AC_MSG_CHECKING(for MySQL)
- AC_MSG_RESULT(skipped)
- ],[
-- TEMP_PATH=$PKG_CONFIG_PATH
-- AC_MSG_CHECKING(MySQL pkg-config path)
- AS_IF([test "${MYSQL}" != "yes"], [
-- PKG_CONFIG_PATH=${MYSQL}/lib/pkgconfig:$PKG_CONFIG_PATH
-+ TEMP_CFLAGS="$TEMP_CFLAGS -I${MYSQL}"
- MYSQL="yes"
- ]
- )
-- export PKG_CONFIG_PATH
-- AC_MSG_RESULT($PKG_CONFIG_PATH)
-
- AC_MSG_CHECKING(for MySQL)
- AS_IF([pkg-config mysqlclient], [
-@@ -347,8 +343,6 @@ AS_IF([test "${MYSQL}" = "no"], [
- ]
- )
- AC_MSG_RESULT([$MYSQL])
-- PKG_CONFIG_PATH=$TEMP_PATH
-- export PKG_CONFIG_PATH
- ]
- )
-
diff --git a/multimedia/motion/pkg-descr b/multimedia/motion/pkg-descr
index 85095a8b55fb..bf0b09af99e1 100644
--- a/multimedia/motion/pkg-descr
+++ b/multimedia/motion/pkg-descr
@@ -2,5 +2,3 @@ This is a port of motion, this version works with network cameras and with any
capture devices that supports bktr(4) with composite and svideo inputs. Tuner
support is not yet implemented. Latest port versions supports webcams supported
by pwcbsd.
-
-WWW: https://motion-project.github.io/
diff --git a/multimedia/motion/pkg-plist b/multimedia/motion/pkg-plist
new file mode 100644
index 000000000000..19f18d4cd59c
--- /dev/null
+++ b/multimedia/motion/pkg-plist
@@ -0,0 +1,31 @@
+bin/motion
+share/man/man1/motion.1.gz
+%%ETCDIR%%/camera1-dist.conf
+%%ETCDIR%%/camera2-dist.conf
+%%ETCDIR%%/camera3-dist.conf
+%%ETCDIR%%/camera4-dist.conf
+%%ETCDIR%%/motion-dist.conf
+%%PORTDOCS%%%%DOCSDIR%%/CREDITS
+%%PORTDOCS%%%%DOCSDIR%%/mask1.png
+%%PORTDOCS%%%%DOCSDIR%%/motion_build.html
+%%PORTDOCS%%%%DOCSDIR%%/motion_config.html
+%%PORTDOCS%%%%DOCSDIR%%/motion_guide.html
+%%PORTDOCS%%%%DOCSDIR%%/motion_stylesheet.css
+%%PORTDOCS%%%%DOCSDIR%%/normal.jpg
+%%PORTDOCS%%%%DOCSDIR%%/outputmotion1.jpg
+%%PORTDOCS%%%%DOCSDIR%%/outputnormal1.jpg
+%%NLS%%share/locale/da/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/de/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/es/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/it/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/li/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/no/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/motion.mo
+%%NLS%%share/locale/zh/LC_MESSAGES/motion.mo
diff --git a/multimedia/mp3cd/Makefile b/multimedia/mp3cd/Makefile
index e1073bce3335..2096ba617dd0 100644
--- a/multimedia/mp3cd/Makefile
+++ b/multimedia/mp3cd/Makefile
@@ -1,5 +1,3 @@
-# Created by: Sylvio Cesar <sylvio@FreeBSD.org>
-
PORTNAME= mp3cd
PORTVERSION= 1.027
PORTREVISION= 1
@@ -9,6 +7,7 @@ MASTER_SITES= http://outflux.net/software/pkgs/mp3cd/download/
MAINTAINER= ports@FreeBSD.org
COMMENT= Perl script that burns MP3 to audio CDs
+WWW= https://outflux.net
LICENSE= GPLv2+
diff --git a/multimedia/mp3cd/pkg-descr b/multimedia/mp3cd/pkg-descr
index a044499b34f0..2e2c787fa52b 100644
--- a/multimedia/mp3cd/pkg-descr
+++ b/multimedia/mp3cd/pkg-descr
@@ -1,4 +1,2 @@
mp3cd is a perl script that normalizes and burns MP3,
OGG, and WAV files to audio CDs.
-
-WWW: http://outflux.net
diff --git a/multimedia/mp4v2/Makefile b/multimedia/mp4v2/Makefile
index ede1d6540df6..44e11b0d2160 100644
--- a/multimedia/mp4v2/Makefile
+++ b/multimedia/mp4v2/Makefile
@@ -1,12 +1,12 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTNAME= mp4v2
-PORTVERSION= 2.0.0
+PORTVERSION= 2.1.3
+PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= GENTOO
+MASTER_SITES= https://github.com/enzo1982/mp4v2/releases/download/v${PORTVERSION}/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Library and tools to read, create, and modify mp4 files
+WWW= http://mp4v2.org/
LICENSE= MPL11
@@ -16,6 +16,7 @@ CPE_VENDOR= mp4v2_project
MAKEFILE= GNUmakefile
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
USE_LDCONFIG= yes
CONFIGURE_ENV= "FOUND_HELP2MAN=no"
CXXFLAGS+= ${COMPILER_FEATURES:Mc++11:C/.+/-Wno-error=narrowing/}
diff --git a/multimedia/mp4v2/distinfo b/multimedia/mp4v2/distinfo
index 4ecbbb829c0c..1696c9a115f0 100644
--- a/multimedia/mp4v2/distinfo
+++ b/multimedia/mp4v2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1566907643
-SHA256 (mp4v2-2.0.0.tar.bz2) = 0319b9a60b667cf10ee0ec7505eb7bdc0a2e21ca7a93db96ec5bd758e3428338
-SIZE (mp4v2-2.0.0.tar.bz2) = 495672
+TIMESTAMP = 1688287758
+SHA256 (mp4v2-2.1.3.tar.bz2) = 033185c17bf3c5fdd94020c95f8325be2e5356558e3913c3d6547a85dd61f7f1
+SIZE (mp4v2-2.1.3.tar.bz2) = 594549
diff --git a/multimedia/mp4v2/files/patch-src-itmf-type.cpp b/multimedia/mp4v2/files/patch-src-itmf-type.cpp
deleted file mode 100644
index 25c240c00728..000000000000
--- a/multimedia/mp4v2/files/patch-src-itmf-type.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/itmf/type.cpp.orig 2012-05-20 22:11:53 UTC
-+++ src/itmf/type.cpp
-@@ -284,7 +284,7 @@ namespace {
- { BT_BMP, "\x42\x4d" },
- { BT_GIF, "GIF87a" },
- { BT_GIF, "GIF89a" },
-- { BT_JPEG, "\xff\xd8\xff\xe0" },
-+ { BT_JPEG, "\xff\xd8\xff" },
- { BT_PNG, "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a" },
- { BT_UNDEFINED } // must be last
- };
diff --git a/multimedia/mp4v2/files/patch-src-mp4.cpp b/multimedia/mp4v2/files/patch-src-mp4.cpp
deleted file mode 100644
index 676c227e13eb..000000000000
--- a/multimedia/mp4v2/files/patch-src-mp4.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/mp4.cpp.orig 2012-05-20 22:11:53 UTC
-+++ src/mp4.cpp
-@@ -2402,8 +2402,11 @@ MP4FileHandle MP4ReadProvider( const cha
- if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
- MP4File *pFile = (MP4File *)hFile;
- try {
-- return pFile->GetTrackIntegerProperty(trackId,
-+ uint32_t bitrate = pFile->GetTrackIntegerProperty(trackId,
- "mdia.minf.stbl.stsd.*.esds.decConfigDescr.avgBitrate");
-+ if( bitrate != 0 ) {
-+ return bitrate;
-+ }
- }
- catch( Exception* x ) {
- //mp4v2::impl::log.errorf(*x); we don't really need to print this.
diff --git a/multimedia/mp4v2/files/patch-src-mp4file_io.cpp b/multimedia/mp4v2/files/patch-src-mp4file_io.cpp
deleted file mode 100644
index 59698e927357..000000000000
--- a/multimedia/mp4v2/files/patch-src-mp4file_io.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- src/mp4file_io.cpp.orig 2012-05-20 22:11:53 UTC
-+++ src/mp4file_io.cpp
-@@ -387,7 +387,7 @@ char* MP4File::ReadCountedString(uint8_t
- charLength = ReadUInt8();
- }
-
-- if (fixedLength && (charLength > fixedLength)) {
-+ if (fixedLength && (charLength > fixedLength - 1)) {
- /*
- * The counted length of this string is greater than the
- * maxiumum fixed length, so truncate the string to the
-@@ -397,7 +397,7 @@ char* MP4File::ReadCountedString(uint8_t
- * a non counted string has been used in the place of a
- * counted string).
- */
-- WARNING(charLength > fixedLength);
-+ WARNING(charLength > fixedLength - 1);
- charLength = fixedLength - 1U;
- }
-
diff --git a/multimedia/mp4v2/files/patch-src-mp4info.cpp b/multimedia/mp4v2/files/patch-src-mp4info.cpp
deleted file mode 100644
index 96dfc8391b85..000000000000
--- a/multimedia/mp4v2/files/patch-src-mp4info.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
---- src/mp4info.cpp.orig 2012-05-20 22:11:53 UTC
-+++ src/mp4info.cpp
-@@ -109,7 +109,7 @@ static char* PrintAudioInfo(
- const char* typeName = "Unknown";
- bool foundType = false;
- uint8_t type = 0;
-- const char *media_data_name;
-+ const char *media_data_name = NULL;
-
- media_data_name = MP4GetTrackMediaDataName(mp4File, trackId);
-
-@@ -306,7 +306,7 @@ static char* PrintVideoInfo(
- bool foundTypeName = false;
- const char* typeName = "Unknown";
-
-- const char *media_data_name;
-+ const char *media_data_name = NULL;
- char originalFormat[8];
- char oformatbuffer[32];
- originalFormat[0] = 0;
-@@ -315,7 +315,7 @@ static char* PrintVideoInfo(
-
- media_data_name = MP4GetTrackMediaDataName(mp4File, trackId);
- // encv 264b
-- if (strcasecmp(media_data_name, "encv") == 0) {
-+ if (media_data_name != NULL && strcasecmp(media_data_name, "encv") == 0) {
- if (MP4GetTrackMediaDataOriginalFormat(mp4File,
- trackId,
- originalFormat,
diff --git a/multimedia/mp4v2/files/patch-src-mp4util.cpp b/multimedia/mp4v2/files/patch-src-mp4util.cpp
deleted file mode 100644
index aee3b7b26ed0..000000000000
--- a/multimedia/mp4v2/files/patch-src-mp4util.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
---- src/mp4util.cpp.orig 2012-05-20 22:11:53 UTC
-+++ src/mp4util.cpp
-@@ -195,6 +195,9 @@ static bool convertBase64 (const char da
- return true;
- }
-
-+}} // namespace mp4v2::impl
-+
-+extern "C"
- uint8_t *Base64ToBinary (const char *pData, uint32_t decodeSize, uint32_t *pDataSize)
- {
- uint8_t *ret;
-@@ -208,7 +211,7 @@ uint8_t *Base64ToBinary (const char *pDa
- }
- size = (decodeSize * 3) / 4;
- groups = decodeSize / 4;
-- ret = (uint8_t *)MP4Calloc(size);
-+ ret = (uint8_t *)mp4v2::impl::MP4Calloc(size);
- if (ret == NULL) return NULL;
- for (ix = 0; ix < groups; ix++) {
- uint8_t value[4];
-@@ -220,7 +223,7 @@ uint8_t *Base64ToBinary (const char *pDa
- }
- size--;
- value[jx] = 0;
-- } else if (convertBase64(pData[jx], &value[jx]) == false) {
-+ } else if (mp4v2::impl::convertBase64(pData[jx], &value[jx]) == false) {
- free(ret);
- return NULL;
- }
-@@ -234,6 +237,8 @@ uint8_t *Base64ToBinary (const char *pDa
- return ret;
- }
-
-+namespace mp4v2 { namespace impl {
-+
- // log2 of value, rounded up
- static uint8_t ilog2(uint64_t value)
- {
diff --git a/multimedia/mp4v2/files/patch-src_mp4.cpp b/multimedia/mp4v2/files/patch-src_mp4.cpp
deleted file mode 100644
index 83ebb2e24f6d..000000000000
--- a/multimedia/mp4v2/files/patch-src_mp4.cpp
+++ /dev/null
@@ -1,18 +0,0 @@
-src/mp4.cpp:679:20: error: cannot initialize return object of type 'mp4v2_ismacrypParams *' (aka 'mp4v2_ismacryp_session_params *') with an rvalue of type 'MP4TrackId' (aka 'unsigned int')
- return MP4_INVALID_TRACK_ID;
- ^~~~~~~~~~~~~~~~~~~~
-./include/mp4v2/general.h:45:33: note: expanded from macro 'MP4_INVALID_TRACK_ID'
-#define MP4_INVALID_TRACK_ID ((MP4TrackId)0) /**< Constant: invalid MP4TrackId. */
- ^~~~~~~~~~~~~~~
-
---- src/mp4.cpp.orig 2009-07-13 23:07:12 UTC
-+++ src/mp4.cpp
-@@ -676,7 +676,7 @@ MP4FileHandle MP4ReadProvider( const char* fileName, u
- }
-
- catch (...) {
-- return MP4_INVALID_TRACK_ID;
-+ return NULL;
- }
- }
-
diff --git a/multimedia/mp4v2/files/patch-src_mp4util.h b/multimedia/mp4v2/files/patch-src_mp4util.h
deleted file mode 100644
index 13114eb8da71..000000000000
--- a/multimedia/mp4v2/files/patch-src_mp4util.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/mp4util.h.orig 2019-08-25 16:36:29 UTC
-+++ src/mp4util.h
-@@ -33,7 +33,7 @@ namespace mp4v2 { namespace impl {
- #ifndef ASSERT
- # define ASSERT(expr) \
- if (!(expr)) { \
-- throw new Exception("assert failure: "LIBMPV42_STRINGIFY((expr)), __FILE__, __LINE__, __FUNCTION__ ); \
-+ throw new Exception("assert failure: " LIBMPV42_STRINGIFY((expr)), __FILE__, __LINE__, __FUNCTION__ ); \
- }
- #endif
-
diff --git a/multimedia/mp4v2/files/patch-src_rtphint.cpp b/multimedia/mp4v2/files/patch-src_rtphint.cpp
deleted file mode 100644
index f9a84dc00179..000000000000
--- a/multimedia/mp4v2/files/patch-src_rtphint.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-src/rtphint.cpp:348:32: error: comparison between pointer and integer ('const char *' and 'int')
- if (pSlash != '\0') {
- ~~~~~~ ^ ~~~~
-
---- src/rtphint.cpp.orig 2012-05-20 22:11:53 UTC
-+++ src/rtphint.cpp
-@@ -339,7 +339,7 @@ void MP4RtpHintTrack::GetPayload(
- pSlash = strchr(pSlash, '/');
- if (pSlash != NULL) {
- pSlash++;
-- if (pSlash != '\0') {
-+ if (*pSlash != '\0') {
- length = (uint32_t)strlen(pRtpMap) - (pSlash - pRtpMap);
- *ppEncodingParams = (char *)MP4Calloc(length + 1);
- strncpy(*ppEncodingParams, pSlash, length);
diff --git a/multimedia/mp4v2/files/patch-util-mp4chaps.cpp b/multimedia/mp4v2/files/patch-util-mp4chaps.cpp
deleted file mode 100644
index f20a842e0116..000000000000
--- a/multimedia/mp4v2/files/patch-util-mp4chaps.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- util/mp4chaps.cpp.orig 2012-05-20 22:11:55 UTC
-+++ util/mp4chaps.cpp
-@@ -856,6 +856,7 @@ ChapterUtility::readChapterFile( const s
- if( in.read( inBuf, fileSize, nin ) )
- {
- in.close();
-+ free(inBuf);
- return herrf( "reading chapter file '%s' failed: %s\n", filename.c_str(), sys::getLastErrorStr() );
- }
- in.close();
diff --git a/multimedia/mp4v2/files/patch-util-mp4tags.cpp b/multimedia/mp4v2/files/patch-util-mp4tags.cpp
deleted file mode 100644
index 50bb132812ac..000000000000
--- a/multimedia/mp4v2/files/patch-util-mp4tags.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- util/mp4tags.cpp.orig 2012-05-20 22:11:55 UTC
-+++ util/mp4tags.cpp
-@@ -539,6 +539,7 @@ extern "C" int
- else {
- fprintf( stderr, "Art file %s not found\n", tags[i] );
- }
-+ break;
- }
- case OPT_ALBUM_ARTIST:
- MP4TagsSetAlbumArtist( mdata, tags[i] );
diff --git a/multimedia/mp4v2/pkg-descr b/multimedia/mp4v2/pkg-descr
index b4629f1a0c1b..dbc224242dde 100644
--- a/multimedia/mp4v2/pkg-descr
+++ b/multimedia/mp4v2/pkg-descr
@@ -1,3 +1 @@
Library and tools to read, create, and modify mp4 files.
-
-WWW: http://code.google.com/p/mp4v2/
diff --git a/multimedia/mp4v2/pkg-plist b/multimedia/mp4v2/pkg-plist
index 1f12d2b7fbc9..9b1f78d4ee13 100644
--- a/multimedia/mp4v2/pkg-plist
+++ b/multimedia/mp4v2/pkg-plist
@@ -21,11 +21,13 @@ include/mp4v2/sample.h
include/mp4v2/streaming.h
include/mp4v2/track.h
include/mp4v2/track_prop.h
-lib/libmp4v2.a
lib/libmp4v2.so
lib/libmp4v2.so.2
-lib/libmp4v2.so.2.0.0
-man/man1/mp4art.1.gz
-man/man1/mp4file.1.gz
-man/man1/mp4subtitle.1.gz
-man/man1/mp4track.1.gz
+lib/libmp4v2.so.2.1.3
+libdata/pkgconfig/mp4v2.pc
+share/man/man1/mp4art.1.gz
+share/man/man1/mp4chaps.1.gz
+share/man/man1/mp4file.1.gz
+share/man/man1/mp4subtitle.1.gz
+share/man/man1/mp4tags.1.gz
+share/man/man1/mp4track.1.gz
diff --git a/multimedia/mpc-qt/Makefile b/multimedia/mpc-qt/Makefile
index 20bbdc9c98cb..2bbd52e1e0a5 100644
--- a/multimedia/mpc-qt/Makefile
+++ b/multimedia/mpc-qt/Makefile
@@ -1,22 +1,22 @@
PORTNAME= mpc-qt
DISTVERSIONPREFIX= v
-DISTVERSION= 22.02
+DISTVERSION= 23.12
CATEGORIES= multimedia audio
MAINTAINER= jbeich@FreeBSD.org
-COMMENT= Qt 5 clone of Media Player Classic based on libmpv
+COMMENT= Media Player Classic Qute Theater
+WWW= https://github.com/mpc-qt/mpc-qt
LICENSE= GPLv2
BUILD_DEPENDS= mpv>=0.29,1:multimedia/mpv
LIB_DEPENDS= libmpv.so:multimedia/mpv
-USES= compiler:c++14-lang desktop-file-utils gl pkgconfig qmake qt:5
+USES= compiler:c++14-lang desktop-file-utils pkgconfig qmake qt:6
USE_GITHUB= yes
-USE_GL= gl
-USE_QT= qmake_build buildtools_build linguisttools_build \
- core dbus gui network svg_run widgets x11extras
+USE_QT= base tools:build
QMAKE_ARGS= MPCQT_VERSION="${DISTVERSION}${DISTVERSIONSUFFIX}"
+LDFLAGS+= -Wl,--as-needed # GL
OPTIONS_DEFINE= DOCS
diff --git a/multimedia/mpc-qt/distinfo b/multimedia/mpc-qt/distinfo
index 19b69ebc6593..bd2fbc26df5f 100644
--- a/multimedia/mpc-qt/distinfo
+++ b/multimedia/mpc-qt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1644050381
-SHA256 (mpc-qt-mpc-qt-v22.02_GH0.tar.gz) = fa6cffd6bde1304b6c0ec3aba8e98d03f4d73999fee4e4546026ec159530350d
-SIZE (mpc-qt-mpc-qt-v22.02_GH0.tar.gz) = 293580
+TIMESTAMP = 1703996509
+SHA256 (mpc-qt-mpc-qt-v23.12_GH0.tar.gz) = 6a639bc7911a8972cb7d7e207d3cb24606d2439af2665c373745ae8a6ced65be
+SIZE (mpc-qt-mpc-qt-v23.12_GH0.tar.gz) = 303763
diff --git a/multimedia/mpc-qt/pkg-descr b/multimedia/mpc-qt/pkg-descr
index bb034820cb9b..4127d5ccbc22 100644
--- a/multimedia/mpc-qt/pkg-descr
+++ b/multimedia/mpc-qt/pkg-descr
@@ -3,5 +3,3 @@ quintessential media player for the Windows desktop. Media Player
Classic Qute Theater (mpc-qt) aims to reproduce most of the interface
and functionality of mpc-hc while using libmpv to play video instead
of DirectShow.
-
-WWW: https://github.com/mpc-qt/mpc-qt
diff --git a/multimedia/mpc-qt/pkg-plist b/multimedia/mpc-qt/pkg-plist
index 015ad51493bc..5c68c96a5295 100644
--- a/multimedia/mpc-qt/pkg-plist
+++ b/multimedia/mpc-qt/pkg-plist
@@ -2,9 +2,3 @@ bin/mpc-qt
share/applications/mpc-qt.desktop
%%PORTDOCS%%%%DOCSDIR%%/ipc.md
share/icons/hicolor/scalable/apps/mpc-qt.svg
-%%DATADIR%%/translations/mpc-qt_en.qm
-%%DATADIR%%/translations/mpc-qt_es.qm
-%%DATADIR%%/translations/mpc-qt_fi.qm
-%%DATADIR%%/translations/mpc-qt_it.qm
-%%DATADIR%%/translations/mpc-qt_ru.qm
-%%DATADIR%%/translations/mpc-qt_zh_CN.qm
diff --git a/multimedia/mpeg2codec/Makefile b/multimedia/mpeg2codec/Makefile
deleted file mode 100644
index afab9854b351..000000000000
--- a/multimedia/mpeg2codec/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# Created by: Philippe Charnier <charnier@lirmm.fr>
-
-PORTNAME= mpeg2codec
-PORTVERSION= 1.2
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://fossies.org/unix/misc/old/ \
- http://www.imagemagick.org/download/delegates/ \
- http://gd.tuwien.ac.at/graphics/libs/alsolibs/ \
- http://www.mpeg.org/pub_ftp/mpeg/mssg/
-DISTNAME= mpeg2vidcodec_v12
-
-MAINTAINER= multimedia@FreeBSD.org
-COMMENT= MPEG-2 Encoder and Decoder
-
-DEPRECATED= Obsolete, please consider using multimedia/ffmpeg
-EXPIRATION_DATE=2022-06-30
-
-OPTIONS_DEFINE= X11 DOCS
-OPTIONS_DEFAULT= X11
-
-WRKSRC= ${WRKDIR}/mpeg2
-
-USES= pkgconfig
-
-MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}"
-
-DATADIR= ${PREFIX}/share/mpeg2
-
-CFLAGS+= -DVERIFY -DVERBOSE -DTRACE
-
-X11_USES= xorg
-X11_USE= XORG=xext
-X11_MAKE_ARGS= USE_DISP="-DDISPLAY" \
- USE_SHMEM="-DSH_MEM" \
- LIBS="$$(pkg-config --libs xext) -lX11" \
- INCLUDEDIR="$$(pkg-config --cflags xext)"
-
-do-install:
-.for i in dec enc
- ${INSTALL_PROGRAM} ${WRKSRC}/src/mpeg2${i}/mpeg2${i}ode ${STAGEDIR}${PREFIX}/bin
-.endfor
- ${MKDIR} ${STAGEDIR}${DATADIR}
- ${INSTALL_DATA} ${WRKSRC}/par/* ${STAGEDIR}${DATADIR}
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/doc/mpeg2enc.doc ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/mpeg2codec/distinfo b/multimedia/mpeg2codec/distinfo
deleted file mode 100644
index 605b39a89af4..000000000000
--- a/multimedia/mpeg2codec/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mpeg2vidcodec_v12.tar.gz) = e59da9988b2e964026c8370658771954a724e8319cc266f75c6aef2a85c40076
-SIZE (mpeg2vidcodec_v12.tar.gz) = 259790
diff --git a/multimedia/mpeg2codec/files/patch-src_mpeg2enc_mpeg2enc.c b/multimedia/mpeg2codec/files/patch-src_mpeg2enc_mpeg2enc.c
deleted file mode 100644
index b0f6df0ce9fb..000000000000
--- a/multimedia/mpeg2codec/files/patch-src_mpeg2enc_mpeg2enc.c
+++ /dev/null
@@ -1,23 +0,0 @@
---- ./src/mpeg2enc/mpeg2enc.c 1996/11/25 21:18:23 1.1
-+++ ./src/mpeg2enc/mpeg2enc.c 1996/11/25 21:22:40
-@@ -29,6 +29,7 @@
-
- #include <stdio.h>
- #include <stdlib.h>
-+#include <floatingpoint.h>
-
- #define GLOBAL /* used by global.h */
- #include "config.h"
-@@ -50,6 +51,12 @@
- printf("Usage: mpeg2encode in.par out.m2v\n");
- exit(0);
- }
-+
-+ /*
-+ * this prevents a floating point exception in calcSNR (stats.c) when
-+ * working on black and white images (charnier@lirmm.fr)
-+ */
-+ fpsetmask(0);
-
- /* read parameter file */
- readparmfile(argv[1]);
diff --git a/multimedia/mpeg2codec/pkg-descr b/multimedia/mpeg2codec/pkg-descr
deleted file mode 100644
index 96ff10b7badf..000000000000
--- a/multimedia/mpeg2codec/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-It converts uncompressed video frames into MPEG-1 and MPEG-2 video
-coded bitstream sequences, and vice versa.
-
-WWW: http://www.mpeg.org/MPEG/video/mssg-free-mpeg-software.html
diff --git a/multimedia/mpeg2codec/pkg-plist b/multimedia/mpeg2codec/pkg-plist
deleted file mode 100644
index 54df7aff92e1..000000000000
--- a/multimedia/mpeg2codec/pkg-plist
+++ /dev/null
@@ -1,8 +0,0 @@
-bin/mpeg2decode
-bin/mpeg2encode
-%%PORTDOCS%%%%DOCSDIR%%/mpeg2enc.doc
-%%DATADIR%%/MPEG-1.par
-%%DATADIR%%/NTSC.par
-%%DATADIR%%/PAL.par
-%%DATADIR%%/inter.mat
-%%DATADIR%%/intra.mat
diff --git a/multimedia/mpeg2play/Makefile b/multimedia/mpeg2play/Makefile
deleted file mode 100644
index f196f93ee91a..000000000000
--- a/multimedia/mpeg2play/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Created by: "Philippe Charnier" <charnier@lirmm.fr>
-
-PORTNAME= mpeg2play
-PORTVERSION= 1.1b
-PORTREVISION= 5
-CATEGORIES= multimedia
-MASTER_SITES= ftp://ftp.funet.fi/pub/graphics/packages/mpeg/mpeg2play/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Program to play mpeg-2 movies on X displays
-
-DEPRECATED= Obsolete, please consider using multimedia/mpv or multimedia/vlc
-EXPIRATION_DATE=2022-06-30
-
-USES= imake motif xorg
-USE_XORG= x11 xext xt
-ALL_TARGET= mpeg2play
-
-OPTIONS_DEFINE= DOCS
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/mpeg2play ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_DATA} ${WRKSRC}/Mpeg2play ${STAGEDIR}${PREFIX}/lib/X11/app-defaults
-
-do-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/mpeg2play/distinfo b/multimedia/mpeg2play/distinfo
deleted file mode 100644
index d6200ce1d642..000000000000
--- a/multimedia/mpeg2play/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mpeg2play-1.1b.tar.gz) = c20728161387800e818a6f9ffd576d0d40f886d86a7d5d633923c701729f3a03
-SIZE (mpeg2play-1.1b.tar.gz) = 45670
diff --git a/multimedia/mpeg2play/files/patch-Imakefile b/multimedia/mpeg2play/files/patch-Imakefile
deleted file mode 100644
index 9bb8e0ee0dd6..000000000000
--- a/multimedia/mpeg2play/files/patch-Imakefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- Imakefile.orig Fri Oct 28 12:39:48 1994
-+++ Imakefile Sat Nov 14 16:29:42 1998
-@@ -15,7 +15,7 @@
-
- EXTRA_DEFINES = $(USE_SHMEM) $(USE_TIME)
- EXTRA_INCLUDES = -I. -Ibitmaps
--LOCAL_LIBRARIES = $(SHM_LIB) -lXm -lXt -lX11 -lm
-+LOCAL_LIBRARIES = $(SHM_LIB) ${MOTIFLIB} -lXt -lX11 -lm
-
- PROGRAM = mpeg2play
- SRCS = mpeg2play.c getpic.c motion.c getvlc.c gethdr.c getblk.c \
diff --git a/multimedia/mpeg2play/files/patch-mpeg2play.c b/multimedia/mpeg2play/files/patch-mpeg2play.c
deleted file mode 100644
index 8b1efae8a44e..000000000000
--- a/multimedia/mpeg2play/files/patch-mpeg2play.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- mpeg2play.c 1997/08/11 18:58:37 1.1
-+++ mpeg2play.c 1997/08/11 19:07:22
-@@ -335,7 +335,7 @@
- XmStringGetLtoR(((XmFileSelectionBoxCallbackStruct *)call_data)->value,
- XmSTRING_DEFAULT_CHARSET, &filename);
-
-- position = tell(base.infile);
-+ position = lseek(base.infile, 0L, SEEK_CUR);
- fprintf(stderr, "pos: %d\n", position);
- fprintf(stderr, "output: %s\n", filename);
-
diff --git a/multimedia/mpeg2play/pkg-descr b/multimedia/mpeg2play/pkg-descr
deleted file mode 100644
index c3fb1c5ac2be..000000000000
--- a/multimedia/mpeg2play/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-mpeg2play is a player for MPEG-1 and MPEG-2 video bitstreams. It is based on
-mpeg2decode by the MPEG Software Simulation Group.
diff --git a/multimedia/mpeg2play/pkg-plist b/multimedia/mpeg2play/pkg-plist
deleted file mode 100644
index 6163b55285f9..000000000000
--- a/multimedia/mpeg2play/pkg-plist
+++ /dev/null
@@ -1,3 +0,0 @@
-bin/mpeg2play
-lib/X11/app-defaults/Mpeg2play
-%%PORTDOCS%%%%DOCSDIR%%/README
diff --git a/multimedia/mpeg_encode/Makefile b/multimedia/mpeg_encode/Makefile
index 4863ad3727fd..6f314de8cd4c 100644
--- a/multimedia/mpeg_encode/Makefile
+++ b/multimedia/mpeg_encode/Makefile
@@ -1,5 +1,3 @@
-# Created by: erich@FreeBSD.org
-
PORTNAME= mpeg_encode
PORTVERSION= 1.5b
CATEGORIES= multimedia
@@ -19,7 +17,7 @@ post-patch:
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/mpeg_encode ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/docs/mpeg_encode.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/docs/mpeg_encode.1 ${STAGEDIR}${PREFIX}/share/man/man1
@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for i in users-guide.ps template.param
@${INSTALL_DATA} ${WRKSRC}/docs/${i} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/mpeg_encode/pkg-plist b/multimedia/mpeg_encode/pkg-plist
index 593206bb0202..203a42ca6685 100644
--- a/multimedia/mpeg_encode/pkg-plist
+++ b/multimedia/mpeg_encode/pkg-plist
@@ -1,4 +1,4 @@
bin/mpeg_encode
-man/man1/mpeg_encode.1.gz
+share/man/man1/mpeg_encode.1.gz
%%PORTDOCS%%share/doc/mpeg_encode/users-guide.ps
%%PORTDOCS%%share/doc/mpeg_encode/template.param
diff --git a/multimedia/mpeg_play/Makefile b/multimedia/mpeg_play/Makefile
deleted file mode 100644
index 0890f63b8cdf..000000000000
--- a/multimedia/mpeg_play/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Created by: asami
-
-PORTNAME= mpeg_play
-PORTVERSION= 2.4
-PORTREVISION= 2
-CATEGORIES= multimedia
-MASTER_SITES= http://www.bsd-geek.de/FreeBSD/distfiles/ \
- ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/play/
-EXTRACT_SUFX= -patched-src.tar.gz
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Program to play mpeg movies on X displays
-
-DEPRECATED= Obsolete, please consider using multimedia/mpv or multimedia/vlc
-EXPIRATION_DATE=2022-06-30
-
-NOT_FOR_ARCHS= aarch64 armv6 armv7 mips mips64 riscv64
-NOT_FOR_ARCHS_REASON= fails to build: Unknown endianness of architecture
-
-WRKSRC= ${WRKDIR}/mpeg_play
-USES= imake xorg
-USE_XORG= x11 xext
-
-PLIST_FILES= bin/mpeg_play \
- man/man1/mpeg_play.1.gz
-
-pre-patch:
- ${CP} ${WRKSRC}/Imakefile.proto ${WRKSRC}/Imakefile
- ${CP} ${WRKSRC}/mpeg_play.1 ${WRKSRC}/mpeg_play.man
-
-.include <bsd.port.mk>
diff --git a/multimedia/mpeg_play/distinfo b/multimedia/mpeg_play/distinfo
deleted file mode 100644
index caa20cbfbfb9..000000000000
--- a/multimedia/mpeg_play/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mpeg_play-2.4-patched-src.tar.gz) = 6b2d737ae1a069b337b8f75f50edb776b84ffd259bdb95819aa3cdfdda70025b
-SIZE (mpeg_play-2.4-patched-src.tar.gz) = 146696
diff --git a/multimedia/mpeg_play/files/patch-Imakefile b/multimedia/mpeg_play/files/patch-Imakefile
deleted file mode 100644
index 46a447230e06..000000000000
--- a/multimedia/mpeg_play/files/patch-Imakefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- ./Imakefile.org Tue Feb 6 23:37:51 1996
-+++ ./Imakefile Wed Feb 7 00:05:59 1996
-@@ -1,5 +1,5 @@
- /* See Makefile.proto for flags to define */
-- DESTDIR = /usr/pkg/video
-+ /* DESTDIR = /usr/pkg/video */
- NDEBUG = /* -DNDEBUG */
- /*ANALYSIS = -DANALYSIS */
- SHMEM = -DSH_MEM
diff --git a/multimedia/mpeg_play/files/patch-video.h b/multimedia/mpeg_play/files/patch-video.h
deleted file mode 100644
index c3ce23b3ca9b..000000000000
--- a/multimedia/mpeg_play/files/patch-video.h
+++ /dev/null
@@ -1,30 +0,0 @@
---- video.h.orig 1995-10-25 21:59:38 UTC
-+++ video.h
-@@ -431,21 +431,23 @@ extern unsigned int cacheMiss[8][8];
- #define __SCO__ 1
- #endif
-
--#if defined(__i386__) || defined(__VAX__) || defined(__MIPSEL__) || defined(__alpha__) || defined(__SCO__)
-+/* XXX: conditions below were simplified for FreeBSD */
-+
-+#if defined(__i386__) || defined(__amd64__)
- #undef BIG_ENDIAN_ARCHITECTURE
- #define LITTLE_ENDIAN_ARCHITECTURE 1
- #endif
-
--#if defined(__RS6000__) || defined(__SPARC__) || defined(__680x0__) || defined(__HPUX__) || defined(__MIPSEB__) || defined(convex) || defined(__convex__)
-+#if defined(__powerpc__) || defined(__sparc__)
- #undef LITTLE_ENDIAN_ARCHITECTURE
- #define BIG_ENDIAN_ARCHITECTURE 1
- #endif
-
- #if !defined(LITTLE_ENDIAN_ARCHITECTURE) && !defined(BIG_ENDIAN_ARCHITECTURE)
--Error: Unknown endianism of architecture
-+#error Unknown endianness of architecture
- #endif
-
--#ifdef __alpha__
-+#if defined(__amd64__) || defined(__powerpc64__) || defined(__sparc64__)
- #define SIXTYFOUR_BIT
- #endif
- #endif /* video.h already included */
diff --git a/multimedia/mpeg_play/pkg-descr b/multimedia/mpeg_play/pkg-descr
deleted file mode 100644
index dbef6ffd2494..000000000000
--- a/multimedia/mpeg_play/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-This is mpeg_play, which will let you view mpeg movies on X window
-displays.
diff --git a/multimedia/mpeg_stat/Makefile b/multimedia/mpeg_stat/Makefile
deleted file mode 100644
index 146d9e2265b0..000000000000
--- a/multimedia/mpeg_stat/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# Created by: erich@FreeBSD.org
-
-PORTNAME= mpeg_stat
-PORTVERSION= 2.2b
-CATEGORIES= multimedia
-MASTER_SITES= http://www.bsd-geek.de/FreeBSD/distfiles/
-DISTNAME= ${PKGNAME}-src
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= MPEG-I statistics gatherer
-
-DEPRECATED= Obsolete, please consider using multimedia/mediainfo or multimedia/ffmpeg
-EXPIRATION_DATE=2022-06-30
-
-USES= shebangfix
-SHEBANG_FILES= block2spec
-WRKSRC= ${WRKDIR}/mpeg_stat
-
-.include <bsd.port.mk>
diff --git a/multimedia/mpeg_stat/distinfo b/multimedia/mpeg_stat/distinfo
deleted file mode 100644
index 9f69bcb01b12..000000000000
--- a/multimedia/mpeg_stat/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mpeg_stat-2.2b-src.tar.gz) = d8406555f171bf4e76b8e427c0263fdec979db6015acbb2704fa654f82a0a162
-SIZE (mpeg_stat-2.2b-src.tar.gz) = 80021
diff --git a/multimedia/mpeg_stat/files/patch-Makefile b/multimedia/mpeg_stat/files/patch-Makefile
deleted file mode 100644
index 37a6a48e31de..000000000000
--- a/multimedia/mpeg_stat/files/patch-Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
---- Makefile.orig 1995-08-09 09:15:17.000000000 +0800
-+++ Makefile 2014-06-20 14:21:25.222558341 +0800
-@@ -3,7 +3,7 @@
- # Should make just about anywhere... If you have problems,
- # check out porting.c first
-
--CC = gcc
-+CC ?= gcc
-
- # at present, no include directories needed
- # Except on our OSF3.0, where -I/usr/include is needed (why? I dont know).
-@@ -19,7 +19,7 @@ DEBUGFLAG = -O
- # Do not use it if it takes none (SunOS, HPUX, OSF1 )
- # It works either way, just gets rid of a warning.
-
--CFLAGS = -I/usr/include $(DEBUGFLAG) $(INCLUDEDIR)
-+CFLAGS += -I/usr/include $(DEBUGFLAG) $(INCLUDEDIR)
-
- # for SunOS cc, just use the above
- # for cc on HPUX:
-@@ -40,6 +40,11 @@ SRCS = util.c main.c decoders.c vi
- all: $(PROGRAM)
- strip $(PROGRAM)
-
-+install:
-+ install -cs ${PROGRAM} $(DESTDIR)${PREFIX}/bin
-+ install -c block2spec $(DESTDIR)${PREFIX}/bin
-+ install -c -m 644 mpeg_stat.1 $(DESTDIR)${PREFIX}/man/man1
-+
- $(PROGRAM): $(OBJS)
- $(LD) -g $(OBJS) $(LIBS) -lm -o $(PROGRAM)
-
diff --git a/multimedia/mpeg_stat/files/patch-main.c b/multimedia/mpeg_stat/files/patch-main.c
deleted file mode 100644
index 375ad5fcdd0e..000000000000
--- a/multimedia/mpeg_stat/files/patch-main.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- main.c.orig 1995-08-04 21:09:21.000000000 +0200
-+++ main.c 2011-06-21 13:38:25.000000000 +0200
-@@ -164,7 +164,7 @@
- *--------------------------------------------------------------
- */
-
--void
-+int
- main(argc, argv)
- int argc;
- char **argv;
-@@ -534,6 +534,7 @@
-
- realTimeStart = ReadSysClock();
- mpegVidRsrc(0, theStream);
-+ return (0);
- }
-
-
diff --git a/multimedia/mpeg_stat/files/patch-proto.h b/multimedia/mpeg_stat/files/patch-proto.h
deleted file mode 100644
index 1112fb216c57..000000000000
--- a/multimedia/mpeg_stat/files/patch-proto.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- proto.h.orig 2011-06-21 13:38:56.000000000 +0200
-+++ proto.h 2011-06-21 13:37:22.000000000 +0200
-@@ -87,7 +87,7 @@
- #else
- void int_handler P((int signum ));
- #endif
--void main P((int argc , char **argv ));
-+int main P((int argc , char **argv ));
- void Usage P((void ));
- void DoDitherImage P((unsigned char *l , unsigned char *Cr , unsigned char *Cb , unsigned char *disp , int h , int w ));
-
diff --git a/multimedia/mpeg_stat/pkg-descr b/multimedia/mpeg_stat/pkg-descr
deleted file mode 100644
index 904d493f32a1..000000000000
--- a/multimedia/mpeg_stat/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-From the README:
- MPEG Video Software Statistics Gatherer
- (Version 2.2; Feb 1, 1995)
-
- Lawrence A. Rowe, Steve Smoot, Ketan Patel, and Brian Smith
- Computer Science Division-EECS, Univ. of Calif. at Berkeley
-
- This directory contains a public domain MPEG video statistics gatherer.
- The decoder implements the standard described in the Committee
- Draft ISO/IEC CD 11172 dated December 6, 1991 which is
- sometimes referred to as "Paris Format."
-
-eric.
-erich@FreeBSD.org
diff --git a/multimedia/mpeg_stat/pkg-plist b/multimedia/mpeg_stat/pkg-plist
deleted file mode 100644
index a5899627f976..000000000000
--- a/multimedia/mpeg_stat/pkg-plist
+++ /dev/null
@@ -1,3 +0,0 @@
-bin/mpeg_stat
-bin/block2spec
-man/man1/mpeg_stat.1.gz
diff --git a/multimedia/mpgtx/Makefile b/multimedia/mpgtx/Makefile
deleted file mode 100644
index 990f76de48b8..000000000000
--- a/multimedia/mpgtx/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Created by: ijliao
-
-PORTNAME= mpgtx
-PORTVERSION= 1.3.1
-PORTREVISION= 2
-CATEGORIES= multimedia
-MASTER_SITES= SF
-
-MAINTAINER= multimedia@FreeBSD.org
-COMMENT= Command line MPEG audio/video/system file toolbox
-
-DEPRECATED= Obsolete, please consider using multimedia/ffmpeg
-EXPIRATION_DATE=2022-06-30
-
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --prefix=${PREFIX}
-ALL_TARGET= default
-
-pre-patch:
- @${REINPLACE_CMD} -e 's|CFLAGS=|CFLAGS\+=|g ; \
- s|="\$$cflags \$$optimization_cflags|+="${CFLAGS}|g ; \
- s|g++|${CXX}|g; s|-pedantic||' ${WRKSRC}/configure
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/mpgtx ${STAGEDIR}${PREFIX}/bin
-.for link in mpgcat mpgdemux mpginfo mpgjoin mpgsplit tagmp3
- ${LN} -sf mpgtx ${STAGEDIR}${PREFIX}/bin/${link}
-.endfor
- ${INSTALL_MAN} ${WRKSRC}/man/mpgtx.1 ${STAGEDIR}${MANPREFIX}/man/man1
- ${INSTALL_MAN} ${WRKSRC}/man/tagmp3.1 ${STAGEDIR}${MANPREFIX}/man/man1
-
-.include <bsd.port.mk>
diff --git a/multimedia/mpgtx/distinfo b/multimedia/mpgtx/distinfo
deleted file mode 100644
index 65aec4268413..000000000000
--- a/multimedia/mpgtx/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (mpgtx-1.3.1.tar.gz) = 8815e73e98b862f12ba1ef5eaaf49407cf211c1f668c5ee325bf04af27f8e377
-SIZE (mpgtx-1.3.1.tar.gz) = 89170
diff --git a/multimedia/mpgtx/files/patch-chunkTab.cxx b/multimedia/mpgtx/files/patch-chunkTab.cxx
deleted file mode 100644
index cd96a6812631..000000000000
--- a/multimedia/mpgtx/files/patch-chunkTab.cxx
+++ /dev/null
@@ -1,21 +0,0 @@
---- chunkTab.cxx.orig Sat Dec 11 18:33:22 2004
-+++ chunkTab.cxx Fri Sep 30 11:29:15 2005
-@@ -142,7 +142,7 @@
- off_t part,nparts;
- chunk* tempchunk = new chunk;
- tempchunk->file = 0;
-- tempchunk->from = -1;
-+ tempchunk->from = 0;
- tempchunk->to = -1;
- tempchunk->to_included = false;
- tempchunk->from_included = false;
-@@ -626,7 +626,7 @@
- for (i = 1; i <= n; i++) {
- tempchunk = new chunk;
- tempchunk->file = 0;
-- tempchunk->from = -1;
-+ tempchunk->from = 0;
- tempchunk->to = -1;
- tempchunk->to_included = true;
- tempchunk->from_included = false;
-
diff --git a/multimedia/mpgtx/files/patch-common.hh b/multimedia/mpgtx/files/patch-common.hh
deleted file mode 100644
index 21f1cff66dfb..000000000000
--- a/multimedia/mpgtx/files/patch-common.hh
+++ /dev/null
@@ -1,11 +0,0 @@
---- common.hh.orig Mon Jun 12 11:46:27 2006
-+++ common.hh Mon Jun 12 11:47:03 2006
-@@ -208,7 +208,7 @@
- //@{
-
- #ifdef _LARGEFILE_SOURCE
--#ifdef _MACOSX
-+#if defined (_MACOSX) || defined (__FreeBSD__)
- #define _OFF_d "%qd"
- #define _OFF_x "%qx"
- #else
diff --git a/multimedia/mpgtx/pkg-descr b/multimedia/mpgtx/pkg-descr
deleted file mode 100644
index 3b488f364ad9..000000000000
--- a/multimedia/mpgtx/pkg-descr
+++ /dev/null
@@ -1,16 +0,0 @@
-mpgtx was designed with the good old Unix philosophy in mind : do few but
-do it well and provide end user an austary yet powerfull command line
-interface.
-
- - mpgtx can currently split and join MPEG 1 video files and most MPEG
- audio files.
- - mpgtx can fetch detailed informations from MPEG 1 and MPEG 2.
- - mpgtx can demultiplex MPEG 1 and MPEG 2 files (System layer, Program
- layer and Transport Layer).
- - mpgtx can add, remove and edit ID3 tags from mp3 files and rename mp3
- files according to their ID3 tags.
- - DivX ;) is not yet supported, neither is MPEG 4
- - splitting and joining of MPEG 2 video files is experimental. (read "will
- work only in your wildest dreams")
-
-WWW: http://mpgtx.sourceforge.net/
diff --git a/multimedia/mpgtx/pkg-plist b/multimedia/mpgtx/pkg-plist
deleted file mode 100644
index b5874a48fac9..000000000000
--- a/multimedia/mpgtx/pkg-plist
+++ /dev/null
@@ -1,9 +0,0 @@
-bin/mpgcat
-bin/mpgdemux
-bin/mpginfo
-bin/mpgjoin
-bin/mpgsplit
-bin/mpgtx
-bin/tagmp3
-man/man1/mpgtx.1.gz
-man/man1/tagmp3.1.gz
diff --git a/multimedia/mplayer-skins/Makefile b/multimedia/mplayer-skins/Makefile
index cca07017c9b3..f675c74ea703 100644
--- a/multimedia/mplayer-skins/Makefile
+++ b/multimedia/mplayer-skins/Makefile
@@ -1,5 +1,3 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= mplayer-skins
PORTVERSION= 1.1.5
CATEGORIES= multimedia
@@ -10,6 +8,7 @@ DIST_SUBDIR= mplayer-skins
MAINTAINER= riggs@FreeBSD.org
COMMENT= Skins for MPlayer's Graphical User Interface (GUI)
+WWW= http://www.mplayerhq.hu/
#
# When adding a new skin, please make sure to add it into the following
diff --git a/multimedia/mplayer-skins/pkg-descr b/multimedia/mplayer-skins/pkg-descr
index 79990db4e92b..6d06398f250b 100644
--- a/multimedia/mplayer-skins/pkg-descr
+++ b/multimedia/mplayer-skins/pkg-descr
@@ -1,4 +1,2 @@
This is the port of skins for MPlayer's Graphical User Interface
(GUI).
-
-WWW: http://www.mplayerhq.hu/
diff --git a/multimedia/mplayer/Makefile b/multimedia/mplayer/Makefile
index 09ddd828f6a4..b9d91327e2c4 100644
--- a/multimedia/mplayer/Makefile
+++ b/multimedia/mplayer/Makefile
@@ -1,17 +1,16 @@
-# Created by: Thomas E. Zander with help from Vladimir Kushnir
-
PORTNAME= mplayer
PORTVERSION= ${MPLAYER_PORT_VERSION}.${MPLAYER_SNAPSHOT_DATE:S/-//g}
CATEGORIES= multimedia audio
MAINTAINER= riggs@FreeBSD.org
COMMENT= High performance media player supporting many formats
+WWW= http://www.mplayerhq.hu/
.include "${.CURDIR}/../../multimedia/mplayer/Makefile.common"
OPTIONS_DEFINE= AALIB AMR_NB AMR_WB ASS BLURAY CACA CDIO DV DVDNAV \
ENCA FONTCONFIG FRIBIDI GIF GNUTLS GSM GUI IPV6 JACK \
- LADSPA LIBMNG LIRC LZO NAS NLS OPENAL OPENGL \
+ JPEG LADSPA LIBMNG LIRC LZO NAS NLS OPENAL OPENGL \
OPENJPEG OPUS PULSEAUDIO RTMP \
SDL SKINS SNDIO SMB SPEEX SVGALIB V4L VDPAU VPX \
X11 X11DGA X11VM XINERAMA XVIDEO XVMC
@@ -39,8 +38,6 @@ X11VM_DESC?= X11 VidMode support
SUB_FILES= pkg-message
-CONFLICTS= mplayer2-2.*
-
CONFFILES= example.conf input.conf menu.conf dvb-menu.conf
USES+= iconv pkgconfig
@@ -92,8 +89,9 @@ post-install:
.endfor
.if ${PORT_OPTIONS:MGUI} && ${PORT_OPTIONS:MX11}
@${LN} -sf mplayer ${STAGEDIR}${PREFIX}/bin/gmplayer
- @(cd ${STAGEDIR}${MAN1PREFIX}/man/man1 && ${LN} -sf mplayer.1.gz gmplayer.1.gz)
- ${CP} -f ${WRKSRC}/etc/mplayer256x256.png ${STAGEDIR}${PREFIX}/share/pixmaps/mplayer.png
+ @(cd ${STAGEDIR}${PREFIX}/share/man/man1 && ${LN} -sf mplayer.1.gz gmplayer.1.gz)
+ ${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
+ ${CP} ${WRKSRC}/etc/mplayer256x256.png ${STAGEDIR}${PREFIX}/share/pixmaps/mplayer.png
.endif
.include <bsd.port.post.mk>
diff --git a/multimedia/mplayer/Makefile.common b/multimedia/mplayer/Makefile.common
index d8ae230c249d..1084afb5f4e9 100644
--- a/multimedia/mplayer/Makefile.common
+++ b/multimedia/mplayer/Makefile.common
@@ -3,7 +3,7 @@
# before we include bsd.port.pre.mk
MPLAYER_PORT_VERSION= 1.5.0
-MPLAYER_SNAPSHOT_DATE= 2022-03-10
+MPLAYER_SNAPSHOT_DATE= 2024-01-06
MASTER_SITES= LOCAL/riggs/mplayer
DISTNAME= mplayer-${MPLAYER_PORT_VERSION}.${MPLAYER_SNAPSHOT_DATE:S/-//g}
WRKSRC= ${WRKDIR}/mplayer-export-${MPLAYER_SNAPSHOT_DATE}
@@ -12,7 +12,7 @@ LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libpng.so:graphics/png \
- libavcodec.so:multimedia/ffmpeg \
+ libavcodec.so.58:multimedia/ffmpeg4 \
libfreetype.so:print/freetype2
BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}}
@@ -21,11 +21,12 @@ BUILD_DEPENDS_i386= as:devel/binutils
USES= compiler:c11 gmake iconv ncurses tar:xz
NOPRECIOUSMAKEVARS= yes # ARCH
HAS_CONFIGURE= yes
-CONFIGURE_ENV= TMPDIR="${WRKSRC}"
+CONFIGURE_ENV+= TMPDIR="${WRKSRC}" \
+ PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
CONFIGURE_ARGS= --cc="${CC}" \
--host-cc="${CC}" \
--as="${AS}" \
- --mandir="${PREFIX}/man" \
+ --mandir="${PREFIX}/share/man" \
--extra-cflags="-I${PREFIX}/include -I${LOCALBASE}/include" \
--extra-libs="-L${PREFIX}/lib" \
--disable-alsa \
@@ -50,6 +51,10 @@ CONFIGURE_ARGS= --cc="${CC}" \
--disable-real \
--yasm=''
+MAKE_ENV+= PKG_CONFIG_PATH="${LOCALBASE}/ffmpeg4/libdata/pkgconfig"
+
+CFLAGS+= -I${LOCALBASE}/ffmpeg4/include
+
common-post-patch:
@${REINPLACE_CMD} \
-e 's|/dev/dvd|${DEFAULT_DVD_DEVICE}|; \
diff --git a/multimedia/mplayer/Makefile.options b/multimedia/mplayer/Makefile.options
index e331ec3cc2d8..fd2ec8e9c602 100644
--- a/multimedia/mplayer/Makefile.options
+++ b/multimedia/mplayer/Makefile.options
@@ -41,6 +41,8 @@ DEFAULT_KERN_HZ=1024
.if ${CHOSEN_COMPILER_TYPE} == clang
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-clang-version
+# Turn off incompatible function pointer check for clang16+
+CFLAGS+= -Wno-incompatible-function-pointer-types
# Require 16 byte stack realignment on i386 to interface
# properly with hand crafted assembler code in ffmpeg
CFLAGS_i386+= -mstack-alignment=16 -mstackrealign
@@ -51,15 +53,16 @@ BUILD_DEPENDS+= as:devel/binutils@native
CFLAGS+= -no-integrated-as
.endif
-LDFLAGS_i386+= -Wl,-z,notext
-
-# Extra build options for debugging
-# =================================
+.if defined(MACHINE_CPU) && ${MACHINE_CPU:Maltivec}
+CONFIGURE_ARGS+= --enable-altivec
+.endif
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug=3
.endif
+LDFLAGS_i386+= -Wl,-z,notext
+
# Win32 DLL codecs support on i386, mostly superseded by ffmpeg
# =============================================================
diff --git a/multimedia/mplayer/Makefile.optvars b/multimedia/mplayer/Makefile.optvars
index 6beab30a82e3..49b139d7a4a8 100644
--- a/multimedia/mplayer/Makefile.optvars
+++ b/multimedia/mplayer/Makefile.optvars
@@ -11,7 +11,8 @@ AMR_NB_CONFIGURE_ENABLE=libopencore_amrnb
AMR_WB_LIB_DEPENDS= libopencore-amrwb.so:audio/opencore-amr
AMR_WB_CONFIGURE_ENABLE=libopencore_amrwb
-ASS_LIB_DEPENDS= libass.so:multimedia/libass
+ASS_LIB_DEPENDS= libass.so:multimedia/libass \
+ libharfbuzz.so:print/harfbuzz
ASS_CONFIGURE_OFF= --disable-ass
BLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
@@ -26,7 +27,8 @@ CDIO_CONFIGURE_OFF= --disable-libcdio
DV_LIB_DEPENDS= libdv.so:multimedia/libdv
DV_CONFIGURE_ENABLE= libdv
-DVDNAV_LIB_DEPENDS= libdvdnav.so:multimedia/libdvdnav
+DVDNAV_LIB_DEPENDS= libdvdnav.so:multimedia/libdvdnav \
+ libdvdread.so:multimedia/libdvdread
DVDNAV_CONFIGURE_OFF= --disable-dvdnav
ENCA_LIB_DEPENDS= libenca.so:converters/enca
@@ -51,16 +53,19 @@ GSM_LIB_DEPENDS= libgsm.so:audio/gsm
GSM_CONFIGURE_OFF= --disable-libgsm
GUI_CONFIGURE_ENABLE= gui
-GUI_USE= GNOME=gtk20
+GUI_USE= GNOME=cairo,gdkpixbuf2,gtk20
GUI_USES= gnome
GUI_DESKTOP_ENTRIES= "MPlayer" "High performance media player" "mplayer" "gmplayer" "" false
-GUI_IMPLIES= ASS X11
+GUI_IMPLIES= ASS JPEG X11
IPV6_CONFIGURE_OFF= --disable-inet6
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CONFIGURE_OFF= --disable-jack
+JPEG_USES= jpeg
+JPEG_CONFIGURE_OFF= --disable-jpeg
+
LADSPA_RUN_DEPENDS= ${LOCALBASE}/lib/ladspa/amp.so:audio/ladspa
LADSPA_CONFIGURE_OFF= --disable-ladspa
@@ -122,7 +127,8 @@ SPEEX_CONFIGURE_OFF= --disable-speex
SVGALIB_LIB_DEPENDS= libvga.so:graphics/svgalib
SVGALIB_CONFIGURE_OFF= --disable-svga
-THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora
+THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora \
+ libogg.so:audio/libogg
THEORA_CONFIGURE_OFF= --disable-theora
TWOLAME_LIB_DEPENDS= libtwolame.so:audio/twolame
diff --git a/multimedia/mplayer/distinfo b/multimedia/mplayer/distinfo
index 30a36349d70e..59fa23035457 100644
--- a/multimedia/mplayer/distinfo
+++ b/multimedia/mplayer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1646993851
-SHA256 (mplayer-1.5.0.20220310.tar.xz) = 05467b1dd70a41da0ac2b0dbd02794dc0245ef556b421884ec24285d8fd2408c
-SIZE (mplayer-1.5.0.20220310.tar.xz) = 5195436
+TIMESTAMP = 1704534638
+SHA256 (mplayer-1.5.0.20240106.tar.xz) = c72f8c2e2a8829e49cadca8ed3f2454b70afd39b155bed734df603498b4ed5e5
+SIZE (mplayer-1.5.0.20240106.tar.xz) = 5191136
diff --git a/multimedia/mplayer/files/patch-Makefile b/multimedia/mplayer/files/patch-Makefile
index fe4d63a722ef..0321c42a4b80 100644
--- a/multimedia/mplayer/files/patch-Makefile
+++ b/multimedia/mplayer/files/patch-Makefile
@@ -5,7 +5,7 @@
codec-cfg$(EXESUF) codecs2html$(EXESUF): HOSTCFLAGS := $(HOSTCFLAGS) -DCODECS2HTML
codec-cfg$(EXESUF) codec-cfg-test$(EXESUF) codecs2html$(EXESUF): codec-cfg.c codec-cfg.h help_mp.h
- $(HOST_CC) $(HOSTCFLAGS) -o $@ $<
-+ $(HOST_CC) $(HOSTCFLAGS) -I%%LOCALBASE%%/include -o $@ $<
++ $(HOST_CC) $(HOSTCFLAGS) -I%%LOCALBASE%%/ffmpeg4/include -o $@ $<
codecs.conf.h: codec-cfg$(EXESUF) etc/codecs.conf
./$^ > $@
diff --git a/multimedia/mplayer/files/patch-configure b/multimedia/mplayer/files/patch-configure
index 0fee48e1d8ad..e9feca44baaa 100644
--- a/multimedia/mplayer/files/patch-configure
+++ b/multimedia/mplayer/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2021-03-05 12:28:06 UTC
+--- configure.orig 2023-02-20 22:41:00 UTC
+++ configure
-@@ -664,7 +664,7 @@ armthumb=auto
+@@ -666,7 +666,7 @@ armthumb=auto
_iwmmxt=auto
_mtrr=auto
_altivec=auto
@@ -9,7 +9,7 @@
_ranlib=ranlib
_windres=windres
_cc=cc
-@@ -1016,7 +1016,7 @@ for ac_option do
+@@ -1019,7 +1019,7 @@ for ac_option do
ld_static=''
;;
--enable-profile)
@@ -18,7 +18,7 @@
;;
--disable-profile)
_profile=
-@@ -1486,7 +1486,6 @@ for ac_option do
+@@ -1491,7 +1491,6 @@ for ac_option do
*)
echo "Unknown parameter: $ac_option"
@@ -26,7 +26,7 @@
;;
esac
-@@ -1524,40 +1523,6 @@ rm -f "$TMPLOG"
+@@ -1529,40 +1528,6 @@ rm -f "$TMPLOG"
echo configuration: $configuration > "$TMPLOG"
echo >> "$TMPLOG"
@@ -67,7 +67,7 @@
list_subparts() {
test ! -e ffmpeg/libav${3} && return 1
pattern="s/^[^#]*${1}.*([^ ,]*, *\([^ ,)]*\).*/\1_${2}/p"
-@@ -1836,7 +1801,7 @@ if test -z "$_target" ; then
+@@ -1844,7 +1809,7 @@ if test -z "$_target" ; then
case "$1" in
x86_64|amd64|x64|i[3-9]86*|i86pc|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686) host_arch=i386 ;;
ia64) host_arch=ia64 ;;
@@ -76,7 +76,7 @@
alpha) host_arch=alpha ;;
sun4*|sparc*) host_arch=sparc ;;
parisc*|hppa*|9000*) host_arch=hppa ;;
-@@ -1962,7 +1927,11 @@ echocheck "working compiler"
+@@ -1970,7 +1935,11 @@ echocheck "working compiler"
cflag_check "" || die "Compiler is not functioning correctly. Check your installation and custom CFLAGS $CFLAGS ."
echo "yes"
@@ -89,7 +89,7 @@
if test -z "$_target" ; then
cat > $TMPC << EOF
-@@ -3090,7 +3059,7 @@ if x86_32 ; then
+@@ -3100,7 +3069,7 @@ if x86_32 ; then
_pref_as_version='2.16.92'
echo 'pabsd %xmm0, %xmm1' >> $TMPS
fi
@@ -98,7 +98,7 @@
if test "$as_verc_fail" != yes ; then
echores "ok"
-@@ -3357,6 +3326,13 @@ if arm ; then
+@@ -3367,6 +3336,13 @@ if arm ; then
fi
echores "$setend"
@@ -112,7 +112,7 @@
echocheck "softfloat ABI"
softfloat=yes
cpp_condition_check '' 'defined(__ARM_PCS_VFP) || (!defined(__ARM_PCS) && !defined(__SOFTFP__))' && softfloat=no
-@@ -4266,7 +4242,7 @@ echocheck "pthread"
+@@ -4277,7 +4253,7 @@ echocheck "pthread"
if linux ; then
THREAD_CFLAGS=-D_REENTRANT
elif freebsd || netbsd || openbsd || bsdos ; then
@@ -121,7 +121,7 @@
fi
if test "$_pthreads" = auto ; then
cat > $TMPC << EOF
-@@ -4276,7 +4252,7 @@ int main(void) { pthread_t tid; return pthread_create(
+@@ -4287,7 +4263,7 @@ int main(void) { pthread_t tid; return pthread_create(
EOF
_pthreads=no
if ! hpux ; then
@@ -130,7 +130,7 @@
# for crosscompilation, we cannot execute the program, be happy if we can link statically
cc_check $THREAD_CFLAGS $ld_tmp && (tmp_run || test "$ld_static") && ld_pthread="$ld_tmp" && _pthreads=yes && break
done
-@@ -4419,7 +4395,7 @@ int main(void) {
+@@ -4430,7 +4406,7 @@ int main(void) {
}
EOF
_iconv=no
@@ -139,7 +139,17 @@
cc_check $ld_tmp && extra_ldflags="$extra_ldflags $ld_tmp" &&
ld_iconv="$ld_tmp" && _iconv=yes && break
done
-@@ -5866,15 +5842,6 @@ EOF
+@@ -4460,7 +4436,8 @@ if test "$_termcap" = auto ; then
+ _termcap=no
+ for ld_tmp in "-lncurses" "-ltinfo" "-ltermcap"; do
+ statement_check term.h 'tgetent(0, 0)' $ld_tmp &&
+- extra_ldflags="$extra_ldflags $ld_tmp" &&
++ # Nudge the linker into finding ffmpeg4 symbols first
++ extra_ldflags="-L%%LOCALBASE%%/ffmpeg4/lib $extra_ldflags $ld_tmp" &&
+ ld_termcap="$ld_tmp" && _termcap=yes && break
+ done
+ fi
+@@ -5876,15 +5853,6 @@ EOF
break
fi
done
@@ -155,7 +165,7 @@
if win32 && cc_check -DGL_WIN32 -lopengl32 ; then
_gl=yes
_gl_win32=yes
-@@ -6409,7 +6376,7 @@ elif darwin ; then
+@@ -6419,7 +6387,7 @@ elif darwin ; then
elif dragonfly ; then
default_cdrom_device="/dev/cd0"
elif freebsd ; then
@@ -164,7 +174,7 @@
elif openbsd ; then
default_cdrom_device="/dev/rcd0c"
elif sunos ; then
-@@ -6422,7 +6389,7 @@ else
+@@ -6432,7 +6400,7 @@ else
default_cdrom_device="/dev/cdrom"
fi
@@ -173,7 +183,7 @@
default_dvd_device=$default_cdrom_device
elif darwin ; then
default_dvd_device="/dev/rdiskN"
-@@ -6948,7 +6915,7 @@ echores "$_speex"
+@@ -6959,7 +6927,7 @@ echores "$_speex"
echocheck "libgsm"
if test "$_libgsm" = auto ; then
_libgsm=no
@@ -182,7 +192,7 @@
fi
if test "$_libgsm" = yes ; then
def_libgsm='#define CONFIG_LIBGSM 1'
-@@ -7424,6 +7391,16 @@ if test "$_librtmp" = yes && test "$networking" = yes;
+@@ -7391,6 +7359,16 @@ if test "$_librtmp" = yes && test "$networking" = yes;
nolibrtmp=no
def_librtmp='#define CONFIG_LIBRTMP 1'
inputmodules="librtmp $inputmodules"
@@ -199,7 +209,7 @@
else
nolibrtmp=yes
_librtmp=no
-@@ -7813,7 +7790,7 @@ echores "$_mp3lame"
+@@ -7808,7 +7786,7 @@ echores "$_mp3lame"
echocheck "mencoder"
if test "$_mencoder" = no ; then
# mpeg1video for vf_lavc, snow for vf_uspp / vf_mcdeint,
@@ -208,12 +218,12 @@
fi
echores "$_mencoder"
-@@ -8419,7 +8396,7 @@ libs_mplayer=$ld_tmp
+@@ -8414,7 +8392,7 @@ libs_mplayer=$ld_tmp
#############################################################################
-CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE"
+CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- CXXFLAGS=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS"
+ CXXFLAGS=" $CFLAGS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -std=c++98"
diff --git a/multimedia/mplayer/files/patch-libmpcodecs_vd__ffmpeg.c b/multimedia/mplayer/files/patch-libmpcodecs_vd__ffmpeg.c
new file mode 100644
index 000000000000..53df2ba61794
--- /dev/null
+++ b/multimedia/mplayer/files/patch-libmpcodecs_vd__ffmpeg.c
@@ -0,0 +1,11 @@
+--- libmpcodecs/vd_ffmpeg.c.orig 2022-08-07 18:20:47 UTC
++++ libmpcodecs/vd_ffmpeg.c
+@@ -739,7 +739,7 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *
+ if (ctx->use_vdpau) {
+ VdpVideoSurface surface = (VdpVideoSurface)mpi->priv;
+ avctx->draw_horiz_band= NULL;
+- mpi->planes[3] = surface;
++ mpi->planes[3] = (unsigned char*)surface;
+ }
+ #endif
+ #if CONFIG_XVMC
diff --git a/multimedia/mplayer/files/patch-loader_ext.c b/multimedia/mplayer/files/patch-loader_ext.c
new file mode 100644
index 000000000000..8bddcf64f602
--- /dev/null
+++ b/multimedia/mplayer/files/patch-loader_ext.c
@@ -0,0 +1,11 @@
+--- loader/ext.c.orig 2021-01-23 18:22:09 UTC
++++ loader/ext.c
+@@ -444,7 +444,7 @@ LPVOID WINAPI VirtualAlloc(LPVOID address, DWORD size,
+
+ if (type&MEM_RESERVE && (unsigned)address&0xffff) {
+ size += (unsigned)address&0xffff;
+- address = (unsigned)address&~0xffff;
++ address = (void*)((unsigned)address&~0xffff);
+ }
+ pgsz = sysconf(_SC_PAGESIZE);
+ if (type&MEM_COMMIT && (unsigned)address%pgsz) {
diff --git a/multimedia/mplayer/files/patch-loader_module.c b/multimedia/mplayer/files/patch-loader_module.c
new file mode 100644
index 000000000000..bcdeabbe3ba8
--- /dev/null
+++ b/multimedia/mplayer/files/patch-loader_module.c
@@ -0,0 +1,20 @@
+--- loader/module.c.orig 2011-07-30 20:44:37 UTC
++++ loader/module.c
+@@ -844,7 +844,7 @@ static int report_func(void *stack_base, int stack_siz
+ // memory management:
+ case 0x150011: //NewPtrClear
+ case 0x150012: //NewPtrSysClear
+- reg->eax = malloc(((uint32_t *)stack_base)[1]);
++ reg->eax = (uint32_t)malloc(((uint32_t *)stack_base)[1]);
+ memset((void *)reg->eax,0,((uint32_t *)stack_base)[1]);
+ #ifdef DEBUG_QTX_API
+ printf("%*sLEAVE(%d): EMULATED! 0x%X\n",ret_i*2,"",ret_i, reg->eax);
+@@ -852,7 +852,7 @@ static int report_func(void *stack_base, int stack_siz
+ return 1;
+ case 0x15000F: //NewPtr
+ case 0x150010: //NewPtrSys
+- reg->eax = malloc(((uint32_t *)stack_base)[1]);
++ reg->eax = (uint32_t)malloc(((uint32_t *)stack_base)[1]);
+ #ifdef DEBUG_QTX_API
+ printf("%*sLEAVE(%d): EMULATED! 0x%X\n",ret_i*2,"",ret_i, reg->eax);
+ #endif
diff --git a/multimedia/mplayer/files/patch-loader_win32.c b/multimedia/mplayer/files/patch-loader_win32.c
new file mode 100644
index 000000000000..604d4e35c657
--- /dev/null
+++ b/multimedia/mplayer/files/patch-loader_win32.c
@@ -0,0 +1,66 @@
+--- loader/win32.c.orig 2021-01-23 18:22:09 UTC
++++ loader/win32.c
+@@ -1504,7 +1504,7 @@ static void WINAPI expDeleteCriticalSection(CRITICAL_S
+ static int WINAPI expGetCurrentThreadId(void)
+ {
+ dbgprintf("GetCurrentThreadId() => %d\n", pthread_self());
+- return pthread_self();
++ return (int)pthread_self();
+ }
+ static int WINAPI expGetCurrentProcess(void)
+ {
+@@ -2019,15 +2019,15 @@ static DWORD WINAPI expSignalObjectAndWait(HANDLE hObj
+ expSetEvent(mlist);
+ break;
+ case 1: // Semaphore
+- expReleaseSemaphore(mlist, 1, NULL);
++ expReleaseSemaphore((long)mlist, 1, NULL);
+ break;
+ case 2: // Mutex
+- expReleaseMutex(mlist);
++ expReleaseMutex((long)mlist);
+ break;
+ default:
+ dbgprintf("Signalling unknown object type %d!\n", hObjectToSignal);
+ }
+- return expWaitForSingleObject(hObjectToWaitOn, dwMilliseconds);
++ return (DWORD)expWaitForSingleObject((void*)hObjectToWaitOn, dwMilliseconds);
+ }
+
+ static long WINAPI expRegOpenKeyExA(long key, const char* subkey, long reserved, long access, int* newkey)
+@@ -2751,7 +2751,7 @@ static int WINAPI expEnumDisplayMonitors(void *dc, REC
+ {
+ dbgprintf("EnumDisplayMonitors(0x%x, 0x%x, 0x%x, 0x%x) => ?\n",
+ dc, r, callback_proc, callback_param);
+- return callback_proc(0, dc, r, callback_param);
++ return callback_proc(0, (HDC)dc, r, (LPARAM)callback_param);
+ }
+
+ #if 0
+@@ -2851,14 +2851,14 @@ static int WINAPI expEnumWindows(int (*callback_func)(
+ {
+ int i, i2;
+ dbgprintf("EnumWindows(0x%x, 0x%x) => 1\n", callback_func, callback_param);
+- i = callback_func(0, callback_param);
+- i2 = callback_func(1, callback_param);
++ i = callback_func(0, (LPARAM)callback_param);
++ i2 = callback_func(1, (LPARAM)callback_param);
+ return i && i2;
+ }
+
+ static int WINAPI expGetWindowThreadProcessId(HWND win, int *pid_data)
+ {
+- int tid = pthread_self();
++ int tid = (int)pthread_self();
+ dbgprintf("GetWindowThreadProcessId(0x%x, 0x%x) => %d\n",
+ win, pid_data, tid);
+ if (pid_data)
+@@ -4940,7 +4940,7 @@ static HPALETTE WINAPI expCreatePalette(CONST LOGPALET
+ dbgprintf("CreatePalette(%x) => NULL\n", lpgpl);
+
+ i = sizeof(LOGPALETTE)+((lpgpl->palNumEntries-1)*sizeof(PALETTEENTRY));
+- test = malloc(i);
++ test = (HPALETTE)malloc(i);
+ memcpy((void *)test, lpgpl, i);
+
+ return test;
diff --git a/multimedia/mplayer/pkg-descr b/multimedia/mplayer/pkg-descr
index 9811c95734c8..cc054b3b16cd 100644
--- a/multimedia/mplayer/pkg-descr
+++ b/multimedia/mplayer/pkg-descr
@@ -4,5 +4,3 @@ and codecs including popular DivX, XviD, H.264 streams as well as
DVD and SVCDs along with many popular audio codecs.
On the i386 platform it also supports some Windows DLL codec
families which allow playing of e.g. QuickTime movies.
-
-WWW: http://www.mplayerhq.hu/
diff --git a/multimedia/mplayer/pkg-plist b/multimedia/mplayer/pkg-plist
index 98ee19b68b51..ffbab46c3c0b 100644
--- a/multimedia/mplayer/pkg-plist
+++ b/multimedia/mplayer/pkg-plist
@@ -1,7 +1,7 @@
bin/mplayer
-man/man1/mplayer.1.gz
+share/man/man1/mplayer.1.gz
%%GUI%%bin/gmplayer
-%%GUI%%man/man1/gmplayer.1.gz
+%%GUI%%share/man/man1/gmplayer.1.gz
%%GUI%%share/pixmaps/mplayer.png
%%DATADIR%%/examples/etc/example.conf
%%DATADIR%%/examples/etc/input.conf
diff --git a/multimedia/mplex/Makefile b/multimedia/mplex/Makefile
index 48c8f77cf446..9155895229a9 100644
--- a/multimedia/mplex/Makefile
+++ b/multimedia/mplex/Makefile
@@ -1,7 +1,6 @@
-# Created by: erich@FreeBSD.org
-
PORTNAME= mplex
PORTVERSION= 1.1
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= LOCAL/sanpei
@@ -13,10 +12,10 @@ LICENSE_FILE= ${WRKSRC}/COPYING
CONFLICTS= mjpegtools
-PLIST_FILES= bin/mplex man/man1/mplex.1.gz
+PLIST_FILES= bin/mplex share/man/man1/mplex.1.gz
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/mplex ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${FILESDIR}/mplex.1 ${STAGEDIR}${PREFIX}/man/man1
+ ${INSTALL_MAN} ${FILESDIR}/mplex.1 ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.mk>
diff --git a/multimedia/mps-youtube/Makefile b/multimedia/mps-youtube/Makefile
deleted file mode 100644
index 795650c25b32..000000000000
--- a/multimedia/mps-youtube/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# Created by: Nicola Vitale <nivit@FreeBSD.org>
-
-PORTNAME= mps-youtube
-DISTVERSION= 0.2.9.g20200313
-CATEGORIES= multimedia
-
-USE_GITHUB= yes
-GH_TAGNAME= afab9fb
-
-MAINTAINER= nivit@FreeBSD.org
-COMMENT= Terminal based YouTube jukebox with playlist management
-
-LICENSE= GPLv3
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BROKEN= doesn't work, multiple reports upstream
-DEPRECATED= Abandoned upstream
-EXPIRATION_DATE=2022-06-30
-
-RUN_DEPENDS= ca_root_nss>=3.17.3:security/ca_root_nss \
- ${PYTHON_PKGNAMEPREFIX}pafy>=0.5.0:www/py-pafy@${PY_FLAVOR}
-
-CONVERTER_DESC= Converter to MP3 and other formats
-
-FFMPEG_RUN_DEPENDS= ffmpeg>=2.3.6:multimedia/ffmpeg
-
-LIBAV_DESC= Realtime audio/video conversion library
-LIBAV_RUN_DEPENDS= libav>=11.2:multimedia/libav
-
-MPLAYER_RUN_DEPENDS= mplayer:multimedia/mplayer
-
-MPV_DESC= Free and open-source general-purpose video player
-MPV_RUN_DEPENDS= mpv:multimedia/mpv
-
-OPTIONS_DEFAULT= MPV
-OPTIONS_RADIO= CONVERTER
-OPTIONS_RADIO_CONVERTER= FFMPEG LIBAV
-OPTIONS_SINGLE= PLAYER
-OPTIONS_SINGLE_PLAYER= MPLAYER MPV
-
-PLAYER_DESC= Video player
-PLIST_FILES= bin/${PORTNAME}
-
-SUB_FILES= ${PORTNAME}
-
-USES= python:3.3+
-USE_PYTHON= autoplist distutils optsuffix
-
-post-install:
- ${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME} ${STAGEDIR}/${PREFIX}/bin/${PORTNAME}
-
-.include <bsd.port.mk>
diff --git a/multimedia/mps-youtube/distinfo b/multimedia/mps-youtube/distinfo
deleted file mode 100644
index 557532509913..000000000000
--- a/multimedia/mps-youtube/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1585325321
-SHA256 (mps-youtube-mps-youtube-0.2.9.g20200313-afab9fb_GH0.tar.gz) = f4286fe19dc2b1213639d6948817879e1a552f7294127cf19a354e1b96e1d88b
-SIZE (mps-youtube-mps-youtube-0.2.9.g20200313-afab9fb_GH0.tar.gz) = 104700
diff --git a/multimedia/mps-youtube/files/mps-youtube.in b/multimedia/mps-youtube/files/mps-youtube.in
deleted file mode 100644
index af6081f00b16..000000000000
--- a/multimedia/mps-youtube/files/mps-youtube.in
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-SSL_CERT_FILE='/etc/ssl/cert.pem'
-export SSL_CERT_FILE
-exec mpsyt ${1+"$@"}
diff --git a/multimedia/mps-youtube/files/patch-setup.py b/multimedia/mps-youtube/files/patch-setup.py
deleted file mode 100644
index bdaa2d49111f..000000000000
--- a/multimedia/mps-youtube/files/patch-setup.py
+++ /dev/null
@@ -1,13 +0,0 @@
---- setup.py.orig 2017-04-14 10:08:47 UTC
-+++ setup.py
-@@ -64,8 +64,8 @@ options = dict(
- long_description=open("README.rst").read()
- )
-
--if sys.platform.startswith('linux'):
-- # Install desktop file. Required for mpris on Ubuntu
-+if sys.platform.startswith(('freebsd','linux')):
-+ # Install desktop file. Required for mpris on FreeBSD and Ubuntu
- options['data_files'] = [('share/applications/', ['mps-youtube.desktop'])]
-
- if os.name == "nt":
diff --git a/multimedia/mps-youtube/pkg-descr b/multimedia/mps-youtube/pkg-descr
deleted file mode 100644
index f9fd47a442e6..000000000000
--- a/multimedia/mps-youtube/pkg-descr
+++ /dev/null
@@ -1,16 +0,0 @@
-Terminal based YouTube jukebox with playlist management.
-
-Main features:
-
- - Search and play audio/video from YouTube
- - Search tracks of albums by album title
- - Search and import YouTube playlists
- - Create and save local playlists
- - Download audio/video
- - Convert to mp3 & other formats (requires ffmpeg or avconv)
- - View video comments
- - Works with 3.x
- - Works with Windows, Linux and Mac OS X
- - Requires mplayer or mpv
-
-WWW: https://github.com/mps-youtube/mps-youtube
diff --git a/multimedia/mps-youtube/pkg-message b/multimedia/mps-youtube/pkg-message
deleted file mode 100644
index b8a680f232ab..000000000000
--- a/multimedia/mps-youtube/pkg-message
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-{ type: install
- message: <<EOM
- Note that to see videos you have to enable the relative option in the program
-
- set show_video True
-EOM
-}
-]
diff --git a/multimedia/mpv-mpris/Makefile b/multimedia/mpv-mpris/Makefile
index b6ba77c2f767..bd74ff63dd26 100644
--- a/multimedia/mpv-mpris/Makefile
+++ b/multimedia/mpv-mpris/Makefile
@@ -1,9 +1,10 @@
PORTNAME= mpv-mpris
-DISTVERSION= 0.7.1
+DISTVERSION= 1.1
CATEGORIES= multimedia
MAINTAINER= tcberner@FreeBSD.org
COMMENT= MPRIS plugin for mpv
+WWW= https://github.com/hoyon/mpv-mpris
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/mpv-mpris/distinfo b/multimedia/mpv-mpris/distinfo
index e34d89fc63fb..c1c5814b3437 100644
--- a/multimedia/mpv-mpris/distinfo
+++ b/multimedia/mpv-mpris/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649350195
-SHA256 (hoyon-mpv-mpris-0.7.1_GH0.tar.gz) = 5c96ea3b5dcee040bc7c959ebf45299886c1e3f026a2c58ed6d473bba039e2a0
-SIZE (hoyon-mpv-mpris-0.7.1_GH0.tar.gz) = 13432
+TIMESTAMP = 1693902446
+SHA256 (hoyon-mpv-mpris-1.1_GH0.tar.gz) = 71008aa181bccf4bc7b2b5b9673e9993b1d1f5b7e2c189dc3724ab23ef1f6ebb
+SIZE (hoyon-mpv-mpris-1.1_GH0.tar.gz) = 14511
diff --git a/multimedia/mpv-mpris/pkg-descr b/multimedia/mpv-mpris/pkg-descr
index 034f99c9a592..d97acf750f3a 100644
--- a/multimedia/mpv-mpris/pkg-descr
+++ b/multimedia/mpv-mpris/pkg-descr
@@ -3,5 +3,3 @@ media keys.
This plugin implements the MPRIS D-Bus interface and can be controlled using
tools such as playerctl or through many Linux DEs, such as Gnome and KDE.
-
-WWW: https://github.com/hoyon/mpv-mpris
diff --git a/multimedia/mpv/Makefile b/multimedia/mpv/Makefile
index 2330b9cbc1d2..ebcfdfa6408b 100644
--- a/multimedia/mpv/Makefile
+++ b/multimedia/mpv/Makefile
@@ -1,66 +1,41 @@
-# Created by: Grzegorz Blach <gblach@FreeBSD.org>
-
PORTNAME= mpv
DISTVERSIONPREFIX= v
-DISTVERSION= 0.34.1
-PORTREVISION= 1
+DISTVERSION= 0.38.0
PORTEPOCH= 1
CATEGORIES= multimedia audio
-MASTER_SITES= https://waf.io/:waf
-DISTFILES= ${WAF_RELEASE}${EXTRACT_SUFX}:waf
-
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= b030cfe05f58.patch:-p1 # https://github.com/mpv-player/mpv/pull/9440
-PATCHFILES+= edf0039d7621.patch:-p1 # https://github.com/mpv-player/mpv/pull/9298
-PATCHFILES+= 5319731526fb.patch:-p1 # https://github.com/mpv-player/mpv/pull/9298
-PATCHFILES+= 82390d212123.patch:-p1 # https://github.com/mpv-player/mpv/pull/9587
-PATCHFILES+= 22b0bac28e6c.patch:-p1 # https://github.com/mpv-player/mpv/pull/9587
-PATCHFILES+= b7a71ea70671.patch:-p1 # https://github.com/mpv-player/mpv/pull/9734
-PATCHFILES+= 09343bc86e8b.patch:-p1 # https://github.com/mpv-player/mpv/pull/9734
-PATCHFILES+= bc9805c71a67.patch:-p1 # https://github.com/mpv-player/mpv/pull/9830
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Free and open-source general-purpose video player
+WWW= https://mpv.io
LICENSE= GPLv2+ LGPL21+
LICENSE_COMB= multi
+LICENSE_FILE_GPLv2+ = ${WRKSRC}/LICENSE.GPL
+LICENSE_FILE_LGPL21+ = ${WRKSRC}/LICENSE.LGPL
BUILD_DEPENDS= ffmpeg>=4.0.2,1:multimedia/ffmpeg
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
+LIB_DEPENDS= libplacebo.so:graphics/libplacebo \
+ libavcodec.so:multimedia/ffmpeg \
libass.so:multimedia/libass
-USES= compiler:c11 cpe desktop-file-utils iconv jpeg localbase:ldflags \
- pkgconfig python:build tar:bz2 waf
+USES= compiler:c11 cpe desktop-file-utils iconv jpeg \
+ meson pkgconfig python:build shebangfix tar:bz2
USE_LDCONFIG= yes
+SHEBANG_FILES= TOOLS/*.py
USE_GITHUB= yes
GH_ACCOUNT= mpv-player
+MESON_ARGS= --auto-features=auto \
+ -Dshaderc=disabled \
+ -Dlibmpv=true
-# Keep in sync with bootstrap.py to avoid regressions
-WAF_CMD= ${WRKDIR}/${WAF_RELEASE}/waf-light
-WAF_RELEASE= waf-2.0.20
-
-CONFIGURE_ENV= BIN_PYTHON="${PYTHON_CMD}"
-CONFIGURE_ARGS= --docdir="${EXAMPLESDIR}" \
- --htmldir="${DOCSDIR}/html" \
- --mandir="${MANPREFIX}/man" \
- --disable-debug-build \
- --disable-optimize \
- --disable-pdf \
- --disable-rubberband \
- --disable-shaderc \
- --disable-vapoursynth \
- --enable-libmpv-shared
-
-OPTIONS_DEFINE= ARCHIVE DOCS LCMS2 MANPAGES MUJS TEST UCHARDET EXAMPLES ZIMG
-OPTIONS_DEFAULT= ARCHIVE DVDNAV LUA MANPAGES OPENGL UCHARDET \
+OPTIONS_DEFINE= ARCHIVE DOCS LCMS2 MANPAGES MUJS RUBBERBAND UCHARDET EXAMPLES ZIMG
+OPTIONS_DEFAULT= ARCHIVE DVDNAV LCMS2 LUAJIT MANPAGES NVDEC OPENGL UCHARDET \
V4L VAAPI VDPAU VULKAN WAYLAND X11 YTDLP
OPTIONS_GROUP= IN VO AO
-OPTIONS_GROUP_IN= CDIO DVDNAV LIBBLURAY V4L
-OPTIONS_GROUP_VO= CACA OPENGL SIXEL VAAPI VDPAU VULKAN WAYLAND X11
+OPTIONS_GROUP_IN= CDIO DVDNAV LIBBLURAY V4L VAPOURSYNTH
+OPTIONS_GROUP_VO= CACA NVDEC OPENGL SIXEL VAAPI VDPAU VULKAN WAYLAND X11
OPTIONS_GROUP_AO= ALSA JACK OPENAL PIPEWIRE PULSEAUDIO SDL SNDIO
-OPTIONS_RADIO= YOUTUBE
-OPTIONS_RADIO_YOUTUBE= YTDL YTDLP
OPTIONS_SINGLE= LUA
OPTIONS_SINGLE_LUA= LUA LUAJIT LUA_NONE
OPTIONS_SUB= yes
@@ -69,147 +44,148 @@ DVDNAV_DESC= DVD menu navigation
LUA_NONE_DESC= Disable Lua scripting language support
LUAJIT_DESC= Use LuaJIT instead of Lua scripting language support
MUJS_DESC= Use MuJS for Javascript language support
-PIPEWIRE_DESC= Pipewire sound server support
+NVDEC_DESC= NVIDIA decoder with CUDA support
+RUBBERBAND_DESC= High quality pitch correction with librubberband
SIXEL_DESC= Sixel graphics support
UCHARDET_DESC= Guess subtitle encoding via uchardet
+VAPOURSYNTH_DESC= VapourSynth filter bridge
VULKAN_DESC= Vulkan output support
-YTDLP_DESC= Install yt-dlp (youtube-dl fork)
-YTDL_DESC= Install youtube-dl
ZIMG_DESC= High quality software scaling via "z" library
IN_DESC= Input
VO_DESC= Video Output
AO_DESC= Audio Output
ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
-ALSA_CONFIGURE_OFF= --disable-alsa
+ALSA_MESON_ENABLED= alsa
ARCHIVE_USES= libarchive
-ARCHIVE_CONFIGURE_ON= --enable-libarchive
+ARCHIVE_MESON_ENABLED= libarchive
CACA_LIB_DEPENDS= libcaca.so:graphics/libcaca
-CACA_CONFIGURE_OFF= --disable-caca
+CACA_MESON_ENABLED= caca
CDIO_LIB_DEPENDS= libcdio_paranoia.so:sysutils/libcdio-paranoia
-CDIO_CONFIGURE_ON= --enable-cdda
+CDIO_MESON_ENABLED= cdda
DOCS_BUILD_DEPENDS= rst2html:textproc/py-docutils
-DOCS_CONFIGURE_ON= --enable-html
+DOCS_MESON_ENABLED= html-build
-DVDNAV_LIB_DEPENDS= libdvdnav.so:multimedia/libdvdnav \
- libdvdread.so:multimedia/libdvdread
-DVDNAV_CONFIGURE_ON= --enable-dvdnav
+DVDNAV_LIB_DEPENDS= libdvdnav.so:multimedia/libdvdnav
+DVDNAV_MESON_ENABLED= dvdnav
JACK_LIB_DEPENDS= libjack.so:audio/jack
-JACK_CONFIGURE_OFF= --disable-jack
+JACK_MESON_ENABLED= jack
LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2
-LCMS2_CONFIGURE_OFF= --disable-lcms2
+LCMS2_MESON_ENABLED= lcms2
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
-LIBBLURAY_CONFIGURE_ON= --enable-libbluray
-LIBBLURAY_CONFIGURE_OFF= --disable-libbluray
+LIBBLURAY_MESON_ENABLED= libbluray
LUA_USES= lua:51-52
-LUA_CONFIGURE_ON= --lua=${LUA_VER_STR}fbsd
+LUA_MESON_ON= -Dlua=lua-${LUA_VER}
-LUAJIT_LIB_DEPENDS= libluajit-5.1.so:lang/luajit
-LUAJIT_CONFIGURE_ON= --lua=luajit
+LUAJIT_USES= luajit
+LUAJIT_MESON_ON= -Dlua=luajit
-LUA_NONE_CONFIGURE_ON= --disable-lua
+LUA_NONE_MESON_ON= -Dlua=disabled
MANPAGES_BUILD_DEPENDS= rst2man:textproc/py-docutils
-MANPAGES_CONFIGURE_OFF= --disable-manpage
+MANPAGES_MESON_ENABLED= manpage-build
MUJS_LIB_DEPENDS= libmujs.so:lang/mujs
-MUJS_CONFIGURE_ON= --enable-javascript
-MUJS_CONFIGURE_OFF= --disable-javascript
+MUJS_MESON_ENABLED= javascript
+
+NVDEC_BUILD_DEPENDS= ${LOCALBASE}/include/ffnvcodec/dynlink_loader.h:multimedia/ffnvcodec-headers
+NVDEC_RUN_DEPENDS= ${LOCALBASE}/include/ffnvcodec/dynlink_loader.h:multimedia/ffnvcodec-headers
+NVDEC_MESON_ENABLED= cuda-hwaccel
-OPENAL_CONFIGURE_ENABLE= openal
OPENAL_USES= openal
+OPENAL_MESON_ENABLED= openal
OPENAL_LDFLAGS= ${_OPENAL_LDFLAGS_${ARCH}}
_OPENAL_LDFLAGS_i386= -Wl,-znotext
OPENGL_USES= gl
OPENGL_USE= GL=egl,gbm
-OPENGL_CONFIGURE_OFF= --disable-gl
+OPENGL_MESON_ENABLED= gl
PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
-PIPEWIRE_CONFIGURE_OFF= --disable-pipewire
+PIPEWIRE_MESON_ENABLED= pipewire
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_CONFIGURE_OFF= --disable-pulse
+PULSEAUDIO_MESON_ENABLED= pulse
+
+RUBBERBAND_LIB_DEPENDS= librubberband.so:audio/rubberband
+RUBBERBAND_MESON_ENABLED= rubberband
SDL_USES= sdl
SDL_USE= SDL=sdl2
-SDL_CONFIGURE_ON= --enable-sdl2
+SDL_MESON_ENABLED= sdl2
SIXEL_LIB_DEPENDS= libsixel.so:graphics/libsixel
-SIXEL_CONFIGURE_OFF= --disable-sixel
+SIXEL_MESON_ENABLED= sixel
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
-SNDIO_CONFIGURE_ON= --enable-sndio
-SNDIO_CONFIGURE_OFF= --disable-sndio
-
-TEST_CONFIGURE_ON= --enable-tests
+SNDIO_MESON_ENABLED= sndio
UCHARDET_LIB_DEPENDS= libuchardet.so:textproc/uchardet
-UCHARDET_CONFIGURE_OFF= --disable-uchardet
+UCHARDET_MESON_ENABLED= uchardet
V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/dvb/dmx.h:multimedia/v4l_compat
-V4L_CONFIGURE_ON= --enable-dvbin
+V4L_USES= localbase
+V4L_MESON_ENABLED= dvbin
VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
-VAAPI_CONFIGURE_OFF= --disable-vaapi
+VAAPI_MESON_ENABLED= vaapi
+
+VAPOURSYNTH_LIB_DEPENDS= libvapoursynth-script.so:multimedia/vapoursynth
+VAPOURSYNTH_MESON_ENABLED= vapoursynth
VDPAU_LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
-VDPAU_CONFIGURE_OFF= --disable-vdpau
+VDPAU_MESON_ENABLED= vdpau
+VDPAU_IMPLIES= X11
VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
-VULKAN_LIB_DEPENDS= libplacebo.so:graphics/libplacebo \
- libvulkan.so:graphics/vulkan-loader
-VULKAN_CONFIGURE_OFF= --disable-vulkan --disable-libplacebo
+VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
+VULKAN_MESON_ENABLED= vulkan
-WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.14:graphics/wayland-protocols \
+WAYLAND_CATEGORIES= wayland
+WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.15:graphics/wayland-protocols \
${LOCALBASE}/include/linux/input-event-codes.h:devel/evdev-proto
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland \
libwayland-cursor.so:graphics/wayland \
libxkbcommon.so:x11/libxkbcommon
-WAYLAND_CONFIGURE_OFF= --disable-wayland
+WAYLAND_RUN_DEPENDS= wayland-protocols>=1.15:graphics/wayland-protocols # pkg-config
+WAYLAND_MESON_ENABLED= wayland
WAYLAND_IMPLIES= OPENGL
X11_USES= gnome xorg
-X11_USE= XORG=x11,xext,xinerama,xorgproto,xrandr,xscrnsaver,xv,xxf86vm
-X11_CONFIGURE_OFF= --disable-x11
+X11_USE= XORG=x11,xext,xinerama,xorgproto,xpresent,xrandr,xscrnsaver,xv,xxf86vm
+X11_MESON_ENABLED= x11
YTDLP_RUN_DEPENDS= yt-dlp:www/yt-dlp
-YTDL_RUN_DEPENDS= youtube-dl:www/youtube_dl
-
ZIMG_LIB_DEPENDS= libzimg.so:graphics/sekrit-twc-zimg
-ZIMG_CONFIGURE_OFF= --disable-zimg
+ZIMG_MESON_ENABLED= zimg
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MVAAPI} && ${PORT_OPTIONS:MWAYLAND}
-CONFIGURE_ARGS+= --enable-vaapi-wayland
+MESON_ARGS+= -Dvaapi-wayland=enabled
LIB_DEPENDS+= libva-wayland.so:multimedia/libva
.else
-CONFIGURE_ARGS+= --disable-vaapi-wayland
+MESON_ARGS+= -Dvaapi-wayland=disabled
.endif
-post-patch:
- @${REINPLACE_CMD} -e 's|/pkgconfig/mpv.pc|data/pkgconfig/mpv.pc|g' \
- ${WRKSRC}/wscript_build.py
-
post-patch-MANPAGES-on:
@${FIND} ${WRKSRC}/DOCS/man -name '*.rst' | ${XARGS} ${REINPLACE_CMD} \
-e 's|/usr/local|${PREFIX}|g'
-pre-install-TEST-on:
- @(cd ${WRKSRC} && ${SETENV} ${TEST_ENV} build/mpv --unittest=all-simple)
-
-post-install:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/mpv
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libmpv.so
+pre-test:
+ @if [ ! -e ${WRKDIR}/.meson_build_tests ]; then \
+ ${RM} ${CONFIGURE_COOKIE} ${BUILD_COOKIE}; \
+ ${MAKE} -C${.CURDIR} build MESON_ARGS="${MESON_ARGS} --reconfigure -Dtests=true"; \
+ ${TOUCH} ${WRKDIR}/.meson_build_tests; \
+ fi
.include <bsd.port.mk>
diff --git a/multimedia/mpv/distinfo b/multimedia/mpv/distinfo
index 7ef6c96d685f..ec028a69cd41 100644
--- a/multimedia/mpv/distinfo
+++ b/multimedia/mpv/distinfo
@@ -1,21 +1,3 @@
-TIMESTAMP = 1641246801
-SHA256 (waf-2.0.20.tar.bz2) = cce635c2d1a0f93b4f5b811e0452a35b8066e8ccd78632447f5be24c4c3f1a63
-SIZE (waf-2.0.20.tar.bz2) = 682619
-SHA256 (mpv-player-mpv-v0.34.1_GH0.tar.gz) = 32ded8c13b6398310fa27767378193dc1db6d78b006b70dbcbd3123a1445e746
-SIZE (mpv-player-mpv-v0.34.1_GH0.tar.gz) = 3288356
-SHA256 (b030cfe05f58.patch) = df7590e1d27e8e6c0e326781723ee87ef7c3fdf5a88438c8c29bb729a911ff74
-SIZE (b030cfe05f58.patch) = 5270
-SHA256 (edf0039d7621.patch) = 8c7e75d9e2a0ae2622fd23df8121d756fc919f7f9733edd7c59c2cc1900a3507
-SIZE (edf0039d7621.patch) = 12278
-SHA256 (5319731526fb.patch) = 29364fa31f184a5f6d59bbcceea0a7c9269ca4af08a34f93eccd283254709a68
-SIZE (5319731526fb.patch) = 6629
-SHA256 (82390d212123.patch) = b47dca6672ff2b03ee694a326978d592756fb83f23b90dd7bb8ddf7d87b3b445
-SIZE (82390d212123.patch) = 17920
-SHA256 (22b0bac28e6c.patch) = 12c49edd4e0a33130275f26703c14e013e46f316dd2b39b8e606fdc3ef60b01f
-SIZE (22b0bac28e6c.patch) = 1726
-SHA256 (b7a71ea70671.patch) = 0a4f1e8fc0f2d482fb8b919b50a30c4852af473b79da3dca34157a4f51eb6e94
-SIZE (b7a71ea70671.patch) = 8174
-SHA256 (09343bc86e8b.patch) = 2516860fba5492aaa76b44ea15d32b39d4326ca5fe8611803ed845b38b7cca70
-SIZE (09343bc86e8b.patch) = 1389
-SHA256 (bc9805c71a67.patch) = 7988418e51537391c34b415f2a629e064716bd49835af5ca660966ddcbe5a49b
-SIZE (bc9805c71a67.patch) = 1909
+TIMESTAMP = 1713381524
+SHA256 (mpv-player-mpv-v0.38.0_GH0.tar.gz) = 86d9ef40b6058732f67b46d0bbda24a074fae860b3eaae05bab3145041303066
+SIZE (mpv-player-mpv-v0.38.0_GH0.tar.gz) = 3419741
diff --git a/multimedia/mpv/files/patch-libmpv_mpv.def b/multimedia/mpv/files/patch-libmpv_mpv.def
deleted file mode 100644
index cc952d3dc4e3..000000000000
--- a/multimedia/mpv/files/patch-libmpv_mpv.def
+++ /dev/null
@@ -1,15 +0,0 @@
---- libmpv/mpv.def.orig 2017-12-25 20:44:17 UTC
-+++ libmpv/mpv.def
-@@ -1,3 +1,5 @@
-+__progname
-+environ
- mpv_client_api_version
- mpv_client_name
- mpv_command
-@@ -43,4 +45,4 @@ mpv_terminate_destroy
- mpv_unobserve_property
- mpv_wait_async_requests
- mpv_wait_event
--mpv_wakeup
-\ No newline at end of file
-+mpv_wakeup
diff --git a/multimedia/mpv/files/patch-meson.build b/multimedia/mpv/files/patch-meson.build
new file mode 100644
index 000000000000..f4c0c2c3de19
--- /dev/null
+++ b/multimedia/mpv/files/patch-meson.build
@@ -0,0 +1,11 @@
+--- meson.build.orig 2022-10-21 15:12:08 UTC
++++ meson.build
+@@ -1674,7 +1674,7 @@ if get_option('cplayer')
+
+ conf_files = ['etc/mpv.conf', 'etc/input.conf',
+ 'etc/mplayer-input.conf', 'etc/restore-old-bindings.conf']
+- install_data(conf_files, install_dir: join_paths(datadir, 'doc', 'mpv'))
++ install_data(conf_files, install_dir: join_paths(datadir, 'examples', 'mpv'))
+
+ bash_install_dir = join_paths(datadir, 'bash-completion', 'completions')
+ install_data('etc/mpv.bash-completion', install_dir: bash_install_dir, rename: 'mpv')
diff --git a/multimedia/mpv/pkg-descr b/multimedia/mpv/pkg-descr
index a94509b02772..b069ed8a5b43 100644
--- a/multimedia/mpv/pkg-descr
+++ b/multimedia/mpv/pkg-descr
@@ -3,5 +3,3 @@ It supports a wide variety of video file formats, audio and video codecs, and
subtitle types. Special input URL types are available to read input from
a variety of sources other than disk files. Depending on platform, a variety of
different video and audio output methods are supported.
-
-WWW: https://mpv.io
diff --git a/multimedia/mpv/pkg-plist b/multimedia/mpv/pkg-plist
index 7d8ff1f18df1..a87a1d93f8dc 100644
--- a/multimedia/mpv/pkg-plist
+++ b/multimedia/mpv/pkg-plist
@@ -1,15 +1,14 @@
bin/mpv
%%ETCDIR%%/encoding-profiles.conf
include/mpv/client.h
-include/mpv/opengl_cb.h
include/mpv/render.h
include/mpv/render_gl.h
include/mpv/stream_cb.h
lib/libmpv.so
-lib/libmpv.so.1
-lib/libmpv.so.1.109.0
+lib/libmpv.so.2
+lib/libmpv.so.2.3.0
libdata/pkgconfig/mpv.pc
-%%MANPAGES%%man/man1/mpv.1.gz
+%%MANPAGES%%share/man/man1/mpv.1.gz
share/applications/mpv.desktop
share/bash-completion/completions/mpv
share/icons/hicolor/128x128/apps/mpv.png
@@ -18,9 +17,10 @@ share/icons/hicolor/32x32/apps/mpv.png
share/icons/hicolor/64x64/apps/mpv.png
share/icons/hicolor/scalable/apps/mpv.svg
share/icons/hicolor/symbolic/apps/mpv-symbolic.svg
-%%PORTDOCS%%%%DOCSDIR%%/html/mpv.html
+%%PORTDOCS%%%%DOCSDIR%%/mpv.html
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/input.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mplayer-input.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mpv.conf
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/restore-old-bindings.conf
+share/metainfo/mpv.metainfo.xml
share/zsh/site-functions/_mpv
diff --git a/multimedia/mpvpaper/Makefile b/multimedia/mpvpaper/Makefile
index 4af7b444eb11..3eaa158d3d71 100644
--- a/multimedia/mpvpaper/Makefile
+++ b/multimedia/mpvpaper/Makefile
@@ -1,9 +1,10 @@
PORTNAME= mpvpaper
-DISTVERSION= 1.2.1
-CATEGORIES= multimedia
+DISTVERSION= 1.5
+CATEGORIES= multimedia wayland
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Video wallpaper for wlroots compositors
+WWW= https://github.com/GhostNaN/mpvpaper
LICENSE= GPLv3
@@ -20,7 +21,9 @@ PLIST_FILES= bin/${PORTNAME} \
share/man/man1/${PORTNAME}.1.gz
post-patch:
- @${REINPLACE_CMD} 's/pidof/pgrep/' ${WRKSRC}/src/main.c
+ @${REINPLACE_CMD} -e 's/pidof/pgrep/' \
+ ${WRKSRC}/src/holder.c \
+ ${WRKSRC}/src/main.c
post-install:
${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.man \
diff --git a/multimedia/mpvpaper/distinfo b/multimedia/mpvpaper/distinfo
index abf291df2690..4f11ca6876b0 100644
--- a/multimedia/mpvpaper/distinfo
+++ b/multimedia/mpvpaper/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1645716765
-SHA256 (GhostNaN-mpvpaper-1.2.1_GH0.tar.gz) = f243d3c8f39bd453e444088603d2b51866e28d9f621b21a5df6e9ff319f0f2ca
-SIZE (GhostNaN-mpvpaper-1.2.1_GH0.tar.gz) = 88444
+TIMESTAMP = 1713540261
+SHA256 (GhostNaN-mpvpaper-1.5_GH0.tar.gz) = 73fa3dcfc3a57180ba92d1bc959b9d670eea8ef96a27c5261dff4e2c5e639565
+SIZE (GhostNaN-mpvpaper-1.5_GH0.tar.gz) = 88853
diff --git a/multimedia/mpvpaper/pkg-descr b/multimedia/mpvpaper/pkg-descr
index ad2e35a7c5bf..41ecabf85224 100644
--- a/multimedia/mpvpaper/pkg-descr
+++ b/multimedia/mpvpaper/pkg-descr
@@ -1,5 +1,3 @@
MPVPaper is a wallpaper program for wlroots-based Wayland compositors,
such as Sway. That allows you to play videos with mpv as your
wallpaper.
-
-WWW: https://github.com/GhostNaN/mpvpaper
diff --git a/multimedia/mpvqt/Makefile b/multimedia/mpvqt/Makefile
new file mode 100644
index 000000000000..8f395df4b999
--- /dev/null
+++ b/multimedia/mpvqt/Makefile
@@ -0,0 +1,17 @@
+PORTNAME= mpvqt
+DISTVERSION= 1.0.0
+MASTER_SITES= KDE/stable/${PORTNAME}/
+CATEGORIES= multimedia kde
+
+COMMENT= MpvQt is a libmpv wrapper for QtQuick2 and QML
+WWW= https://invent.kde.org/libraries/mpvqt
+MAINTAINER= kde@FreeBSD.org
+
+LIB_DEPENDS= libmpv.so:multimedia/mpv
+
+USES= cmake gl kde:6 qt:6 tar:xz
+USE_GL= gl opengl
+USE_KDE= ecm:build
+USE_QT= base declarative
+
+.include <bsd.port.mk>
diff --git a/multimedia/mpvqt/distinfo b/multimedia/mpvqt/distinfo
new file mode 100644
index 000000000000..87dcdb13540b
--- /dev/null
+++ b/multimedia/mpvqt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1704473945
+SHA256 (mpvqt-1.0.0.tar.xz) = 9131d2a925e5f33e19b9d081dfd5f30d576abd87464d67c70bef41a486f54eb9
+SIZE (mpvqt-1.0.0.tar.xz) = 36172
diff --git a/multimedia/mpvqt/pkg-descr b/multimedia/mpvqt/pkg-descr
new file mode 100644
index 000000000000..59608fd79b9f
--- /dev/null
+++ b/multimedia/mpvqt/pkg-descr
@@ -0,0 +1 @@
+MpvQt is a libmpv wrapper for QtQuick2 and QML
diff --git a/multimedia/mpvqt/pkg-plist b/multimedia/mpvqt/pkg-plist
new file mode 100644
index 000000000000..75f03f01505a
--- /dev/null
+++ b/multimedia/mpvqt/pkg-plist
@@ -0,0 +1,14 @@
+include/MpvQt/MpvAbstractItem
+include/MpvQt/MpvController
+include/MpvQt/mpvabstractitem.h
+include/MpvQt/mpvcontroller.h
+include/MpvQt/mpvqt_export.h
+include/MpvQt/mpvqt_version.h
+lib/cmake/MpvQt/FindLibmpv.cmake
+lib/cmake/MpvQt/MpvQtConfig.cmake
+lib/cmake/MpvQt/MpvQtConfigVersion.cmake
+lib/cmake/MpvQt/MpvQtTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/MpvQt/MpvQtTargets.cmake
+lib/libMpvQt.so
+lib/libMpvQt.so.1
+lib/libMpvQt.so.1.0.0
diff --git a/multimedia/msdl/Makefile b/multimedia/msdl/Makefile
index 41db65b7f8d2..ceb4e05cb65a 100644
--- a/multimedia/msdl/Makefile
+++ b/multimedia/msdl/Makefile
@@ -1,20 +1,21 @@
-# Created by: Ashish Shukla <wahjava@gmail.com>
-
PORTNAME= msdl
PORTVERSION= 1.2.7r2
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTNAME}
DISTNAME= ${PORTNAME}-${PORTVERSION:S/r/-r/}
MAINTAINER= ashish@FreeBSD.org
COMMENT= Streaming multimedia files downloader
+WWW= https://msdl.sourceforge.net/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
PLIST_FILES= bin/msdl \
- man/man1/msdl.1.gz
+ share/man/man1/msdl.1.gz
# Fix build with clang11
CFLAGS+= -fcommon
diff --git a/multimedia/msdl/pkg-descr b/multimedia/msdl/pkg-descr
index 8cfbc5da19f3..4e3b2829632c 100644
--- a/multimedia/msdl/pkg-descr
+++ b/multimedia/msdl/pkg-descr
@@ -7,5 +7,3 @@ Currently it supports following protocols.
* real-rtsp (Real Time Streaming Protocol / Real/helix)
* wms-rtsp (Real Time Streaming Protocol / WMServer)
* ftp (File Transfer Protocol)
-
-WWW: http://msdl.sourceforge.net/
diff --git a/multimedia/msopenh264/Makefile b/multimedia/msopenh264/Makefile
index cec03f33fefb..b34868916d38 100644
--- a/multimedia/msopenh264/Makefile
+++ b/multimedia/msopenh264/Makefile
@@ -1,20 +1,24 @@
PORTNAME= msopenh264
-PORTVERSION= 1.2.1
+DISTVERSION= 5.2.0
PORTREVISION= 2
CATEGORIES= multimedia net
-MASTER_SITES= https://www.linphone.org/releases/sources/plugins/msopenh264/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Mediastreamer plugin with H.264 codec
+WWW= https://www.linphone.org/technical-corner/mediastreamer2.html
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libmediastreamer_base.so:net/mediastreamer \
+LIB_DEPENDS= libbctoolbox.so:net/bctoolbox \
+ libmediastreamer.so:net/mediastreamer \
libopenh264.so:multimedia/openh264 \
libortp.so:net/ortp
USES= cmake
+USE_GITLAB= yes
+GL_SITE= https://gitlab.linphone.org/BC
+GL_ACCOUNT= public
CMAKE_ARGS= -DENABLE_STATIC=NO
PLIST_FILES= lib/mediastreamer/plugins/libmsopenh264.so
diff --git a/multimedia/msopenh264/distinfo b/multimedia/msopenh264/distinfo
index 293e468388c3..23ac2c3c7b2e 100644
--- a/multimedia/msopenh264/distinfo
+++ b/multimedia/msopenh264/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1539620002
-SHA256 (msopenh264-1.2.1.tar.gz) = a8622752fcc8a3cbbcfb3ffa2fe0f8419aceebb8d5dc2bca03a68852bf7abd65
-SIZE (msopenh264-1.2.1.tar.gz) = 29665
+TIMESTAMP = 1690572921
+SHA256 (msopenh264-5.2.0.tar.bz2) = 225057b1a935bd5f4c1a3f8b57981461c99969d73e70c5e91bc9dfac4c01a236
+SIZE (msopenh264-5.2.0.tar.bz2) = 28215
diff --git a/multimedia/msopenh264/files/patch-openh264-2.0 b/multimedia/msopenh264/files/patch-openh264-2.0
deleted file mode 100644
index bcbe40c7c9c1..000000000000
--- a/multimedia/msopenh264/files/patch-openh264-2.0
+++ /dev/null
@@ -1,35 +0,0 @@
-src/msopenh264dec.cpp:67:11: error: no member named 'eOutputColorFormat' in 'TagSVCDecodingParam'
- params.eOutputColorFormat = videoFormatI420;
- ~~~~~~ ^
-src/msopenh264enc.cpp:134:29: error: no member named 'sSliceCfg' in 'SSpatialLayerConfig'
- params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_DYN_SLICE;
- ~~~~~~~~~~~~~~~~~~~~~~~~ ^
-src/msopenh264enc.cpp:134:53: error: use of undeclared identifier 'SM_DYN_SLICE'
- params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_DYN_SLICE;
- ^
-src/msopenh264enc.cpp:135:29: error: no member named 'sSliceCfg' in 'SSpatialLayerConfig'
- params.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = ms_factory_get_payload_max_size(mFilter->factory);
- ~~~~~~~~~~~~~~~~~~~~~~~~ ^
-
---- src/msopenh264dec.cpp.orig 2016-10-19 15:32:52 UTC
-+++ src/msopenh264dec.cpp
-@@ -62,7 +62,7 @@ void MSOpenH264Decoder::initialize()
- mUnpacker=rfc3984_new();
- if (mDecoder != 0) {
- SDecodingParam params = { 0 };
--#if (OPENH264_MAJOR == 1) && (OPENH264_MINOR >=6)
-+#if (OPENH264_MAJOR > 1) || ((OPENH264_MAJOR == 1) && (OPENH264_MINOR >=6))
- #else
- params.eOutputColorFormat = videoFormatI420;
- #endif
---- src/msopenh264enc.cpp.orig 2017-07-20 13:56:32 UTC
-+++ src/msopenh264enc.cpp
-@@ -127,7 +127,7 @@ void MSOpenH264Encoder::initialize()
- params.sSpatialLayers[0].iSpatialBitrate = targetBitrate;
- params.sSpatialLayers[0].iMaxSpatialBitrate = maxBitrate;
-
--#if (OPENH264_MAJOR == 1) && (OPENH264_MINOR >=6)
-+#if (OPENH264_MAJOR > 1) || ((OPENH264_MAJOR == 1) && (OPENH264_MINOR >=6))
- params.sSpatialLayers[0].sSliceArgument.uiSliceMode = SM_SIZELIMITED_SLICE;
- params.sSpatialLayers[0].sSliceArgument.uiSliceSizeConstraint = ms_factory_get_payload_max_size(mFilter->factory);
- #else
diff --git a/multimedia/msopenh264/pkg-descr b/multimedia/msopenh264/pkg-descr
index 636a20d8eb3f..f87008e28fe9 100644
--- a/multimedia/msopenh264/pkg-descr
+++ b/multimedia/msopenh264/pkg-descr
@@ -1,3 +1 @@
H.264 codec for Mediastreamer based on OpenH264.
-
-WWW: https://www.linphone.org/technical-corner/mediastreamer2.html
diff --git a/multimedia/mswebrtc/Makefile b/multimedia/mswebrtc/Makefile
index 317d4885a627..0e4cd9447c99 100644
--- a/multimedia/mswebrtc/Makefile
+++ b/multimedia/mswebrtc/Makefile
@@ -1,20 +1,29 @@
PORTNAME= mswebrtc
-PORTVERSION= 1.1.1
+PORTVERSION= 1.1.2
PORTREVISION= 2
CATEGORIES= multimedia net
MASTER_SITES= https://www.linphone.org/releases/sources/plugins/mswebrtc/
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Mediastreamer plugin with WebRTC codecs
+WWW= https://www.linphone.org/technical-corner/mediastreamer2.html
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
+#BROKEN= does not build: incorrect dependency on net/mediastreamer
+
LIB_DEPENDS= libbctoolbox.so:net/bctoolbox \
- libmediastreamer_base.so:net/mediastreamer \
+ libmediastreamer.so:net/mediastreamer \
libortp.so:net/ortp
USES= cmake compiler:c++11-lib
+USE_GITLAB= yes
+GL_SITE= https://gitlab.linphone.org/BC
+GL_ACCOUNT= public public/external:webrtc
+GL_PROJECT= webrtc:webrtc
+GL_TAGNAME= 583acd27665cfadef8ab03eb85a768d308bd29dd:webrtc
+GL_SUBDIR= webrtc:webrtc
CMAKE_ARGS= -DENABLE_STATIC=NO
PLIST_FILES= lib/mediastreamer/plugins/libmswebrtc.so
diff --git a/multimedia/mswebrtc/distinfo b/multimedia/mswebrtc/distinfo
index 1125cfe06161..53551e40aa4a 100644
--- a/multimedia/mswebrtc/distinfo
+++ b/multimedia/mswebrtc/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1539620822
-SHA256 (mswebrtc-1.1.1.tar.gz) = 19d7836aec6db16c9ccb65d168eb2b87ab039c04af13632b861afa9a284442f2
-SIZE (mswebrtc-1.1.1.tar.gz) = 2360979
+TIMESTAMP = 1690573288
+SHA256 (mswebrtc-1.1.2.tar.bz2) = fe834f43e624fed65084ee47893a0d18b891af356afa5a005f3227dceb77a6a8
+SIZE (mswebrtc-1.1.2.tar.bz2) = 33711
+SHA256 (public/external-webrtc-583acd27665cfadef8ab03eb85a768d308bd29dd_GL0.tar.gz) = ef0be0696253c861e46ffef8de355777e3d91774890b982bcff6adaf2a08750f
+SIZE (public/external-webrtc-583acd27665cfadef8ab03eb85a768d308bd29dd_GL0.tar.gz) = 37770971
diff --git a/multimedia/mswebrtc/pkg-descr b/multimedia/mswebrtc/pkg-descr
index 48622daf2767..d984b52a034e 100644
--- a/multimedia/mswebrtc/pkg-descr
+++ b/multimedia/mswebrtc/pkg-descr
@@ -1,3 +1 @@
WebRTC codecs for Mediastreamer (iSAC, AEC, iLBC).
-
-WWW: https://www.linphone.org/technical-corner/mediastreamer2.html
diff --git a/multimedia/musikcube/Makefile b/multimedia/musikcube/Makefile
index 4dd69f467aae..acd2e41ed901 100644
--- a/multimedia/musikcube/Makefile
+++ b/multimedia/musikcube/Makefile
@@ -1,31 +1,40 @@
PORTNAME= musikcube
-DISTVERSION= 0.97.0
-PORTREVISION= 1
+DISTVERSION= 3.0.2
+PORTREVISION= 2
CATEGORIES= multimedia audio
MAINTAINER= yuri@FreeBSD.org
COMMENT= Terminal-based music player, audio engine, metadata indexer, server
+WWW= https://musikcube.com/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
- libboost_system.so:devel/boost-libs \
+BUILD_DEPENDS= asio>0:net/asio
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libavcodec.so:multimedia/ffmpeg \
+ libbasu.so:devel/basu \
libcurl.so:ftp/curl \
libev.so:devel/libev \
- libfaad.so:audio/faad \
libFLAC.so:audio/flac \
libmicrohttpd.so:www/libmicrohttpd \
libmp3lame.so:audio/lame \
libmpg123.so:audio/mpg123 \
libogg.so:audio/libogg \
libopenmpt.so:audio/libopenmpt \
+ libpipewire-0.3.so:multimedia/pipewire \
+ libportaudio.so:audio/portaudio \
+ libpulse.so:audio/pulseaudio \
libsndio.so:audio/sndio \
libtag.so:audio/taglib \
libvorbis.so:audio/libvorbis
-USES= cmake:noninja compiler:c++14-lang pkgconfig ssl
+USES= cmake:noninja compiler:c++17-lang ncurses pkgconfig ssl
+USES+= localbase # workaround for https://github.com/clangen/musikcube/issues/600
USE_LDCONFIG= yes
+CMAKE_ON= USE_BASU
+CMAKE_ARGS+= -DNCURSES_DISABLE_LIB_SUFFIXES=false
+CMAKE_ON+= FREEBSD_USE_BASE_NCURSES
USE_GITHUB= yes
GH_ACCOUNT= clangen
@@ -37,17 +46,4 @@ post-install:
share/musikcube/musikcubed \
share/musikcube/plugins/*.so
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == "FreeBSD" && ${OSVERSION} >= 1300079
-USES+= ncurses
-CMAKE_ARGS= -DNCURSES_DISABLE_LIB_SUFFIXES=false
-CMAKE_ON= FREEBSD_USE_BASE_NCURSES
-.else
-USES+= ncurses:port
-CFLAGS+= -I${LOCALBASE}/include/ncurses
-CMAKE_ARGS= -DNCURSES_DISABLE_LIB_SUFFIXES=true
-CMAKE_OFF= FREEBSD_USE_BASE_NCURSES
-.endif
-
.include <bsd.port.mk>
diff --git a/multimedia/musikcube/distinfo b/multimedia/musikcube/distinfo
index 408fcbbe20e4..2f13ba5874d2 100644
--- a/multimedia/musikcube/distinfo
+++ b/multimedia/musikcube/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1645737342
-SHA256 (clangen-musikcube-0.97.0_GH0.tar.gz) = ab170c5100251fcd6c8fd3c32eea45e9854c6c6272c6b0970bffbfc55d0b2ec5
-SIZE (clangen-musikcube-0.97.0_GH0.tar.gz) = 6375298
+TIMESTAMP = 1694884592
+SHA256 (clangen-musikcube-3.0.2_GH0.tar.gz) = 65f82db36d635bdbfd99f67d1d68c9e1aedf8e38efa627f303cf7971c306d063
+SIZE (clangen-musikcube-3.0.2_GH0.tar.gz) = 4800648
diff --git a/multimedia/musikcube/files/patch-src_plugins_gmedecoder_gme_blargg__endian.h b/multimedia/musikcube/files/patch-src_plugins_gmedecoder_gme_blargg__endian.h
deleted file mode 100644
index 7613a988e0f7..000000000000
--- a/multimedia/musikcube/files/patch-src_plugins_gmedecoder_gme_blargg__endian.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- src/plugins/gmedecoder/gme/blargg_endian.h.orig 2021-04-05 20:58:30 UTC
-+++ src/plugins/gmedecoder/gme/blargg_endian.h
-@@ -34,9 +34,7 @@
- #if defined (LSB_FIRST) || defined (__LITTLE_ENDIAN__) || BLARGG_CPU_X86 || \
- (defined (LITTLE_ENDIAN) && LITTLE_ENDIAN+0 != 1234)
- #define BLARGG_LITTLE_ENDIAN 1
--#endif
--
--#if defined (MSB_FIRST) || defined (__BIG_ENDIAN__) || defined (WORDS_BIGENDIAN) || \
-+#elif defined (MSB_FIRST) || defined (__BIG_ENDIAN__) || defined (WORDS_BIGENDIAN) || \
- defined (__sparc__) || BLARGG_CPU_POWERPC || \
- (defined (BIG_ENDIAN) && BIG_ENDIAN+0 != 4321)
- #define BLARGG_BIG_ENDIAN 1
diff --git a/multimedia/musikcube/pkg-descr b/multimedia/musikcube/pkg-descr
index 0fb055de70a9..09f7fe7ef199 100644
--- a/multimedia/musikcube/pkg-descr
+++ b/multimedia/musikcube/pkg-descr
@@ -2,5 +2,3 @@ musikcube is a fully functional terminal-based music player, library, and
streaming audio server that runs natively on Windows, macOS, and Linux. It also
runs well on a Raspberry Pi with a custom DAC (e.g. IQaudIO DAC+, HiFiBerry DAC+
and others), and can output 24bit/192k audio comfortably.
-
-WWW: https://musikcube.com/
diff --git a/multimedia/musikcube/pkg-plist b/multimedia/musikcube/pkg-plist
index 99dcb392e7e6..5d0272150ce4 100644
--- a/multimedia/musikcube/pkg-plist
+++ b/multimedia/musikcube/pkg-plist
@@ -45,7 +45,9 @@ include/musikcube/musikcore/sdk/IVisualizer.h
include/musikcube/musikcore/sdk/ReplayGain.h
include/musikcube/musikcore/sdk/String.h
include/musikcube/musikcore/sdk/constants.h
+include/musikcube/musikcore/sdk/version.h
%%DATADIR%%/libmusikcore.so
+%%DATADIR%%/locales/cs_CZ.json
%%DATADIR%%/locales/de_DE.json
%%DATADIR%%/locales/en_US.json
%%DATADIR%%/locales/es_ES.json
@@ -53,14 +55,19 @@ include/musikcube/musikcore/sdk/constants.h
%%DATADIR%%/locales/it_IT.json
%%DATADIR%%/locales/ja_JP.json
%%DATADIR%%/locales/ru_RU.json
+%%DATADIR%%/locales/uk_UA.json
%%DATADIR%%/locales/zh_CN.json
%%DATADIR%%/musikcube
%%DATADIR%%/musikcubed
+%%DATADIR%%/plugins/libalsaout.so
%%DATADIR%%/plugins/libffmpegdecoder.so
-%%DATADIR%%/plugins/libgmedecoder.so
%%DATADIR%%/plugins/libhttpdatastream.so
+%%DATADIR%%/plugins/libmpris.so
%%DATADIR%%/plugins/libnullout.so
%%DATADIR%%/plugins/libopenmptdecoder.so
+%%DATADIR%%/plugins/libpipewireout.so
+%%DATADIR%%/plugins/libportaudioout.so
+%%DATADIR%%/plugins/libpulseout.so
%%DATADIR%%/plugins/libserver.so
%%DATADIR%%/plugins/libsndioout.so
%%DATADIR%%/plugins/libstockencoders.so
diff --git a/multimedia/musique/Makefile b/multimedia/musique/Makefile
index 6df1cbd3042a..1a17c702614f 100644
--- a/multimedia/musique/Makefile
+++ b/multimedia/musique/Makefile
@@ -1,9 +1,10 @@
PORTNAME= musique
-DISTVERSION= 1.10.1
+DISTVERSION= 1.11
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= Music player built for speed, simplicity and style
+WWW= https://flavio.tordini.org/musique
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -11,19 +12,20 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libmpv.so:multimedia/mpv \
libtag.so:audio/taglib
-USES= compiler:c++11-lang gl pkgconfig qmake qt:5
+USES= compiler:c++11-lang desktop-file-utils gl pkgconfig qmake qt:5
USE_GITHUB= yes
GH_ACCOUNT= flaviotordini
GH_TUPLE= \
- flaviotordini:http:b85c564:flaviotordini_http/lib/http \
- flaviotordini:idle:6aa092d:flaviotordini_idle/lib/idle \
- flaviotordini:js:13c9544:flaviotordini_js/lib/js \
- flaviotordini:media:65afcf5:flaviotordini_media/lib/media \
- flaviotordini:sharedcache:024e759:flaviotordini_sharedcache/lib/sharedcache \
- flaviotordini:updater:18ce1d0:flaviotordini_updater/lib/updater
+ flaviotordini:http:39bfc6bb149d0b5a49ab966c824906e0523d161c:flaviotordini_http/lib/http \
+ flaviotordini:idle:6aa092da64a011e445bf31cf31c0cd8dda4c64ff:flaviotordini_idle/lib/idle \
+ flaviotordini:media:5443f81c52ac008a6de6593124d03ee41f772633:flaviotordini_media/lib/media \
+ flaviotordini:updater:bbbf833531cd80bbd8a190fa1ae98a1f068c8d16:flaviotordini_updater/lib/updater \
+ flaviotordini:js:deed5303b0b6a587c62be73a9bc198058964111c:flaviotordini_js/lib/js \
+ flaviotordini:sharedcache:eec981a4285c7b371aa9dc7f0074f03794e86a26:flaviotordini_sharedcache/lib/sharedcache \
+ itay-grudev:SingleApplication:14e9d14675156d3b55473a3b085de0e2a9f75578:itay_grudev_SingleApplication/lib/singleapplication
USE_GL= gl
-USE_QT= core dbus declarative gui network sql widgets buildtools_build
+USE_QT= core dbus declarative gui network sql widgets buildtools:build
QMAKE_ARGS= QMAKE_LRELEASE=${LRELEASE}
@@ -33,7 +35,7 @@ OPTIONS_DEFINE= NLS
OPTIONS_DEFAULT= NLS
OPTIONS_SUB= yes
-NLS_USE= QT=linguisttools_build
+NLS_USE= QT=linguisttools:build
post-patch-NLS-off:
@${REINPLACE_CMD} -e '/include(locale\/locale.pri)/d' ${WRKSRC}/${PORTNAME}.pro
diff --git a/multimedia/musique/distinfo b/multimedia/musique/distinfo
index f4ff1daa2225..9ffc5fd080b7 100644
--- a/multimedia/musique/distinfo
+++ b/multimedia/musique/distinfo
@@ -1,15 +1,17 @@
-TIMESTAMP = 1632271728
-SHA256 (flaviotordini-musique-1.10.1_GH0.tar.gz) = 51ccbcdaee6394d3d0a4691143cb88ff7657e6df2f1cf7860ef165e14f30d903
-SIZE (flaviotordini-musique-1.10.1_GH0.tar.gz) = 505160
-SHA256 (flaviotordini-http-b85c564_GH0.tar.gz) = 9d758d1927c8f69d915c9ea32d289ef497aa737a044e9d1a9490d0471d4c44b4
-SIZE (flaviotordini-http-b85c564_GH0.tar.gz) = 11014
-SHA256 (flaviotordini-idle-6aa092d_GH0.tar.gz) = 9aa3ac940f900d8b6924492905ff1351e9af6224fdcb2d1b6e5a55af920c81eb
-SIZE (flaviotordini-idle-6aa092d_GH0.tar.gz) = 1675
-SHA256 (flaviotordini-js-13c9544_GH0.tar.gz) = e6dd9a47017f7893de6151acddf7f8d88fb44c46348b9dcdb86de1e0ec80474e
-SIZE (flaviotordini-js-13c9544_GH0.tar.gz) = 16200
-SHA256 (flaviotordini-media-65afcf5_GH0.tar.gz) = d7aabf768be14d41b2a46bc02c63acf6236a62dc952d3c24485b231706a1013e
-SIZE (flaviotordini-media-65afcf5_GH0.tar.gz) = 25066
-SHA256 (flaviotordini-sharedcache-024e759_GH0.tar.gz) = d723ed007010212fa1949e74721664c154c370864a8bbbefba79673636d0230c
-SIZE (flaviotordini-sharedcache-024e759_GH0.tar.gz) = 2443
-SHA256 (flaviotordini-updater-18ce1d0_GH0.tar.gz) = d134aceec7558fe477a2daf11fa768371de832425c0d762d6c78b2d351b46856
-SIZE (flaviotordini-updater-18ce1d0_GH0.tar.gz) = 24261
+TIMESTAMP = 1687793497
+SHA256 (flaviotordini-musique-1.11_GH0.tar.gz) = de4f6948f530b37df7a9a7f3c187670957726382aca9651ae57818c5120a1c47
+SIZE (flaviotordini-musique-1.11_GH0.tar.gz) = 487321
+SHA256 (flaviotordini-http-39bfc6bb149d0b5a49ab966c824906e0523d161c_GH0.tar.gz) = 39bd6a816ff10f7541704055cf8d3aef6bdc9a9b7243d265df51a6616096b233
+SIZE (flaviotordini-http-39bfc6bb149d0b5a49ab966c824906e0523d161c_GH0.tar.gz) = 11174
+SHA256 (flaviotordini-idle-6aa092da64a011e445bf31cf31c0cd8dda4c64ff_GH0.tar.gz) = 597156e1f7ac3b8d8bdd251008cc0d10487c120462576088eed69425048d4bde
+SIZE (flaviotordini-idle-6aa092da64a011e445bf31cf31c0cd8dda4c64ff_GH0.tar.gz) = 1682
+SHA256 (flaviotordini-media-5443f81c52ac008a6de6593124d03ee41f772633_GH0.tar.gz) = 3a973dacdee44557b28b6aabe121fb8095af2e22ff537c546ea67eb222b24210
+SIZE (flaviotordini-media-5443f81c52ac008a6de6593124d03ee41f772633_GH0.tar.gz) = 26234
+SHA256 (flaviotordini-updater-bbbf833531cd80bbd8a190fa1ae98a1f068c8d16_GH0.tar.gz) = 1633ea982301a0f8d87b7f245b483122f672c12ea36a35d5ae258e782a5a4e6a
+SIZE (flaviotordini-updater-bbbf833531cd80bbd8a190fa1ae98a1f068c8d16_GH0.tar.gz) = 24745
+SHA256 (flaviotordini-js-deed5303b0b6a587c62be73a9bc198058964111c_GH0.tar.gz) = d63b63c93f775b40802a1e5a13672d882d2cfb0708c02ebf228a06ae78ee6dfe
+SIZE (flaviotordini-js-deed5303b0b6a587c62be73a9bc198058964111c_GH0.tar.gz) = 16901
+SHA256 (flaviotordini-sharedcache-eec981a4285c7b371aa9dc7f0074f03794e86a26_GH0.tar.gz) = 646510d60016795f3d9230f98d2d6abaa71938ea1e28e39c4a41f651ce84a842
+SIZE (flaviotordini-sharedcache-eec981a4285c7b371aa9dc7f0074f03794e86a26_GH0.tar.gz) = 2437
+SHA256 (itay-grudev-SingleApplication-14e9d14675156d3b55473a3b085de0e2a9f75578_GH0.tar.gz) = 826a2eb9ac72aab77f7e1fe9d398c955696212c30f3f64edbfc47d997cdbc334
+SIZE (itay-grudev-SingleApplication-14e9d14675156d3b55473a3b085de0e2a9f75578_GH0.tar.gz) = 22733
diff --git a/multimedia/musique/pkg-descr b/multimedia/musique/pkg-descr
index a34f77393118..8206a68520bf 100644
--- a/multimedia/musique/pkg-descr
+++ b/multimedia/musique/pkg-descr
@@ -1,4 +1,2 @@
Musique is a music player built for speed, simplicity and style. It is written
in C++ using the Qt framework.
-
-WWW: https://flavio.tordini.org/musique
diff --git a/multimedia/mxflib/Makefile b/multimedia/mxflib/Makefile
index c1acf38d6466..1d481b55faa3 100644
--- a/multimedia/mxflib/Makefile
+++ b/multimedia/mxflib/Makefile
@@ -5,6 +5,7 @@ MASTER_SITES= SF
MAINTAINER= olgeni@FreeBSD.org
COMMENT= C++ library for MXF file I/O
+WWW= http://www.freemxf.org/
GNU_CONFIGURE= yes
diff --git a/multimedia/mxflib/pkg-descr b/multimedia/mxflib/pkg-descr
index 4f9feebf2a9f..d6b9a5000f0f 100644
--- a/multimedia/mxflib/pkg-descr
+++ b/multimedia/mxflib/pkg-descr
@@ -6,5 +6,3 @@ Utilities included:
* mxfdump and mxf2dot, to dump the MXF in text or graphical (graphviz)
format.
-
-WWW: http://www.freemxf.org/
diff --git a/multimedia/mythtv-frontend/Makefile b/multimedia/mythtv-frontend/Makefile
deleted file mode 100644
index 1e8abb6594ff..000000000000
--- a/multimedia/mythtv-frontend/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# Created by: Bernhard Froehlich <decke@bluelife.at>
-
-PORTREVISION= 3
-PKGNAMESUFFIX= -${SLAVEPORT}
-
-MAINTAINER= ahicks@p-o.co.uk
-COMMENT= Homebrew PVR project (frontend only)
-
-MASTERDIR= ${.CURDIR}/../../multimedia/mythtv
-SLAVEPORT= frontend
-PLIST= ${.CURDIR}/pkg-plist
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/mythtv-frontend/pkg-plist b/multimedia/mythtv-frontend/pkg-plist
deleted file mode 100644
index 13bbf1ee2cb5..000000000000
--- a/multimedia/mythtv-frontend/pkg-plist
+++ /dev/null
@@ -1,2007 +0,0 @@
-bin/mythavtest
-bin/mythccextractor
-bin/mythcommflag
-bin/mythffmpeg
-bin/mythffprobe
-bin/mythfrontend
-bin/mythjobqueue
-bin/mythlcdserver
-bin/mythmediaserver
-bin/mythpreviewgen
-bin/mythreplex
-bin/mythscreenwizard
-bin/mythshutdown
-bin/mythtranscode
-bin/mythutil
-bin/mythwelcome
-include/mythtv/audioconvert.h
-include/mythtv/audiooutput.h
-include/mythtv/audiooutputsettings.h
-include/mythtv/audiooutpututil.h
-include/mythtv/audiosettings.h
-include/mythtv/autodeletedeque.h
-include/mythtv/blockinput.h
-include/mythtv/bonjourregister.h
-include/mythtv/bswap.h
-include/mythtv/compat.h
-include/mythtv/dbutil.h
-include/mythtv/dvdnav/dvd_types.h
-include/mythtv/dvdnav/dvdnav.h
-include/mythtv/dvdnav/dvdnav_events.h
-include/mythtv/dvdread/dvd_reader.h
-include/mythtv/dvdread/ifo_read.h
-include/mythtv/dvdread/ifo_types.h
-include/mythtv/dvdread/nav_read.h
-include/mythtv/dvdread/nav_types.h
-include/mythtv/eldutils.h
-include/mythtv/exitcodes.h
-include/mythtv/ffmpeg-mmx.h
-include/mythtv/filesysteminfo.h
-include/mythtv/goom/drawmethods.h
-include/mythtv/goom/filters.h
-include/mythtv/goom/goom_core.h
-include/mythtv/goom/goom_tools.h
-include/mythtv/goom/goomconfig.h
-include/mythtv/goom/graphic.h
-include/mythtv/goom/ifs.h
-include/mythtv/goom/lines.h
-include/mythtv/goom/mathtools.h
-include/mythtv/goom/mmx.h
-include/mythtv/goom/tentacle3d.h
-include/mythtv/goom/v3d.h
-include/mythtv/hardwareprofile.h
-include/mythtv/iso3166.h
-include/mythtv/iso639.h
-include/mythtv/langsettings.h
-include/mythtv/lcddevice.h
-include/mythtv/libavcodec/ac3_parser.h
-include/mythtv/libavcodec/adts_parser.h
-include/mythtv/libavcodec/avcodec.h
-include/mythtv/libavcodec/avdct.h
-include/mythtv/libavcodec/avfft.h
-include/mythtv/libavcodec/d3d11va.h
-include/mythtv/libavcodec/dirac.h
-include/mythtv/libavcodec/dv_profile.h
-include/mythtv/libavcodec/dxva2.h
-include/mythtv/libavcodec/jni.h
-include/mythtv/libavcodec/mediacodec.h
-include/mythtv/libavcodec/qsv.h
-include/mythtv/libavcodec/vaapi.h
-include/mythtv/libavcodec/vdpau.h
-include/mythtv/libavcodec/version.h
-include/mythtv/libavcodec/videotoolbox.h
-include/mythtv/libavcodec/vorbis_parser.h
-include/mythtv/libavcodec/xvmc.h
-include/mythtv/libavdevice/avdevice.h
-include/mythtv/libavdevice/version.h
-include/mythtv/libavfilter/avfilter.h
-include/mythtv/libavfilter/buffersink.h
-include/mythtv/libavfilter/buffersrc.h
-include/mythtv/libavfilter/version.h
-include/mythtv/libavformat/avformat.h
-include/mythtv/libavformat/avio.h
-include/mythtv/libavformat/version.h
-include/mythtv/libavutil/adler32.h
-include/mythtv/libavutil/aes.h
-include/mythtv/libavutil/aes_ctr.h
-include/mythtv/libavutil/attributes.h
-include/mythtv/libavutil/audio_fifo.h
-include/mythtv/libavutil/avassert.h
-include/mythtv/libavutil/avconfig.h
-include/mythtv/libavutil/avstring.h
-include/mythtv/libavutil/avutil.h
-include/mythtv/libavutil/base64.h
-include/mythtv/libavutil/blowfish.h
-include/mythtv/libavutil/bprint.h
-include/mythtv/libavutil/bswap.h
-include/mythtv/libavutil/buffer.h
-include/mythtv/libavutil/camellia.h
-include/mythtv/libavutil/cast5.h
-include/mythtv/libavutil/channel_layout.h
-include/mythtv/libavutil/common.h
-include/mythtv/libavutil/cpu.h
-include/mythtv/libavutil/crc.h
-include/mythtv/libavutil/des.h
-include/mythtv/libavutil/dict.h
-include/mythtv/libavutil/display.h
-include/mythtv/libavutil/downmix_info.h
-include/mythtv/libavutil/encryption_info.h
-include/mythtv/libavutil/error.h
-include/mythtv/libavutil/eval.h
-include/mythtv/libavutil/ffversion.h
-include/mythtv/libavutil/fifo.h
-include/mythtv/libavutil/file.h
-include/mythtv/libavutil/frame.h
-include/mythtv/libavutil/hash.h
-include/mythtv/libavutil/hdr_dynamic_metadata.h
-include/mythtv/libavutil/hmac.h
-include/mythtv/libavutil/hwcontext.h
-include/mythtv/libavutil/hwcontext_cuda.h
-include/mythtv/libavutil/hwcontext_d3d11va.h
-include/mythtv/libavutil/hwcontext_drm.h
-include/mythtv/libavutil/hwcontext_dxva2.h
-include/mythtv/libavutil/hwcontext_mediacodec.h
-include/mythtv/libavutil/hwcontext_qsv.h
-include/mythtv/libavutil/hwcontext_vaapi.h
-include/mythtv/libavutil/hwcontext_vdpau.h
-include/mythtv/libavutil/hwcontext_videotoolbox.h
-include/mythtv/libavutil/imgutils.h
-include/mythtv/libavutil/intfloat.h
-include/mythtv/libavutil/intreadwrite.h
-include/mythtv/libavutil/lfg.h
-include/mythtv/libavutil/log.h
-include/mythtv/libavutil/lzo.h
-include/mythtv/libavutil/macros.h
-include/mythtv/libavutil/mastering_display_metadata.h
-include/mythtv/libavutil/mathematics.h
-include/mythtv/libavutil/md5.h
-include/mythtv/libavutil/mem.h
-include/mythtv/libavutil/motion_vector.h
-include/mythtv/libavutil/murmur3.h
-include/mythtv/libavutil/opt.h
-include/mythtv/libavutil/parseutils.h
-include/mythtv/libavutil/pixdesc.h
-include/mythtv/libavutil/pixelutils.h
-include/mythtv/libavutil/pixfmt.h
-include/mythtv/libavutil/random_seed.h
-include/mythtv/libavutil/rational.h
-include/mythtv/libavutil/rc4.h
-include/mythtv/libavutil/replaygain.h
-include/mythtv/libavutil/ripemd.h
-include/mythtv/libavutil/samplefmt.h
-include/mythtv/libavutil/sha.h
-include/mythtv/libavutil/sha512.h
-include/mythtv/libavutil/spherical.h
-include/mythtv/libavutil/stereo3d.h
-include/mythtv/libavutil/tea.h
-include/mythtv/libavutil/threadmessage.h
-include/mythtv/libavutil/time.h
-include/mythtv/libavutil/timecode.h
-include/mythtv/libavutil/timestamp.h
-include/mythtv/libavutil/tree.h
-include/mythtv/libavutil/twofish.h
-include/mythtv/libavutil/tx.h
-include/mythtv/libavutil/version.h
-include/mythtv/libavutil/xtea.h
-include/mythtv/libmyth/audioconvert.h
-include/mythtv/libmyth/audiooutput.h
-include/mythtv/libmyth/audiooutputsettings.h
-include/mythtv/libmyth/audiooutpututil.h
-include/mythtv/libmyth/audiosettings.h
-include/mythtv/libmyth/eldutils.h
-include/mythtv/libmyth/langsettings.h
-include/mythtv/libmyth/mythcontext.h
-include/mythtv/libmyth/mythexp.h
-include/mythtv/libmyth/mythmediamonitor.h
-include/mythtv/libmyth/mythrssmanager.h
-include/mythtv/libmyth/mythterminal.h
-include/mythtv/libmyth/netgrabbermanager.h
-include/mythtv/libmyth/netutils.h
-include/mythtv/libmyth/output.h
-include/mythtv/libmyth/programinfo.h
-include/mythtv/libmyth/programtypes.h
-include/mythtv/libmyth/recordingtypes.h
-include/mythtv/libmyth/remoteutil.h
-include/mythtv/libmyth/rssparse.h
-include/mythtv/libmyth/schemawizard.h
-include/mythtv/libmyth/standardsettings.h
-include/mythtv/libmyth/storagegroupeditor.h
-include/mythtv/libmyth/visual.h
-include/mythtv/libmyth/volumebase.h
-include/mythtv/libmythbase/autodeletedeque.h
-include/mythtv/libmythbase/bonjourregister.h
-include/mythtv/libmythbase/bswap.h
-include/mythtv/libmythbase/compat.h
-include/mythtv/libmythbase/dbutil.h
-include/mythtv/libmythbase/exitcodes.h
-include/mythtv/libmythbase/ffmpeg-mmx.h
-include/mythtv/libmythbase/filesysteminfo.h
-include/mythtv/libmythbase/hardwareprofile.h
-include/mythtv/libmythbase/iso3166.h
-include/mythtv/libmythbase/iso639.h
-include/mythtv/libmythbase/lcddevice.h
-include/mythtv/libmythbase/loggingserver.h
-include/mythtv/libmythbase/mthread.h
-include/mythtv/libmythbase/mthreadpool.h
-include/mythtv/libmythbase/mythbaseexp.h
-include/mythtv/libmythbase/mythcdrom.h
-include/mythtv/libmythbase/mythcommandlineparser.h
-include/mythtv/libmythbase/mythconfig.h
-include/mythtv/libmythbase/mythconfig.mak
-include/mythtv/libmythbase/mythcorecontext.h
-include/mythtv/libmythbase/mythcoreutil.h
-include/mythtv/libmythbase/mythdate.h
-include/mythtv/libmythbase/mythdb.h
-include/mythtv/libmythbase/mythdbcon.h
-include/mythtv/libmythbase/mythdbparams.h
-include/mythtv/libmythbase/mythdeque.h
-include/mythtv/libmythbase/mythdirs.h
-include/mythtv/libmythbase/mythdownloadmanager.h
-include/mythtv/libmythbase/mythevent.h
-include/mythtv/libmythbase/mythlocale.h
-include/mythtv/libmythbase/mythlogging.h
-include/mythtv/libmythbase/mythmedia.h
-include/mythtv/libmythbase/mythmiscutil.h
-include/mythtv/libmythbase/mythobservable.h
-include/mythtv/libmythbase/mythplugin.h
-include/mythtv/libmythbase/mythpluginapi.h
-include/mythtv/libmythbase/mythqtcompat.h
-include/mythtv/libmythbase/mythsession.h
-include/mythtv/libmythbase/mythsingledownload.h
-include/mythtv/libmythbase/mythsocket.h
-include/mythtv/libmythbase/mythsocket_cb.h
-include/mythtv/libmythbase/mythsorthelper.h
-include/mythtv/libmythbase/mythstorage.h
-include/mythtv/libmythbase/mythsystem.h
-include/mythtv/libmythbase/mythsystemlegacy.h
-include/mythtv/libmythbase/mythtimer.h
-include/mythtv/libmythbase/mythtranslation.h
-include/mythtv/libmythbase/mythtypes.h
-include/mythtv/libmythbase/mythversion.h
-include/mythtv/libmythbase/plist.h
-include/mythtv/libmythbase/referencecounter.h
-include/mythtv/libmythbase/referencecounterlist.h
-include/mythtv/libmythbase/remotefile.h
-include/mythtv/libmythbase/serverpool.h
-include/mythtv/libmythbase/signalhandling.h
-include/mythtv/libmythbase/storagegroup.h
-include/mythtv/libmythbase/threadedfilewriter.h
-include/mythtv/libmythbase/verbosedefs.h
-include/mythtv/libmythbase/version.h
-include/mythtv/libmythservicecontracts/datacontracthelper.h
-include/mythtv/libmythservicecontracts/datacontracts/artworkInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/artworkInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/backendInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/blurayInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/buildInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/captureCard.h
-include/mythtv/libmythservicecontracts/datacontracts/captureCardList.h
-include/mythtv/libmythservicecontracts/datacontracts/castMember.h
-include/mythtv/libmythservicecontracts/datacontracts/castMemberList.h
-include/mythtv/libmythservicecontracts/datacontracts/channelGroup.h
-include/mythtv/libmythservicecontracts/datacontracts/channelGroupList.h
-include/mythtv/libmythservicecontracts/datacontracts/channelInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/connectionInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/cutList.h
-include/mythtv/libmythservicecontracts/datacontracts/cutting.h
-include/mythtv/libmythservicecontracts/datacontracts/databaseInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/enum.h
-include/mythtv/libmythservicecontracts/datacontracts/enumItem.h
-include/mythtv/libmythservicecontracts/datacontracts/envInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/frontendActionList.h
-include/mythtv/libmythservicecontracts/datacontracts/frontendStatus.h
-include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/imageMetadataInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/imageSyncInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/input.h
-include/mythtv/libmythservicecontracts/datacontracts/inputList.h
-include/mythtv/libmythservicecontracts/datacontracts/labelValue.h
-include/mythtv/libmythservicecontracts/datacontracts/lineup.h
-include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/liveStreamInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/logInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/logMessage.h
-include/mythtv/libmythservicecontracts/datacontracts/logMessageList.h
-include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/musicMetadataInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/programAndChannel.h
-include/mythtv/libmythservicecontracts/datacontracts/programGuide.h
-include/mythtv/libmythservicecontracts/datacontracts/recRule.h
-include/mythtv/libmythservicecontracts/datacontracts/recRuleFilter.h
-include/mythtv/libmythservicecontracts/datacontracts/recRuleFilterList.h
-include/mythtv/libmythservicecontracts/datacontracts/recRuleList.h
-include/mythtv/libmythservicecontracts/datacontracts/recording.h
-include/mythtv/libmythservicecontracts/datacontracts/settingList.h
-include/mythtv/libmythservicecontracts/datacontracts/timeZoneInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/titleInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/titleInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/versionInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/videoLookupInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/videoLookupInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/videoMetadataInfo.h
-include/mythtv/libmythservicecontracts/datacontracts/videoMetadataInfoList.h
-include/mythtv/libmythservicecontracts/datacontracts/videoMultiplex.h
-include/mythtv/libmythservicecontracts/datacontracts/videoMultiplexList.h
-include/mythtv/libmythservicecontracts/datacontracts/videoSource.h
-include/mythtv/libmythservicecontracts/datacontracts/videoSourceList.h
-include/mythtv/libmythservicecontracts/datacontracts/wolInfo.h
-include/mythtv/libmythservicecontracts/enums/recStatus.h
-include/mythtv/libmythservicecontracts/service.h
-include/mythtv/libmythservicecontracts/serviceexp.h
-include/mythtv/libmythservicecontracts/services/captureServices.h
-include/mythtv/libmythservicecontracts/services/channelServices.h
-include/mythtv/libmythservicecontracts/services/contentServices.h
-include/mythtv/libmythservicecontracts/services/dvrServices.h
-include/mythtv/libmythservicecontracts/services/frontendServices.h
-include/mythtv/libmythservicecontracts/services/guideServices.h
-include/mythtv/libmythservicecontracts/services/imageServices.h
-include/mythtv/libmythservicecontracts/services/musicServices.h
-include/mythtv/libmythservicecontracts/services/mythServices.h
-include/mythtv/libmythservicecontracts/services/rttiServices.h
-include/mythtv/libmythservicecontracts/services/videoServices.h
-include/mythtv/libmythui/mythdialogbox.h
-include/mythtv/libmythui/mythfontproperties.h
-include/mythtv/libmythui/mythgenerictree.h
-include/mythtv/libmythui/mythgesture.h
-include/mythtv/libmythui/mythimage.h
-include/mythtv/libmythui/mythmainwindow.h
-include/mythtv/libmythui/mythnotification.h
-include/mythtv/libmythui/mythnotificationcenter.h
-include/mythtv/libmythui/mythpainter.h
-include/mythtv/libmythui/mythpainter_qt.h
-include/mythtv/libmythui/mythprogressdialog.h
-include/mythtv/libmythui/mythrect.h
-include/mythtv/libmythui/mythscreenstack.h
-include/mythtv/libmythui/mythscreentype.h
-include/mythtv/libmythui/myththemebase.h
-include/mythtv/libmythui/myththemedmenu.h
-include/mythtv/libmythui/mythuiactions.h
-include/mythtv/libmythui/mythuianimation.h
-include/mythtv/libmythui/mythuibutton.h
-include/mythtv/libmythui/mythuibuttonlist.h
-include/mythtv/libmythui/mythuibuttontree.h
-include/mythtv/libmythui/mythuicheckbox.h
-include/mythtv/libmythui/mythuiclock.h
-include/mythtv/libmythui/mythuicomposite.h
-include/mythtv/libmythui/mythuieditbar.h
-include/mythtv/libmythui/mythuiexp.h
-include/mythtv/libmythui/mythuifilebrowser.h
-include/mythtv/libmythui/mythuigroup.h
-include/mythtv/libmythui/mythuiguidegrid.h
-include/mythtv/libmythui/mythuihelper.h
-include/mythtv/libmythui/mythuiimage.h
-include/mythtv/libmythui/mythuiprogressbar.h
-include/mythtv/libmythui/mythuiscrollbar.h
-include/mythtv/libmythui/mythuishape.h
-include/mythtv/libmythui/mythuisimpletext.h
-include/mythtv/libmythui/mythuispinbox.h
-include/mythtv/libmythui/mythuistatetracker.h
-include/mythtv/libmythui/mythuistatetype.h
-include/mythtv/libmythui/mythuitext.h
-include/mythtv/libmythui/mythuitextedit.h
-include/mythtv/libmythui/mythuitype.h
-include/mythtv/libmythui/mythuiutils.h
-include/mythtv/libmythui/mythuivideo.h
-include/mythtv/libmythui/mythuiwebbrowser.h
-include/mythtv/libmythui/mythvirtualkeyboard.h
-include/mythtv/libmythui/themeinfo.h
-include/mythtv/libmythui/x11colors.h
-include/mythtv/libmythui/xmlparsebase.h
-include/mythtv/libpostproc/postprocess.h
-include/mythtv/libpostproc/version.h
-include/mythtv/libswresample/swresample.h
-include/mythtv/libswresample/version.h
-include/mythtv/libswscale/swscale.h
-include/mythtv/libswscale/version.h
-include/mythtv/loggingserver.h
-include/mythtv/metadata/bluraymetadata.h
-include/mythtv/metadata/cleanup.h
-include/mythtv/metadata/dbaccess.h
-include/mythtv/metadata/dirscan.h
-include/mythtv/metadata/globals.h
-include/mythtv/metadata/imagemanager.h
-include/mythtv/metadata/imagemetadata.h
-include/mythtv/metadata/imagetypes.h
-include/mythtv/metadata/lyricsdata.h
-include/mythtv/metadata/metadatacommon.h
-include/mythtv/metadata/metadatadownload.h
-include/mythtv/metadata/metadatafactory.h
-include/mythtv/metadata/metadatagrabber.h
-include/mythtv/metadata/metadataimagedownload.h
-include/mythtv/metadata/metaio.h
-include/mythtv/metadata/metaioavfcomment.h
-include/mythtv/metadata/metaioflacvorbis.h
-include/mythtv/metadata/metaioid3.h
-include/mythtv/metadata/metaiomp4.h
-include/mythtv/metadata/metaiooggvorbis.h
-include/mythtv/metadata/metaiotaglib.h
-include/mythtv/metadata/metaiowavpack.h
-include/mythtv/metadata/musicfilescanner.h
-include/mythtv/metadata/musicmetadata.h
-include/mythtv/metadata/musicutils.h
-include/mythtv/metadata/mythmetaexp.h
-include/mythtv/metadata/mythuiimageresults.h
-include/mythtv/metadata/mythuimetadataresults.h
-include/mythtv/metadata/parentalcontrols.h
-include/mythtv/metadata/quicksp.h
-include/mythtv/metadata/videometadata.h
-include/mythtv/metadata/videometadatalistmanager.h
-include/mythtv/metadata/videoscan.h
-include/mythtv/metadata/videoutils.h
-include/mythtv/metadataimagehelper.h
-include/mythtv/mpeg2dec/mpeg2.h
-include/mythtv/mthread.h
-include/mythtv/mthreadpool.h
-include/mythtv/mythavutil.h
-include/mythtv/mythbaseexp.h
-include/mythtv/mythcdrom.h
-include/mythtv/mythcommandlineparser.h
-include/mythtv/mythconfig.h
-include/mythtv/mythconfig.mak
-include/mythtv/mythcontext.h
-include/mythtv/mythcorecontext.h
-include/mythtv/mythcoreutil.h
-include/mythtv/mythdate.h
-include/mythtv/mythdb.h
-include/mythtv/mythdbcon.h
-include/mythtv/mythdbparams.h
-include/mythtv/mythdeque.h
-include/mythtv/mythdirs.h
-include/mythtv/mythdownloadmanager.h
-include/mythtv/mythevent.h
-include/mythtv/mythexp.h
-include/mythtv/mythframe.h
-include/mythtv/mythlocale.h
-include/mythtv/mythlogging.h
-include/mythtv/mythmedia.h
-include/mythtv/mythmediamonitor.h
-include/mythtv/mythmiscutil.h
-include/mythtv/mythobservable.h
-include/mythtv/mythplugin.h
-include/mythtv/mythpluginapi.h
-include/mythtv/mythqtcompat.h
-include/mythtv/mythrssmanager.h
-include/mythtv/mythsession.h
-include/mythtv/mythsingledownload.h
-include/mythtv/mythsocket.h
-include/mythtv/mythsocket_cb.h
-include/mythtv/mythsorthelper.h
-include/mythtv/mythstorage.h
-include/mythtv/mythsystem.h
-include/mythtv/mythsystemlegacy.h
-include/mythtv/mythterminal.h
-include/mythtv/mythtimer.h
-include/mythtv/mythtranslation.h
-include/mythtv/mythtvexp.h
-include/mythtv/mythtypes.h
-include/mythtv/mythversion.h
-include/mythtv/netgrabbermanager.h
-include/mythtv/netutils.h
-include/mythtv/output.h
-include/mythtv/playgroup.h
-include/mythtv/plist.h
-include/mythtv/programinfo.h
-include/mythtv/programtypes.h
-include/mythtv/recordingtypes.h
-include/mythtv/referencecounter.h
-include/mythtv/referencecounterlist.h
-include/mythtv/remotefile.h
-include/mythtv/remoteutil.h
-include/mythtv/rssparse.h
-include/mythtv/schemawizard.h
-include/mythtv/serverpool.h
-include/mythtv/signalhandling.h
-include/mythtv/standardsettings.h
-include/mythtv/storagegroup.h
-include/mythtv/storagegroupeditor.h
-include/mythtv/threadedfilewriter.h
-include/mythtv/udfread.h
-include/mythtv/upnp/bufferedsocketdevice.h
-include/mythtv/upnp/configuration.h
-include/mythtv/upnp/eventing.h
-include/mythtv/upnp/htmlserver.h
-include/mythtv/upnp/httprequest.h
-include/mythtv/upnp/httpserver.h
-include/mythtv/upnp/jsonSerializer.h
-include/mythtv/upnp/mmembuf.h
-include/mythtv/upnp/mythxmlclient.h
-include/mythtv/upnp/serializer.h
-include/mythtv/upnp/serverSideScripting.h
-include/mythtv/upnp/servicehost.h
-include/mythtv/upnp/soapSerializer.h
-include/mythtv/upnp/soapclient.h
-include/mythtv/upnp/ssdp.h
-include/mythtv/upnp/ssdpcache.h
-include/mythtv/upnp/taskqueue.h
-include/mythtv/upnp/upnp.h
-include/mythtv/upnp/upnpcds.h
-include/mythtv/upnp/upnpcdsobjects.h
-include/mythtv/upnp/upnpcmgr.h
-include/mythtv/upnp/upnpdevice.h
-include/mythtv/upnp/upnphelpers.h
-include/mythtv/upnp/upnpsubscription.h
-include/mythtv/upnp/upnptaskcache.h
-include/mythtv/upnp/upnptaskevent.h
-include/mythtv/upnp/upnptasknotify.h
-include/mythtv/upnp/upnptasksearch.h
-include/mythtv/upnp/upnputil.h
-include/mythtv/upnp/wsdl.h
-include/mythtv/upnp/xmlSerializer.h
-include/mythtv/upnp/xsd.h
-include/mythtv/verbosedefs.h
-include/mythtv/version.h
-include/mythtv/visual.h
-include/mythtv/volumebase.h
-lib/libmyth-31.so
-lib/libmyth-31.so.31
-lib/libmyth-31.so.31.0
-lib/libmyth-31.so.31.0.0
-lib/libmythavcodec.so
-lib/libmythavcodec.so.58
-lib/libmythavcodec.so.58.54.100
-lib/libmythavdevice.so
-lib/libmythavdevice.so.58
-lib/libmythavdevice.so.58.8.100
-lib/libmythavfilter.so
-lib/libmythavfilter.so.7
-lib/libmythavfilter.so.7.57.100
-lib/libmythavformat.so
-lib/libmythavformat.so.58
-lib/libmythavformat.so.58.29.100
-lib/libmythavutil.so
-lib/libmythavutil.so.56
-lib/libmythavutil.so.56.31.100
-lib/libmythbase-31.so
-lib/libmythbase-31.so.31
-lib/libmythbase-31.so.31.0
-lib/libmythbase-31.so.31.0.0
-lib/libmythfreemheg-31.so
-lib/libmythfreemheg-31.so.31
-lib/libmythfreemheg-31.so.31.0
-lib/libmythfreemheg-31.so.31.0.0
-lib/libmythmetadata-31.so
-lib/libmythmetadata-31.so.31
-lib/libmythmetadata-31.so.31.0
-lib/libmythmetadata-31.so.31.0.0
-lib/libmythpostproc.so
-lib/libmythpostproc.so.55
-lib/libmythpostproc.so.55.5.100
-lib/libmythprotoserver-31.so
-lib/libmythprotoserver-31.so.31
-lib/libmythprotoserver-31.so.31.0
-lib/libmythprotoserver-31.so.31.0.0
-lib/libmythservicecontracts-31.so
-lib/libmythservicecontracts-31.so.31
-lib/libmythservicecontracts-31.so.31.0
-lib/libmythservicecontracts-31.so.31.0.0
-lib/libmythswresample.so
-lib/libmythswresample.so.3
-lib/libmythswresample.so.3.5.100
-lib/libmythswscale.so
-lib/libmythswscale.so.5
-lib/libmythswscale.so.5.5.100
-lib/libmythtv-31.so
-lib/libmythtv-31.so.31
-lib/libmythtv-31.so.31.0
-lib/libmythtv-31.so.31.0.0
-lib/libmythui-31.so
-lib/libmythui-31.so.31
-lib/libmythui-31.so.31.0
-lib/libmythui-31.so.31.0.0
-lib/libmythupnp-31.so
-lib/libmythupnp-31.so.31
-lib/libmythupnp-31.so.31.0
-lib/libmythupnp-31.so.31.0.0
-%%DATADIR%%/CDS_scpd.xml
-%%DATADIR%%/CMGR_scpd.xml
-%%DATADIR%%/MFEXML_scpd.xml
-%%DATADIR%%/MSRR_scpd.xml
-%%DATADIR%%/bindings/php/MythBackend.php
-%%DATADIR%%/bindings/php/MythBase.php
-%%DATADIR%%/bindings/php/MythFrontend.php
-%%DATADIR%%/bindings/php/MythTV.php
-%%DATADIR%%/bindings/php/MythTVChannel.php
-%%DATADIR%%/bindings/php/MythTVProgram.php
-%%DATADIR%%/bindings/php/MythTVRecording.php
-%%DATADIR%%/bindings/php/MythTVStorageGroup.php
-%%DATADIR%%/fonts/DroidSans-Bold.ttf
-%%DATADIR%%/fonts/DroidSans.ttf
-%%DATADIR%%/fonts/DroidSansMono.ttf
-%%DATADIR%%/fonts/DroidSerif-Bold.ttf
-%%DATADIR%%/fonts/DroidSerif-BoldItalic.ttf
-%%DATADIR%%/fonts/DroidSerif-Italic.ttf
-%%DATADIR%%/fonts/DroidSerif-Regular.ttf
-%%DATADIR%%/fonts/FreeMono.ttf
-%%DATADIR%%/fonts/FreeMonoBold.ttf
-%%DATADIR%%/fonts/FreeMonoBoldOblique.ttf
-%%DATADIR%%/fonts/FreeMonoOblique.ttf
-%%DATADIR%%/fonts/FreeSans.ttf
-%%DATADIR%%/fonts/FreeSansBold.ttf
-%%DATADIR%%/fonts/FreeSansBoldOblique.ttf
-%%DATADIR%%/fonts/FreeSansOblique.ttf
-%%DATADIR%%/fonts/FreeSerif.ttf
-%%DATADIR%%/fonts/FreeSerifBold.ttf
-%%DATADIR%%/fonts/FreeSerifBoldItalic.ttf
-%%DATADIR%%/fonts/FreeSerifItalic.ttf
-%%DATADIR%%/fonts/Purisa.ttf
-%%DATADIR%%/fonts/README-TeX-Gyre-Chorus.txt
-%%DATADIR%%/fonts/README-droid.txt
-%%DATADIR%%/fonts/README-freefont-20120503.txt
-%%DATADIR%%/fonts/README-purisa.txt
-%%DATADIR%%/fonts/Tiresias Infofont Bold.ttf
-%%DATADIR%%/fonts/Tiresias Infofont Italic.ttf
-%%DATADIR%%/fonts/Tiresias Infofont.ttf
-%%DATADIR%%/fonts/texgyrechorus-mediumitalic.otf
-%%DATADIR%%/fonts/tiresias_gpl3.txt
-%%DATADIR%%/html/3rdParty/jquery/MYTH_README
-%%DATADIR%%/html/3rdParty/jquery/galleria/LICENSE
-%%DATADIR%%/html/3rdParty/jquery/galleria/galleria.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-demo.html
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/flickr-loader.gif
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/galleria.flickr.min.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/flickr/loader.gif
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/galleria.history.min.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/history/history-demo.html
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/galleria.picasa.min.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/loader.gif
-%%DATADIR%%/html/3rdParty/jquery/galleria/plugins/picasa/picasa-demo.html
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/README.rst
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-demo.html
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-loader.gif
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/classic-map.png
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.css
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.js
-%%DATADIR%%/html/3rdParty/jquery/galleria/themes/classic/galleria.classic.min.js
-%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.js
-%%DATADIR%%/html/3rdParty/jquery/jquery-2.0.3.min.js
-%%DATADIR%%/html/3rdParty/jquery/jquery-2.1.4.min.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryContextMenu/js/jquery.contextmenu.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/application.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/code.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/css.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/db.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/directory.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/doc.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/file.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/film.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/flash.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/folder_open.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/html.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/java.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/linux.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/music.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/pdf.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/php.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/picture.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ppt.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/psd.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/ruby.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/script.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/spinner.gif
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/txt.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/xls.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/images/zip.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.css
-%%DATADIR%%/html/3rdParty/jquery/jqueryFileTree/jqueryFileTree.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/css/ui.jqgrid.css
-%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/grid.locale-en.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryGrid/js/jquery.jqGrid.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/README.md
-%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jquery.jscroll.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryJScroll/jscroll.jquery.json
-%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/jquery.multiselect.css
-%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/css/ui.multiselect.css
-%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/jquery.multiselect.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryMultiSelect/js/ui-multiselect-en.js
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_30_cccccc_40x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_flat_50_5c5c5c_40x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_glass_40_ffc73d_1x400.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_hexagon_10_000000_12x10.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-hard_20_0b6a98_1x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_33_003147_1x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_35_222222_1x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_44_444444_1x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-bg_highlight-soft_80_eeeeee_1x100.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_222222_256x240.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_4b8e0b_256x240.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_a83300_256x240.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_cccccc_256x240.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/images/ui-icons_ffffff_256x240.png
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui-1.10.3.css
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui.css
-%%DATADIR%%/html/3rdParty/jquery/jqueryUI/js/jquery-ui-1.10.3.js
-%%DATADIR%%/html/3rdParty/jwplayer.qsp
-%%DATADIR%%/html/backend_index.qsp
-%%DATADIR%%/html/css/Status.css
-%%DATADIR%%/html/css/settings.css
-%%DATADIR%%/html/css/setup.css
-%%DATADIR%%/html/css/site.css
-%%DATADIR%%/html/css/wsdl.css
-%%DATADIR%%/html/debug/websocket.qsp
-%%DATADIR%%/html/frontend_index.qsp
-%%DATADIR%%/html/images/blank.gif
-%%DATADIR%%/html/images/checkerboard_100x100.png
-%%DATADIR%%/html/images/favicon.ico
-%%DATADIR%%/html/images/icons/README
-%%DATADIR%%/html/images/icons/upnp_large_icon.jpg
-%%DATADIR%%/html/images/icons/upnp_large_icon.png
-%%DATADIR%%/html/images/icons/upnp_small_icon.jpg
-%%DATADIR%%/html/images/icons/upnp_small_icon.png
-%%DATADIR%%/html/images/menu-button-bg.gif
-%%DATADIR%%/html/images/mythtv.png
-%%DATADIR%%/html/js/fileutil.js
-%%DATADIR%%/html/js/inspect.js
-%%DATADIR%%/html/js/menu.js
-%%DATADIR%%/html/js/settings.js
-%%DATADIR%%/html/js/util.qjs
-%%DATADIR%%/html/js/utility.js
-%%DATADIR%%/html/js/websocket_events.js
-%%DATADIR%%/html/menu.qsp
-%%DATADIR%%/html/misc/css/overview.css
-%%DATADIR%%/html/misc/database-backup.html
-%%DATADIR%%/html/misc/database-repair.html
-%%DATADIR%%/html/misc/databasetabs.html
-%%DATADIR%%/html/misc/hardwareprofile-general.html
-%%DATADIR%%/html/misc/hardwareprofile-myprofile.html
-%%DATADIR%%/html/misc/hardwareprofile.html
-%%DATADIR%%/html/misc/js/databasetabs.js
-%%DATADIR%%/html/misc/js/hardwareprofile.js
-%%DATADIR%%/html/misc/js/messagetab.js
-%%DATADIR%%/html/misc/js/overview.js
-%%DATADIR%%/html/misc/js/viewlogs.js
-%%DATADIR%%/html/misc/message.html
-%%DATADIR%%/html/misc/messagetab.html
-%%DATADIR%%/html/misc/misc_template.html
-%%DATADIR%%/html/misc/overview.qsp
-%%DATADIR%%/html/misc/placeholder.html
-%%DATADIR%%/html/misc/viewlogs.html
-%%DATADIR%%/html/robots.txt
-%%DATADIR%%/html/samples/hlstest.qsp
-%%DATADIR%%/html/samples/js/samples.js
-%%DATADIR%%/html/samples/livestream_rec.qsp
-%%DATADIR%%/html/samples/livestream_sg.qsp
-%%DATADIR%%/html/samples/recorded.qsp
-%%DATADIR%%/html/samples/serverside.qsp
-%%DATADIR%%/html/samples/storagegroups.qsp
-%%DATADIR%%/html/setup/ajax_backends/setting_util.qsp
-%%DATADIR%%/html/setup/channeleditor-channeldetail-multi.html
-%%DATADIR%%/html/setup/channeleditor-channeldetail.html
-%%DATADIR%%/html/setup/channeleditor.html
-%%DATADIR%%/html/setup/css/common.css
-%%DATADIR%%/html/setup/database.html
-%%DATADIR%%/html/setup/expert.html
-%%DATADIR%%/html/setup/general.html
-%%DATADIR%%/html/setup/guidedatasources-sourcedetail.html
-%%DATADIR%%/html/setup/guidedatasources.html
-%%DATADIR%%/html/setup/jobqueue-backend.html
-%%DATADIR%%/html/setup/jobqueue-job-editor.html
-%%DATADIR%%/html/setup/jobqueue-jobs.qsp
-%%DATADIR%%/html/setup/jobqueue.html
-%%DATADIR%%/html/setup/js/channeleditor.js
-%%DATADIR%%/html/setup/js/common.js
-%%DATADIR%%/html/setup/js/database.js
-%%DATADIR%%/html/setup/js/general.js
-%%DATADIR%%/html/setup/js/guidedatasources.js
-%%DATADIR%%/html/setup/js/jobqueue.js
-%%DATADIR%%/html/setup/js/password.js
-%%DATADIR%%/html/setup/js/storagegroups.js
-%%DATADIR%%/html/setup/js/systemevents.js
-%%DATADIR%%/html/setup/js/wizard.js
-%%DATADIR%%/html/setup/overview.html
-%%DATADIR%%/html/setup/password.html
-%%DATADIR%%/html/setup/setup_template.html
-%%DATADIR%%/html/setup/storagegroups-add-dir.html
-%%DATADIR%%/html/setup/storagegroups-add-new.html
-%%DATADIR%%/html/setup/storagegroups.html
-%%DATADIR%%/html/setup/systemevents.html
-%%DATADIR%%/html/setup/webfrontend-settings.qsp
-%%DATADIR%%/html/setup/wizard-database.html
-%%DATADIR%%/html/setup/wizard-guide_data.html
-%%DATADIR%%/html/setup/wizard-media_storage.html
-%%DATADIR%%/html/setup/wizard-network.qsp
-%%DATADIR%%/html/setup/wizard-recording_devices.html
-%%DATADIR%%/html/setup/wizard.html
-%%DATADIR%%/html/tv/ajax_backends/dvr_util.qsp
-%%DATADIR%%/html/tv/ajax_backends/program_util.qsp
-%%DATADIR%%/html/tv/css/category_colors.css
-%%DATADIR%%/html/tv/css/common.css
-%%DATADIR%%/html/tv/css/guide.css
-%%DATADIR%%/html/tv/css/icons.css
-%%DATADIR%%/html/tv/css/programsearch.css
-%%DATADIR%%/html/tv/css/recordingrules.css
-%%DATADIR%%/html/tv/css/recordings.css
-%%DATADIR%%/html/tv/css/schedule.css
-%%DATADIR%%/html/tv/css/tvplayer.css
-%%DATADIR%%/html/tv/css/upcoming.css
-%%DATADIR%%/html/tv/guide.qsp
-%%DATADIR%%/html/tv/images/blank.png
-%%DATADIR%%/html/tv/images/cat_movie.svg
-%%DATADIR%%/html/tv/images/channel_icon.svg
-%%DATADIR%%/html/tv/images/fl_autoexp.svg
-%%DATADIR%%/html/tv/images/fl_bookmark.svg
-%%DATADIR%%/html/tv/images/fl_commflag.svg
-%%DATADIR%%/html/tv/images/fl_watched.svg
-%%DATADIR%%/html/tv/images/hd_1080.svg
-%%DATADIR%%/html/tv/images/hd_720.svg
-%%DATADIR%%/html/tv/images/hd_tv.svg
-%%DATADIR%%/html/tv/images/play_arrow.png
-%%DATADIR%%/html/tv/images/play_arrow.svg
-%%DATADIR%%/html/tv/images/recording_icons_sprite.svg
-%%DATADIR%%/html/tv/images/wastebin.svg
-%%DATADIR%%/html/tv/js/common.js
-%%DATADIR%%/html/tv/js/constants.js
-%%DATADIR%%/html/tv/js/guide.js
-%%DATADIR%%/html/tv/js/programsearch.js
-%%DATADIR%%/html/tv/js/recordings.js
-%%DATADIR%%/html/tv/js/schedule.js
-%%DATADIR%%/html/tv/js/tvutil.qjs
-%%DATADIR%%/html/tv/js/upcoming.js
-%%DATADIR%%/html/tv/programsearch.qsp
-%%DATADIR%%/html/tv/recordingrules.qsp
-%%DATADIR%%/html/tv/recordings.qsp
-%%DATADIR%%/html/tv/schedule.qsp
-%%DATADIR%%/html/tv/stream.qsp
-%%DATADIR%%/html/tv/tvplayer.qsp
-%%DATADIR%%/html/tv/upcoming.qsp
-%%DATADIR%%/html/video/css/gallery.css
-%%DATADIR%%/html/video/gallery.qsp
-%%DATADIR%%/html/video/gallery_detail.qsp
-%%DATADIR%%/html/video/images/folder_icon.png
-%%DATADIR%%/html/video/images/mv_gallery_dir_up.png
-%%DATADIR%%/html/video/images/unknown.png
-%%DATADIR%%/html/video/js/gallery.js
-%%DATADIR%%/html/video/js/gallery.qjs
-%%DATADIR%%/html/xslt/class.xslt
-%%DATADIR%%/html/xslt/enum.xslt
-%%DATADIR%%/html/xslt/service.xslt
-%%DATADIR%%/i18n/mythfrontend_bg.qm
-%%DATADIR%%/i18n/mythfrontend_ca.qm
-%%DATADIR%%/i18n/mythfrontend_cs.qm
-%%DATADIR%%/i18n/mythfrontend_da.qm
-%%DATADIR%%/i18n/mythfrontend_de.qm
-%%DATADIR%%/i18n/mythfrontend_el.qm
-%%DATADIR%%/i18n/mythfrontend_en_ca.qm
-%%DATADIR%%/i18n/mythfrontend_en_gb.qm
-%%DATADIR%%/i18n/mythfrontend_en_us.qm
-%%DATADIR%%/i18n/mythfrontend_es.qm
-%%DATADIR%%/i18n/mythfrontend_es_es.qm
-%%DATADIR%%/i18n/mythfrontend_et.qm
-%%DATADIR%%/i18n/mythfrontend_fi.qm
-%%DATADIR%%/i18n/mythfrontend_fr.qm
-%%DATADIR%%/i18n/mythfrontend_he.qm
-%%DATADIR%%/i18n/mythfrontend_hr.qm
-%%DATADIR%%/i18n/mythfrontend_hu.qm
-%%DATADIR%%/i18n/mythfrontend_is.qm
-%%DATADIR%%/i18n/mythfrontend_it.qm
-%%DATADIR%%/i18n/mythfrontend_ja.qm
-%%DATADIR%%/i18n/mythfrontend_nb.qm
-%%DATADIR%%/i18n/mythfrontend_nl.qm
-%%DATADIR%%/i18n/mythfrontend_pl.qm
-%%DATADIR%%/i18n/mythfrontend_pt.qm
-%%DATADIR%%/i18n/mythfrontend_pt_br.qm
-%%DATADIR%%/i18n/mythfrontend_ru.qm
-%%DATADIR%%/i18n/mythfrontend_sl.qm
-%%DATADIR%%/i18n/mythfrontend_sv.qm
-%%DATADIR%%/i18n/mythfrontend_tr.qm
-%%DATADIR%%/i18n/mythfrontend_zh_cn.qm
-%%DATADIR%%/i18n/mythfrontend_zh_hk.qm
-%%DATADIR%%/locales/da_dk.xml
-%%DATADIR%%/locales/de_at.xml
-%%DATADIR%%/locales/de_ch.xml
-%%DATADIR%%/locales/de_de.xml
-%%DATADIR%%/locales/el_gr.xml
-%%DATADIR%%/locales/en_ca.xml
-%%DATADIR%%/locales/en_gb.xml
-%%DATADIR%%/locales/en_us.xml
-%%DATADIR%%/locales/es_es.xml
-%%DATADIR%%/locales/et_ee.xml
-%%DATADIR%%/locales/fr_ca.xml
-%%DATADIR%%/locales/fr_fr.xml
-%%DATADIR%%/locales/nb_no.xml
-%%DATADIR%%/locales/nl_nl.xml
-%%DATADIR%%/locales/ru_ru.xml
-%%DATADIR%%/locales/zh_hk.xml
-%%DATADIR%%/locales/zh_tw.xml
-%%DATADIR%%/themes/DVR/dvr-preview.png
-%%DATADIR%%/themes/DVR/main_settings.xml
-%%DATADIR%%/themes/DVR/mainmenu.xml
-%%DATADIR%%/themes/DVR/recpriorities_settings.xml
-%%DATADIR%%/themes/DVR/themeinfo.xml
-%%DATADIR%%/themes/DVR/tv_lists.xml
-%%DATADIR%%/themes/DVR/tv_schedule.xml
-%%DATADIR%%/themes/DVR/tv_search.xml
-%%DATADIR%%/themes/DVR/tv_settings.xml
-%%DATADIR%%/themes/DVR/tvmenu.xml
-%%DATADIR%%/themes/DVR/util_menu.xml
-%%DATADIR%%/themes/DVR/video_settings.xml
-%%DATADIR%%/themes/DVR/videomenu.xml
-%%DATADIR%%/themes/MythCenter-wide/README
-%%DATADIR%%/themes/MythCenter-wide/appear-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/base.xml
-%%DATADIR%%/themes/MythCenter-wide/browser-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/config-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/controls-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/htmls/progdetails_page1.html
-%%DATADIR%%/themes/MythCenter-wide/htmls/progdetails_page2.html
-%%DATADIR%%/themes/MythCenter-wide/keyboard/keyboard.xml
-%%DATADIR%%/themes/MythCenter-wide/menu-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/music-base.xml
-%%DATADIR%%/themes/MythCenter-wide/music-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/mytharchive-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/mythburn-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/mythnative-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/notification-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/osd.xml
-%%DATADIR%%/themes/MythCenter-wide/osd/bd.png
-%%DATADIR%%/themes/MythCenter-wide/osd/dvd.png
-%%DATADIR%%/themes/MythCenter-wide/osd/info.png
-%%DATADIR%%/themes/MythCenter-wide/osd/input.png
-%%DATADIR%%/themes/MythCenter-wide/osd/message.png
-%%DATADIR%%/themes/MythCenter-wide/osd/prog_bot.png
-%%DATADIR%%/themes/MythCenter-wide/osd/prog_top.png
-%%DATADIR%%/themes/MythCenter-wide/osd/progressbar_bg.png
-%%DATADIR%%/themes/MythCenter-wide/osd/progressbar_cut.png
-%%DATADIR%%/themes/MythCenter-wide/osd/progressbar_fill.png
-%%DATADIR%%/themes/MythCenter-wide/osd/recording.png
-%%DATADIR%%/themes/MythCenter-wide/osd/sd.png
-%%DATADIR%%/themes/MythCenter-wide/osd/tv.png
-%%DATADIR%%/themes/MythCenter-wide/osd/video.png
-%%DATADIR%%/themes/MythCenter-wide/preview.png
-%%DATADIR%%/themes/MythCenter-wide/recordings-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/schedule-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/settings-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/status-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/themeinfo.xml
-%%DATADIR%%/themes/MythCenter-wide/title/title_dvd.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_gallery.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_games.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_info_center.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_info_settings.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_main.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_multimedia.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_music.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_music_setup.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_priority.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_record.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_schedule.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_search.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_setup.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_tv.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_video.png
-%%DATADIR%%/themes/MythCenter-wide/title/title_weather.png
-%%DATADIR%%/themes/MythCenter-wide/ui/background.png
-%%DATADIR%%/themes/MythCenter-wide/ui/button_on.png
-%%DATADIR%%/themes/MythCenter-wide/ui/cursor.png
-%%DATADIR%%/themes/MythCenter-wide/ui/down.png
-%%DATADIR%%/themes/MythCenter-wide/ui/down_arrow-reg.png
-%%DATADIR%%/themes/MythCenter-wide/ui/down_arrow-sel.png
-%%DATADIR%%/themes/MythCenter-wide/ui/horizon.png
-%%DATADIR%%/themes/MythCenter-wide/ui/left_arrow-reg.png
-%%DATADIR%%/themes/MythCenter-wide/ui/left_arrow-sel.png
-%%DATADIR%%/themes/MythCenter-wide/ui/mythtv_logo.png
-%%DATADIR%%/themes/MythCenter-wide/ui/right_arrow-reg.png
-%%DATADIR%%/themes/MythCenter-wide/ui/right_arrow-sel.png
-%%DATADIR%%/themes/MythCenter-wide/ui/up.png
-%%DATADIR%%/themes/MythCenter-wide/ui/up_arrow-reg.png
-%%DATADIR%%/themes/MythCenter-wide/ui/up_arrow-sel.png
-%%DATADIR%%/themes/MythCenter-wide/video-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/watermark/alarmclock.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/appearance.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/big_arrow_down.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/browser.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/cd.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/cd_burn.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/cd_rip.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/checklist.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/clock.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/dvd.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/dvd_burn.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/dvd_eject.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/dvd_rip.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/error.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/gallery.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/gallery_settings.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/hardware_info.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/hardware_settings.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/important.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/info.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/info_setup.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/ipod.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/joystick.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/keys.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/movietime.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/multimedia.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/music.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/music_settings.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/news.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/phone.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/pie.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/play.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/priority.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/radio.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/record.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/screenwiz.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/search.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/setup.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/stream.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/tv.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/video.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/video_settings.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/weather.png
-%%DATADIR%%/themes/MythCenter-wide/watermark/zoneminder.png
-%%DATADIR%%/themes/MythCenter-wide/welcome-ui.xml
-%%DATADIR%%/themes/MythCenter-wide/zoneminder-ui.xml
-%%DATADIR%%/themes/MythCenter/README
-%%DATADIR%%/themes/MythCenter/base.xml
-%%DATADIR%%/themes/MythCenter/browser-ui.xml
-%%DATADIR%%/themes/MythCenter/cr-lines.png
-%%DATADIR%%/themes/MythCenter/cr-selectbar.png
-%%DATADIR%%/themes/MythCenter/htmls/progdetails_page1.html
-%%DATADIR%%/themes/MythCenter/htmls/progdetails_page2.html
-%%DATADIR%%/themes/MythCenter/menu-ui.xml
-%%DATADIR%%/themes/MythCenter/notification-ui.xml
-%%DATADIR%%/themes/MythCenter/osd.xml
-%%DATADIR%%/themes/MythCenter/osd/bd.png
-%%DATADIR%%/themes/MythCenter/osd/dvd.png
-%%DATADIR%%/themes/MythCenter/osd/fill_green.png
-%%DATADIR%%/themes/MythCenter/osd/info.png
-%%DATADIR%%/themes/MythCenter/osd/input.png
-%%DATADIR%%/themes/MythCenter/osd/message.png
-%%DATADIR%%/themes/MythCenter/osd/osd-mid.png
-%%DATADIR%%/themes/MythCenter/osd/prog_bot.png
-%%DATADIR%%/themes/MythCenter/osd/prog_top.png
-%%DATADIR%%/themes/MythCenter/osd/progressbar_bg.png
-%%DATADIR%%/themes/MythCenter/osd/progressbar_cut.png
-%%DATADIR%%/themes/MythCenter/osd/progressbar_fill.png
-%%DATADIR%%/themes/MythCenter/osd/recording.png
-%%DATADIR%%/themes/MythCenter/osd/sd.png
-%%DATADIR%%/themes/MythCenter/osd/slider_frame.png
-%%DATADIR%%/themes/MythCenter/osd/tv.png
-%%DATADIR%%/themes/MythCenter/osd/video.png
-%%DATADIR%%/themes/MythCenter/preview.png
-%%DATADIR%%/themes/MythCenter/recordings-ui.xml
-%%DATADIR%%/themes/MythCenter/schedule-ui.xml
-%%DATADIR%%/themes/MythCenter/status-ui.xml
-%%DATADIR%%/themes/MythCenter/themeinfo.xml
-%%DATADIR%%/themes/MythCenter/title/title_dvd.png
-%%DATADIR%%/themes/MythCenter/title/title_gallery.png
-%%DATADIR%%/themes/MythCenter/title/title_games.png
-%%DATADIR%%/themes/MythCenter/title/title_info_center.png
-%%DATADIR%%/themes/MythCenter/title/title_info_settings.png
-%%DATADIR%%/themes/MythCenter/title/title_main.png
-%%DATADIR%%/themes/MythCenter/title/title_multimedia.png
-%%DATADIR%%/themes/MythCenter/title/title_music.png
-%%DATADIR%%/themes/MythCenter/title/title_music_setup.png
-%%DATADIR%%/themes/MythCenter/title/title_priority.png
-%%DATADIR%%/themes/MythCenter/title/title_record.png
-%%DATADIR%%/themes/MythCenter/title/title_schedule.png
-%%DATADIR%%/themes/MythCenter/title/title_search.png
-%%DATADIR%%/themes/MythCenter/title/title_setup.png
-%%DATADIR%%/themes/MythCenter/title/title_tv.png
-%%DATADIR%%/themes/MythCenter/title/title_video.png
-%%DATADIR%%/themes/MythCenter/title/title_weather.png
-%%DATADIR%%/themes/MythCenter/ui/background.png
-%%DATADIR%%/themes/MythCenter/ui/button_off.png
-%%DATADIR%%/themes/MythCenter/ui/button_on.png
-%%DATADIR%%/themes/MythCenter/ui/down.png
-%%DATADIR%%/themes/MythCenter/ui/down_arrow-reg.png
-%%DATADIR%%/themes/MythCenter/ui/down_arrow-sel.png
-%%DATADIR%%/themes/MythCenter/ui/left_arrow-reg.png
-%%DATADIR%%/themes/MythCenter/ui/left_arrow-sel.png
-%%DATADIR%%/themes/MythCenter/ui/mythtv_logo.png
-%%DATADIR%%/themes/MythCenter/ui/right_arrow-reg.png
-%%DATADIR%%/themes/MythCenter/ui/right_arrow-sel.png
-%%DATADIR%%/themes/MythCenter/ui/up.png
-%%DATADIR%%/themes/MythCenter/ui/up_arrow-reg.png
-%%DATADIR%%/themes/MythCenter/ui/up_arrow-sel.png
-%%DATADIR%%/themes/MythCenter/video-ui.xml
-%%DATADIR%%/themes/MythCenter/watermark/alarmclock.png
-%%DATADIR%%/themes/MythCenter/watermark/appearance.png
-%%DATADIR%%/themes/MythCenter/watermark/big_arrow_down.png
-%%DATADIR%%/themes/MythCenter/watermark/browser.png
-%%DATADIR%%/themes/MythCenter/watermark/cd.png
-%%DATADIR%%/themes/MythCenter/watermark/cd_burn.png
-%%DATADIR%%/themes/MythCenter/watermark/cd_rip.png
-%%DATADIR%%/themes/MythCenter/watermark/checklist.png
-%%DATADIR%%/themes/MythCenter/watermark/clock.png
-%%DATADIR%%/themes/MythCenter/watermark/dvd.png
-%%DATADIR%%/themes/MythCenter/watermark/dvd_burn.png
-%%DATADIR%%/themes/MythCenter/watermark/dvd_eject.png
-%%DATADIR%%/themes/MythCenter/watermark/dvd_rip.png
-%%DATADIR%%/themes/MythCenter/watermark/error.png
-%%DATADIR%%/themes/MythCenter/watermark/gallery.png
-%%DATADIR%%/themes/MythCenter/watermark/gallery_settings.png
-%%DATADIR%%/themes/MythCenter/watermark/hardware_info.png
-%%DATADIR%%/themes/MythCenter/watermark/hardware_settings.png
-%%DATADIR%%/themes/MythCenter/watermark/important.png
-%%DATADIR%%/themes/MythCenter/watermark/info.png
-%%DATADIR%%/themes/MythCenter/watermark/info_setup.png
-%%DATADIR%%/themes/MythCenter/watermark/ipod.png
-%%DATADIR%%/themes/MythCenter/watermark/joystick.png
-%%DATADIR%%/themes/MythCenter/watermark/keys.png
-%%DATADIR%%/themes/MythCenter/watermark/movietime.png
-%%DATADIR%%/themes/MythCenter/watermark/multimedia.png
-%%DATADIR%%/themes/MythCenter/watermark/music.png
-%%DATADIR%%/themes/MythCenter/watermark/music_settings.png
-%%DATADIR%%/themes/MythCenter/watermark/news.png
-%%DATADIR%%/themes/MythCenter/watermark/phone.png
-%%DATADIR%%/themes/MythCenter/watermark/pie.png
-%%DATADIR%%/themes/MythCenter/watermark/play.png
-%%DATADIR%%/themes/MythCenter/watermark/priority.png
-%%DATADIR%%/themes/MythCenter/watermark/radio.png
-%%DATADIR%%/themes/MythCenter/watermark/record.png
-%%DATADIR%%/themes/MythCenter/watermark/screenwiz.png
-%%DATADIR%%/themes/MythCenter/watermark/search.png
-%%DATADIR%%/themes/MythCenter/watermark/setup.png
-%%DATADIR%%/themes/MythCenter/watermark/stream.png
-%%DATADIR%%/themes/MythCenter/watermark/tv.png
-%%DATADIR%%/themes/MythCenter/watermark/video.png
-%%DATADIR%%/themes/MythCenter/watermark/video_settings.png
-%%DATADIR%%/themes/MythCenter/watermark/weather.png
-%%DATADIR%%/themes/MythCenter/watermark/zoneminder.png
-%%DATADIR%%/themes/Slave/mainmenu.xml
-%%DATADIR%%/themes/Slave/themeinfo.xml
-%%DATADIR%%/themes/Terra/backgrounds/background.png
-%%DATADIR%%/themes/Terra/backgrounds/bottombar.png
-%%DATADIR%%/themes/Terra/backgrounds/horizontal_menu_background.png
-%%DATADIR%%/themes/Terra/backgrounds/topbar.png
-%%DATADIR%%/themes/Terra/backgrounds/videobackground.png
-%%DATADIR%%/themes/Terra/base.xml
-%%DATADIR%%/themes/Terra/browser-ui.xml
-%%DATADIR%%/themes/Terra/config-ui.xml
-%%DATADIR%%/themes/Terra/config/selected_icon_mask.png
-%%DATADIR%%/themes/Terra/controls-ui.xml
-%%DATADIR%%/themes/Terra/controls/button.png
-%%DATADIR%%/themes/Terra/controls/button_pushed.png
-%%DATADIR%%/themes/Terra/controls/checkbox_background.png
-%%DATADIR%%/themes/Terra/controls/checkbox_background_selected.png
-%%DATADIR%%/themes/Terra/controls/cursor.png
-%%DATADIR%%/themes/Terra/controls/selector_left_arrow.png
-%%DATADIR%%/themes/Terra/controls/selector_right_arrow.png
-%%DATADIR%%/themes/Terra/controls/short_textedit_background.png
-%%DATADIR%%/themes/Terra/controls/short_textedit_background_selected.png
-%%DATADIR%%/themes/Terra/controls/small_button.png
-%%DATADIR%%/themes/Terra/controls/small_button_pushed.png
-%%DATADIR%%/themes/Terra/gallery-ui.xml
-%%DATADIR%%/themes/Terra/game-ui.xml
-%%DATADIR%%/themes/Terra/guide/guide_arrow_left.png
-%%DATADIR%%/themes/Terra/guide/guide_arrow_right.png
-%%DATADIR%%/themes/Terra/guide/guide_frame.png
-%%DATADIR%%/themes/Terra/guide/icon_mask.png
-%%DATADIR%%/themes/Terra/htmls/progdetails_page1.html
-%%DATADIR%%/themes/Terra/htmls/progdetails_page2.html
-%%DATADIR%%/themes/Terra/menu-ui.xml
-%%DATADIR%%/themes/Terra/menu/iconmask.png
-%%DATADIR%%/themes/Terra/menu/menubackground.png
-%%DATADIR%%/themes/Terra/menu/menuframe.png
-%%DATADIR%%/themes/Terra/music-ui.xml
-%%DATADIR%%/themes/Terra/music/miniplayer_pauseicon.png
-%%DATADIR%%/themes/Terra/music/miniplayer_playicon.png
-%%DATADIR%%/themes/Terra/music/miniplayer_stopicon.png
-%%DATADIR%%/themes/Terra/musicsettings-ui.xml
-%%DATADIR%%/themes/Terra/netvision-ui.xml
-%%DATADIR%%/themes/Terra/news-ui.xml
-%%DATADIR%%/themes/Terra/osd.xml
-%%DATADIR%%/themes/Terra/osd/editorbackground.png
-%%DATADIR%%/themes/Terra/osd/infobackground.png
-%%DATADIR%%/themes/Terra/osd/messagebackground.png
-%%DATADIR%%/themes/Terra/popups/alt_menu_background.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_0.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_1.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_10.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_11.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_12.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_13.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_14.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_15.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_16.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_17.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_18.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_19.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_2.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_20.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_21.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_22.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_23.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_24.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_25.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_26.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_27.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_28.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_29.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_3.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_4.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_5.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_6.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_7.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_8.png
-%%DATADIR%%/themes/Terra/popups/busy/busy_9.png
-%%DATADIR%%/themes/Terra/popups/confirmation_background.png
-%%DATADIR%%/themes/Terra/popups/edit_background.png
-%%DATADIR%%/themes/Terra/popups/largemenubackground.png
-%%DATADIR%%/themes/Terra/popups/menu_background.png
-%%DATADIR%%/themes/Terra/popups/menu_button.png
-%%DATADIR%%/themes/Terra/popups/menu_button_pushed.png
-%%DATADIR%%/themes/Terra/popups/progress_bar_background.png
-%%DATADIR%%/themes/Terra/popups/progress_bar_fill.png
-%%DATADIR%%/themes/Terra/popups/progress_bar_overlay.png
-%%DATADIR%%/themes/Terra/popups/progress_dialog_background.png
-%%DATADIR%%/themes/Terra/popups/selected_item_arrow.png
-%%DATADIR%%/themes/Terra/popups/selected_submenu_arrow.png
-%%DATADIR%%/themes/Terra/popups/submenu_arrow.png
-%%DATADIR%%/themes/Terra/preview.png
-%%DATADIR%%/themes/Terra/recordings-ui.xml
-%%DATADIR%%/themes/Terra/recordings/filterlist_background.png
-%%DATADIR%%/themes/Terra/recordings/flagging_1.png
-%%DATADIR%%/themes/Terra/recordings/flagging_2.png
-%%DATADIR%%/themes/Terra/recordings/flagging_3.png
-%%DATADIR%%/themes/Terra/recordings/flagging_4.png
-%%DATADIR%%/themes/Terra/recordings/flagging_5.png
-%%DATADIR%%/themes/Terra/recordings/flagging_6.png
-%%DATADIR%%/themes/Terra/recordings/flagging_7.png
-%%DATADIR%%/themes/Terra/recordings/flagging_8.png
-%%DATADIR%%/themes/Terra/recordings/generallistbackground.png
-%%DATADIR%%/themes/Terra/recordings/generallistselectedframe.png
-%%DATADIR%%/themes/Terra/recordings/groupframe.png
-%%DATADIR%%/themes/Terra/recordings/previewmask.png
-%%DATADIR%%/themes/Terra/recordings/previewmask_unselected.png
-%%DATADIR%%/themes/Terra/recordings/recording_1.png
-%%DATADIR%%/themes/Terra/recordings/recording_2.png
-%%DATADIR%%/themes/Terra/recordings/recording_3.png
-%%DATADIR%%/themes/Terra/recordings/recording_4.png
-%%DATADIR%%/themes/Terra/recordings/recording_5.png
-%%DATADIR%%/themes/Terra/recordings/recording_6.png
-%%DATADIR%%/themes/Terra/recordings/recording_7.png
-%%DATADIR%%/themes/Terra/recordings/recording_8.png
-%%DATADIR%%/themes/Terra/recordings/recordingsbackground.png
-%%DATADIR%%/themes/Terra/recordings/selected_recording_background.png
-%%DATADIR%%/themes/Terra/recordings/statusoverlay.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_1.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_2.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_3.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_4.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_5.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_6.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_7.png
-%%DATADIR%%/themes/Terra/recordings/transcoding_8.png
-%%DATADIR%%/themes/Terra/schedule-ui.xml
-%%DATADIR%%/themes/Terra/schedule/generic_list_frame.png
-%%DATADIR%%/themes/Terra/settings-ui.xml
-%%DATADIR%%/themes/Terra/shared/black_star.png
-%%DATADIR%%/themes/Terra/shared/bronze_star.png
-%%DATADIR%%/themes/Terra/shared/cross.png
-%%DATADIR%%/themes/Terra/shared/directory.png
-%%DATADIR%%/themes/Terra/shared/disabled.png
-%%DATADIR%%/themes/Terra/shared/error.png
-%%DATADIR%%/themes/Terra/shared/gold_star.png
-%%DATADIR%%/themes/Terra/shared/horizlist_internal_left_arrow.png
-%%DATADIR%%/themes/Terra/shared/horizlist_internal_right_arrow.png
-%%DATADIR%%/themes/Terra/shared/horizlist_left_arrow.png
-%%DATADIR%%/themes/Terra/shared/horizlist_right_arrow.png
-%%DATADIR%%/themes/Terra/shared/icons/16_9.png
-%%DATADIR%%/themes/Terra/shared/icons/adflagged.png
-%%DATADIR%%/themes/Terra/shared/icons/audio_mono.png
-%%DATADIR%%/themes/Terra/shared/icons/audio_stereo.png
-%%DATADIR%%/themes/Terra/shared/icons/audio_surround.png
-%%DATADIR%%/themes/Terra/shared/icons/autoexpire.png
-%%DATADIR%%/themes/Terra/shared/icons/bookmark.png
-%%DATADIR%%/themes/Terra/shared/icons/cutlist.png
-%%DATADIR%%/themes/Terra/shared/icons/hd_1080.png
-%%DATADIR%%/themes/Terra/shared/icons/hd_720.png
-%%DATADIR%%/themes/Terra/shared/icons/hdtv.png
-%%DATADIR%%/themes/Terra/shared/list_down_arrow.png
-%%DATADIR%%/themes/Terra/shared/list_left_arrow.png
-%%DATADIR%%/themes/Terra/shared/list_right_arrow.png
-%%DATADIR%%/themes/Terra/shared/list_up_arrow.png
-%%DATADIR%%/themes/Terra/shared/normal.png
-%%DATADIR%%/themes/Terra/shared/playlist.png
-%%DATADIR%%/themes/Terra/shared/running.png
-%%DATADIR%%/themes/Terra/shared/selected_disabled.png
-%%DATADIR%%/themes/Terra/shared/selected_error.png
-%%DATADIR%%/themes/Terra/shared/selected_normal.png
-%%DATADIR%%/themes/Terra/shared/selected_running.png
-%%DATADIR%%/themes/Terra/shared/selected_state_mask.png
-%%DATADIR%%/themes/Terra/shared/selected_warning.png
-%%DATADIR%%/themes/Terra/shared/silver_star.png
-%%DATADIR%%/themes/Terra/shared/super_gold_star.png
-%%DATADIR%%/themes/Terra/shared/tick.png
-%%DATADIR%%/themes/Terra/shared/updirectory.png
-%%DATADIR%%/themes/Terra/shared/warning.png
-%%DATADIR%%/themes/Terra/shared/watched.png
-%%DATADIR%%/themes/Terra/status-ui.xml
-%%DATADIR%%/themes/Terra/themeinfo.xml
-%%DATADIR%%/themes/Terra/video-ui.xml
-%%DATADIR%%/themes/Terra/video/browserlistbackground.png
-%%DATADIR%%/themes/Terra/video/browserlistframe.png
-%%DATADIR%%/themes/Terra/video/info_background.png
-%%DATADIR%%/themes/Terra/video/info_poster_mask.png
-%%DATADIR%%/themes/Terra/video/managerlistbackground.png
-%%DATADIR%%/themes/Terra/video/managerlistframe.png
-%%DATADIR%%/themes/Terra/video/managerpostermask.png
-%%DATADIR%%/themes/Terra/video/parental_level_high.png
-%%DATADIR%%/themes/Terra/video/parental_level_low.png
-%%DATADIR%%/themes/Terra/video/parental_level_lowest.png
-%%DATADIR%%/themes/Terra/video/parental_level_medium.png
-%%DATADIR%%/themes/Terra/video/parental_level_none.png
-%%DATADIR%%/themes/Terra/video/postermask.png
-%%DATADIR%%/themes/Terra/video/video_gallery_background.png
-%%DATADIR%%/themes/Terra/video/video_gallery_background_selected.png
-%%DATADIR%%/themes/Terra/watermarks/README.license
-%%DATADIR%%/themes/Terra/watermarks/aerial.png
-%%DATADIR%%/themes/Terra/watermarks/archive.png
-%%DATADIR%%/themes/Terra/watermarks/audio.png
-%%DATADIR%%/themes/Terra/watermarks/browser.png
-%%DATADIR%%/themes/Terra/watermarks/cd.png
-%%DATADIR%%/themes/Terra/watermarks/clock.png
-%%DATADIR%%/themes/Terra/watermarks/create_archive.png
-%%DATADIR%%/themes/Terra/watermarks/default.png
-%%DATADIR%%/themes/Terra/watermarks/delete.png
-%%DATADIR%%/themes/Terra/watermarks/eject_media.png
-%%DATADIR%%/themes/Terra/watermarks/food.png
-%%DATADIR%%/themes/Terra/watermarks/gallery.png
-%%DATADIR%%/themes/Terra/watermarks/games.png
-%%DATADIR%%/themes/Terra/watermarks/guide.png
-%%DATADIR%%/themes/Terra/watermarks/import_archive.png
-%%DATADIR%%/themes/Terra/watermarks/import_cd.png
-%%DATADIR%%/themes/Terra/watermarks/import_dvd.png
-%%DATADIR%%/themes/Terra/watermarks/import_files.png
-%%DATADIR%%/themes/Terra/watermarks/info_settings.png
-%%DATADIR%%/themes/Terra/watermarks/keys.png
-%%DATADIR%%/themes/Terra/watermarks/library.png
-%%DATADIR%%/themes/Terra/watermarks/media_settings.png
-%%DATADIR%%/themes/Terra/watermarks/movie.png
-%%DATADIR%%/themes/Terra/watermarks/music.png
-%%DATADIR%%/themes/Terra/watermarks/music2.png
-%%DATADIR%%/themes/Terra/watermarks/music_settings.png
-%%DATADIR%%/themes/Terra/watermarks/netflix.png
-%%DATADIR%%/themes/Terra/watermarks/new_music.png
-%%DATADIR%%/themes/Terra/watermarks/news.png
-%%DATADIR%%/themes/Terra/watermarks/osd_appearance.png
-%%DATADIR%%/themes/Terra/watermarks/osd_editor.png
-%%DATADIR%%/themes/Terra/watermarks/play_dvd.png
-%%DATADIR%%/themes/Terra/watermarks/play_music.png
-%%DATADIR%%/themes/Terra/watermarks/player_settings.png
-%%DATADIR%%/themes/Terra/watermarks/previously_recorded.png
-%%DATADIR%%/themes/Terra/watermarks/program_finder.png
-%%DATADIR%%/themes/Terra/watermarks/radio.png
-%%DATADIR%%/themes/Terra/watermarks/screen_setup.png
-%%DATADIR%%/themes/Terra/watermarks/search_words.png
-%%DATADIR%%/themes/Terra/watermarks/select_music.png
-%%DATADIR%%/themes/Terra/watermarks/status.png
-%%DATADIR%%/themes/Terra/watermarks/stop_light.png
-%%DATADIR%%/themes/Terra/watermarks/themechooser.png
-%%DATADIR%%/themes/Terra/watermarks/tools.png
-%%DATADIR%%/themes/Terra/watermarks/tv.png
-%%DATADIR%%/themes/Terra/watermarks/vcr.png
-%%DATADIR%%/themes/Terra/watermarks/video.png
-%%DATADIR%%/themes/Terra/watermarks/video_settings.png
-%%DATADIR%%/themes/Terra/watermarks/watchrec.png
-%%DATADIR%%/themes/Terra/watermarks/weather.png
-%%DATADIR%%/themes/Terra/watermarks/zm_console.png
-%%DATADIR%%/themes/Terra/watermarks/zm_events.png
-%%DATADIR%%/themes/Terra/watermarks/zm_live.png
-%%DATADIR%%/themes/Terra/watermarks/zoneminder.png
-%%DATADIR%%/themes/Terra/weather-ui.xml
-%%DATADIR%%/themes/Terra/welcome-ui.xml
-%%DATADIR%%/themes/classic/classic-preview.png
-%%DATADIR%%/themes/classic/main_settings.xml
-%%DATADIR%%/themes/classic/mainmenu.xml
-%%DATADIR%%/themes/classic/recpriorities_settings.xml
-%%DATADIR%%/themes/classic/themeinfo.xml
-%%DATADIR%%/themes/classic/tv_schedule.xml
-%%DATADIR%%/themes/classic/tv_search.xml
-%%DATADIR%%/themes/classic/tv_settings.xml
-%%DATADIR%%/themes/classic/tvmenu.xml
-%%DATADIR%%/themes/classic/video_settings.xml
-%%DATADIR%%/themes/classic/videomenu.xml
-%%DATADIR%%/themes/default-wide/appear-ui.xml
-%%DATADIR%%/themes/default-wide/bar.png
-%%DATADIR%%/themes/default-wide/base.xml
-%%DATADIR%%/themes/default-wide/button_wide_background.png
-%%DATADIR%%/themes/default-wide/button_wide_pushed_background.png
-%%DATADIR%%/themes/default-wide/button_wide_selected_background.png
-%%DATADIR%%/themes/default-wide/config-ui.xml
-%%DATADIR%%/themes/default-wide/controls-ui.xml
-%%DATADIR%%/themes/default-wide/cr-lines.png
-%%DATADIR%%/themes/default-wide/cr-selectbar.png
-%%DATADIR%%/themes/default-wide/def-ro-lines.png
-%%DATADIR%%/themes/default-wide/filler.png
-%%DATADIR%%/themes/default-wide/md_progress_background.png
-%%DATADIR%%/themes/default-wide/mv_browse_background.png
-%%DATADIR%%/themes/default-wide/mv_browse_nocover_large.png
-%%DATADIR%%/themes/default-wide/mv_browse_selector.png
-%%DATADIR%%/themes/default-wide/mv_itemdetail_popup.png
-%%DATADIR%%/themes/default-wide/mv_results_popup.png
-%%DATADIR%%/themes/default-wide/osd.xml
-%%DATADIR%%/themes/default-wide/pd-background.png
-%%DATADIR%%/themes/default-wide/pf-background.png
-%%DATADIR%%/themes/default-wide/pf-lines.png
-%%DATADIR%%/themes/default-wide/pf-sel1.png
-%%DATADIR%%/themes/default-wide/pf-sel2.png
-%%DATADIR%%/themes/default-wide/pf-sel3.png
-%%DATADIR%%/themes/default-wide/pf-top.png
-%%DATADIR%%/themes/default-wide/preview.png
-%%DATADIR%%/themes/default-wide/reclist_background.png
-%%DATADIR%%/themes/default-wide/recordings-ui.xml
-%%DATADIR%%/themes/default-wide/rk-lines.png
-%%DATADIR%%/themes/default-wide/rk-selectbar.png
-%%DATADIR%%/themes/default-wide/schedule-ui.xml
-%%DATADIR%%/themes/default-wide/selectbar.png
-%%DATADIR%%/themes/default-wide/settings-ui.xml
-%%DATADIR%%/themes/default-wide/shared/grid_back_reg.png
-%%DATADIR%%/themes/default-wide/shared/grid_back_sel.png
-%%DATADIR%%/themes/default-wide/shared/grid_noimage.png
-%%DATADIR%%/themes/default-wide/solid-container.png
-%%DATADIR%%/themes/default-wide/solid-cr-background.png
-%%DATADIR%%/themes/default-wide/status-bar.png
-%%DATADIR%%/themes/default-wide/status-ui.xml
-%%DATADIR%%/themes/default-wide/text_button_off.png
-%%DATADIR%%/themes/default-wide/text_button_on.png
-%%DATADIR%%/themes/default-wide/text_button_pushed.png
-%%DATADIR%%/themes/default-wide/track_info_background.png
-%%DATADIR%%/themes/default-wide/trans-backup.png
-%%DATADIR%%/themes/default-wide/trans-container.png
-%%DATADIR%%/themes/default-wide/trans-cr-background.png
-%%DATADIR%%/themes/default-wide/trans-rk-background.png
-%%DATADIR%%/themes/default-wide/trans-sr-background.png
-%%DATADIR%%/themes/default-wide/video-ui.xml
-%%DATADIR%%/themes/default-wide/welcome-ui.xml
-%%DATADIR%%/themes/default/appear-ui.xml
-%%DATADIR%%/themes/default/aspect_button.png
-%%DATADIR%%/themes/default/autoexpire.png
-%%DATADIR%%/themes/default/avchd.png
-%%DATADIR%%/themes/default/background.png
-%%DATADIR%%/themes/default/backup.png
-%%DATADIR%%/themes/default/bar.png
-%%DATADIR%%/themes/default/base.xml
-%%DATADIR%%/themes/default/blank.png
-%%DATADIR%%/themes/default/blankbutton_off.png
-%%DATADIR%%/themes/default/blankbutton_on.png
-%%DATADIR%%/themes/default/blankbutton_pushed.png
-%%DATADIR%%/themes/default/bookmark.png
-%%DATADIR%%/themes/default/bookmark_button.png
-%%DATADIR%%/themes/default/bottomright.png
-%%DATADIR%%/themes/default/busyimages/0.png
-%%DATADIR%%/themes/default/busyimages/1.png
-%%DATADIR%%/themes/default/busyimages/10.png
-%%DATADIR%%/themes/default/busyimages/11.png
-%%DATADIR%%/themes/default/busyimages/12.png
-%%DATADIR%%/themes/default/busyimages/13.png
-%%DATADIR%%/themes/default/busyimages/14.png
-%%DATADIR%%/themes/default/busyimages/15.png
-%%DATADIR%%/themes/default/busyimages/16.png
-%%DATADIR%%/themes/default/busyimages/17.png
-%%DATADIR%%/themes/default/busyimages/18.png
-%%DATADIR%%/themes/default/busyimages/19.png
-%%DATADIR%%/themes/default/busyimages/2.png
-%%DATADIR%%/themes/default/busyimages/20.png
-%%DATADIR%%/themes/default/busyimages/21.png
-%%DATADIR%%/themes/default/busyimages/22.png
-%%DATADIR%%/themes/default/busyimages/23.png
-%%DATADIR%%/themes/default/busyimages/24.png
-%%DATADIR%%/themes/default/busyimages/3.png
-%%DATADIR%%/themes/default/busyimages/4.png
-%%DATADIR%%/themes/default/busyimages/5.png
-%%DATADIR%%/themes/default/busyimages/6.png
-%%DATADIR%%/themes/default/busyimages/7.png
-%%DATADIR%%/themes/default/busyimages/8.png
-%%DATADIR%%/themes/default/busyimages/9.png
-%%DATADIR%%/themes/default/button_background.png
-%%DATADIR%%/themes/default/button_pushed_background.png
-%%DATADIR%%/themes/default/button_selected_background.png
-%%DATADIR%%/themes/default/categories.xml
-%%DATADIR%%/themes/default/cc.png
-%%DATADIR%%/themes/default/cc_button.png
-%%DATADIR%%/themes/default/check.png
-%%DATADIR%%/themes/default/checkbox_background_off.png
-%%DATADIR%%/themes/default/checkbox_background_selected.png
-%%DATADIR%%/themes/default/checkbox_fullcheck.png
-%%DATADIR%%/themes/default/checkbox_halfcheck.png
-%%DATADIR%%/themes/default/checked.png
-%%DATADIR%%/themes/default/checked_high.png
-%%DATADIR%%/themes/default/commflagged.png
-%%DATADIR%%/themes/default/config-ui.xml
-%%DATADIR%%/themes/default/container.png
-%%DATADIR%%/themes/default/controls-ui.xml
-%%DATADIR%%/themes/default/cr-background.png
-%%DATADIR%%/themes/default/cr-lines.png
-%%DATADIR%%/themes/default/cr-selectbar.png
-%%DATADIR%%/themes/default/cursor.png
-%%DATADIR%%/themes/default/cutlist.png
-%%DATADIR%%/themes/default/damaged.png
-%%DATADIR%%/themes/default/dbl_left_arrow_button.png
-%%DATADIR%%/themes/default/dbl_right_arrow_button.png
-%%DATADIR%%/themes/default/dd.png
-%%DATADIR%%/themes/default/def-ro-lines.png
-%%DATADIR%%/themes/default/down_arrow.png
-%%DATADIR%%/themes/default/downarrow.png
-%%DATADIR%%/themes/default/dummy1280x720p29.97.ts
-%%DATADIR%%/themes/default/dummy1920x1088p29.97.ts
-%%DATADIR%%/themes/default/dummy640x480p29.97.ts
-%%DATADIR%%/themes/default/dummy720x480p29.97.ts
-%%DATADIR%%/themes/default/dummy720x576p25.00.ts
-%%DATADIR%%/themes/default/dummy768x576p50.00.ts
-%%DATADIR%%/themes/default/error.png
-%%DATADIR%%/themes/default/ff_button.png
-%%DATADIR%%/themes/default/fill_button.png
-%%DATADIR%%/themes/default/filler.png
-%%DATADIR%%/themes/default/galleryfolder.png
-%%DATADIR%%/themes/default/gg-arrow-down.png
-%%DATADIR%%/themes/default/gg-arrow-left.png
-%%DATADIR%%/themes/default/gg-arrow-right.png
-%%DATADIR%%/themes/default/gg-arrow-up.png
-%%DATADIR%%/themes/default/gg-chans.png
-%%DATADIR%%/themes/default/gg-rs-all.png
-%%DATADIR%%/themes/default/gg-rs-channel.png
-%%DATADIR%%/themes/default/gg-rs-findone.png
-%%DATADIR%%/themes/default/gg-rs-override.png
-%%DATADIR%%/themes/default/gg-rs-single.png
-%%DATADIR%%/themes/default/gg-rs-timeslot.png
-%%DATADIR%%/themes/default/gg-rs-weekslot.png
-%%DATADIR%%/themes/default/gg-times.png
-%%DATADIR%%/themes/default/hd.png
-%%DATADIR%%/themes/default/hd1080.png
-%%DATADIR%%/themes/default/hd720.png
-%%DATADIR%%/themes/default/htmls/mythbrowser.css
-%%DATADIR%%/themes/default/htmls/notfound.html
-%%DATADIR%%/themes/default/htmls/progdetails_page1.html
-%%DATADIR%%/themes/default/htmls/progdetails_page2.html
-%%DATADIR%%/themes/default/image-ui.xml
-%%DATADIR%%/themes/default/info_button.png
-%%DATADIR%%/themes/default/jump_bookmark_button.png
-%%DATADIR%%/themes/default/jump_start_button.png
-%%DATADIR%%/themes/default/keyboard/ar.xml
-%%DATADIR%%/themes/default/keyboard/da.xml
-%%DATADIR%%/themes/default/keyboard/de.xml
-%%DATADIR%%/themes/default/keyboard/el.xml
-%%DATADIR%%/themes/default/keyboard/en_gb.xml
-%%DATADIR%%/themes/default/keyboard/en_us.xml
-%%DATADIR%%/themes/default/keyboard/es.xml
-%%DATADIR%%/themes/default/keyboard/fr.xml
-%%DATADIR%%/themes/default/keyboard/fr_ch.xml
-%%DATADIR%%/themes/default/keyboard/he.xml
-%%DATADIR%%/themes/default/keyboard/it.xml
-%%DATADIR%%/themes/default/keyboard/key_down.png
-%%DATADIR%%/themes/default/keyboard/key_down_back.png
-%%DATADIR%%/themes/default/keyboard/key_down_del.png
-%%DATADIR%%/themes/default/keyboard/key_down_done.png
-%%DATADIR%%/themes/default/keyboard/key_down_move.png
-%%DATADIR%%/themes/default/keyboard/key_down_shift.png
-%%DATADIR%%/themes/default/keyboard/key_down_space.png
-%%DATADIR%%/themes/default/keyboard/key_down_space2.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_back.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_del.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_done.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_move.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_shift.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_space.png
-%%DATADIR%%/themes/default/keyboard/key_downfocused_space2.png
-%%DATADIR%%/themes/default/keyboard/key_focused.png
-%%DATADIR%%/themes/default/keyboard/key_focused_back.png
-%%DATADIR%%/themes/default/keyboard/key_focused_del.png
-%%DATADIR%%/themes/default/keyboard/key_focused_done.png
-%%DATADIR%%/themes/default/keyboard/key_focused_move.png
-%%DATADIR%%/themes/default/keyboard/key_focused_shift.png
-%%DATADIR%%/themes/default/keyboard/key_focused_space.png
-%%DATADIR%%/themes/default/keyboard/key_focused_space2.png
-%%DATADIR%%/themes/default/keyboard/key_normal.png
-%%DATADIR%%/themes/default/keyboard/key_normal_back.png
-%%DATADIR%%/themes/default/keyboard/key_normal_del.png
-%%DATADIR%%/themes/default/keyboard/key_normal_done.png
-%%DATADIR%%/themes/default/keyboard/key_normal_move.png
-%%DATADIR%%/themes/default/keyboard/key_normal_shift.png
-%%DATADIR%%/themes/default/keyboard/key_normal_space.png
-%%DATADIR%%/themes/default/keyboard/key_normal_space2.png
-%%DATADIR%%/themes/default/keyboard/keyboard-background.png
-%%DATADIR%%/themes/default/keyboard/keyboard.xml
-%%DATADIR%%/themes/default/keyboard/leftarrow.png
-%%DATADIR%%/themes/default/keyboard/nb.xml
-%%DATADIR%%/themes/default/keyboard/returnarrow.png
-%%DATADIR%%/themes/default/keyboard/rightarrow.png
-%%DATADIR%%/themes/default/keyboard/ru.xml
-%%DATADIR%%/themes/default/keyboard/shiftarrow.png
-%%DATADIR%%/themes/default/keyboard/sv.xml
-%%DATADIR%%/themes/default/lb-arrow.png
-%%DATADIR%%/themes/default/lb-check-empty.png
-%%DATADIR%%/themes/default/lb-check-full.png
-%%DATADIR%%/themes/default/lb-check-half.png
-%%DATADIR%%/themes/default/lb-dnarrow-reg.png
-%%DATADIR%%/themes/default/lb-dnarrow-sel.png
-%%DATADIR%%/themes/default/lb-ltarrow-reg.png
-%%DATADIR%%/themes/default/lb-ltarrow-sel.png
-%%DATADIR%%/themes/default/lb-rtarrow-reg.png
-%%DATADIR%%/themes/default/lb-rtarrow-sel.png
-%%DATADIR%%/themes/default/lb-uparrow-reg.png
-%%DATADIR%%/themes/default/lb-uparrow-sel.png
-%%DATADIR%%/themes/default/left_arrow.png
-%%DATADIR%%/themes/default/left_arrow_button.png
-%%DATADIR%%/themes/default/leftarrow.png
-%%DATADIR%%/themes/default/leftright_off.png
-%%DATADIR%%/themes/default/leftright_on.png
-%%DATADIR%%/themes/default/leftright_pushed.png
-%%DATADIR%%/themes/default/locale/ad.png
-%%DATADIR%%/themes/default/locale/ae.png
-%%DATADIR%%/themes/default/locale/af.png
-%%DATADIR%%/themes/default/locale/ag.png
-%%DATADIR%%/themes/default/locale/ai.png
-%%DATADIR%%/themes/default/locale/al.png
-%%DATADIR%%/themes/default/locale/am.png
-%%DATADIR%%/themes/default/locale/an.png
-%%DATADIR%%/themes/default/locale/ao.png
-%%DATADIR%%/themes/default/locale/ar.png
-%%DATADIR%%/themes/default/locale/as.png
-%%DATADIR%%/themes/default/locale/at.png
-%%DATADIR%%/themes/default/locale/au.png
-%%DATADIR%%/themes/default/locale/aw.png
-%%DATADIR%%/themes/default/locale/ax.png
-%%DATADIR%%/themes/default/locale/az.png
-%%DATADIR%%/themes/default/locale/ba.png
-%%DATADIR%%/themes/default/locale/bb.png
-%%DATADIR%%/themes/default/locale/bd.png
-%%DATADIR%%/themes/default/locale/be.png
-%%DATADIR%%/themes/default/locale/bf.png
-%%DATADIR%%/themes/default/locale/bg.png
-%%DATADIR%%/themes/default/locale/bh.png
-%%DATADIR%%/themes/default/locale/bi.png
-%%DATADIR%%/themes/default/locale/bj.png
-%%DATADIR%%/themes/default/locale/bl.png
-%%DATADIR%%/themes/default/locale/bm.png
-%%DATADIR%%/themes/default/locale/bn.png
-%%DATADIR%%/themes/default/locale/bo.png
-%%DATADIR%%/themes/default/locale/br.png
-%%DATADIR%%/themes/default/locale/bs.png
-%%DATADIR%%/themes/default/locale/bt.png
-%%DATADIR%%/themes/default/locale/bv.png
-%%DATADIR%%/themes/default/locale/bw.png
-%%DATADIR%%/themes/default/locale/by.png
-%%DATADIR%%/themes/default/locale/bz.png
-%%DATADIR%%/themes/default/locale/ca.png
-%%DATADIR%%/themes/default/locale/cc.png
-%%DATADIR%%/themes/default/locale/cd.png
-%%DATADIR%%/themes/default/locale/cf.png
-%%DATADIR%%/themes/default/locale/cg.png
-%%DATADIR%%/themes/default/locale/ch.png
-%%DATADIR%%/themes/default/locale/ci.png
-%%DATADIR%%/themes/default/locale/ck.png
-%%DATADIR%%/themes/default/locale/cl.png
-%%DATADIR%%/themes/default/locale/cm.png
-%%DATADIR%%/themes/default/locale/cn.png
-%%DATADIR%%/themes/default/locale/co.png
-%%DATADIR%%/themes/default/locale/cr.png
-%%DATADIR%%/themes/default/locale/cu.png
-%%DATADIR%%/themes/default/locale/cv.png
-%%DATADIR%%/themes/default/locale/cx.png
-%%DATADIR%%/themes/default/locale/cy.png
-%%DATADIR%%/themes/default/locale/cz.png
-%%DATADIR%%/themes/default/locale/de.png
-%%DATADIR%%/themes/default/locale/dj.png
-%%DATADIR%%/themes/default/locale/dk.png
-%%DATADIR%%/themes/default/locale/dm.png
-%%DATADIR%%/themes/default/locale/do.png
-%%DATADIR%%/themes/default/locale/dz.png
-%%DATADIR%%/themes/default/locale/ec.png
-%%DATADIR%%/themes/default/locale/ee.png
-%%DATADIR%%/themes/default/locale/eg.png
-%%DATADIR%%/themes/default/locale/eng.png
-%%DATADIR%%/themes/default/locale/er.png
-%%DATADIR%%/themes/default/locale/es.png
-%%DATADIR%%/themes/default/locale/et.png
-%%DATADIR%%/themes/default/locale/fi.png
-%%DATADIR%%/themes/default/locale/fj.png
-%%DATADIR%%/themes/default/locale/fk.png
-%%DATADIR%%/themes/default/locale/fm.png
-%%DATADIR%%/themes/default/locale/fo.png
-%%DATADIR%%/themes/default/locale/fr.png
-%%DATADIR%%/themes/default/locale/ga.png
-%%DATADIR%%/themes/default/locale/gb.png
-%%DATADIR%%/themes/default/locale/gd.png
-%%DATADIR%%/themes/default/locale/ge.png
-%%DATADIR%%/themes/default/locale/gf.png
-%%DATADIR%%/themes/default/locale/gg.png
-%%DATADIR%%/themes/default/locale/gh.png
-%%DATADIR%%/themes/default/locale/gi.png
-%%DATADIR%%/themes/default/locale/gl.png
-%%DATADIR%%/themes/default/locale/gm.png
-%%DATADIR%%/themes/default/locale/gn.png
-%%DATADIR%%/themes/default/locale/gp.png
-%%DATADIR%%/themes/default/locale/gq.png
-%%DATADIR%%/themes/default/locale/gr.png
-%%DATADIR%%/themes/default/locale/gs.png
-%%DATADIR%%/themes/default/locale/gt.png
-%%DATADIR%%/themes/default/locale/gu.png
-%%DATADIR%%/themes/default/locale/gw.png
-%%DATADIR%%/themes/default/locale/gy.png
-%%DATADIR%%/themes/default/locale/hk.png
-%%DATADIR%%/themes/default/locale/hn.png
-%%DATADIR%%/themes/default/locale/hr.png
-%%DATADIR%%/themes/default/locale/ht.png
-%%DATADIR%%/themes/default/locale/hu.png
-%%DATADIR%%/themes/default/locale/id.png
-%%DATADIR%%/themes/default/locale/ie.png
-%%DATADIR%%/themes/default/locale/il.png
-%%DATADIR%%/themes/default/locale/im.png
-%%DATADIR%%/themes/default/locale/in.png
-%%DATADIR%%/themes/default/locale/io.png
-%%DATADIR%%/themes/default/locale/iq.png
-%%DATADIR%%/themes/default/locale/ir.png
-%%DATADIR%%/themes/default/locale/is.png
-%%DATADIR%%/themes/default/locale/it.png
-%%DATADIR%%/themes/default/locale/je.png
-%%DATADIR%%/themes/default/locale/jm.png
-%%DATADIR%%/themes/default/locale/jo.png
-%%DATADIR%%/themes/default/locale/jp.png
-%%DATADIR%%/themes/default/locale/ke.png
-%%DATADIR%%/themes/default/locale/kg.png
-%%DATADIR%%/themes/default/locale/kh.png
-%%DATADIR%%/themes/default/locale/ki.png
-%%DATADIR%%/themes/default/locale/km.png
-%%DATADIR%%/themes/default/locale/kn.png
-%%DATADIR%%/themes/default/locale/kp.png
-%%DATADIR%%/themes/default/locale/kr.png
-%%DATADIR%%/themes/default/locale/kw.png
-%%DATADIR%%/themes/default/locale/ky.png
-%%DATADIR%%/themes/default/locale/kz.png
-%%DATADIR%%/themes/default/locale/la.png
-%%DATADIR%%/themes/default/locale/lb.png
-%%DATADIR%%/themes/default/locale/lc.png
-%%DATADIR%%/themes/default/locale/li.png
-%%DATADIR%%/themes/default/locale/lk.png
-%%DATADIR%%/themes/default/locale/lr.png
-%%DATADIR%%/themes/default/locale/ls.png
-%%DATADIR%%/themes/default/locale/lt.png
-%%DATADIR%%/themes/default/locale/lu.png
-%%DATADIR%%/themes/default/locale/lv.png
-%%DATADIR%%/themes/default/locale/ly.png
-%%DATADIR%%/themes/default/locale/ma.png
-%%DATADIR%%/themes/default/locale/mc.png
-%%DATADIR%%/themes/default/locale/md.png
-%%DATADIR%%/themes/default/locale/me.png
-%%DATADIR%%/themes/default/locale/mf.png
-%%DATADIR%%/themes/default/locale/mg.png
-%%DATADIR%%/themes/default/locale/mh.png
-%%DATADIR%%/themes/default/locale/mk.png
-%%DATADIR%%/themes/default/locale/ml.png
-%%DATADIR%%/themes/default/locale/mm.png
-%%DATADIR%%/themes/default/locale/mn.png
-%%DATADIR%%/themes/default/locale/mo.png
-%%DATADIR%%/themes/default/locale/mp.png
-%%DATADIR%%/themes/default/locale/mq.png
-%%DATADIR%%/themes/default/locale/mr.png
-%%DATADIR%%/themes/default/locale/ms.png
-%%DATADIR%%/themes/default/locale/mt.png
-%%DATADIR%%/themes/default/locale/mu.png
-%%DATADIR%%/themes/default/locale/mv.png
-%%DATADIR%%/themes/default/locale/mw.png
-%%DATADIR%%/themes/default/locale/mx.png
-%%DATADIR%%/themes/default/locale/my.png
-%%DATADIR%%/themes/default/locale/mz.png
-%%DATADIR%%/themes/default/locale/na.png
-%%DATADIR%%/themes/default/locale/nc.png
-%%DATADIR%%/themes/default/locale/ne.png
-%%DATADIR%%/themes/default/locale/nf.png
-%%DATADIR%%/themes/default/locale/ng.png
-%%DATADIR%%/themes/default/locale/ni.png
-%%DATADIR%%/themes/default/locale/nl.png
-%%DATADIR%%/themes/default/locale/no.png
-%%DATADIR%%/themes/default/locale/np.png
-%%DATADIR%%/themes/default/locale/nr.png
-%%DATADIR%%/themes/default/locale/nu.png
-%%DATADIR%%/themes/default/locale/nz.png
-%%DATADIR%%/themes/default/locale/om.png
-%%DATADIR%%/themes/default/locale/pa.png
-%%DATADIR%%/themes/default/locale/pe.png
-%%DATADIR%%/themes/default/locale/pf.png
-%%DATADIR%%/themes/default/locale/pg.png
-%%DATADIR%%/themes/default/locale/ph.png
-%%DATADIR%%/themes/default/locale/pk.png
-%%DATADIR%%/themes/default/locale/pl.png
-%%DATADIR%%/themes/default/locale/pm.png
-%%DATADIR%%/themes/default/locale/pn.png
-%%DATADIR%%/themes/default/locale/pr.png
-%%DATADIR%%/themes/default/locale/ps.png
-%%DATADIR%%/themes/default/locale/pt.png
-%%DATADIR%%/themes/default/locale/pw.png
-%%DATADIR%%/themes/default/locale/py.png
-%%DATADIR%%/themes/default/locale/qa.png
-%%DATADIR%%/themes/default/locale/re.png
-%%DATADIR%%/themes/default/locale/ro.png
-%%DATADIR%%/themes/default/locale/rs.png
-%%DATADIR%%/themes/default/locale/ru.png
-%%DATADIR%%/themes/default/locale/rw.png
-%%DATADIR%%/themes/default/locale/sa.png
-%%DATADIR%%/themes/default/locale/sb.png
-%%DATADIR%%/themes/default/locale/sc.png
-%%DATADIR%%/themes/default/locale/sct.png
-%%DATADIR%%/themes/default/locale/sd.png
-%%DATADIR%%/themes/default/locale/se.png
-%%DATADIR%%/themes/default/locale/sg.png
-%%DATADIR%%/themes/default/locale/sh.png
-%%DATADIR%%/themes/default/locale/si.png
-%%DATADIR%%/themes/default/locale/sj.png
-%%DATADIR%%/themes/default/locale/sk.png
-%%DATADIR%%/themes/default/locale/sl.png
-%%DATADIR%%/themes/default/locale/sm.png
-%%DATADIR%%/themes/default/locale/sn.png
-%%DATADIR%%/themes/default/locale/so.png
-%%DATADIR%%/themes/default/locale/sr.png
-%%DATADIR%%/themes/default/locale/st.png
-%%DATADIR%%/themes/default/locale/sv.png
-%%DATADIR%%/themes/default/locale/sy.png
-%%DATADIR%%/themes/default/locale/sz.png
-%%DATADIR%%/themes/default/locale/tc.png
-%%DATADIR%%/themes/default/locale/td.png
-%%DATADIR%%/themes/default/locale/tf.png
-%%DATADIR%%/themes/default/locale/tg.png
-%%DATADIR%%/themes/default/locale/th.png
-%%DATADIR%%/themes/default/locale/tj.png
-%%DATADIR%%/themes/default/locale/tk.png
-%%DATADIR%%/themes/default/locale/tl.png
-%%DATADIR%%/themes/default/locale/tm.png
-%%DATADIR%%/themes/default/locale/tn.png
-%%DATADIR%%/themes/default/locale/to.png
-%%DATADIR%%/themes/default/locale/tr.png
-%%DATADIR%%/themes/default/locale/tt.png
-%%DATADIR%%/themes/default/locale/tv.png
-%%DATADIR%%/themes/default/locale/tw.png
-%%DATADIR%%/themes/default/locale/tz.png
-%%DATADIR%%/themes/default/locale/ua.png
-%%DATADIR%%/themes/default/locale/ug.png
-%%DATADIR%%/themes/default/locale/um.png
-%%DATADIR%%/themes/default/locale/us.png
-%%DATADIR%%/themes/default/locale/uy.png
-%%DATADIR%%/themes/default/locale/uz.png
-%%DATADIR%%/themes/default/locale/va.png
-%%DATADIR%%/themes/default/locale/vc.png
-%%DATADIR%%/themes/default/locale/ve.png
-%%DATADIR%%/themes/default/locale/vg.png
-%%DATADIR%%/themes/default/locale/vi.png
-%%DATADIR%%/themes/default/locale/vn.png
-%%DATADIR%%/themes/default/locale/vu.png
-%%DATADIR%%/themes/default/locale/wf.png
-%%DATADIR%%/themes/default/locale/wls.png
-%%DATADIR%%/themes/default/locale/ws.png
-%%DATADIR%%/themes/default/locale/ye.png
-%%DATADIR%%/themes/default/locale/yt.png
-%%DATADIR%%/themes/default/locale/za.png
-%%DATADIR%%/themes/default/locale/zm.png
-%%DATADIR%%/themes/default/locale/zw.png
-%%DATADIR%%/themes/default/md_progress_background.png
-%%DATADIR%%/themes/default/md_rip_banner.png
-%%DATADIR%%/themes/default/menu_button.png
-%%DATADIR%%/themes/default/menu_cutlist.xml
-%%DATADIR%%/themes/default/menu_cutlist_compact.xml
-%%DATADIR%%/themes/default/menu_playback.xml
-%%DATADIR%%/themes/default/menu_playback_compact.xml
-%%DATADIR%%/themes/default/mono.png
-%%DATADIR%%/themes/default/more_button.png
-%%DATADIR%%/themes/default/musicscanner.png
-%%DATADIR%%/themes/default/muted_button.png
-%%DATADIR%%/themes/default/mv_browse_background.png
-%%DATADIR%%/themes/default/mv_browse_selector.png
-%%DATADIR%%/themes/default/mv_filerequest.png
-%%DATADIR%%/themes/default/mv_itemdetail_popup.png
-%%DATADIR%%/themes/default/mv_level_high.png
-%%DATADIR%%/themes/default/mv_level_low.png
-%%DATADIR%%/themes/default/mv_level_lowest.png
-%%DATADIR%%/themes/default/mv_level_medium.png
-%%DATADIR%%/themes/default/mv_level_none.png
-%%DATADIR%%/themes/default/mv_results_popup.png
-%%DATADIR%%/themes/default/mythdialogbox-background.png
-%%DATADIR%%/themes/default/mythfilebrowser-background.png
-%%DATADIR%%/themes/default/mythprogressdialog-background.png
-%%DATADIR%%/themes/default/noartwork.png
-%%DATADIR%%/themes/default/noartwork512.png
-%%DATADIR%%/themes/default/notification-ui.xml
-%%DATADIR%%/themes/default/osd.xml
-%%DATADIR%%/themes/default/osd_subtitle.xml
-%%DATADIR%%/themes/default/pause_button.png
-%%DATADIR%%/themes/default/pd-background.png
-%%DATADIR%%/themes/default/pf-background.png
-%%DATADIR%%/themes/default/pf-lines.png
-%%DATADIR%%/themes/default/pf-sel1.png
-%%DATADIR%%/themes/default/pf-sel2.png
-%%DATADIR%%/themes/default/pf-sel3.png
-%%DATADIR%%/themes/default/pf-top.png
-%%DATADIR%%/themes/default/pf-topbackground.png
-%%DATADIR%%/themes/default/play_button.png
-%%DATADIR%%/themes/default/playlist_yes.png
-%%DATADIR%%/themes/default/preview.png
-%%DATADIR%%/themes/default/processing.png
-%%DATADIR%%/themes/default/progressbar_background.png
-%%DATADIR%%/themes/default/progressbar_fill.png
-%%DATADIR%%/themes/default/progressbar_fill2.png
-%%DATADIR%%/themes/default/reclist_background.png
-%%DATADIR%%/themes/default/recordings-ui.xml
-%%DATADIR%%/themes/default/rew_button.png
-%%DATADIR%%/themes/default/right_arrow.png
-%%DATADIR%%/themes/default/right_arrow_button.png
-%%DATADIR%%/themes/default/rightarrow.png
-%%DATADIR%%/themes/default/rk-background.png
-%%DATADIR%%/themes/default/rk-lines.png
-%%DATADIR%%/themes/default/rk-selectbar.png
-%%DATADIR%%/themes/default/schedule-ui.xml
-%%DATADIR%%/themes/default/schedule_conflict.png
-%%DATADIR%%/themes/default/schedule_disabled.png
-%%DATADIR%%/themes/default/schedule_other.png
-%%DATADIR%%/themes/default/schedule_record.png
-%%DATADIR%%/themes/default/schedule_recording.png
-%%DATADIR%%/themes/default/selectbar.png
-%%DATADIR%%/themes/default/settings-ui.xml
-%%DATADIR%%/themes/default/shared/0_stars.png
-%%DATADIR%%/themes/default/shared/10_stars.png
-%%DATADIR%%/themes/default/shared/1_stars.png
-%%DATADIR%%/themes/default/shared/2_stars.png
-%%DATADIR%%/themes/default/shared/3_stars.png
-%%DATADIR%%/themes/default/shared/4_stars.png
-%%DATADIR%%/themes/default/shared/5_stars.png
-%%DATADIR%%/themes/default/shared/6_stars.png
-%%DATADIR%%/themes/default/shared/7_stars.png
-%%DATADIR%%/themes/default/shared/8_stars.png
-%%DATADIR%%/themes/default/shared/9_stars.png
-%%DATADIR%%/themes/default/shared/directory.png
-%%DATADIR%%/themes/default/shared/executable.png
-%%DATADIR%%/themes/default/shared/file.png
-%%DATADIR%%/themes/default/shared/folder-reg.png
-%%DATADIR%%/themes/default/shared/folder-sel.png
-%%DATADIR%%/themes/default/shared/grid_back_reg.png
-%%DATADIR%%/themes/default/shared/grid_back_sel.png
-%%DATADIR%%/themes/default/shared/grid_noimage.png
-%%DATADIR%%/themes/default/shared/movie-reg.png
-%%DATADIR%%/themes/default/shared/movie-sel.png
-%%DATADIR%%/themes/default/shared/secure.png
-%%DATADIR%%/themes/default/shared/unsecure.png
-%%DATADIR%%/themes/default/shared/updirectory.png
-%%DATADIR%%/themes/default/small_watched.png
-%%DATADIR%%/themes/default/solid-container.png
-%%DATADIR%%/themes/default/solid-cr-background.png
-%%DATADIR%%/themes/default/sr-background.png
-%%DATADIR%%/themes/default/standardsetting-ui.xml
-%%DATADIR%%/themes/default/status-bar.png
-%%DATADIR%%/themes/default/status-ui.xml
-%%DATADIR%%/themes/default/stereo.png
-%%DATADIR%%/themes/default/stop_button.png
-%%DATADIR%%/themes/default/subs.png
-%%DATADIR%%/themes/default/subs_onscreen.png
-%%DATADIR%%/themes/default/surround.png
-%%DATADIR%%/themes/default/text_button_off.png
-%%DATADIR%%/themes/default/text_button_on.png
-%%DATADIR%%/themes/default/text_button_pushed.png
-%%DATADIR%%/themes/default/topleft.png
-%%DATADIR%%/themes/default/trans-backup.png
-%%DATADIR%%/themes/default/trans-container.png
-%%DATADIR%%/themes/default/trans-cr-background.png
-%%DATADIR%%/themes/default/trans-rk-background.png
-%%DATADIR%%/themes/default/trans-sr-background.png
-%%DATADIR%%/themes/default/unchecked.png
-%%DATADIR%%/themes/default/unchecked_high.png
-%%DATADIR%%/themes/default/unmuted_button.png
-%%DATADIR%%/themes/default/up_arrow.png
-%%DATADIR%%/themes/default/uparrow.png
-%%DATADIR%%/themes/default/very_wide_button_background.png
-%%DATADIR%%/themes/default/very_wide_button_pushed_background.png
-%%DATADIR%%/themes/default/very_wide_button_selected_background.png
-%%DATADIR%%/themes/default/video-ui.xml
-%%DATADIR%%/themes/default/warning.png
-%%DATADIR%%/themes/default/watched.png
-%%DATADIR%%/themes/default/welcome-ui.xml
-%%DATADIR%%/themes/default/wide.png
-%%DATADIR%%/themes/default/wide_button_background.png
-%%DATADIR%%/themes/default/wide_button_pushed_background.png
-%%DATADIR%%/themes/default/wide_button_selected_background.png
-%%DATADIR%%/themes/defaultmenu/info_menu.xml
-%%DATADIR%%/themes/defaultmenu/info_settings.xml
-%%DATADIR%%/themes/defaultmenu/library.xml
-%%DATADIR%%/themes/defaultmenu/main_settings.xml
-%%DATADIR%%/themes/defaultmenu/mainmenu.xml
-%%DATADIR%%/themes/defaultmenu/manage_recordings.xml
-%%DATADIR%%/themes/defaultmenu/media_settings.xml
-%%DATADIR%%/themes/defaultmenu/optical_menu.xml
-%%DATADIR%%/themes/defaultmenu/recpriorities_settings.xml
-%%DATADIR%%/themes/defaultmenu/themeinfo.xml
-%%DATADIR%%/themes/defaultmenu/tv_lists.xml
-%%DATADIR%%/themes/defaultmenu/tv_schedule.xml
-%%DATADIR%%/themes/defaultmenu/tv_search.xml
-%%DATADIR%%/themes/defaultmenu/tv_settings.xml
-%%DATADIR%%/themes/defaultmenu/tvmenu.xml
-%%DATADIR%%/themes/defaultmenu/util_menu.xml
-%%DATADIR%%/themes/defaultmenu/video_settings.xml
-%%DATADIR%%/themes/mediacentermenu/advanced.xml
-%%DATADIR%%/themes/mediacentermenu/info_settings.xml
-%%DATADIR%%/themes/mediacentermenu/main_settings.xml
-%%DATADIR%%/themes/mediacentermenu/mainmenu.xml
-%%DATADIR%%/themes/mediacentermenu/manage_recordings.xml
-%%DATADIR%%/themes/mediacentermenu/media_settings.xml
-%%DATADIR%%/themes/mediacentermenu/optical_menu.xml
-%%DATADIR%%/themes/mediacentermenu/plugin_menu.xml
-%%DATADIR%%/themes/mediacentermenu/recpriorities_settings.xml
-%%DATADIR%%/themes/mediacentermenu/themeinfo.xml
-%%DATADIR%%/themes/mediacentermenu/tv_lists.xml
-%%DATADIR%%/themes/mediacentermenu/tv_schedule.xml
-%%DATADIR%%/themes/mediacentermenu/tv_search.xml
-%%DATADIR%%/themes/mediacentermenu/tv_settings.xml
-%%DATADIR%%/themes/mediacentermenu/video_settings.xml
-%%DATADIR%%/themes/mythuitheme.dtd
diff --git a/multimedia/mythtv/Makefile b/multimedia/mythtv/Makefile
index 389ca16ebe13..8af625e9eaeb 100644
--- a/multimedia/mythtv/Makefile
+++ b/multimedia/mythtv/Makefile
@@ -1,19 +1,17 @@
-# Created by: Stacey Son <mythdev@son.org>, Ari Maniatis <ari@ish.com.au>
-
PORTNAME= mythtv
DISTVERSIONPREFIX= v
-DISTVERSION= 31.0
-PORTREVISION= 7
+DISTVERSION= 34.0
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= multimedia
-MAINTAINER?= ahicks@p-o.co.uk
-COMMENT?= Homebrew PVR project
+MAINTAINER= ahicks@p-o.co.uk
+COMMENT= Homebrew PVR project
+WWW= https://www.mythtv.org/
LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc64 powerpc64le
+ONLY_FOR_ARCHS= aarch64 amd64 i386 powerpc powerpc64 powerpc64le
.if ${/usr/bin/ld:L:tA} == /usr/bin/ld.lld
BROKEN_i386= ld: error: can't create dynamic relocation R_386_32 against local symbol in readonly segment
.endif
@@ -24,7 +22,6 @@ LIB_DEPENDS= liblzo2.so:archivers/lzo2 \
libtag.so:audio/taglib \
libexiv2.so:graphics/exiv2 \
libva.so:multimedia/libva \
- libva-glx.so:multimedia/libva-glx \
libbluray.so:multimedia/libbluray \
libass.so:multimedia/libass \
libfftw3_threads.so:math/fftw3 \
@@ -33,31 +30,45 @@ LIB_DEPENDS= liblzo2.so:archivers/lzo2 \
libxml2.so:textproc/libxml2 \
libdav1d.so:multimedia/dav1d \
libaom.so:multimedia/aom \
- libdrm.so:graphics/libdrm
+ libdrm.so:graphics/libdrm \
+ libpulse.so:audio/pulseaudio \
+ libjack.so:audio/jack \
+ libSoundTouch.so:audio/soundtouch \
+ libasound.so:audio/alsa-lib \
+ libsndio.so:audio/sndio \
+ libgnutls.so:security/gnutls \
+ libzip.so:archivers/libzip \
+ libexpat.so:textproc/expat2
BUILD_DEPENDS= yasm:devel/yasm \
${LOCALBASE}/include/linux/input.h:devel/evdev-proto
-USES= compiler:c++11-lang gmake gl iconv libtool pkgconfig pathfix \
- qmake:no_env qt:5 ssl xorg
+USES= compiler:c++17-lang gmake gl iconv libtool pkgconfig pathfix \
+ perl5 python qmake:no_env qt:5 shebangfix ssl xorg
+
USE_GITHUB= yes
GH_ACCOUNT= MythTV
USE_GL= gl
USE_LDCONFIG= yes
-USE_QT= buildtools_build core dbus gui imageformats_run \
- linguist_build network opengl qmake_build script sql \
- sql-mysql_run webkit widgets xml
+USE_QT= buildtools:build core dbus gui imageformats:run \
+ linguist:build multimedia network opengl qmake:build script \
+ sql sql-mysql:run widgets xml
+USE_PERL5= run build
USE_XORG= x11 xv xrandr xxf86vm xinerama xext xcb
+SHEBANG_FILES= programs/scripts/database/*.pl \
+ programs/scripts/metadata/Music/mbutils.py
HAS_CONFIGURE= yes
CONFIGURE_ARGS= --prefix="${PREFIX}" --cc="${CC}" --cxx="${CXX}" \
--libxml2-path="${LOCALBASE}/include/libxml2" \
- --disable-audio-alsa
+ --disable-audio-alsa \
+ --disable-qtwebkit
CONFIGURE_ENV= QMAKESPEC="${QMAKESPEC}" MOC="${MOC}" \
QTDIR="${PREFIX}" PKG_CONFIG_PATH="${LOCALBASE}/libdata/pkgconfig"
MAKE_ENV= QTDIR="${PREFIX}" \
QMAKESPEC="${QMAKESPEC}"
NOPRECIOUSMAKEVARS= # don't override ARCH in ffmpeg makefiles
DESTDIRNAME= INSTALL_ROOT
+CFLAGS_powerpc= -Wno-error=int-conversion
CPPFLAGS+= ${QTCPPFLAGS}
LDFLAGS+= -L${LOCALBASE}/lib
LDFLAGS_aarch64=-Wl,-z,notext
@@ -68,55 +79,39 @@ WRKSRC_SUBDIR= ${PORTNAME}
DESKTOP_ENTRIES="MythTV Frontend" "MythTV is a homebrew PVR project" "" \
"mythfrontend" "AudioVideo;Video;" false
-.if defined(SLAVEPORT) && ${SLAVEPORT} == "frontend"
-CONFLICTS_INSTALL= mythtv
-
-CONFIGURE_ARGS+=--disable-dvb --disable-firewire --disable-hdhomerun \
- --disable-hdpvr --disable-ivtv \
- --without-bindings=perl,python
-
-EXTRA_PATCHES= ${.CURDIR}/../../multimedia/mythtv/files/extrapatch-programs_programs.pro
-
-OPTIONS_EXCLUDE+= BINDINGS LIRC MYSQL
-.else
CONFLICTS_INSTALL= mythtv-frontend
RUN_DEPENDS+= tv_check:textproc/p5-xmltv \
wget:ftp/wget
-USES+= perl5 python:3.5+ shebangfix
-USE_PERL5= run build
USE_RC_SUBR= mythbackend
SHEBANG_FILES= programs/scripts/database/*.pl \
programs/scripts/internetcontent/*.py \
programs/scripts/internetcontent/*.pl \
programs/scripts/internetcontent/nv_python_libs/*.py \
programs/scripts/hardwareprofile/*.py \
- programs/scripts/metadata/Television/ttvdb.py \
programs/scripts/metadata/Movie/tmdb3.py \
programs/scripts/metadata/Music/mbutils.py
CONFIGURE_ARGS+=--dvb-path="${WRKSRC}/media_tree/include/uapi" \
- --enable-ivtv --enable-v4l2
+ --enable-v4l2
USERS= mythtv
GROUPS= mythtv
-DATADIR= ${PREFIX}/share/mythtv
SUB_FILES= pkg-message
-.endif
OPTIONS_DEFINE= BINDINGS HDHOMERUN JACK LIRC MYSQL PULSEAUDIO VDPAU
OPTIONS_DEFAULT= BINDINGS HDHOMERUN VDPAU
OPTIONS_SUB= yes
BINDINGS_DESC= Perl and Python bindings
-BINDINGS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR} \
+BINDINGS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=0:databases/py-mysqlclient@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}future>=0:devel/py-future@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}lxml>=0:devel/py-lxml@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}simplejson>=0:devel/py-simplejson@${PY_FLAVOR} \
p5-DBI>=0:databases/p5-DBI \
- p5-DBD-mysql>0:databases/p5-DBD-mysql \
+ ${DBD_MYSQL} \
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \
p5-XML-Simple>=0:textproc/p5-XML-Simple \
@@ -129,13 +124,15 @@ BINDINGS_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mysqlclient>=1.2.2:databases/py-mys
${PYTHON_PKGNAMEPREFIX}requests-cache>0:www/py-requests-cache@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}simplejson>=3:devel/py-simplejson@${PY_FLAVOR} \
p5-DBI>=0:databases/p5-DBI \
- p5-DBD-mysql>0:databases/p5-DBD-mysql \
+ ${DBD_MYSQL} \
p5-Net-UPnP>=0:multimedia/p5-Net-UPnP \
p5-IO-Socket-INET6>=2.51:net/p5-IO-Socket-INET6 \
p5-XML-Simple>=0:textproc/p5-XML-Simple \
p5-HTTP-Request-Params>=0:www/p5-HTTP-Request-Params \
p5-LWP-UserAgent-Determined>=0:www/p5-LWP-UserAgent-Determined
BINDINGS_CONFIGURE_ON= --python="${PYTHON_CMD}" --with-bindings=perl,python
+BINDINGS_CONFIGURE_OFF= --without-bindings=perl,python
+BINDINGS_USES= mysql
HDHOMERUN_DESC= Native support for HDHomeRun network tuners
HDHOMERUN_LIB_DEPENDS= libhdhomerun.so:multimedia/libhdhomerun
@@ -168,7 +165,6 @@ post-patch:
${WRKSRC}/programs/scripts/database/mythconverg_backup.pl \
${WRKSRC}/programs/scripts/database/mythconverg_restore.pl \
${WRKSRC}/programs/mythcommflag/mythcommflag-analyze
-.if !defined(SLAVEPORT)
# Header file from:
# https://git.linuxtv.org/media_tree.git/tree/include/uapi/linux/dvb
@${MKDIR} ${LINUXDVB}
@@ -223,13 +219,14 @@ post-patch:
-e 's|/usr/bin/perl|${LOCALBASE}/bin/perl|g' \
-e 's|__user||g' \
${LINUXDVB}/frontend.h
-.endif
+
+pre-install:
+ @${REINPLACE_CMD} -e '/^CPPFLAGS=/ s#$$# -I${LOCALBASE}/include#' \
+ ${WRKSRC}/libs/libmythbase/mythconfig.mak
post-install:
-.if !defined(SLAVEPORT)
@${MKDIR} ${STAGEDIR}${PREFIX}/share/mythtv/database
${INSTALL_DATA} ${WRKSRC}/database/mc.sql ${STAGEDIR}${PREFIX}/share/mythtv/database
-.endif
@${FIND} ${STAGEDIR}${PREFIX}/bin -type f -exec ${SH} -c "${FILE} -i '{}' | \
${GREP} -q 'x-executable; charset=binary'" \; -print | ${XARGS} ${STRIP_CMD}
@${FIND} ${STAGEDIR}${PREFIX}/lib -type f -name lib\*.so.\* | ${XARGS} ${STRIP_CMD}
diff --git a/multimedia/mythtv/distinfo b/multimedia/mythtv/distinfo
index c12352a9dd97..817a516dabd2 100644
--- a/multimedia/mythtv/distinfo
+++ b/multimedia/mythtv/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1599843409
-SHA256 (MythTV-mythtv-v31.0_GH0.tar.gz) = 907d1747950ec6ef1ec965069c75500b4538b781333f60e16d62d519b221a86d
-SIZE (MythTV-mythtv-v31.0_GH0.tar.gz) = 102552136
+TIMESTAMP = 1708697729
+SHA256 (MythTV-mythtv-v34.0_GH0.tar.gz) = 1c0a0f9ae190468d07ebfb534c720ef8c62811148a9f928c56876e9fdbd5d6bf
+SIZE (MythTV-mythtv-v34.0_GH0.tar.gz) = 118820346
diff --git a/multimedia/mythtv/files/extrapatch-programs_programs.pro b/multimedia/mythtv/files/extrapatch-programs_programs.pro
deleted file mode 100644
index 48a1da25a05f..000000000000
--- a/multimedia/mythtv/files/extrapatch-programs_programs.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-Disable backend components for multimedia/mythtv-frontend
-
---- programs/programs.pro.orig 2018-01-11 12:39:22 UTC
-+++ programs/programs.pro
-@@ -15,13 +15,4 @@ using_frontend {
- !mingw:!win32-msvc*: SUBDIRS += mythtranscode/external/replex
- }
-
--using_backend {
-- SUBDIRS += mythbackend mythfilldatabase mythtv-setup
-- SUBDIRS += mythmetadatalookup
--
-- !win32-msvc*:SUBDIRS += scripts
-- !mingw:!win32-msvc*: SUBDIRS += mythfilerecorder
-- !mingw:!win32-msvc*: SUBDIRS += mythexternrecorder
--}
--
- using_mythtranscode: SUBDIRS += mythtranscode
diff --git a/multimedia/mythtv/files/patch-configure b/multimedia/mythtv/files/patch-configure
new file mode 100644
index 000000000000..1479055767a4
--- /dev/null
+++ b/multimedia/mythtv/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig 2024-02-25 17:30:55 UTC
++++ configure
+@@ -5435,7 +5435,7 @@ if enabled system_libexiv2 ; then
+
+ # libexiv2
+ if enabled system_libexiv2 ; then
+- if $(pkg-config --atleast-version="0.99" exiv2); then
++ if $(pkg-config --atleast-version="0.28" exiv2); then
+ use_pkg_config exiv2 exiv2 exiv2/exiv2.hpp versionNumber
+ elif [ $target_os != "android" ] ; then
+ disable system_libexiv2
diff --git a/multimedia/mythtv/files/patch-dav1d-1.0 b/multimedia/mythtv/files/patch-dav1d-1.0
deleted file mode 100644
index 272eb84994a9..000000000000
--- a/multimedia/mythtv/files/patch-dav1d-1.0
+++ /dev/null
@@ -1,111 +0,0 @@
-https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/5e61fce832f7
-
-libavcodec/libdav1d.c:137:7: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- s.n_tile_threads = dav1d->tile_threads
- ~ ^
-libavcodec/libdav1d.c:139:52: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
- ^
-libavcodec/libdav1d.c:139:52: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
-libavcodec/libdav1d.c:140:7: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- s.n_frame_threads = dav1d->frame_threads
- ~ ^
-libavcodec/libdav1d.c:142:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ~ ^
-./libavutil/common.h:96:22: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-libavcodec/libdav1d.c:142:65: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-./libavutil/common.h:96:28: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-libavcodec/libdav1d.c:142:65: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-./libavutil/common.h:96:34: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-libavcodec/libdav1d.c:142:48: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- ~ ^
-./libavutil/common.h:96:40: note: expanded from macro 'FFMIN'
-#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
- ^
-libavcodec/libdav1d.c:144:14: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- s.n_frame_threads, s.n_tile_threads);
- ~ ^
-libavcodec/libdav1d.c:144:33: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- s.n_frame_threads, s.n_tile_threads);
- ~ ^
-libavcodec/libdav1d.c:378:94: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- { "tilethreads", "Tile threads", OFFSET(tile_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_TILE_THREADS, VD },
- ^
-libavcodec/libdav1d.c:379:97: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- { "framethreads", "Frame threads", OFFSET(frame_threads), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, DAV1D_MAX_FRAME_THREADS, VD },
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-
---- external/FFmpeg/libavcodec/libdav1d.c.orig 2020-03-23 14:32:28 UTC
-+++ external/FFmpeg/libavcodec/libdav1d.c
-@@ -30,6 +30,9 @@
- #include "decode.h"
- #include "internal.h"
-
-+#define FF_DAV1D_VERSION_AT_LEAST(x,y) \
-+ (DAV1D_API_VERSION_MAJOR > (x) || DAV1D_API_VERSION_MAJOR == (x) && DAV1D_API_VERSION_MINOR >= (y))
-+
- typedef struct Libdav1dContext {
- AVClass *class;
- Dav1dContext *c;
-@@ -132,6 +135,15 @@ static av_cold int libdav1d_init(AVCodecContext *c)
- s.allocator.release_picture_callback = libdav1d_picture_release;
- s.apply_grain = dav1d->apply_grain;
-
-+#if FF_DAV1D_VERSION_AT_LEAST(6,0)
-+ if (dav1d->frame_threads || dav1d->tile_threads)
-+ s.n_threads = FFMAX(dav1d->frame_threads, dav1d->tile_threads);
-+ else
-+ s.n_threads = FFMIN(threads, DAV1D_MAX_THREADS);
-+ s.max_frame_delay = (c->flags & AV_CODEC_FLAG_LOW_DELAY) ? 1 : s.n_threads;
-+ av_log(c, AV_LOG_DEBUG, "Using %d threads, %d max_frame_delay\n",
-+ s.n_threads, s.max_frame_delay);
-+#else
- s.n_tile_threads = dav1d->tile_threads
- ? dav1d->tile_threads
- : FFMIN(floor(sqrt(threads)), DAV1D_MAX_TILE_THREADS);
-@@ -140,6 +152,7 @@ static av_cold int libdav1d_init(AVCodecContext *c)
- : FFMIN(ceil(threads / s.n_tile_threads), DAV1D_MAX_FRAME_THREADS);
- av_log(c, AV_LOG_DEBUG, "Using %d frame threads, %d tile threads\n",
- s.n_frame_threads, s.n_tile_threads);
-+#endif
-
- res = dav1d_open(&dav1d->c, &s);
- if (res < 0)
-@@ -335,6 +348,13 @@ static av_cold int libdav1d_close(AVCodecContext *c)
-
- return 0;
- }
-+
-+#ifndef DAV1D_MAX_FRAME_THREADS
-+#define DAV1D_MAX_FRAME_THREADS DAV1D_MAX_THREADS
-+#endif
-+#ifndef DAV1D_MAX_TILE_THREADS
-+#define DAV1D_MAX_TILE_THREADS DAV1D_MAX_THREADS
-+#endif
-
- #define OFFSET(x) offsetof(Libdav1dContext, x)
- #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM
diff --git a/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__altivec.c b/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__altivec.c
deleted file mode 100644
index d372e84d85b1..000000000000
--- a/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__altivec.c
+++ /dev/null
@@ -1,55 +0,0 @@
---- external/FFmpeg/libswscale/ppc/swscale_altivec.c.orig 2019-08-11 20:06:32 UTC
-+++ external/FFmpeg/libswscale/ppc/swscale_altivec.c
-@@ -153,13 +153,13 @@ static void yuv2plane1_float_altivec(const int32_t *sr
- const int add = (1 << (shift - 1));
- const int clip = (1 << 16) - 1;
- const float fmult = 1.0f / 65535.0f;
-- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
-- const vector uint32_t vshift = (vector uint32_t) vec_splat_u32(shift);
-- const vector uint32_t vlargest = (vector uint32_t) {clip, clip, clip, clip};
-- const vector float vmul = (vector float) {fmult, fmult, fmult, fmult};
-- const vector float vzero = (vector float) {0, 0, 0, 0};
-- vector uint32_t v;
-- vector float vd;
-+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
-+ const vec_u32 vshift = (vec_u32) vec_splat_u32(shift);
-+ const vec_u32 vlargest = (vec_u32) {clip, clip, clip, clip};
-+ const vec_f vmul = (vec_f) {fmult, fmult, fmult, fmult};
-+ const vec_f vzero = (vec_f) {0, 0, 0, 0};
-+ vec_u32 v;
-+ vec_f vd;
- int i;
-
- yuv2plane1_float_u(src, dest, dst_u, 0);
-@@ -186,14 +186,14 @@ static void yuv2plane1_float_bswap_altivec(const int32
- const int add = (1 << (shift - 1));
- const int clip = (1 << 16) - 1;
- const float fmult = 1.0f / 65535.0f;
-- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
-- const vector uint32_t vshift = (vector uint32_t) vec_splat_u32(shift);
-- const vector uint32_t vlargest = (vector uint32_t) {clip, clip, clip, clip};
-+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
-+ const vec_u32 vshift = (vec_u32) vec_splat_u32(shift);
-+ const vec_u32 vlargest = (vec_u32) {clip, clip, clip, clip};
- const vector float vmul = (vector float) {fmult, fmult, fmult, fmult};
- const vector float vzero = (vector float) {0, 0, 0, 0};
-- const vector uint32_t vswapbig = (vector uint32_t) {16, 16, 16, 16};
-- const vector uint16_t vswapsmall = vec_splat_u16(8);
-- vector uint32_t v;
-+ const vec_u32 vswapbig = (vec_u32) {16, 16, 16, 16};
-+ const vec_u16 vswapsmall = vec_splat_u16(8);
-+ vec_u32 v;
- vector float vd;
- int i;
-
-@@ -208,8 +208,8 @@ static void yuv2plane1_float_bswap_altivec(const int32
- vd = vec_ctf(v, 0);
- vd = vec_madd(vd, vmul, vzero);
-
-- vd = (vector float) vec_rl((vector uint32_t) vd, vswapbig);
-- vd = (vector float) vec_rl((vector uint16_t) vd, vswapsmall);
-+ vd = (vector float) vec_rl((vec_u32) vd, vswapbig);
-+ vd = (vector float) vec_rl((vec_u16) vd, vswapsmall);
-
- vec_st(vd, 0, (float *) &dest[i]);
- }
diff --git a/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__vsx.c b/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__vsx.c
deleted file mode 100644
index 58c0f55e106f..000000000000
--- a/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_swscale__vsx.c
+++ /dev/null
@@ -1,1268 +0,0 @@
---- external/FFmpeg/libswscale/ppc/swscale_vsx.c.orig 2019-08-11 20:06:32 UTC
-+++ external/FFmpeg/libswscale/ppc/swscale_vsx.c
-@@ -103,9 +103,9 @@ static void yuv2plane1_8_vsx(const int16_t *src, uint8_t *dest, int dstW,
- const int dst_u = -(uintptr_t)dest & 15;
- int i, j;
- LOCAL_ALIGNED(16, int16_t, val, [16]);
-- const vector uint16_t shifts = (vector uint16_t) {7, 7, 7, 7, 7, 7, 7, 7};
-- vector int16_t vi, vileft, ditherleft, ditherright;
-- vector uint8_t vd;
-+ const vec_u16 shifts = (vec_u16) {7, 7, 7, 7, 7, 7, 7, 7};
-+ vec_s16 vi, vileft, ditherleft, ditherright;
-+ vec_u8 vd;
-
- for (j = 0; j < 16; j++) {
- val[j] = dither[(dst_u + offset + j) & 7];
-@@ -161,11 +161,11 @@ static void yuv2plane1_nbps_vsx(const int16_t *src, uint16_t *dest, int dstW,
- const int shift = 15 - output_bits;
- const int add = (1 << (shift - 1));
- const int clip = (1 << output_bits) - 1;
-- const vector uint16_t vadd = (vector uint16_t) {add, add, add, add, add, add, add, add};
-- const vector uint16_t vswap = (vector uint16_t) vec_splat_u16(big_endian ? 8 : 0);
-- const vector uint16_t vshift = (vector uint16_t) vec_splat_u16(shift);
-- const vector uint16_t vlargest = (vector uint16_t) {clip, clip, clip, clip, clip, clip, clip, clip};
-- vector uint16_t v;
-+ const vec_u16 vadd = (vec_u16) {add, add, add, add, add, add, add, add};
-+ const vec_u16 vswap = (vec_u16) vec_splat_u16(big_endian ? 8 : 0);
-+ const vec_u16 vshift = (vec_u16) vec_splat_u16(shift);
-+ const vec_u16 vlargest = (vec_u16) {clip, clip, clip, clip, clip, clip, clip, clip};
-+ vec_u16 v;
- int i;
-
- yuv2plane1_nbps_u(src, dest, dst_u, big_endian, output_bits, 0);
-@@ -209,20 +209,20 @@ static void yuv2planeX_nbps_vsx(const int16_t *filter, int filterSize,
- const int add = (1 << (shift - 1));
- const int clip = (1 << output_bits) - 1;
- const uint16_t swap = big_endian ? 8 : 0;
-- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
-- const vector uint32_t vshift = (vector uint32_t) {shift, shift, shift, shift};
-- const vector uint16_t vswap = (vector uint16_t) {swap, swap, swap, swap, swap, swap, swap, swap};
-- const vector uint16_t vlargest = (vector uint16_t) {clip, clip, clip, clip, clip, clip, clip, clip};
-- const vector int16_t vzero = vec_splat_s16(0);
-- const vector uint8_t vperm = (vector uint8_t) {0, 1, 8, 9, 2, 3, 10, 11, 4, 5, 12, 13, 6, 7, 14, 15};
-- vector int16_t vfilter[MAX_FILTER_SIZE], vin;
-- vector uint16_t v;
-- vector uint32_t vleft, vright, vtmp;
-+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
-+ const vec_u32 vshift = (vec_u32) {shift, shift, shift, shift};
-+ const vec_u16 vswap = (vec_u16) {swap, swap, swap, swap, swap, swap, swap, swap};
-+ const vec_u16 vlargest = (vec_u16) {clip, clip, clip, clip, clip, clip, clip, clip};
-+ const vec_s16 vzero = vec_splat_s16(0);
-+ const vec_u8 vperm = (vec_u8) {0, 1, 8, 9, 2, 3, 10, 11, 4, 5, 12, 13, 6, 7, 14, 15};
-+ vec_s16 vfilter[MAX_FILTER_SIZE], vin;
-+ vec_u16 v;
-+ vec_u32 vleft, vright, vtmp;
- int i, j;
-
- for (i = 0; i < filterSize; i++) {
-- vfilter[i] = (vector int16_t) {filter[i], filter[i], filter[i], filter[i],
-- filter[i], filter[i], filter[i], filter[i]};
-+ vfilter[i] = (vec_s16) {filter[i], filter[i], filter[i], filter[i],
-+ filter[i], filter[i], filter[i], filter[i]};
- }
-
- yuv2planeX_nbps_u(filter, filterSize, src, dest, dst_u, big_endian, output_bits, 0);
-@@ -232,16 +232,16 @@ static void yuv2planeX_nbps_vsx(const int16_t *filter, int filterSize,
-
- for (j = 0; j < filterSize; j++) {
- vin = vec_vsx_ld(0, &src[j][i]);
-- vtmp = (vector uint32_t) vec_mule(vin, vfilter[j]);
-+ vtmp = (vec_u32) vec_mule(vin, vfilter[j]);
- vleft = vec_add(vleft, vtmp);
-- vtmp = (vector uint32_t) vec_mulo(vin, vfilter[j]);
-+ vtmp = (vec_u32) vec_mulo(vin, vfilter[j]);
- vright = vec_add(vright, vtmp);
- }
-
- vleft = vec_sra(vleft, vshift);
- vright = vec_sra(vright, vshift);
- v = vec_packsu(vleft, vright);
-- v = (vector uint16_t) vec_max((vector int16_t) v, vzero);
-+ v = (vec_u16) vec_max((vec_s16) v, vzero);
- v = vec_min(v, vlargest);
- v = vec_rl(v, vswap);
- v = vec_perm(v, v, vperm);
-@@ -279,11 +279,11 @@ static void yuv2plane1_16_vsx(const int32_t *src, uint16_t *dest, int dstW,
- const int dst_u = -(uintptr_t)dest & 7;
- const int shift = 3;
- const int add = (1 << (shift - 1));
-- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
-- const vector uint16_t vswap = (vector uint16_t) vec_splat_u16(big_endian ? 8 : 0);
-- const vector uint32_t vshift = (vector uint32_t) vec_splat_u32(shift);
-- vector uint32_t v, v2;
-- vector uint16_t vd;
-+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
-+ const vec_u16 vswap = (vec_u16) vec_splat_u16(big_endian ? 8 : 0);
-+ const vec_u32 vshift = (vec_u32) vec_splat_u32(shift);
-+ vec_u32 v, v2;
-+ vec_u16 vd;
- int i;
-
- yuv2plane1_16_u(src, dest, dst_u, big_endian, output_bits, 0);
-@@ -341,18 +341,18 @@ static void yuv2planeX_16_vsx(const int16_t *filter, int filterSize,
- const int bias = 0x8000;
- const int add = (1 << (shift - 1)) - 0x40000000;
- const uint16_t swap = big_endian ? 8 : 0;
-- const vector uint32_t vadd = (vector uint32_t) {add, add, add, add};
-- const vector uint32_t vshift = (vector uint32_t) {shift, shift, shift, shift};
-- const vector uint16_t vswap = (vector uint16_t) {swap, swap, swap, swap, swap, swap, swap, swap};
-- const vector uint16_t vbias = (vector uint16_t) {bias, bias, bias, bias, bias, bias, bias, bias};
-- vector int32_t vfilter[MAX_FILTER_SIZE];
-- vector uint16_t v;
-- vector uint32_t vleft, vright, vtmp;
-- vector int32_t vin32l, vin32r;
-+ const vec_u32 vadd = (vec_u32) {add, add, add, add};
-+ const vec_u32 vshift = (vec_u32) {shift, shift, shift, shift};
-+ const vec_u16 vswap = (vec_u16) {swap, swap, swap, swap, swap, swap, swap, swap};
-+ const vec_u16 vbias = (vec_u16) {bias, bias, bias, bias, bias, bias, bias, bias};
-+ vec_s32 vfilter[MAX_FILTER_SIZE];
-+ vec_u16 v;
-+ vec_u32 vleft, vright, vtmp;
-+ vec_s32 vin32l, vin32r;
- int i, j;
-
- for (i = 0; i < filterSize; i++) {
-- vfilter[i] = (vector int32_t) {filter[i], filter[i], filter[i], filter[i]};
-+ vfilter[i] = (vec_s32) {filter[i], filter[i], filter[i], filter[i]};
- }
-
- yuv2planeX_16_u(filter, filterSize, src, dest, dst_u, big_endian, output_bits, 0);
-@@ -364,15 +364,15 @@ static void yuv2planeX_16_vsx(const int16_t *filter, int filterSize,
- vin32l = vec_vsx_ld(0, &src[j][i]);
- vin32r = vec_vsx_ld(0, &src[j][i + 4]);
-
-- vtmp = (vector uint32_t) vec_mul(vin32l, vfilter[j]);
-+ vtmp = (vec_u32) vec_mul(vin32l, vfilter[j]);
- vleft = vec_add(vleft, vtmp);
-- vtmp = (vector uint32_t) vec_mul(vin32r, vfilter[j]);
-+ vtmp = (vec_u32) vec_mul(vin32r, vfilter[j]);
- vright = vec_add(vright, vtmp);
- }
-
- vleft = vec_sra(vleft, vshift);
- vright = vec_sra(vright, vshift);
-- v = (vector uint16_t) vec_packs((vector int32_t) vleft, (vector int32_t) vright);
-+ v = (vec_u16) vec_packs((vec_s32) vleft, (vec_s32) vright);
- v = vec_add(v, vbias);
- v = vec_rl(v, vswap);
- vec_st(v, 0, &dest[i]);
-@@ -478,9 +478,9 @@ yuv2NBPSX(16, LE, 0, 16, int32_t)
- out0 = vec_mergeh(bd, gd); \
- out1 = vec_mergeh(rd, ad); \
- \
-- tmp8 = (vector uint8_t) vec_mergeh((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergeh((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 0, dest); \
-- tmp8 = (vector uint8_t) vec_mergel((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergel((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 16, dest); \
- \
- dest += 32; \
-@@ -489,9 +489,9 @@ yuv2NBPSX(16, LE, 0, 16, int32_t)
- out0 = vec_mergeh(rd, gd); \
- out1 = vec_mergeh(bd, ad); \
- \
-- tmp8 = (vector uint8_t) vec_mergeh((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergeh((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 0, dest); \
-- tmp8 = (vector uint8_t) vec_mergel((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergel((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 16, dest); \
- \
- dest += 32; \
-@@ -500,9 +500,9 @@ yuv2NBPSX(16, LE, 0, 16, int32_t)
- out0 = vec_mergeh(ad, rd); \
- out1 = vec_mergeh(gd, bd); \
- \
-- tmp8 = (vector uint8_t) vec_mergeh((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergeh((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 0, dest); \
-- tmp8 = (vector uint8_t) vec_mergel((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergel((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 16, dest); \
- \
- dest += 32; \
-@@ -511,9 +511,9 @@ yuv2NBPSX(16, LE, 0, 16, int32_t)
- out0 = vec_mergeh(ad, bd); \
- out1 = vec_mergeh(gd, rd); \
- \
-- tmp8 = (vector uint8_t) vec_mergeh((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergeh((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 0, dest); \
-- tmp8 = (vector uint8_t) vec_mergel((vector uint16_t) out0, (vector uint16_t) out1); \
-+ tmp8 = (vec_u8) vec_mergel((vec_u16) out0, (vec_u16) out1); \
- vec_vsx_st(tmp8, 16, dest); \
- \
- dest += 32; \
-@@ -528,48 +528,48 @@ yuv2rgb_full_X_vsx_template(SwsContext *c, const int16_t *lumFilter,
- const int16_t **alpSrc, uint8_t *dest,
- int dstW, int y, enum AVPixelFormat target, int hasAlpha)
- {
-- vector int16_t vv;
-- vector int32_t vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32;
-- vector int32_t R_l, R_r, G_l, G_r, B_l, B_r;
-- vector int32_t tmp, tmp2, tmp3, tmp4;
-- vector uint16_t rd16, gd16, bd16;
-- vector uint8_t rd, bd, gd, ad, out0, out1, tmp8;
-- vector int16_t vlumFilter[MAX_FILTER_SIZE], vchrFilter[MAX_FILTER_SIZE];
-- const vector int32_t ystart = vec_splats(1 << 9);
-- const vector int32_t uvstart = vec_splats((1 << 9) - (128 << 19));
-- const vector uint16_t zero16 = vec_splat_u16(0);
-- const vector int32_t y_offset = vec_splats(c->yuv2rgb_y_offset);
-- const vector int32_t y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-- const vector int32_t y_add = vec_splats(1 << 21);
-- const vector int32_t v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-- const vector int32_t v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-- const vector int32_t u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-- const vector int32_t u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-- const vector int32_t rgbclip = vec_splats(1 << 30);
-- const vector int32_t zero32 = vec_splat_s32(0);
-- const vector uint32_t shift22 = vec_splats(22U);
-- const vector uint32_t shift10 = vec_splat_u32(10);
-+ vec_s16 vv;
-+ vec_s32 vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32;
-+ vec_s32 R_l, R_r, G_l, G_r, B_l, B_r;
-+ vec_s32 tmp, tmp2, tmp3, tmp4;
-+ vec_u16 rd16, gd16, bd16;
-+ vec_u8 rd, bd, gd, ad, out0, out1, tmp8;
-+ vec_s16 vlumFilter[MAX_FILTER_SIZE], vchrFilter[MAX_FILTER_SIZE];
-+ const vec_s32 ystart = vec_splats(1 << 9);
-+ const vec_s32 uvstart = vec_splats((1 << 9) - (128 << 19));
-+ const vec_u16 zero16 = vec_splat_u16(0);
-+ const vec_s32 y_offset = vec_splats(c->yuv2rgb_y_offset);
-+ const vec_s32 y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-+ const vec_s32 y_add = vec_splats(1 << 21);
-+ const vec_s32 v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-+ const vec_s32 v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-+ const vec_s32 u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-+ const vec_s32 u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-+ const vec_s32 rgbclip = vec_splats(1 << 30);
-+ const vec_s32 zero32 = vec_splat_s32(0);
-+ const vec_u32 shift22 = vec_splats(22U);
-+ const vec_u32 shift10 = vec_splat_u32(10);
- int i, j;
-
- // Various permutations
-- const vector uint8_t perm3rg0 = (vector uint8_t) {0x0, 0x10, 0,
-- 0x1, 0x11, 0,
-- 0x2, 0x12, 0,
-- 0x3, 0x13, 0,
-- 0x4, 0x14, 0,
-- 0x5 };
-- const vector uint8_t perm3rg1 = (vector uint8_t) { 0x15, 0,
-- 0x6, 0x16, 0,
-- 0x7, 0x17, 0 };
-- const vector uint8_t perm3tb0 = (vector uint8_t) {0x0, 0x1, 0x10,
-- 0x3, 0x4, 0x11,
-- 0x6, 0x7, 0x12,
-- 0x9, 0xa, 0x13,
-- 0xc, 0xd, 0x14,
-- 0xf };
-- const vector uint8_t perm3tb1 = (vector uint8_t) { 0x0, 0x15,
-- 0x2, 0x3, 0x16,
-- 0x5, 0x6, 0x17 };
-+ const vec_u8 perm3rg0 = (vec_u8) {0x0, 0x10, 0,
-+ 0x1, 0x11, 0,
-+ 0x2, 0x12, 0,
-+ 0x3, 0x13, 0,
-+ 0x4, 0x14, 0,
-+ 0x5 };
-+ const vec_u8 perm3rg1 = (vec_u8) { 0x15, 0,
-+ 0x6, 0x16, 0,
-+ 0x7, 0x17, 0 };
-+ const vec_u8 perm3tb0 = (vec_u8) {0x0, 0x1, 0x10,
-+ 0x3, 0x4, 0x11,
-+ 0x6, 0x7, 0x12,
-+ 0x9, 0xa, 0x13,
-+ 0xc, 0xd, 0x14,
-+ 0xf };
-+ const vec_u8 perm3tb1 = (vec_u8) { 0x0, 0x15,
-+ 0x2, 0x3, 0x16,
-+ 0x5, 0x6, 0x17 };
-
- ad = vec_splats((uint8_t) 255);
-
-@@ -685,52 +685,52 @@ yuv2rgb_full_2_vsx_template(SwsContext *c, const int16_t *buf[2],
- *abuf1 = hasAlpha ? abuf[1] : NULL;
- const int16_t yalpha1 = 4096 - yalpha;
- const int16_t uvalpha1 = 4096 - uvalpha;
-- vector int16_t vy, vu, vv, A = vec_splat_s16(0);
-- vector int32_t vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32;
-- vector int32_t R_l, R_r, G_l, G_r, B_l, B_r;
-- vector int32_t tmp, tmp2, tmp3, tmp4, tmp5, tmp6;
-- vector uint16_t rd16, gd16, bd16;
-- vector uint8_t rd, bd, gd, ad, out0, out1, tmp8;
-- const vector int16_t vyalpha1 = vec_splats(yalpha1);
-- const vector int16_t vuvalpha1 = vec_splats(uvalpha1);
-- const vector int16_t vyalpha = vec_splats((int16_t) yalpha);
-- const vector int16_t vuvalpha = vec_splats((int16_t) uvalpha);
-- const vector uint16_t zero16 = vec_splat_u16(0);
-- const vector int32_t y_offset = vec_splats(c->yuv2rgb_y_offset);
-- const vector int32_t y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-- const vector int32_t y_add = vec_splats(1 << 21);
-- const vector int32_t v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-- const vector int32_t v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-- const vector int32_t u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-- const vector int32_t u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-- const vector int32_t rgbclip = vec_splats(1 << 30);
-- const vector int32_t zero32 = vec_splat_s32(0);
-- const vector uint32_t shift19 = vec_splats(19U);
-- const vector uint32_t shift22 = vec_splats(22U);
-- const vector uint32_t shift10 = vec_splat_u32(10);
-- const vector int32_t dec128 = vec_splats(128 << 19);
-- const vector int32_t add18 = vec_splats(1 << 18);
-+ vec_s16 vy, vu, vv, A = vec_splat_s16(0);
-+ vec_s32 vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32;
-+ vec_s32 R_l, R_r, G_l, G_r, B_l, B_r;
-+ vec_s32 tmp, tmp2, tmp3, tmp4, tmp5, tmp6;
-+ vec_u16 rd16, gd16, bd16;
-+ vec_u8 rd, bd, gd, ad, out0, out1, tmp8;
-+ const vec_s16 vyalpha1 = vec_splats(yalpha1);
-+ const vec_s16 vuvalpha1 = vec_splats(uvalpha1);
-+ const vec_s16 vyalpha = vec_splats((int16_t) yalpha);
-+ const vec_s16 vuvalpha = vec_splats((int16_t) uvalpha);
-+ const vec_u16 zero16 = vec_splat_u16(0);
-+ const vec_s32 y_offset = vec_splats(c->yuv2rgb_y_offset);
-+ const vec_s32 y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-+ const vec_s32 y_add = vec_splats(1 << 21);
-+ const vec_s32 v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-+ const vec_s32 v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-+ const vec_s32 u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-+ const vec_s32 u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-+ const vec_s32 rgbclip = vec_splats(1 << 30);
-+ const vec_s32 zero32 = vec_splat_s32(0);
-+ const vec_u32 shift19 = vec_splats(19U);
-+ const vec_u32 shift22 = vec_splats(22U);
-+ const vec_u32 shift10 = vec_splat_u32(10);
-+ const vec_s32 dec128 = vec_splats(128 << 19);
-+ const vec_s32 add18 = vec_splats(1 << 18);
- int i;
-
- // Various permutations
-- const vector uint8_t perm3rg0 = (vector uint8_t) {0x0, 0x10, 0,
-- 0x1, 0x11, 0,
-- 0x2, 0x12, 0,
-- 0x3, 0x13, 0,
-- 0x4, 0x14, 0,
-- 0x5 };
-- const vector uint8_t perm3rg1 = (vector uint8_t) { 0x15, 0,
-- 0x6, 0x16, 0,
-- 0x7, 0x17, 0 };
-- const vector uint8_t perm3tb0 = (vector uint8_t) {0x0, 0x1, 0x10,
-- 0x3, 0x4, 0x11,
-- 0x6, 0x7, 0x12,
-- 0x9, 0xa, 0x13,
-- 0xc, 0xd, 0x14,
-- 0xf };
-- const vector uint8_t perm3tb1 = (vector uint8_t) { 0x0, 0x15,
-- 0x2, 0x3, 0x16,
-- 0x5, 0x6, 0x17 };
-+ const vec_u8 perm3rg0 = (vec_u8) {0x0, 0x10, 0,
-+ 0x1, 0x11, 0,
-+ 0x2, 0x12, 0,
-+ 0x3, 0x13, 0,
-+ 0x4, 0x14, 0,
-+ 0x5 };
-+ const vec_u8 perm3rg1 = (vec_u8) { 0x15, 0,
-+ 0x6, 0x16, 0,
-+ 0x7, 0x17, 0 };
-+ const vec_u8 perm3tb0 = (vec_u8) {0x0, 0x1, 0x10,
-+ 0x3, 0x4, 0x11,
-+ 0x6, 0x7, 0x12,
-+ 0x9, 0xa, 0x13,
-+ 0xc, 0xd, 0x14,
-+ 0xf };
-+ const vec_u8 perm3tb1 = (vec_u8) { 0x0, 0x15,
-+ 0x2, 0x3, 0x16,
-+ 0x5, 0x6, 0x17 };
-
- av_assert2(yalpha <= 4096U);
- av_assert2(uvalpha <= 4096U);
-@@ -759,7 +759,7 @@ yuv2rgb_full_2_vsx_template(SwsContext *c, const int16_t *buf[2],
- tmp3 = vec_sra(tmp3, shift19);
- tmp4 = vec_sra(tmp4, shift19);
- A = vec_packs(tmp3, tmp4);
-- ad = vec_packsu(A, (vector int16_t) zero16);
-+ ad = vec_packsu(A, (vec_s16) zero16);
- } else {
- ad = vec_splats((uint8_t) 255);
- }
-@@ -807,60 +807,60 @@ yuv2rgb_2_vsx_template(SwsContext *c, const int16_t *buf[2],
- *abuf1 = hasAlpha ? abuf[1] : NULL;
- const int16_t yalpha1 = 4096 - yalpha;
- const int16_t uvalpha1 = 4096 - uvalpha;
-- vector int16_t vy, vu, vv, A = vec_splat_s16(0);
-- vector int32_t vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32;
-- vector int32_t R_l, R_r, G_l, G_r, B_l, B_r, vud32_l, vud32_r, vvd32_l, vvd32_r;
-- vector int32_t tmp, tmp2, tmp3, tmp4, tmp5, tmp6;
-- vector uint16_t rd16, gd16, bd16;
-- vector uint8_t rd, bd, gd, ad, out0, out1, tmp8;
-- const vector int16_t vyalpha1 = vec_splats(yalpha1);
-- const vector int16_t vuvalpha1 = vec_splats(uvalpha1);
-- const vector int16_t vyalpha = vec_splats((int16_t) yalpha);
-- const vector int16_t vuvalpha = vec_splats((int16_t) uvalpha);
-- const vector uint16_t zero16 = vec_splat_u16(0);
-- const vector int32_t y_offset = vec_splats(c->yuv2rgb_y_offset);
-- const vector int32_t y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-- const vector int32_t y_add = vec_splats(1 << 21);
-- const vector int32_t v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-- const vector int32_t v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-- const vector int32_t u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-- const vector int32_t u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-- const vector int32_t rgbclip = vec_splats(1 << 30);
-- const vector int32_t zero32 = vec_splat_s32(0);
-- const vector uint32_t shift19 = vec_splats(19U);
-- const vector uint32_t shift22 = vec_splats(22U);
-- const vector uint32_t shift10 = vec_splat_u32(10);
-- const vector int32_t dec128 = vec_splats(128 << 19);
-- const vector int32_t add18 = vec_splats(1 << 18);
-+ vec_s16 vy, vu, vv, A = vec_splat_s16(0);
-+ vec_s32 vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32;
-+ vec_s32 R_l, R_r, G_l, G_r, B_l, B_r, vud32_l, vud32_r, vvd32_l, vvd32_r;
-+ vec_s32 tmp, tmp2, tmp3, tmp4, tmp5, tmp6;
-+ vec_u16 rd16, gd16, bd16;
-+ vec_u8 rd, bd, gd, ad, out0, out1, tmp8;
-+ const vec_s16 vyalpha1 = vec_splats(yalpha1);
-+ const vec_s16 vuvalpha1 = vec_splats(uvalpha1);
-+ const vec_s16 vyalpha = vec_splats((int16_t) yalpha);
-+ const vec_s16 vuvalpha = vec_splats((int16_t) uvalpha);
-+ const vec_u16 zero16 = vec_splat_u16(0);
-+ const vec_s32 y_offset = vec_splats(c->yuv2rgb_y_offset);
-+ const vec_s32 y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-+ const vec_s32 y_add = vec_splats(1 << 21);
-+ const vec_s32 v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-+ const vec_s32 v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-+ const vec_s32 u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-+ const vec_s32 u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-+ const vec_s32 rgbclip = vec_splats(1 << 30);
-+ const vec_s32 zero32 = vec_splat_s32(0);
-+ const vec_u32 shift19 = vec_splats(19U);
-+ const vec_u32 shift22 = vec_splats(22U);
-+ const vec_u32 shift10 = vec_splat_u32(10);
-+ const vec_s32 dec128 = vec_splats(128 << 19);
-+ const vec_s32 add18 = vec_splats(1 << 18);
- int i;
-
- // Various permutations
-- const vector uint8_t doubleleft = (vector uint8_t) {0, 1, 2, 3,
-- 0, 1, 2, 3,
-- 4, 5, 6, 7,
-- 4, 5, 6, 7 };
-- const vector uint8_t doubleright = (vector uint8_t) {8, 9, 10, 11,
-- 8, 9, 10, 11,
-- 12, 13, 14, 15,
-- 12, 13, 14, 15 };
-- const vector uint8_t perm3rg0 = (vector uint8_t) {0x0, 0x10, 0,
-- 0x1, 0x11, 0,
-- 0x2, 0x12, 0,
-- 0x3, 0x13, 0,
-- 0x4, 0x14, 0,
-- 0x5 };
-- const vector uint8_t perm3rg1 = (vector uint8_t) { 0x15, 0,
-- 0x6, 0x16, 0,
-- 0x7, 0x17, 0 };
-- const vector uint8_t perm3tb0 = (vector uint8_t) {0x0, 0x1, 0x10,
-- 0x3, 0x4, 0x11,
-- 0x6, 0x7, 0x12,
-- 0x9, 0xa, 0x13,
-- 0xc, 0xd, 0x14,
-- 0xf };
-- const vector uint8_t perm3tb1 = (vector uint8_t) { 0x0, 0x15,
-- 0x2, 0x3, 0x16,
-- 0x5, 0x6, 0x17 };
-+ const vec_u8 doubleleft = (vec_u8) {0, 1, 2, 3,
-+ 0, 1, 2, 3,
-+ 4, 5, 6, 7,
-+ 4, 5, 6, 7 };
-+ const vec_u8 doubleright = (vec_u8) {8, 9, 10, 11,
-+ 8, 9, 10, 11,
-+ 12, 13, 14, 15,
-+ 12, 13, 14, 15 };
-+ const vec_u8 perm3rg0 = (vec_u8) {0x0, 0x10, 0,
-+ 0x1, 0x11, 0,
-+ 0x2, 0x12, 0,
-+ 0x3, 0x13, 0,
-+ 0x4, 0x14, 0,
-+ 0x5 };
-+ const vec_u8 perm3rg1 = (vec_u8) { 0x15, 0,
-+ 0x6, 0x16, 0,
-+ 0x7, 0x17, 0 };
-+ const vec_u8 perm3tb0 = (vec_u8) {0x0, 0x1, 0x10,
-+ 0x3, 0x4, 0x11,
-+ 0x6, 0x7, 0x12,
-+ 0x9, 0xa, 0x13,
-+ 0xc, 0xd, 0x14,
-+ 0xf };
-+ const vec_u8 perm3tb1 = (vec_u8) { 0x0, 0x15,
-+ 0x2, 0x3, 0x16,
-+ 0x5, 0x6, 0x17 };
-
- av_assert2(yalpha <= 4096U);
- av_assert2(uvalpha <= 4096U);
-@@ -889,7 +889,7 @@ yuv2rgb_2_vsx_template(SwsContext *c, const int16_t *buf[2],
- tmp3 = vec_sra(tmp3, shift19);
- tmp4 = vec_sra(tmp4, shift19);
- A = vec_packs(tmp3, tmp4);
-- ad = vec_packsu(A, (vector int16_t) zero16);
-+ ad = vec_packsu(A, (vec_s16) zero16);
- } else {
- ad = vec_splats((uint8_t) 255);
- }
-@@ -978,51 +978,51 @@ yuv2rgb_full_1_vsx_template(SwsContext *c, const int16_t *buf0,
- {
- const int16_t *ubuf0 = ubuf[0], *vbuf0 = vbuf[0];
- const int16_t *ubuf1 = ubuf[1], *vbuf1 = vbuf[1];
-- vector int16_t vy, vu, vv, A = vec_splat_s16(0), tmp16;
-- vector int32_t vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32, tmp32_2;
-- vector int32_t R_l, R_r, G_l, G_r, B_l, B_r;
-- vector uint16_t rd16, gd16, bd16;
-- vector uint8_t rd, bd, gd, ad, out0, out1, tmp8;
-- const vector uint16_t zero16 = vec_splat_u16(0);
-- const vector int32_t y_offset = vec_splats(c->yuv2rgb_y_offset);
-- const vector int32_t y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-- const vector int32_t y_add = vec_splats(1 << 21);
-- const vector int32_t v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-- const vector int32_t v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-- const vector int32_t u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-- const vector int32_t u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-- const vector int32_t rgbclip = vec_splats(1 << 30);
-- const vector int32_t zero32 = vec_splat_s32(0);
-- const vector uint32_t shift2 = vec_splat_u32(2);
-- const vector uint32_t shift22 = vec_splats(22U);
-- const vector uint16_t sub7 = vec_splats((uint16_t) (128 << 7));
-- const vector uint16_t sub8 = vec_splats((uint16_t) (128 << 8));
-- const vector int16_t mul4 = vec_splat_s16(4);
-- const vector int16_t mul8 = vec_splat_s16(8);
-- const vector int16_t add64 = vec_splat_s16(64);
-- const vector uint16_t shift7 = vec_splat_u16(7);
-- const vector int16_t max255 = vec_splat_s16(255);
-+ vec_s16 vy, vu, vv, A = vec_splat_s16(0), tmp16;
-+ vec_s32 vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32, tmp32_2;
-+ vec_s32 R_l, R_r, G_l, G_r, B_l, B_r;
-+ vec_u16 rd16, gd16, bd16;
-+ vec_u8 rd, bd, gd, ad, out0, out1, tmp8;
-+ const vec_u16 zero16 = vec_splat_u16(0);
-+ const vec_s32 y_offset = vec_splats(c->yuv2rgb_y_offset);
-+ const vec_s32 y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-+ const vec_s32 y_add = vec_splats(1 << 21);
-+ const vec_s32 v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-+ const vec_s32 v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-+ const vec_s32 u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-+ const vec_s32 u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-+ const vec_s32 rgbclip = vec_splats(1 << 30);
-+ const vec_s32 zero32 = vec_splat_s32(0);
-+ const vec_u32 shift2 = vec_splat_u32(2);
-+ const vec_u32 shift22 = vec_splats(22U);
-+ const vec_u16 sub7 = vec_splats((uint16_t) (128 << 7));
-+ const vec_u16 sub8 = vec_splats((uint16_t) (128 << 8));
-+ const vec_s16 mul4 = vec_splat_s16(4);
-+ const vec_s16 mul8 = vec_splat_s16(8);
-+ const vec_s16 add64 = vec_splat_s16(64);
-+ const vec_u16 shift7 = vec_splat_u16(7);
-+ const vec_s16 max255 = vec_splat_s16(255);
- int i;
-
- // Various permutations
-- const vector uint8_t perm3rg0 = (vector uint8_t) {0x0, 0x10, 0,
-- 0x1, 0x11, 0,
-- 0x2, 0x12, 0,
-- 0x3, 0x13, 0,
-- 0x4, 0x14, 0,
-- 0x5 };
-- const vector uint8_t perm3rg1 = (vector uint8_t) { 0x15, 0,
-- 0x6, 0x16, 0,
-- 0x7, 0x17, 0 };
-- const vector uint8_t perm3tb0 = (vector uint8_t) {0x0, 0x1, 0x10,
-- 0x3, 0x4, 0x11,
-- 0x6, 0x7, 0x12,
-- 0x9, 0xa, 0x13,
-- 0xc, 0xd, 0x14,
-- 0xf };
-- const vector uint8_t perm3tb1 = (vector uint8_t) { 0x0, 0x15,
-- 0x2, 0x3, 0x16,
-- 0x5, 0x6, 0x17 };
-+ const vec_u8 perm3rg0 = (vec_u8) {0x0, 0x10, 0,
-+ 0x1, 0x11, 0,
-+ 0x2, 0x12, 0,
-+ 0x3, 0x13, 0,
-+ 0x4, 0x14, 0,
-+ 0x5 };
-+ const vec_u8 perm3rg1 = (vec_u8) { 0x15, 0,
-+ 0x6, 0x16, 0,
-+ 0x7, 0x17, 0 };
-+ const vec_u8 perm3tb0 = (vec_u8) {0x0, 0x1, 0x10,
-+ 0x3, 0x4, 0x11,
-+ 0x6, 0x7, 0x12,
-+ 0x9, 0xa, 0x13,
-+ 0xc, 0xd, 0x14,
-+ 0xf };
-+ const vec_u8 perm3tb1 = (vec_u8) { 0x0, 0x15,
-+ 0x2, 0x3, 0x16,
-+ 0x5, 0x6, 0x17 };
-
- for (i = 0; i < dstW; i += 8) { // The x86 asm also overwrites padding bytes.
- vy = vec_ld(0, &buf0[i]);
-@@ -1034,8 +1034,8 @@ yuv2rgb_full_1_vsx_template(SwsContext *c, const int16_t *buf0,
- vu = vec_ld(0, &ubuf0[i]);
- vv = vec_ld(0, &vbuf0[i]);
- if (uvalpha < 2048) {
-- vu = (vector int16_t) vec_sub((vector uint16_t) vu, sub7);
-- vv = (vector int16_t) vec_sub((vector uint16_t) vv, sub7);
-+ vu = (vec_s16) vec_sub((vec_u16) vu, sub7);
-+ vv = (vec_s16) vec_sub((vec_u16) vv, sub7);
-
- tmp32 = vec_mule(vu, mul4);
- tmp32_2 = vec_mulo(vu, mul4);
-@@ -1048,10 +1048,10 @@ yuv2rgb_full_1_vsx_template(SwsContext *c, const int16_t *buf0,
- } else {
- tmp16 = vec_ld(0, &ubuf1[i]);
- vu = vec_add(vu, tmp16);
-- vu = (vector int16_t) vec_sub((vector uint16_t) vu, sub8);
-+ vu = (vec_s16) vec_sub((vec_u16) vu, sub8);
- tmp16 = vec_ld(0, &vbuf1[i]);
- vv = vec_add(vv, tmp16);
-- vv = (vector int16_t) vec_sub((vector uint16_t) vv, sub8);
-+ vv = (vec_s16) vec_sub((vec_u16) vv, sub8);
-
- vu32_l = vec_mule(vu, mul8);
- vu32_r = vec_mulo(vu, mul8);
-@@ -1064,7 +1064,7 @@ yuv2rgb_full_1_vsx_template(SwsContext *c, const int16_t *buf0,
- A = vec_add(A, add64);
- A = vec_sr(A, shift7);
- A = vec_max(A, max255);
-- ad = vec_packsu(A, (vector int16_t) zero16);
-+ ad = vec_packsu(A, (vec_s16) zero16);
- } else {
- ad = vec_splats((uint8_t) 255);
- }
-@@ -1107,60 +1107,60 @@ yuv2rgb_1_vsx_template(SwsContext *c, const int16_t *buf0,
- {
- const int16_t *ubuf0 = ubuf[0], *vbuf0 = vbuf[0];
- const int16_t *ubuf1 = ubuf[1], *vbuf1 = vbuf[1];
-- vector int16_t vy, vu, vv, A = vec_splat_s16(0), tmp16;
-- vector int32_t vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32, tmp32_2;
-- vector int32_t vud32_l, vud32_r, vvd32_l, vvd32_r;
-- vector int32_t R_l, R_r, G_l, G_r, B_l, B_r;
-- vector uint16_t rd16, gd16, bd16;
-- vector uint8_t rd, bd, gd, ad, out0, out1, tmp8;
-- const vector uint16_t zero16 = vec_splat_u16(0);
-- const vector int32_t y_offset = vec_splats(c->yuv2rgb_y_offset);
-- const vector int32_t y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-- const vector int32_t y_add = vec_splats(1 << 21);
-- const vector int32_t v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-- const vector int32_t v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-- const vector int32_t u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-- const vector int32_t u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-- const vector int32_t rgbclip = vec_splats(1 << 30);
-- const vector int32_t zero32 = vec_splat_s32(0);
-- const vector uint32_t shift2 = vec_splat_u32(2);
-- const vector uint32_t shift22 = vec_splats(22U);
-- const vector uint16_t sub7 = vec_splats((uint16_t) (128 << 7));
-- const vector uint16_t sub8 = vec_splats((uint16_t) (128 << 8));
-- const vector int16_t mul4 = vec_splat_s16(4);
-- const vector int16_t mul8 = vec_splat_s16(8);
-- const vector int16_t add64 = vec_splat_s16(64);
-- const vector uint16_t shift7 = vec_splat_u16(7);
-- const vector int16_t max255 = vec_splat_s16(255);
-+ vec_s16 vy, vu, vv, A = vec_splat_s16(0), tmp16;
-+ vec_s32 vy32_l, vy32_r, vu32_l, vu32_r, vv32_l, vv32_r, tmp32, tmp32_2;
-+ vec_s32 vud32_l, vud32_r, vvd32_l, vvd32_r;
-+ vec_s32 R_l, R_r, G_l, G_r, B_l, B_r;
-+ vec_u16 rd16, gd16, bd16;
-+ vec_u8 rd, bd, gd, ad, out0, out1, tmp8;
-+ const vec_u16 zero16 = vec_splat_u16(0);
-+ const vec_s32 y_offset = vec_splats(c->yuv2rgb_y_offset);
-+ const vec_s32 y_coeff = vec_splats(c->yuv2rgb_y_coeff);
-+ const vec_s32 y_add = vec_splats(1 << 21);
-+ const vec_s32 v2r_coeff = vec_splats(c->yuv2rgb_v2r_coeff);
-+ const vec_s32 v2g_coeff = vec_splats(c->yuv2rgb_v2g_coeff);
-+ const vec_s32 u2g_coeff = vec_splats(c->yuv2rgb_u2g_coeff);
-+ const vec_s32 u2b_coeff = vec_splats(c->yuv2rgb_u2b_coeff);
-+ const vec_s32 rgbclip = vec_splats(1 << 30);
-+ const vec_s32 zero32 = vec_splat_s32(0);
-+ const vec_u32 shift2 = vec_splat_u32(2);
-+ const vec_u32 shift22 = vec_splats(22U);
-+ const vec_u16 sub7 = vec_splats((uint16_t) (128 << 7));
-+ const vec_u16 sub8 = vec_splats((uint16_t) (128 << 8));
-+ const vec_s16 mul4 = vec_splat_s16(4);
-+ const vec_s16 mul8 = vec_splat_s16(8);
-+ const vec_s16 add64 = vec_splat_s16(64);
-+ const vec_u16 shift7 = vec_splat_u16(7);
-+ const vec_s16 max255 = vec_splat_s16(255);
- int i;
-
- // Various permutations
-- const vector uint8_t doubleleft = (vector uint8_t) {0, 1, 2, 3,
-- 0, 1, 2, 3,
-- 4, 5, 6, 7,
-- 4, 5, 6, 7 };
-- const vector uint8_t doubleright = (vector uint8_t) {8, 9, 10, 11,
-- 8, 9, 10, 11,
-- 12, 13, 14, 15,
-- 12, 13, 14, 15 };
-- const vector uint8_t perm3rg0 = (vector uint8_t) {0x0, 0x10, 0,
-- 0x1, 0x11, 0,
-- 0x2, 0x12, 0,
-- 0x3, 0x13, 0,
-- 0x4, 0x14, 0,
-- 0x5 };
-- const vector uint8_t perm3rg1 = (vector uint8_t) { 0x15, 0,
-- 0x6, 0x16, 0,
-- 0x7, 0x17, 0 };
-- const vector uint8_t perm3tb0 = (vector uint8_t) {0x0, 0x1, 0x10,
-- 0x3, 0x4, 0x11,
-- 0x6, 0x7, 0x12,
-- 0x9, 0xa, 0x13,
-- 0xc, 0xd, 0x14,
-- 0xf };
-- const vector uint8_t perm3tb1 = (vector uint8_t) { 0x0, 0x15,
-- 0x2, 0x3, 0x16,
-- 0x5, 0x6, 0x17 };
-+ const vec_u8 doubleleft = (vec_u8) {0, 1, 2, 3,
-+ 0, 1, 2, 3,
-+ 4, 5, 6, 7,
-+ 4, 5, 6, 7 };
-+ const vec_u8 doubleright = (vec_u8) {8, 9, 10, 11,
-+ 8, 9, 10, 11,
-+ 12, 13, 14, 15,
-+ 12, 13, 14, 15 };
-+ const vec_u8 perm3rg0 = (vec_u8) {0x0, 0x10, 0,
-+ 0x1, 0x11, 0,
-+ 0x2, 0x12, 0,
-+ 0x3, 0x13, 0,
-+ 0x4, 0x14, 0,
-+ 0x5 };
-+ const vec_u8 perm3rg1 = (vec_u8) { 0x15, 0,
-+ 0x6, 0x16, 0,
-+ 0x7, 0x17, 0 };
-+ const vec_u8 perm3tb0 = (vec_u8) {0x0, 0x1, 0x10,
-+ 0x3, 0x4, 0x11,
-+ 0x6, 0x7, 0x12,
-+ 0x9, 0xa, 0x13,
-+ 0xc, 0xd, 0x14,
-+ 0xf };
-+ const vec_u8 perm3tb1 = (vec_u8) { 0x0, 0x15,
-+ 0x2, 0x3, 0x16,
-+ 0x5, 0x6, 0x17 };
-
- for (i = 0; i < (dstW + 1) >> 1; i += 8) { // The x86 asm also overwrites padding bytes.
- vy = vec_ld(0, &buf0[i * 2]);
-@@ -1172,8 +1172,8 @@ yuv2rgb_1_vsx_template(SwsContext *c, const int16_t *buf0,
- vu = vec_ld(0, &ubuf0[i]);
- vv = vec_ld(0, &vbuf0[i]);
- if (uvalpha < 2048) {
-- vu = (vector int16_t) vec_sub((vector uint16_t) vu, sub7);
-- vv = (vector int16_t) vec_sub((vector uint16_t) vv, sub7);
-+ vu = (vec_s16) vec_sub((vec_u16) vu, sub7);
-+ vv = (vec_s16) vec_sub((vec_u16) vv, sub7);
-
- tmp32 = vec_mule(vu, mul4);
- tmp32_2 = vec_mulo(vu, mul4);
-@@ -1186,10 +1186,10 @@ yuv2rgb_1_vsx_template(SwsContext *c, const int16_t *buf0,
- } else {
- tmp16 = vec_ld(0, &ubuf1[i]);
- vu = vec_add(vu, tmp16);
-- vu = (vector int16_t) vec_sub((vector uint16_t) vu, sub8);
-+ vu = (vec_s16) vec_sub((vec_u16) vu, sub8);
- tmp16 = vec_ld(0, &vbuf1[i]);
- vv = vec_add(vv, tmp16);
-- vv = (vector int16_t) vec_sub((vector uint16_t) vv, sub8);
-+ vv = (vec_s16) vec_sub((vec_u16) vv, sub8);
-
- vu32_l = vec_mule(vu, mul8);
- vu32_r = vec_mulo(vu, mul8);
-@@ -1202,7 +1202,7 @@ yuv2rgb_1_vsx_template(SwsContext *c, const int16_t *buf0,
- A = vec_add(A, add64);
- A = vec_sr(A, shift7);
- A = vec_max(A, max255);
-- ad = vec_packsu(A, (vector int16_t) zero16);
-+ ad = vec_packsu(A, (vec_s16) zero16);
- } else {
- ad = vec_splats((uint8_t) 255);
- }
-@@ -1358,41 +1358,41 @@ YUV2RGBWRAPPERX(yuv2, rgb_full, rgb24_full, AV_PIX_FMT_RGB24, 0)
- YUV2RGBWRAPPERX(yuv2, rgb_full, bgr24_full, AV_PIX_FMT_BGR24, 0)
-
- static av_always_inline void
--write422(const vector int16_t vy1, const vector int16_t vy2,
-- const vector int16_t vu, const vector int16_t vv,
-+write422(const vec_s16 vy1, const vec_s16 vy2,
-+ const vec_s16 vu, const vec_s16 vv,
- uint8_t *dest, const enum AVPixelFormat target)
- {
-- vector uint8_t vd1, vd2, tmp;
-- const vector uint8_t yuyv1 = (vector uint8_t) {
-- 0x0, 0x10, 0x1, 0x18,
-- 0x2, 0x11, 0x3, 0x19,
-- 0x4, 0x12, 0x5, 0x1a,
-- 0x6, 0x13, 0x7, 0x1b };
-- const vector uint8_t yuyv2 = (vector uint8_t) {
-- 0x8, 0x14, 0x9, 0x1c,
-- 0xa, 0x15, 0xb, 0x1d,
-- 0xc, 0x16, 0xd, 0x1e,
-- 0xe, 0x17, 0xf, 0x1f };
-- const vector uint8_t yvyu1 = (vector uint8_t) {
-- 0x0, 0x18, 0x1, 0x10,
-- 0x2, 0x19, 0x3, 0x11,
-- 0x4, 0x1a, 0x5, 0x12,
-- 0x6, 0x1b, 0x7, 0x13 };
-- const vector uint8_t yvyu2 = (vector uint8_t) {
-- 0x8, 0x1c, 0x9, 0x14,
-- 0xa, 0x1d, 0xb, 0x15,
-- 0xc, 0x1e, 0xd, 0x16,
-- 0xe, 0x1f, 0xf, 0x17 };
-- const vector uint8_t uyvy1 = (vector uint8_t) {
-- 0x10, 0x0, 0x18, 0x1,
-- 0x11, 0x2, 0x19, 0x3,
-- 0x12, 0x4, 0x1a, 0x5,
-- 0x13, 0x6, 0x1b, 0x7 };
-- const vector uint8_t uyvy2 = (vector uint8_t) {
-- 0x14, 0x8, 0x1c, 0x9,
-- 0x15, 0xa, 0x1d, 0xb,
-- 0x16, 0xc, 0x1e, 0xd,
-- 0x17, 0xe, 0x1f, 0xf };
-+ vec_u8 vd1, vd2, tmp;
-+ const vec_u8 yuyv1 = (vec_u8) {
-+ 0x0, 0x10, 0x1, 0x18,
-+ 0x2, 0x11, 0x3, 0x19,
-+ 0x4, 0x12, 0x5, 0x1a,
-+ 0x6, 0x13, 0x7, 0x1b };
-+ const vec_u8 yuyv2 = (vec_u8) {
-+ 0x8, 0x14, 0x9, 0x1c,
-+ 0xa, 0x15, 0xb, 0x1d,
-+ 0xc, 0x16, 0xd, 0x1e,
-+ 0xe, 0x17, 0xf, 0x1f };
-+ const vec_u8 yvyu1 = (vec_u8) {
-+ 0x0, 0x18, 0x1, 0x10,
-+ 0x2, 0x19, 0x3, 0x11,
-+ 0x4, 0x1a, 0x5, 0x12,
-+ 0x6, 0x1b, 0x7, 0x13 };
-+ const vec_u8 yvyu2 = (vec_u8) {
-+ 0x8, 0x1c, 0x9, 0x14,
-+ 0xa, 0x1d, 0xb, 0x15,
-+ 0xc, 0x1e, 0xd, 0x16,
-+ 0xe, 0x1f, 0xf, 0x17 };
-+ const vec_u8 uyvy1 = (vec_u8) {
-+ 0x10, 0x0, 0x18, 0x1,
-+ 0x11, 0x2, 0x19, 0x3,
-+ 0x12, 0x4, 0x1a, 0x5,
-+ 0x13, 0x6, 0x1b, 0x7 };
-+ const vec_u8 uyvy2 = (vec_u8) {
-+ 0x14, 0x8, 0x1c, 0x9,
-+ 0x15, 0xa, 0x1d, 0xb,
-+ 0x16, 0xc, 0x1e, 0xd,
-+ 0x17, 0xe, 0x1f, 0xf };
-
- vd1 = vec_packsu(vy1, vy2);
- vd2 = vec_packsu(vu, vv);
-@@ -1428,11 +1428,11 @@ yuv2422_X_vsx_template(SwsContext *c, const int16_t *lumFilter,
- int y, enum AVPixelFormat target)
- {
- int i, j;
-- vector int16_t vy1, vy2, vu, vv;
-- vector int32_t vy32[4], vu32[2], vv32[2], tmp, tmp2, tmp3, tmp4;
-- vector int16_t vlumFilter[MAX_FILTER_SIZE], vchrFilter[MAX_FILTER_SIZE];
-- const vector int32_t start = vec_splats(1 << 18);
-- const vector uint32_t shift19 = vec_splats(19U);
-+ vec_s16 vy1, vy2, vu, vv;
-+ vec_s32 vy32[4], vu32[2], vv32[2], tmp, tmp2, tmp3, tmp4;
-+ vec_s16 vlumFilter[MAX_FILTER_SIZE], vchrFilter[MAX_FILTER_SIZE];
-+ const vec_s32 start = vec_splats(1 << 18);
-+ const vec_u32 shift19 = vec_splats(19U);
-
- for (i = 0; i < lumFilterSize; i++)
- vlumFilter[i] = vec_splats(lumFilter[i]);
-@@ -1539,11 +1539,11 @@ yuv2422_2_vsx_template(SwsContext *c, const int16_t *buf[2],
- *vbuf0 = vbuf[0], *vbuf1 = vbuf[1];
- const int16_t yalpha1 = 4096 - yalpha;
- const int16_t uvalpha1 = 4096 - uvalpha;
-- vector int16_t vy1, vy2, vu, vv;
-- vector int32_t tmp, tmp2, tmp3, tmp4, tmp5, tmp6;
-- const vector int16_t vyalpha1 = vec_splats(yalpha1);
-- const vector int16_t vuvalpha1 = vec_splats(uvalpha1);
-- const vector uint32_t shift19 = vec_splats(19U);
-+ vec_s16 vy1, vy2, vu, vv;
-+ vec_s32 tmp, tmp2, tmp3, tmp4, tmp5, tmp6;
-+ const vec_s16 vyalpha1 = vec_splats(yalpha1);
-+ const vec_s16 vuvalpha1 = vec_splats(uvalpha1);
-+ const vec_u32 shift19 = vec_splats(19U);
- int i;
- av_assert2(yalpha <= 4096U);
- av_assert2(uvalpha <= 4096U);
-@@ -1568,11 +1568,11 @@ yuv2422_1_vsx_template(SwsContext *c, const int16_t *buf0,
- int uvalpha, int y, enum AVPixelFormat target)
- {
- const int16_t *ubuf0 = ubuf[0], *vbuf0 = vbuf[0];
-- vector int16_t vy1, vy2, vu, vv, tmp;
-- const vector int16_t add64 = vec_splats((int16_t) 64);
-- const vector int16_t add128 = vec_splats((int16_t) 128);
-- const vector uint16_t shift7 = vec_splat_u16(7);
-- const vector uint16_t shift8 = vec_splat_u16(8);
-+ vec_s16 vy1, vy2, vu, vv, tmp;
-+ const vec_s16 add64 = vec_splats((int16_t) 64);
-+ const vec_s16 add128 = vec_splats((int16_t) 128);
-+ const vec_u16 shift7 = vec_splat_u16(7);
-+ const vec_u16 shift8 = vec_splat_u16(8);
- int i;
-
- if (uvalpha < 2048) {
-@@ -1666,18 +1666,18 @@ static void hyscale_fast_vsx(SwsContext *c, int16_t *dst, int dstWidth,
- {
- int i;
- unsigned int xpos = 0, xx;
-- vector uint8_t vin, vin2, vperm;
-- vector int8_t vmul, valpha;
-- vector int16_t vtmp, vtmp2, vtmp3, vtmp4;
-- vector uint16_t vd_l, vd_r, vcoord16[2];
-- vector uint32_t vcoord[4];
-- const vector uint32_t vadd = (vector uint32_t) {
-+ vec_u8 vin, vin2, vperm;
-+ vec_s8 vmul, valpha;
-+ vec_s16 vtmp, vtmp2, vtmp3, vtmp4;
-+ vec_u16 vd_l, vd_r, vcoord16[2];
-+ vec_u32 vcoord[4];
-+ const vec_u32 vadd = (vec_u32) {
- 0,
- xInc * 1,
- xInc * 2,
- xInc * 3,
- };
-- const vector uint16_t vadd16 = (vector uint16_t) { // Modulo math
-+ const vec_u16 vadd16 = (vec_u16) { // Modulo math
- 0,
- xInc * 1,
- xInc * 2,
-@@ -1687,10 +1687,10 @@ static void hyscale_fast_vsx(SwsContext *c, int16_t *dst, int dstWidth,
- xInc * 6,
- xInc * 7,
- };
-- const vector uint32_t vshift16 = vec_splats((uint32_t) 16);
-- const vector uint16_t vshift9 = vec_splat_u16(9);
-- const vector uint8_t vzero = vec_splat_u8(0);
-- const vector uint16_t vshift = vec_splat_u16(7);
-+ const vec_u32 vshift16 = vec_splats((uint32_t) 16);
-+ const vec_u16 vshift9 = vec_splat_u16(9);
-+ const vec_u8 vzero = vec_splat_u8(0);
-+ const vec_u16 vshift = vec_splat_u16(7);
-
- for (i = 0; i < dstWidth; i += 16) {
- vcoord16[0] = vec_splats((uint16_t) xpos);
-@@ -1701,7 +1701,7 @@ static void hyscale_fast_vsx(SwsContext *c, int16_t *dst, int dstWidth,
-
- vcoord16[0] = vec_sr(vcoord16[0], vshift9);
- vcoord16[1] = vec_sr(vcoord16[1], vshift9);
-- valpha = (vector int8_t) vec_pack(vcoord16[0], vcoord16[1]);
-+ valpha = (vec_s8) vec_pack(vcoord16[0], vcoord16[1]);
-
- xx = xpos >> 16;
- vin = vec_vsx_ld(0, &src[xx]);
-@@ -1730,22 +1730,22 @@ static void hyscale_fast_vsx(SwsContext *c, int16_t *dst, int dstWidth,
- vin2 = vec_vsx_ld(1, &src[xx]);
- vin2 = vec_perm(vin2, vin2, vperm);
-
-- vmul = (vector int8_t) vec_sub(vin2, vin);
-+ vmul = (vec_s8) vec_sub(vin2, vin);
- vtmp = vec_mule(vmul, valpha);
- vtmp2 = vec_mulo(vmul, valpha);
- vtmp3 = vec_mergeh(vtmp, vtmp2);
- vtmp4 = vec_mergel(vtmp, vtmp2);
-
-- vd_l = (vector uint16_t) vec_mergeh(vin, vzero);
-- vd_r = (vector uint16_t) vec_mergel(vin, vzero);
-+ vd_l = (vec_u16) vec_mergeh(vin, vzero);
-+ vd_r = (vec_u16) vec_mergel(vin, vzero);
- vd_l = vec_sl(vd_l, vshift);
- vd_r = vec_sl(vd_r, vshift);
-
-- vd_l = vec_add(vd_l, (vector uint16_t) vtmp3);
-- vd_r = vec_add(vd_r, (vector uint16_t) vtmp4);
-+ vd_l = vec_add(vd_l, (vec_u16) vtmp3);
-+ vd_r = vec_add(vd_r, (vec_u16) vtmp4);
-
-- vec_st((vector int16_t) vd_l, 0, &dst[i]);
-- vec_st((vector int16_t) vd_r, 0, &dst[i + 8]);
-+ vec_st((vec_s16) vd_l, 0, &dst[i]);
-+ vec_st((vec_s16) vd_r, 0, &dst[i + 8]);
-
- xpos += xInc * 16;
- }
-@@ -1773,8 +1773,8 @@ static void hyscale_fast_vsx(SwsContext *c, int16_t *dst, int dstWidth,
- vd_l = vec_add(vd_l, vtmp3); \
- vd_r = vec_add(vd_r, vtmp4); \
- \
-- vec_st((vector int16_t) vd_l, 0, &out[i]); \
-- vec_st((vector int16_t) vd_r, 0, &out[i + 8])
-+ vec_st((vec_s16) vd_l, 0, &out[i]); \
-+ vec_st((vec_s16) vd_r, 0, &out[i + 8])
-
- static void hcscale_fast_vsx(SwsContext *c, int16_t *dst1, int16_t *dst2,
- int dstWidth, const uint8_t *src1,
-@@ -1782,19 +1782,19 @@ static void hcscale_fast_vsx(SwsContext *c, int16_t *dst1, int16_t *dst2,
- {
- int i;
- unsigned int xpos = 0, xx;
-- vector uint8_t vin, vin2, vperm;
-- vector uint8_t valpha, valphaxor;
-- vector uint16_t vtmp, vtmp2, vtmp3, vtmp4;
-- vector uint16_t vd_l, vd_r, vcoord16[2];
-- vector uint32_t vcoord[4];
-- const vector uint8_t vxor = vec_splats((uint8_t) 127);
-- const vector uint32_t vadd = (vector uint32_t) {
-+ vec_u8 vin, vin2, vperm;
-+ vec_u8 valpha, valphaxor;
-+ vec_u16 vtmp, vtmp2, vtmp3, vtmp4;
-+ vec_u16 vd_l, vd_r, vcoord16[2];
-+ vec_u32 vcoord[4];
-+ const vec_u8 vxor = vec_splats((uint8_t) 127);
-+ const vec_u32 vadd = (vec_u32) {
- 0,
- xInc * 1,
- xInc * 2,
- xInc * 3,
- };
-- const vector uint16_t vadd16 = (vector uint16_t) { // Modulo math
-+ const vec_u16 vadd16 = (vec_u16) { // Modulo math
- 0,
- xInc * 1,
- xInc * 2,
-@@ -1804,8 +1804,8 @@ static void hcscale_fast_vsx(SwsContext *c, int16_t *dst1, int16_t *dst2,
- xInc * 6,
- xInc * 7,
- };
-- const vector uint32_t vshift16 = vec_splats((uint32_t) 16);
-- const vector uint16_t vshift9 = vec_splat_u16(9);
-+ const vec_u32 vshift16 = vec_splats((uint32_t) 16);
-+ const vec_u16 vshift9 = vec_splat_u16(9);
-
- for (i = 0; i < dstWidth; i += 16) {
- vcoord16[0] = vec_splats((uint16_t) xpos);
-@@ -1859,29 +1859,29 @@ static void hScale8To19_vsx(SwsContext *c, int16_t *_dst, int dstW,
- {
- int i, j;
- int32_t *dst = (int32_t *) _dst;
-- vector int16_t vfilter, vin;
-- vector uint8_t vin8;
-- vector int32_t vout;
-- const vector uint8_t vzero = vec_splat_u8(0);
-- const vector uint8_t vunusedtab[8] = {
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf},
-- (vector uint8_t) {0x0, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x10, 0x10, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0x10, 0x10},
-+ vec_s16 vfilter, vin;
-+ vec_u8 vin8;
-+ vec_s32 vout;
-+ const vec_u8 vzero = vec_splat_u8(0);
-+ const vec_u8 vunusedtab[8] = {
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf},
-+ (vec_u8) {0x0, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0x10, 0x10},
- };
-- const vector uint8_t vunused = vunusedtab[filterSize % 8];
-+ const vec_u8 vunused = vunusedtab[filterSize % 8];
-
- if (filterSize == 1) {
- for (i = 0; i < dstW; i++) {
-@@ -1898,14 +1898,14 @@ static void hScale8To19_vsx(SwsContext *c, int16_t *_dst, int dstW,
- vout = vec_splat_s32(0);
- for (j = 0; j < filterSize; j += 8) {
- vin8 = vec_vsx_ld(0, &src[srcPos + j]);
-- vin = (vector int16_t) vec_mergeh(vin8, vzero);
-+ vin = (vec_s16) vec_mergeh(vin8, vzero);
- if (j + 8 > filterSize) // Remove the unused elements on the last round
-- vin = vec_perm(vin, (vector int16_t) vzero, vunused);
-+ vin = vec_perm(vin, (vec_s16) vzero, vunused);
-
- vfilter = vec_vsx_ld(0, &filter[filterSize * i + j]);
- vout = vec_msums(vin, vfilter, vout);
- }
-- vout = vec_sums(vout, (vector int32_t) vzero);
-+ vout = vec_sums(vout, (vec_s32) vzero);
- dst[i] = FFMIN(vout[3] >> 3, (1 << 19) - 1);
- }
- }
-@@ -1921,28 +1921,28 @@ static void hScale16To19_vsx(SwsContext *c, int16_t *_dst, int dstW,
- const uint16_t *src = (const uint16_t *) _src;
- int bits = desc->comp[0].depth - 1;
- int sh = bits - 4;
-- vector int16_t vfilter, vin;
-- vector int32_t vout, vtmp, vtmp2, vfilter32_l, vfilter32_r;
-- const vector uint8_t vzero = vec_splat_u8(0);
-- const vector uint8_t vunusedtab[8] = {
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf},
-- (vector uint8_t) {0x0, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x10, 0x10, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0x10, 0x10},
-+ vec_s16 vfilter, vin;
-+ vec_s32 vout, vtmp, vtmp2, vfilter32_l, vfilter32_r;
-+ const vec_u8 vzero = vec_splat_u8(0);
-+ const vec_u8 vunusedtab[8] = {
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf},
-+ (vec_u8) {0x0, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0x10, 0x10},
- };
-- const vector uint8_t vunused = vunusedtab[filterSize % 8];
-+ const vec_u8 vunused = vunusedtab[filterSize % 8];
-
- if ((isAnyRGB(c->srcFormat) || c->srcFormat==AV_PIX_FMT_PAL8) && desc->comp[0].depth<16) {
- sh = 9;
-@@ -1966,16 +1966,16 @@ static void hScale16To19_vsx(SwsContext *c, int16_t *_dst, int dstW,
- const int srcPos = filterPos[i];
- vout = vec_splat_s32(0);
- for (j = 0; j < filterSize; j += 8) {
-- vin = (vector int16_t) vec_vsx_ld(0, &src[srcPos + j]);
-+ vin = (vec_s16) vec_vsx_ld(0, &src[srcPos + j]);
- if (j + 8 > filterSize) // Remove the unused elements on the last round
-- vin = vec_perm(vin, (vector int16_t) vzero, vunused);
-+ vin = vec_perm(vin, (vec_s16) vzero, vunused);
-
- vfilter = vec_vsx_ld(0, &filter[filterSize * i + j]);
- vfilter32_l = vec_unpackh(vfilter);
- vfilter32_r = vec_unpackl(vfilter);
-
-- vtmp = (vector int32_t) vec_mergeh(vin, (vector int16_t) vzero);
-- vtmp2 = (vector int32_t) vec_mergel(vin, (vector int16_t) vzero);
-+ vtmp = (vec_s32) vec_mergeh(vin, (vec_s16) vzero);
-+ vtmp2 = (vec_s32) vec_mergel(vin, (vec_s16) vzero);
-
- vtmp = vec_mul(vtmp, vfilter32_l);
- vtmp2 = vec_mul(vtmp2, vfilter32_r);
-@@ -1983,7 +1983,7 @@ static void hScale16To19_vsx(SwsContext *c, int16_t *_dst, int dstW,
- vout = vec_adds(vout, vtmp);
- vout = vec_adds(vout, vtmp2);
- }
-- vout = vec_sums(vout, (vector int32_t) vzero);
-+ vout = vec_sums(vout, (vec_s32) vzero);
- dst[i] = FFMIN(vout[3] >> sh, (1 << 19) - 1);
- }
- }
-@@ -1997,28 +1997,28 @@ static void hScale16To15_vsx(SwsContext *c, int16_t *dst, int dstW,
- int i, j;
- const uint16_t *src = (const uint16_t *) _src;
- int sh = desc->comp[0].depth - 1;
-- vector int16_t vfilter, vin;
-- vector int32_t vout, vtmp, vtmp2, vfilter32_l, vfilter32_r;
-- const vector uint8_t vzero = vec_splat_u8(0);
-- const vector uint8_t vunusedtab[8] = {
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf},
-- (vector uint8_t) {0x0, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x10, 0x10, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x10, 0x10,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0x10, 0x10, 0x10, 0x10},
-- (vector uint8_t) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-- 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0x10, 0x10},
-+ vec_s16 vfilter, vin;
-+ vec_s32 vout, vtmp, vtmp2, vfilter32_l, vfilter32_r;
-+ const vec_u8 vzero = vec_splat_u8(0);
-+ const vec_u8 vunusedtab[8] = {
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf},
-+ (vec_u8) {0x0, 0x1, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x10, 0x10, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x10, 0x10,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0x10, 0x10, 0x10, 0x10},
-+ (vec_u8) {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
-+ 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0x10, 0x10},
- };
-- const vector uint8_t vunused = vunusedtab[filterSize % 8];
-+ const vec_u8 vunused = vunusedtab[filterSize % 8];
-
- if (sh<15) {
- sh = isAnyRGB(c->srcFormat) || c->srcFormat==AV_PIX_FMT_PAL8 ? 13 : (desc->comp[0].depth - 1);
-@@ -2042,16 +2042,16 @@ static void hScale16To15_vsx(SwsContext *c, int16_t *dst, int dstW,
- const int srcPos = filterPos[i];
- vout = vec_splat_s32(0);
- for (j = 0; j < filterSize; j += 8) {
-- vin = (vector int16_t) vec_vsx_ld(0, &src[srcPos + j]);
-+ vin = (vec_s16) vec_vsx_ld(0, &src[srcPos + j]);
- if (j + 8 > filterSize) // Remove the unused elements on the last round
-- vin = vec_perm(vin, (vector int16_t) vzero, vunused);
-+ vin = vec_perm(vin, (vec_s16) vzero, vunused);
-
- vfilter = vec_vsx_ld(0, &filter[filterSize * i + j]);
- vfilter32_l = vec_unpackh(vfilter);
- vfilter32_r = vec_unpackl(vfilter);
-
-- vtmp = (vector int32_t) vec_mergeh(vin, (vector int16_t) vzero);
-- vtmp2 = (vector int32_t) vec_mergel(vin, (vector int16_t) vzero);
-+ vtmp = (vec_s32) vec_mergeh(vin, (vec_s16) vzero);
-+ vtmp2 = (vec_s32) vec_mergel(vin, (vec_s16) vzero);
-
- vtmp = vec_mul(vtmp, vfilter32_l);
- vtmp2 = vec_mul(vtmp2, vfilter32_r);
-@@ -2059,7 +2059,7 @@ static void hScale16To15_vsx(SwsContext *c, int16_t *dst, int dstW,
- vout = vec_adds(vout, vtmp);
- vout = vec_adds(vout, vtmp2);
- }
-- vout = vec_sums(vout, (vector int32_t) vzero);
-+ vout = vec_sums(vout, (vec_s32) vzero);
- dst[i] = FFMIN(vout[3] >> sh, (1 << 15) - 1);
- }
- }
diff --git a/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_yuv2rgb__altivec.c b/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_yuv2rgb__altivec.c
new file mode 100644
index 000000000000..1208098c1e5d
--- /dev/null
+++ b/multimedia/mythtv/files/patch-external_FFmpeg_libswscale_ppc_yuv2rgb__altivec.c
@@ -0,0 +1,145 @@
+Revert 3a557c5d88b7b15b5954ba2743febb055549b536 to fix build on powerpc and powerpc64.
+
+Error:
+CC libswscale/ppc/yuv2rgb_altivec.o
+libswscale/ppc/yuv2rgb_altivec.c: In function ?altivec_yuv2_abgr?:
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: implicit declaration of function ?vec_xl?; did you mean ?vec_rl?? [-Werror=implicit-function-declaration]
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 437 | DEFCSP420_CVT(yuv2_abgr, out_abgr)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 437 | DEFCSP420_CVT(yuv2_abgr, out_abgr)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 340 | y1 = vec_xl(0, y2i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:437:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 437 | DEFCSP420_CVT(yuv2_abgr, out_abgr)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:437:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c:437:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c: In function ?altivec_yuv2_bgra?:
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 438 | DEFCSP420_CVT(yuv2_bgra, out_bgra)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 340 | y1 = vec_xl(0, y2i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:438:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 438 | DEFCSP420_CVT(yuv2_bgra, out_bgra)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:438:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c:438:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c: In function ?altivec_yuv2_rgba?:
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 439 | DEFCSP420_CVT(yuv2_rgba, out_rgba)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 340 | y1 = vec_xl(0, y2i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:439:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 439 | DEFCSP420_CVT(yuv2_rgba, out_rgba)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:439:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c:439:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c: In function ?altivec_yuv2_argb?:
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 440 | DEFCSP420_CVT(yuv2_argb, out_argb)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 340 | y1 = vec_xl(0, y2i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:440:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 440 | DEFCSP420_CVT(yuv2_argb, out_argb)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:440:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c:440:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c: In function ?altivec_yuv2_rgb24?:
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 340 | y1 = vec_xl(0, y2i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:441:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 441 | DEFCSP420_CVT(yuv2_rgb24, out_rgb24)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:441:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c:441:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c: In function ?altivec_yuv2_bgr24?:
+libswscale/ppc/yuv2rgb_altivec.c:338:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 338 | y0 = vec_xl(0, y1i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:340:18: error: incompatible types when assigning to type ?__vector unsigned char? {aka ?__vector(16) unsigned char?} from type ?int?
+ 340 | y1 = vec_xl(0, y2i); \
+ | ^~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:442:1: note: in expansion of macro ?DEFCSP420_CVT?
+ 442 | DEFCSP420_CVT(yuv2_bgr24, out_bgr24)
+ | ^~~~~~~~~~~~~
+libswscale/ppc/yuv2rgb_altivec.c:442:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+libswscale/ppc/yuv2rgb_altivec.c:442:1: error: can?t convert a value of type ?int? to vector type ?__vector(16) signed char? which has different size
+cc1: some warnings being treated as errors
+
+--- external/FFmpeg/libswscale/ppc/yuv2rgb_altivec.c.orig 2020-06-15 18:54:24 UTC
++++ external/FFmpeg/libswscale/ppc/yuv2rgb_altivec.c
+@@ -305,6 +305,9 @@ static int altivec_ ## name(SwsContext *c, const unsig
+ vector signed short R1, G1, B1; \
+ vector unsigned char R, G, B; \
+ \
++ const vector unsigned char *y1ivP, *y2ivP, *uivP, *vivP; \
++ vector unsigned char align_perm; \
++ \
+ vector signed short lCY = c->CY; \
+ vector signed short lOY = c->OY; \
+ vector signed short lCRV = c->CRV; \
+@@ -335,13 +338,26 @@ static int altivec_ ## name(SwsContext *c, const unsig
+ vec_dstst(oute, (0x02000002 | (((w * 3 + 32) / 32) << 16)), 1); \
+ \
+ for (j = 0; j < w / 16; j++) { \
+- y0 = vec_xl(0, y1i); \
++ y1ivP = (const vector unsigned char *) y1i; \
++ y2ivP = (const vector unsigned char *) y2i; \
++ uivP = (const vector unsigned char *) ui; \
++ vivP = (const vector unsigned char *) vi; \
+ \
+- y1 = vec_xl(0, y2i); \
++ align_perm = vec_lvsl(0, y1i); \
++ y0 = (vector unsigned char) \
++ vec_perm(y1ivP[0], y1ivP[1], align_perm); \
+ \
+- u = (vector signed char) vec_xl(0, ui); \
++ align_perm = vec_lvsl(0, y2i); \
++ y1 = (vector unsigned char) \
++ vec_perm(y2ivP[0], y2ivP[1], align_perm); \
+ \
+- v = (vector signed char) vec_xl(0, vi); \
++ align_perm = vec_lvsl(0, ui); \
++ u = (vector signed char) \
++ vec_perm(uivP[0], uivP[1], align_perm); \
++ \
++ align_perm = vec_lvsl(0, vi); \
++ v = (vector signed char) \
++ vec_perm(vivP[0], vivP[1], align_perm); \
+ \
+ u = (vector signed char) \
+ vec_sub(u, \
diff --git a/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp b/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp
deleted file mode 100644
index 711858adb2c7..000000000000
--- a/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- libs/libmythui/mythpainter.cpp.orig 2020-05-21 12:31:44 UTC
-+++ libs/libmythui/mythpainter.cpp
-@@ -5,6 +5,7 @@
- // QT headers
- #include <QRect>
- #include <QPainter>
-+#include <QPainterPath>
-
- // libmythbase headers
- #include "mythlogging.h"
diff --git a/multimedia/mythtv/files/pkg-message.in b/multimedia/mythtv/files/pkg-message.in
index a9e17e044e40..34a3f4b9be25 100644
--- a/multimedia/mythtv/files/pkg-message.in
+++ b/multimedia/mythtv/files/pkg-message.in
@@ -9,7 +9,11 @@ MythTV has now been installed, but it still needs to be configured.
2. Next, run mythtv-setup.
-See http://www.mythtv.org/docs/ for more information.
+See https://www.mythtv.org/docs/ for more information.
+
+MythTV requires tuner drivers supporting the V4L standard.
+MythTV works with HDHomeRun and V4L DVB Compatibility:
+see https://wiki.freebsd.org/WebcamCompat for more information.
EOM
}
]
diff --git a/multimedia/mythtv/pkg-descr b/multimedia/mythtv/pkg-descr
index b8663088b130..6f3d2adda5d2 100644
--- a/multimedia/mythtv/pkg-descr
+++ b/multimedia/mythtv/pkg-descr
@@ -1,13 +1,5 @@
-MythTV is a "Personal Video Recorder", i.e. a computer-based video
-recorder. It supports pausing and rewinding live TV, multiple tuner
-cards, hardware or software video compression, onscreen program
-guides and a distributed architecture.
-
-MythTV requires tuner drivers which support the V4L standard.
-Currently no official FreeBSD driver does so, but the latest version
-of a beta version of the cxm driver is available from
-http://usleepless.110mb.com/pvrxxx_port-10042007.tgz. Problems
-have been reported with this port; if you use it, you should join
-the FreeBSD-multimedia mailing list and report where appropriate.
-
-WWW: http://www.mythtv.org/
+MythTV is a Free Open Source software digital video recorder (DVR)
+project distributed under the terms of the GNU GPL. It has been
+under heavy development since 2002, and now contains most features
+one would expect from a good DVR (and many new ones that you soon
+won't be able to live without).
diff --git a/multimedia/mythtv/pkg-plist b/multimedia/mythtv/pkg-plist
index 9084381904ad..4eca2aa57b54 100644
--- a/multimedia/mythtv/pkg-plist
+++ b/multimedia/mythtv/pkg-plist
@@ -21,18 +21,8 @@ bin/mythtranscode
bin/mythtv-setup
bin/mythutil
bin/mythwelcome
-%%BINDINGS%%bin/mythwikiscripts
-include/mythtv/audioconvert.h
-include/mythtv/audiooutput.h
-include/mythtv/audiooutputsettings.h
-include/mythtv/audiooutpututil.h
-include/mythtv/audiosettings.h
-include/mythtv/autodeletedeque.h
+bin/mythwikiscripts
include/mythtv/blockinput.h
-include/mythtv/bonjourregister.h
-include/mythtv/bswap.h
-include/mythtv/compat.h
-include/mythtv/dbutil.h
include/mythtv/dvdnav/dvd_types.h
include/mythtv/dvdnav/dvdnav.h
include/mythtv/dvdnav/dvdnav_events.h
@@ -41,54 +31,43 @@ include/mythtv/dvdread/ifo_read.h
include/mythtv/dvdread/ifo_types.h
include/mythtv/dvdread/nav_read.h
include/mythtv/dvdread/nav_types.h
-include/mythtv/eldutils.h
-include/mythtv/exitcodes.h
-include/mythtv/ffmpeg-mmx.h
-include/mythtv/filesysteminfo.h
-include/mythtv/goom/drawmethods.h
-include/mythtv/goom/filters.h
-include/mythtv/goom/goom_core.h
-include/mythtv/goom/goom_tools.h
-include/mythtv/goom/goomconfig.h
-include/mythtv/goom/graphic.h
-include/mythtv/goom/ifs.h
-include/mythtv/goom/lines.h
-include/mythtv/goom/mathtools.h
-include/mythtv/goom/mmx.h
-include/mythtv/goom/tentacle3d.h
-include/mythtv/goom/v3d.h
-include/mythtv/hardwareprofile.h
-include/mythtv/iso3166.h
-include/mythtv/iso639.h
-include/mythtv/langsettings.h
-include/mythtv/lcddevice.h
include/mythtv/libavcodec/ac3_parser.h
include/mythtv/libavcodec/adts_parser.h
include/mythtv/libavcodec/avcodec.h
include/mythtv/libavcodec/avdct.h
include/mythtv/libavcodec/avfft.h
+include/mythtv/libavcodec/bsf.h
+include/mythtv/libavcodec/codec.h
+include/mythtv/libavcodec/codec_desc.h
+include/mythtv/libavcodec/codec_id.h
+include/mythtv/libavcodec/codec_par.h
include/mythtv/libavcodec/d3d11va.h
+include/mythtv/libavcodec/defs.h
include/mythtv/libavcodec/dirac.h
include/mythtv/libavcodec/dv_profile.h
include/mythtv/libavcodec/dxva2.h
include/mythtv/libavcodec/jni.h
include/mythtv/libavcodec/mediacodec.h
+include/mythtv/libavcodec/packet.h
include/mythtv/libavcodec/qsv.h
-include/mythtv/libavcodec/vaapi.h
include/mythtv/libavcodec/vdpau.h
include/mythtv/libavcodec/version.h
+include/mythtv/libavcodec/version_major.h
include/mythtv/libavcodec/videotoolbox.h
include/mythtv/libavcodec/vorbis_parser.h
include/mythtv/libavcodec/xvmc.h
include/mythtv/libavdevice/avdevice.h
include/mythtv/libavdevice/version.h
+include/mythtv/libavdevice/version_major.h
include/mythtv/libavfilter/avfilter.h
include/mythtv/libavfilter/buffersink.h
include/mythtv/libavfilter/buffersrc.h
include/mythtv/libavfilter/version.h
+include/mythtv/libavfilter/version_major.h
include/mythtv/libavformat/avformat.h
include/mythtv/libavformat/avio.h
include/mythtv/libavformat/version.h
+include/mythtv/libavformat/version_major.h
include/mythtv/libavutil/adler32.h
include/mythtv/libavutil/aes.h
include/mythtv/libavutil/aes_ctr.h
@@ -109,9 +88,12 @@ include/mythtv/libavutil/channel_layout.h
include/mythtv/libavutil/common.h
include/mythtv/libavutil/cpu.h
include/mythtv/libavutil/crc.h
+include/mythtv/libavutil/csp.h
include/mythtv/libavutil/des.h
+include/mythtv/libavutil/detection_bbox.h
include/mythtv/libavutil/dict.h
include/mythtv/libavutil/display.h
+include/mythtv/libavutil/dovi_meta.h
include/mythtv/libavutil/downmix_info.h
include/mythtv/libavutil/encryption_info.h
include/mythtv/libavutil/error.h
@@ -119,9 +101,11 @@ include/mythtv/libavutil/eval.h
include/mythtv/libavutil/ffversion.h
include/mythtv/libavutil/fifo.h
include/mythtv/libavutil/file.h
+include/mythtv/libavutil/film_grain_params.h
include/mythtv/libavutil/frame.h
include/mythtv/libavutil/hash.h
include/mythtv/libavutil/hdr_dynamic_metadata.h
+include/mythtv/libavutil/hdr_dynamic_vivid_metadata.h
include/mythtv/libavutil/hmac.h
include/mythtv/libavutil/hwcontext.h
include/mythtv/libavutil/hwcontext_cuda.h
@@ -129,10 +113,12 @@ include/mythtv/libavutil/hwcontext_d3d11va.h
include/mythtv/libavutil/hwcontext_drm.h
include/mythtv/libavutil/hwcontext_dxva2.h
include/mythtv/libavutil/hwcontext_mediacodec.h
+include/mythtv/libavutil/hwcontext_opencl.h
include/mythtv/libavutil/hwcontext_qsv.h
include/mythtv/libavutil/hwcontext_vaapi.h
include/mythtv/libavutil/hwcontext_vdpau.h
include/mythtv/libavutil/hwcontext_videotoolbox.h
+include/mythtv/libavutil/hwcontext_vulkan.h
include/mythtv/libavutil/imgutils.h
include/mythtv/libavutil/intfloat.h
include/mythtv/libavutil/intreadwrite.h
@@ -169,36 +155,30 @@ include/mythtv/libavutil/timestamp.h
include/mythtv/libavutil/tree.h
include/mythtv/libavutil/twofish.h
include/mythtv/libavutil/tx.h
+include/mythtv/libavutil/uuid.h
include/mythtv/libavutil/version.h
+include/mythtv/libavutil/video_enc_params.h
include/mythtv/libavutil/xtea.h
-include/mythtv/libmyth/audioconvert.h
-include/mythtv/libmyth/audiooutput.h
-include/mythtv/libmyth/audiooutputsettings.h
-include/mythtv/libmyth/audiooutpututil.h
-include/mythtv/libmyth/audiosettings.h
-include/mythtv/libmyth/eldutils.h
+include/mythtv/libmyth/audio/audioconvert.h
+include/mythtv/libmyth/audio/audiooutput.h
+include/mythtv/libmyth/audio/audiooutputsettings.h
+include/mythtv/libmyth/audio/audiooutpututil.h
+include/mythtv/libmyth/audio/audiosettings.h
+include/mythtv/libmyth/audio/eldutils.h
+include/mythtv/libmyth/audio/volumebase.h
include/mythtv/libmyth/langsettings.h
+include/mythtv/libmyth/mythaverror.h
include/mythtv/libmyth/mythcontext.h
include/mythtv/libmyth/mythexp.h
include/mythtv/libmyth/mythmediamonitor.h
-include/mythtv/libmyth/mythrssmanager.h
include/mythtv/libmyth/mythterminal.h
-include/mythtv/libmyth/netgrabbermanager.h
-include/mythtv/libmyth/netutils.h
include/mythtv/libmyth/output.h
-include/mythtv/libmyth/programinfo.h
-include/mythtv/libmyth/programtypes.h
-include/mythtv/libmyth/recordingtypes.h
-include/mythtv/libmyth/remoteutil.h
-include/mythtv/libmyth/rssparse.h
include/mythtv/libmyth/schemawizard.h
include/mythtv/libmyth/standardsettings.h
include/mythtv/libmyth/storagegroupeditor.h
include/mythtv/libmyth/visual.h
-include/mythtv/libmyth/volumebase.h
include/mythtv/libmythbase/autodeletedeque.h
include/mythtv/libmythbase/bonjourregister.h
-include/mythtv/libmythbase/bswap.h
include/mythtv/libmythbase/compat.h
include/mythtv/libmythbase/dbutil.h
include/mythtv/libmythbase/exitcodes.h
@@ -213,13 +193,13 @@ include/mythtv/libmythbase/mthread.h
include/mythtv/libmythbase/mthreadpool.h
include/mythtv/libmythbase/mythbaseexp.h
include/mythtv/libmythbase/mythcdrom.h
+include/mythtv/libmythbase/mythchrono.h
include/mythtv/libmythbase/mythcommandlineparser.h
-include/mythtv/libmythbase/mythconfig.h
-include/mythtv/libmythbase/mythconfig.mak
include/mythtv/libmythbase/mythcorecontext.h
include/mythtv/libmythbase/mythcoreutil.h
include/mythtv/libmythbase/mythdate.h
include/mythtv/libmythbase/mythdb.h
+include/mythtv/libmythbase/mythdbcheck.h
include/mythtv/libmythbase/mythdbcon.h
include/mythtv/libmythbase/mythdbparams.h
include/mythtv/libmythbase/mythdeque.h
@@ -233,7 +213,8 @@ include/mythtv/libmythbase/mythmiscutil.h
include/mythtv/libmythbase/mythobservable.h
include/mythtv/libmythbase/mythplugin.h
include/mythtv/libmythbase/mythpluginapi.h
-include/mythtv/libmythbase/mythqtcompat.h
+include/mythtv/libmythbase/mythpluginexport.h
+include/mythtv/libmythbase/mythrandom.h
include/mythtv/libmythbase/mythsession.h
include/mythtv/libmythbase/mythsingledownload.h
include/mythtv/libmythbase/mythsocket.h
@@ -246,16 +227,64 @@ include/mythtv/libmythbase/mythtimer.h
include/mythtv/libmythbase/mythtranslation.h
include/mythtv/libmythbase/mythtypes.h
include/mythtv/libmythbase/mythversion.h
-include/mythtv/libmythbase/plist.h
+include/mythtv/libmythbase/netgrabbermanager.h
+include/mythtv/libmythbase/netutils.h
+include/mythtv/libmythbase/programinfo.h
+include/mythtv/libmythbase/programtypeflags.h
+include/mythtv/libmythbase/programtypes.h
+include/mythtv/libmythbase/qtuplift.h
+include/mythtv/libmythbase/recordingstatus.h
+include/mythtv/libmythbase/recordingtypes.h
include/mythtv/libmythbase/referencecounter.h
include/mythtv/libmythbase/referencecounterlist.h
include/mythtv/libmythbase/remotefile.h
+include/mythtv/libmythbase/remoteutil.h
+include/mythtv/libmythbase/rssmanager.h
+include/mythtv/libmythbase/rssparse.h
include/mythtv/libmythbase/serverpool.h
include/mythtv/libmythbase/signalhandling.h
+include/mythtv/libmythbase/sizetliteral.h
include/mythtv/libmythbase/storagegroup.h
+include/mythtv/libmythbase/stringutil.h
include/mythtv/libmythbase/threadedfilewriter.h
+include/mythtv/libmythbase/unziputil.h
include/mythtv/libmythbase/verbosedefs.h
include/mythtv/libmythbase/version.h
+include/mythtv/libmythmetadata/bluraymetadata.h
+include/mythtv/libmythmetadata/cleanup.h
+include/mythtv/libmythmetadata/dbaccess.h
+include/mythtv/libmythmetadata/dirscan.h
+include/mythtv/libmythmetadata/globals.h
+include/mythtv/libmythmetadata/imagemanager.h
+include/mythtv/libmythmetadata/imagemetadata.h
+include/mythtv/libmythmetadata/imagetypes.h
+include/mythtv/libmythmetadata/lyricsdata.h
+include/mythtv/libmythmetadata/metadatacommon.h
+include/mythtv/libmythmetadata/metadatadownload.h
+include/mythtv/libmythmetadata/metadatafactory.h
+include/mythtv/libmythmetadata/metadatagrabber.h
+include/mythtv/libmythmetadata/metadataimagedownload.h
+include/mythtv/libmythmetadata/metaio.h
+include/mythtv/libmythmetadata/metaioavfcomment.h
+include/mythtv/libmythmetadata/metaioflacvorbis.h
+include/mythtv/libmythmetadata/metaioid3.h
+include/mythtv/libmythmetadata/metaiomp4.h
+include/mythtv/libmythmetadata/metaiooggvorbis.h
+include/mythtv/libmythmetadata/metaiotaglib.h
+include/mythtv/libmythmetadata/metaiowavpack.h
+include/mythtv/libmythmetadata/musicfilescanner.h
+include/mythtv/libmythmetadata/musicmetadata.h
+include/mythtv/libmythmetadata/musicutils.h
+include/mythtv/libmythmetadata/mythmetaexp.h
+include/mythtv/libmythmetadata/mythuiimageresults.h
+include/mythtv/libmythmetadata/mythuimetadataresults.h
+include/mythtv/libmythmetadata/parentalcontrols.h
+include/mythtv/libmythmetadata/quicksp.h
+include/mythtv/libmythmetadata/videometadata.h
+include/mythtv/libmythmetadata/videometadatalistmanager.h
+include/mythtv/libmythmetadata/videoscan.h
+include/mythtv/libmythmetadata/videoutils.h
+include/mythtv/libmythmpeg2/mpeg2.h
include/mythtv/libmythservicecontracts/datacontracthelper.h
include/mythtv/libmythservicecontracts/datacontracts/artworkInfo.h
include/mythtv/libmythservicecontracts/datacontracts/artworkInfoList.h
@@ -312,8 +341,9 @@ include/mythtv/libmythservicecontracts/datacontracts/videoMultiplex.h
include/mythtv/libmythservicecontracts/datacontracts/videoMultiplexList.h
include/mythtv/libmythservicecontracts/datacontracts/videoSource.h
include/mythtv/libmythservicecontracts/datacontracts/videoSourceList.h
+include/mythtv/libmythservicecontracts/datacontracts/videoStreamInfo.h
+include/mythtv/libmythservicecontracts/datacontracts/videoStreamInfoList.h
include/mythtv/libmythservicecontracts/datacontracts/wolInfo.h
-include/mythtv/libmythservicecontracts/enums/recStatus.h
include/mythtv/libmythservicecontracts/service.h
include/mythtv/libmythservicecontracts/serviceexp.h
include/mythtv/libmythservicecontracts/services/captureServices.h
@@ -327,10 +357,29 @@ include/mythtv/libmythservicecontracts/services/musicServices.h
include/mythtv/libmythservicecontracts/services/mythServices.h
include/mythtv/libmythservicecontracts/services/rttiServices.h
include/mythtv/libmythservicecontracts/services/videoServices.h
+include/mythtv/libmythtv/metadataimagehelper.h
+include/mythtv/libmythtv/mythavutil.h
+include/mythtv/libmythtv/mythframe.h
+include/mythtv/libmythtv/mythtvexp.h
+include/mythtv/libmythtv/playgroup.h
+include/mythtv/libmythtv/visualisations/goom/drawmethods.h
+include/mythtv/libmythtv/visualisations/goom/filters.h
+include/mythtv/libmythtv/visualisations/goom/goom_core.h
+include/mythtv/libmythtv/visualisations/goom/goom_tools.h
+include/mythtv/libmythtv/visualisations/goom/goomconfig.h
+include/mythtv/libmythtv/visualisations/goom/graphic.h
+include/mythtv/libmythtv/visualisations/goom/ifs.h
+include/mythtv/libmythtv/visualisations/goom/lines.h
+include/mythtv/libmythtv/visualisations/goom/mathtools.h
+include/mythtv/libmythtv/visualisations/goom/mmx.h
+include/mythtv/libmythtv/visualisations/goom/tentacle3d.h
+include/mythtv/libmythtv/visualisations/goom/v3d.h
+include/mythtv/libmythui/mythcolourspace.h
include/mythtv/libmythui/mythdialogbox.h
include/mythtv/libmythui/mythfontproperties.h
include/mythtv/libmythui/mythgenerictree.h
include/mythtv/libmythui/mythgesture.h
+include/mythtv/libmythui/mythhdr.h
include/mythtv/libmythui/mythimage.h
include/mythtv/libmythui/mythmainwindow.h
include/mythtv/libmythui/mythnotification.h
@@ -358,7 +407,9 @@ include/mythtv/libmythui/mythuigroup.h
include/mythtv/libmythui/mythuiguidegrid.h
include/mythtv/libmythui/mythuihelper.h
include/mythtv/libmythui/mythuiimage.h
+include/mythtv/libmythui/mythuilocation.h
include/mythtv/libmythui/mythuiprogressbar.h
+include/mythtv/libmythui/mythuiscreenbounds.h
include/mythtv/libmythui/mythuiscrollbar.h
include/mythtv/libmythui/mythuishape.h
include/mythtv/libmythui/mythuisimpletext.h
@@ -367,6 +418,8 @@ include/mythtv/libmythui/mythuistatetracker.h
include/mythtv/libmythui/mythuistatetype.h
include/mythtv/libmythui/mythuitext.h
include/mythtv/libmythui/mythuitextedit.h
+include/mythtv/libmythui/mythuithemecache.h
+include/mythtv/libmythui/mythuithemehelper.h
include/mythtv/libmythui/mythuitype.h
include/mythtv/libmythui/mythuiutils.h
include/mythtv/libmythui/mythuivideo.h
@@ -375,235 +428,136 @@ include/mythtv/libmythui/mythvirtualkeyboard.h
include/mythtv/libmythui/themeinfo.h
include/mythtv/libmythui/x11colors.h
include/mythtv/libmythui/xmlparsebase.h
+include/mythtv/libmythupnp/bufferedsocketdevice.h
+include/mythtv/libmythupnp/eventing.h
+include/mythtv/libmythupnp/htmlserver.h
+include/mythtv/libmythupnp/httprequest.h
+include/mythtv/libmythupnp/httpserver.h
+include/mythtv/libmythupnp/mmembuf.h
+include/mythtv/libmythupnp/mythxmlclient.h
+include/mythtv/libmythupnp/serializers/jsonSerializer.h
+include/mythtv/libmythupnp/serializers/serializer.h
+include/mythtv/libmythupnp/serializers/soapSerializer.h
+include/mythtv/libmythupnp/serializers/xmlSerializer.h
+include/mythtv/libmythupnp/serverSideScripting.h
+include/mythtv/libmythupnp/servicehost.h
+include/mythtv/libmythupnp/soapclient.h
+include/mythtv/libmythupnp/ssdp.h
+include/mythtv/libmythupnp/ssdpcache.h
+include/mythtv/libmythupnp/taskqueue.h
+include/mythtv/libmythupnp/upnp.h
+include/mythtv/libmythupnp/upnpcds.h
+include/mythtv/libmythupnp/upnpcdsobjects.h
+include/mythtv/libmythupnp/upnpcmgr.h
+include/mythtv/libmythupnp/upnpdevice.h
+include/mythtv/libmythupnp/upnphelpers.h
+include/mythtv/libmythupnp/upnpsubscription.h
+include/mythtv/libmythupnp/upnptaskcache.h
+include/mythtv/libmythupnp/upnptaskevent.h
+include/mythtv/libmythupnp/upnptasknotify.h
+include/mythtv/libmythupnp/upnptasksearch.h
+include/mythtv/libmythupnp/upnputil.h
+include/mythtv/libmythupnp/wsdl.h
+include/mythtv/libmythupnp/xsd.h
include/mythtv/libpostproc/postprocess.h
include/mythtv/libpostproc/version.h
+include/mythtv/libpostproc/version_major.h
include/mythtv/libswresample/swresample.h
include/mythtv/libswresample/version.h
+include/mythtv/libswresample/version_major.h
include/mythtv/libswscale/swscale.h
include/mythtv/libswscale/version.h
-include/mythtv/loggingserver.h
-include/mythtv/metadata/bluraymetadata.h
-include/mythtv/metadata/cleanup.h
-include/mythtv/metadata/dbaccess.h
-include/mythtv/metadata/dirscan.h
-include/mythtv/metadata/globals.h
-include/mythtv/metadata/imagemanager.h
-include/mythtv/metadata/imagemetadata.h
-include/mythtv/metadata/imagetypes.h
-include/mythtv/metadata/lyricsdata.h
-include/mythtv/metadata/metadatacommon.h
-include/mythtv/metadata/metadatadownload.h
-include/mythtv/metadata/metadatafactory.h
-include/mythtv/metadata/metadatagrabber.h
-include/mythtv/metadata/metadataimagedownload.h
-include/mythtv/metadata/metaio.h
-include/mythtv/metadata/metaioavfcomment.h
-include/mythtv/metadata/metaioflacvorbis.h
-include/mythtv/metadata/metaioid3.h
-include/mythtv/metadata/metaiomp4.h
-include/mythtv/metadata/metaiooggvorbis.h
-include/mythtv/metadata/metaiotaglib.h
-include/mythtv/metadata/metaiowavpack.h
-include/mythtv/metadata/musicfilescanner.h
-include/mythtv/metadata/musicmetadata.h
-include/mythtv/metadata/musicutils.h
-include/mythtv/metadata/mythmetaexp.h
-include/mythtv/metadata/mythuiimageresults.h
-include/mythtv/metadata/mythuimetadataresults.h
-include/mythtv/metadata/parentalcontrols.h
-include/mythtv/metadata/quicksp.h
-include/mythtv/metadata/videometadata.h
-include/mythtv/metadata/videometadatalistmanager.h
-include/mythtv/metadata/videoscan.h
-include/mythtv/metadata/videoutils.h
-include/mythtv/metadataimagehelper.h
-include/mythtv/mpeg2dec/mpeg2.h
-include/mythtv/mthread.h
-include/mythtv/mthreadpool.h
-include/mythtv/mythavutil.h
-include/mythtv/mythbaseexp.h
-include/mythtv/mythcdrom.h
-include/mythtv/mythcommandlineparser.h
+include/mythtv/libswscale/version_major.h
include/mythtv/mythconfig.h
include/mythtv/mythconfig.mak
-include/mythtv/mythcontext.h
-include/mythtv/mythcorecontext.h
-include/mythtv/mythcoreutil.h
-include/mythtv/mythdate.h
-include/mythtv/mythdb.h
-include/mythtv/mythdbcon.h
-include/mythtv/mythdbparams.h
-include/mythtv/mythdeque.h
-include/mythtv/mythdirs.h
-include/mythtv/mythdownloadmanager.h
-include/mythtv/mythevent.h
-include/mythtv/mythexp.h
-include/mythtv/mythframe.h
-include/mythtv/mythlocale.h
-include/mythtv/mythlogging.h
-include/mythtv/mythmedia.h
-include/mythtv/mythmediamonitor.h
-include/mythtv/mythmiscutil.h
-include/mythtv/mythobservable.h
-include/mythtv/mythplugin.h
-include/mythtv/mythpluginapi.h
-include/mythtv/mythqtcompat.h
-include/mythtv/mythrssmanager.h
-include/mythtv/mythsession.h
-include/mythtv/mythsingledownload.h
-include/mythtv/mythsocket.h
-include/mythtv/mythsocket_cb.h
-include/mythtv/mythsorthelper.h
-include/mythtv/mythstorage.h
-include/mythtv/mythsystem.h
-include/mythtv/mythsystemlegacy.h
-include/mythtv/mythterminal.h
-include/mythtv/mythtimer.h
-include/mythtv/mythtranslation.h
-include/mythtv/mythtvexp.h
-include/mythtv/mythtypes.h
-include/mythtv/mythversion.h
-include/mythtv/netgrabbermanager.h
-include/mythtv/netutils.h
-include/mythtv/output.h
-include/mythtv/playgroup.h
-include/mythtv/plist.h
-include/mythtv/programinfo.h
-include/mythtv/programtypes.h
-include/mythtv/recordingtypes.h
-include/mythtv/referencecounter.h
-include/mythtv/referencecounterlist.h
-include/mythtv/remotefile.h
-include/mythtv/remoteutil.h
-include/mythtv/rssparse.h
-include/mythtv/schemawizard.h
-include/mythtv/serverpool.h
-include/mythtv/signalhandling.h
-include/mythtv/standardsettings.h
-include/mythtv/storagegroup.h
-include/mythtv/storagegroupeditor.h
-include/mythtv/threadedfilewriter.h
include/mythtv/udfread.h
-include/mythtv/upnp/bufferedsocketdevice.h
-include/mythtv/upnp/configuration.h
-include/mythtv/upnp/eventing.h
-include/mythtv/upnp/htmlserver.h
-include/mythtv/upnp/httprequest.h
-include/mythtv/upnp/httpserver.h
-include/mythtv/upnp/jsonSerializer.h
-include/mythtv/upnp/mmembuf.h
-include/mythtv/upnp/mythxmlclient.h
-include/mythtv/upnp/serializer.h
-include/mythtv/upnp/serverSideScripting.h
-include/mythtv/upnp/servicehost.h
-include/mythtv/upnp/soapSerializer.h
-include/mythtv/upnp/soapclient.h
-include/mythtv/upnp/ssdp.h
-include/mythtv/upnp/ssdpcache.h
-include/mythtv/upnp/taskqueue.h
-include/mythtv/upnp/upnp.h
-include/mythtv/upnp/upnpcds.h
-include/mythtv/upnp/upnpcdsobjects.h
-include/mythtv/upnp/upnpcmgr.h
-include/mythtv/upnp/upnpdevice.h
-include/mythtv/upnp/upnphelpers.h
-include/mythtv/upnp/upnpsubscription.h
-include/mythtv/upnp/upnptaskcache.h
-include/mythtv/upnp/upnptaskevent.h
-include/mythtv/upnp/upnptasknotify.h
-include/mythtv/upnp/upnptasksearch.h
-include/mythtv/upnp/upnputil.h
-include/mythtv/upnp/wsdl.h
-include/mythtv/upnp/xmlSerializer.h
-include/mythtv/upnp/xsd.h
-include/mythtv/verbosedefs.h
-include/mythtv/version.h
-include/mythtv/visual.h
-include/mythtv/volumebase.h
-lib/libmyth-31.so
-lib/libmyth-31.so.31
-lib/libmyth-31.so.31.0
-lib/libmyth-31.so.31.0.0
+lib/libmyth-34.so
+lib/libmyth-34.so.34
+lib/libmyth-34.so.34.0
+lib/libmyth-34.so.34.0.0
lib/libmythavcodec.so
-lib/libmythavcodec.so.58
-lib/libmythavcodec.so.58.54.100
+lib/libmythavcodec.so.59
+lib/libmythavcodec.so.59.37.100
lib/libmythavdevice.so
-lib/libmythavdevice.so.58
-lib/libmythavdevice.so.58.8.100
+lib/libmythavdevice.so.59
+lib/libmythavdevice.so.59.7.100
lib/libmythavfilter.so
-lib/libmythavfilter.so.7
-lib/libmythavfilter.so.7.57.100
+lib/libmythavfilter.so.8
+lib/libmythavfilter.so.8.44.100
lib/libmythavformat.so
-lib/libmythavformat.so.58
-lib/libmythavformat.so.58.29.100
+lib/libmythavformat.so.59
+lib/libmythavformat.so.59.27.100
lib/libmythavutil.so
-lib/libmythavutil.so.56
-lib/libmythavutil.so.56.31.100
-lib/libmythbase-31.so
-lib/libmythbase-31.so.31
-lib/libmythbase-31.so.31.0
-lib/libmythbase-31.so.31.0.0
-lib/libmythfreemheg-31.so
-lib/libmythfreemheg-31.so.31
-lib/libmythfreemheg-31.so.31.0
-lib/libmythfreemheg-31.so.31.0.0
-lib/libmythmetadata-31.so
-lib/libmythmetadata-31.so.31
-lib/libmythmetadata-31.so.31.0
-lib/libmythmetadata-31.so.31.0.0
+lib/libmythavutil.so.57
+lib/libmythavutil.so.57.28.100
+lib/libmythbase-34.so
+lib/libmythbase-34.so.34
+lib/libmythbase-34.so.34.0
+lib/libmythbase-34.so.34.0.0
+lib/libmythfreemheg-34.so
+lib/libmythfreemheg-34.so.34
+lib/libmythfreemheg-34.so.34.0
+lib/libmythfreemheg-34.so.34.0.0
+lib/libmythmetadata-34.so
+lib/libmythmetadata-34.so.34
+lib/libmythmetadata-34.so.34.0
+lib/libmythmetadata-34.so.34.0.0
lib/libmythpostproc.so
-lib/libmythpostproc.so.55
-lib/libmythpostproc.so.55.5.100
-lib/libmythprotoserver-31.so
-lib/libmythprotoserver-31.so.31
-lib/libmythprotoserver-31.so.31.0
-lib/libmythprotoserver-31.so.31.0.0
-lib/libmythservicecontracts-31.so
-lib/libmythservicecontracts-31.so.31
-lib/libmythservicecontracts-31.so.31.0
-lib/libmythservicecontracts-31.so.31.0.0
+lib/libmythpostproc.so.56
+lib/libmythpostproc.so.56.6.100
+lib/libmythprotoserver-34.so
+lib/libmythprotoserver-34.so.34
+lib/libmythprotoserver-34.so.34.0
+lib/libmythprotoserver-34.so.34.0.0
+lib/libmythservicecontracts-34.so
+lib/libmythservicecontracts-34.so.34
+lib/libmythservicecontracts-34.so.34.0
+lib/libmythservicecontracts-34.so.34.0.0
lib/libmythswresample.so
-lib/libmythswresample.so.3
-lib/libmythswresample.so.3.5.100
+lib/libmythswresample.so.4
+lib/libmythswresample.so.4.7.100
lib/libmythswscale.so
-lib/libmythswscale.so.5
-lib/libmythswscale.so.5.5.100
-lib/libmythtv-31.so
-lib/libmythtv-31.so.31
-lib/libmythtv-31.so.31.0
-lib/libmythtv-31.so.31.0.0
-lib/libmythui-31.so
-lib/libmythui-31.so.31
-lib/libmythui-31.so.31.0
-lib/libmythui-31.so.31.0.0
-lib/libmythupnp-31.so
-lib/libmythupnp-31.so.31
-lib/libmythupnp-31.so.31.0
-lib/libmythupnp-31.so.31.0.0
+lib/libmythswscale.so.6
+lib/libmythswscale.so.6.7.100
+lib/libmythtv-34.so
+lib/libmythtv-34.so.34
+lib/libmythtv-34.so.34.0
+lib/libmythtv-34.so.34.0.0
+lib/libmythui-34.so
+lib/libmythui-34.so.34
+lib/libmythui-34.so.34.0
+lib/libmythui-34.so.34.0.0
+lib/libmythupnp-34.so
+lib/libmythupnp-34.so.34
+lib/libmythupnp-34.so.34.0
+lib/libmythupnp-34.so.34.0.0
%%BINDINGS%%%%SITE_PERL%%/IO/Socket/INET/MythTV.pm
%%BINDINGS%%%%SITE_PERL%%/MythTV.pm
%%BINDINGS%%%%SITE_PERL%%/MythTV/Channel.pm
%%BINDINGS%%%%SITE_PERL%%/MythTV/Program.pm
%%BINDINGS%%%%SITE_PERL%%/MythTV/Recording.pm
%%BINDINGS%%%%SITE_PERL%%/MythTV/StorageGroup.pm
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-31.0._1-py%%PYTHON_VER%%.egg-info
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-34.0-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-34.0-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-34.0-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV-34.0-py%%PYTHON_VER%%.egg-info/top_level.txt
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/_conn_mysqldb.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/_conn_oursql.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/altdict.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/connections.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/database.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/dataheap.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/exceptions.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/logging.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/methodheap.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/msearch.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/mythproto.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/static.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/system.cpython-%%PYTHON_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/_conn_mysqldb%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/_versions%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/altdict%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/connections%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/database%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/dataheap%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/exceptions%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/logging%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/methodheap%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/msearch%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/mythproto%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/static%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/__pycache__/system%%PYTHON_EXT_SUFFIX%%.pyc
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/_conn_mysqldb.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/_conn_oursql.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/_versions.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/altdict.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/connections.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/database.py
@@ -614,66 +568,89 @@ lib/libmythupnp-31.so.31.0.0
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/msearch.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/mythproto.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/_version.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/send.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/utilities.cpython-%%PYTHON_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/_version%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/mythversions%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/send%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/__pycache__/utilities%%PYTHON_EXT_SUFFIX%%.pyc
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/_version.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/mythversions.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/send.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/services_api/utilities.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/static.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/system.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache_engine.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache_file.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache_null.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/locales.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/pager.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/request.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/tmdb_api.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/tmdb_auth.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/tmdb_exceptions.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/util.cpython-%%PYTHON_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache_engine%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache_file%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/cache_null%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/locales%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/lookup%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/pager%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/request%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/tmdb_api%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/tmdb_auth%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/tmdb_exceptions%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/__pycache__/util%%PYTHON_EXT_SUFFIX%%.pyc
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/cache.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/cache_engine.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/cache_file.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/cache_null.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/locales.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/lookup.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/pager.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/request.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/tmdb_api.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/tmdb_auth.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/tmdb_exceptions.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tmdb3/util.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/XSLT/tvdbCollection.xsl
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/XSLT/tvdbQuery.xsl
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/XSLT/tvdbVideo.xsl
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/requests_cache_compatability.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/tvdbXslt.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/tvdb_api.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/tvdb_create_key.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/tvdb_exceptions.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/__pycache__/tvdb_ui.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/requests_cache_compatability.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdbXslt.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_api.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_create_key.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_exceptions.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdb/tvdb_ui.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__init__.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/definitions%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/get_api_v4%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/locales%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/myth4ttvdbv4%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/ttvdbv4_api%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/definitions.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/get_api_v4.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/locales.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/myth4ttvdbv4.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/ttvdbv4_api.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/ttvdbv4/utils.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__init__.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/artwork%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/embed%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/endpoints%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/episode%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/locales%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/person%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/season%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/show%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/tvmaze_api%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/artwork.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/embed.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/endpoints.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/episode.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/locales.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/person.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/season.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/show.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/tvmaze_api.py
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/tvmaze/utils.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/altdict.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/dequebuffer.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/dicttoxml.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/dt.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/enum.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/mixin.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/other.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/singleton.cpython-%%PYTHON_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/altdict%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/dequebuffer%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/dicttoxml%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/dt%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/enum%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/mixin%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/other%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/__pycache__/singleton%%PYTHON_EXT_SUFFIX%%.pyc
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/altdict.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dequebuffer.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/dicttoxml.py
@@ -683,8 +660,8 @@ lib/libmythupnp-31.so.31.0.0
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/other.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/utility/singleton.py
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/__init__.py
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/__pycache__/wikiscripts.cpython-%%PYTHON_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/__pycache__/wikiscripts%%PYTHON_EXT_SUFFIX%%.pyc
%%BINDINGS%%%%PYTHON_SITELIBDIR%%/MythTV/wikiscripts/wikiscripts.py
%%DATADIR%%/CDS_scpd.xml
%%DATADIR%%/CMGR_scpd.xml
@@ -771,6 +748,1708 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/hardwareprofile/smolt_config.py
%%DATADIR%%/hardwareprofile/software.py
%%DATADIR%%/hardwareprofile/uuiddb.py
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/LICENSE.txt
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/attribution.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/all.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/all.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/brands.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/brands.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/fontawesome.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/fontawesome.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/regular.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/regular.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/solid.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/solid.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/svg-with-js.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/svg-with-js.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/v4-shims.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/css/v4-shims.min.css
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/all.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/all.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/brands.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/brands.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/conflict-detection.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/conflict-detection.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/fontawesome.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/fontawesome.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/regular.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/regular.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/solid.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/solid.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/v4-shims.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/js/v4-shims.min.js
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_animated.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_bordered-pulled.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_core.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_fixed-width.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_icons.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_larger.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_list.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_mixins.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_rotated-flipped.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_screen-reader.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_shims.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_stacked.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/_variables.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/brands.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/fontawesome.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/regular.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/solid.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/less/v4-shims.less
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/metadata/categories.yml
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/metadata/icons.json
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/metadata/icons.yml
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/metadata/shims.json
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/metadata/shims.yml
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/metadata/sponsors.yml
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_animated.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_bordered-pulled.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_core.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_fixed-width.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_icons.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_larger.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_list.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_mixins.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_rotated-flipped.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_screen-reader.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_shims.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_stacked.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/_variables.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/brands.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/fontawesome.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/regular.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/solid.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/scss/v4-shims.scss
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/sprites/brands.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/sprites/regular.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/sprites/solid.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/500px.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/accessible-icon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/accusoft.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/acquisitions-incorporated.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/adn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/adversal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/affiliatetheme.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/airbnb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/algolia.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/alipay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/amazon-pay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/amazon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/amilia.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/android.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/angellist.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/angrycreative.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/angular.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/app-store-ios.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/app-store.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/apper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/apple-pay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/apple.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/artstation.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/asymmetrik.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/atlassian.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/audible.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/autoprefixer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/avianex.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/aviato.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/aws.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bandcamp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/battle-net.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/behance-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/behance.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bimobject.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bitbucket.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bitcoin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bity.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/black-tie.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/blackberry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/blogger-b.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/blogger.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bluetooth-b.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bluetooth.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/bootstrap.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/btc.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/buffer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/buromobelexperte.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/buy-n-large.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/buysellads.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/canadian-maple-leaf.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-amazon-pay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-amex.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-apple-pay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-diners-club.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-discover.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-jcb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-mastercard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-paypal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-stripe.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cc-visa.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/centercode.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/centos.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/chrome.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/chromecast.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cloudflare.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cloudscale.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cloudsmith.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cloudversify.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/codepen.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/codiepie.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/confluence.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/connectdevelop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/contao.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cotton-bureau.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cpanel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-by.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-nc-eu.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-nc-jp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-nc.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-nd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-pd-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-pd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-remix.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-sa.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-sampling-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-sampling.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-share.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons-zero.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/creative-commons.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/critical-role.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/css3-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/css3.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/cuttlefish.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/d-and-d-beyond.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/d-and-d.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dailymotion.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dashcube.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/deezer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/delicious.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/deploydog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/deskpro.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dev.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/deviantart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dhl.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/diaspora.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/digg.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/digital-ocean.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/discord.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/discourse.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dochub.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/docker.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/draft2digital.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dribbble-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dribbble.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dropbox.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/drupal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/dyalog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/earlybirds.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ebay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/edge-legacy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/edge.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/elementor.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ello.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ember.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/empire.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/envira.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/erlang.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ethereum.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/etsy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/evernote.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/expeditedssl.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/facebook-f.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/facebook-messenger.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/facebook-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/facebook.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fantasy-flight-games.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fedex.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fedora.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/figma.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/firefox-browser.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/firefox.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/first-order-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/first-order.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/firstdraft.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/flickr.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/flipboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fly.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/font-awesome-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/font-awesome-flag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/font-awesome-logo-full.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/font-awesome.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fonticons-fi.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fonticons.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fort-awesome-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fort-awesome.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/forumbee.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/foursquare.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/free-code-camp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/freebsd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/fulcrum.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/galactic-republic.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/galactic-senate.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/get-pocket.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gg-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gg.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/git-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/git-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/git.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/github-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/github-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/github.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gitkraken.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gitlab.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gitter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/glide-g.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/glide.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gofore.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/goodreads-g.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/goodreads.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-drive.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-pay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-play.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-plus-g.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-plus-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google-wallet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/google.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gratipay.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/grav.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gripfire.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/grunt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/guilded.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/gulp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hacker-news-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hacker-news.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hackerrank.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hips.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hire-a-helper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hive.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hooli.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hornbill.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hotjar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/houzz.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/html5.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/hubspot.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ideal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/imdb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/innosoft.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/instagram-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/instagram.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/instalod.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/intercom.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/internet-explorer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/invision.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ioxhost.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/itch-io.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/itunes-note.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/itunes.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/java.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/jedi-order.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/jenkins.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/jira.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/joget.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/joomla.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/js-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/js.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/jsfiddle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/kaggle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/keybase.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/keycdn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/kickstarter-k.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/kickstarter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/korvue.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/laravel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/lastfm-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/lastfm.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/leanpub.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/less.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/line.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/linkedin-in.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/linkedin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/linode.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/linux.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/lyft.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/magento.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mailchimp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mandalorian.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/markdown.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mastodon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/maxcdn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mdb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/medapps.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/medium-m.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/medium.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/medrt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/meetup.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/megaport.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mendeley.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/microblog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/microsoft.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mix.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mixcloud.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mixer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/mizuni.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/modx.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/monero.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/napster.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/neos.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/nimblr.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/node-js.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/node.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/npm.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ns8.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/nutritionix.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/octopus-deploy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/odnoklassniki-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/odnoklassniki.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/old-republic.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/opencart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/openid.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/opera.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/optin-monster.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/orcid.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/osi.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/page4.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pagelines.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/palfed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/patreon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/paypal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/penny-arcade.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/perbyte.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/periscope.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/phabricator.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/phoenix-framework.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/phoenix-squadron.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/php.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pied-piper-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pied-piper-hat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pied-piper-pp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pied-piper-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pied-piper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pinterest-p.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pinterest-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pinterest.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/playstation.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/product-hunt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/pushed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/python.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/qq.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/quinscape.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/quora.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/r-project.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/raspberry-pi.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ravelry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/react.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/reacteurope.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/readme.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/rebel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/red-river.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/reddit-alien.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/reddit-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/reddit.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/redhat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/renren.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/replyd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/researchgate.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/resolving.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/rev.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/rocketchat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/rockrms.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/rust.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/safari.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/salesforce.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/schlix.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/scribd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/searchengin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sellcast.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sellsy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/servicestack.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/shirtsinbulk.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/shopify.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/shopware.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/simplybuilt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sistrix.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sith.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sketch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/skyatlas.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/skype.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/slack-hash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/slack.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/slideshare.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/snapchat-ghost.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/snapchat-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/snapchat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/soundcloud.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sourcetree.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/speakap.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/speaker-deck.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/spotify.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/squarespace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stack-exchange.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stack-overflow.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stackpath.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/staylinked.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/steam-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/steam-symbol.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/steam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/sticker-mule.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/strava.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stripe-s.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stripe.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/studiovinari.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stumbleupon-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/stumbleupon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/superpowers.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/supple.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/suse.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/swift.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/symfony.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/teamspeak.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/telegram-plane.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/telegram.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/tencent-weibo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/the-red-yeti.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/themeco.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/themeisle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/think-peaks.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/tiktok.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/trade-federation.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/trello.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/tripadvisor.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/tumblr-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/tumblr.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/twitch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/twitter-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/twitter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/typo3.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/uber.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ubuntu.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/uikit.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/umbraco.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/uncharted.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/uniregistry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/unity.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/unsplash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/untappd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ups.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/usb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/usps.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/ussunnah.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vaadin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/viacoin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/viadeo-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/viadeo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/viber.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vimeo-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vimeo-v.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vimeo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vine.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vk.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vnv.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/vuejs.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/watchman-monitoring.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/waze.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/weebly.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/weibo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/weixin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/whatsapp-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/whatsapp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/whmcs.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wikipedia-w.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/windows.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wix.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wizards-of-the-coast.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wodu.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wolf-pack-battalion.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wordpress-simple.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wordpress.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wpbeginner.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wpexplorer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wpforms.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/wpressr.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/xbox.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/xing-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/xing.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/y-combinator.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yahoo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yammer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yandex-international.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yandex.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yarn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yelp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/yoast.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/youtube-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/youtube.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/brands/zhihu.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/address-book.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/address-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/angry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/arrow-alt-circle-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/arrow-alt-circle-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/arrow-alt-circle-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/arrow-alt-circle-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/bell-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/bell.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/bookmark.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/building.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/calendar-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/calendar-check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/calendar-minus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/calendar-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/calendar-times.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/calendar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/caret-square-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/caret-square-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/caret-square-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/caret-square-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/chart-bar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/check-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/check-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/clipboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/clock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/clone.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/closed-captioning.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/comment-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/comment-dots.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/comment.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/comments.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/compass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/copy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/copyright.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/credit-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/dizzy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/dot-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/edit.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/envelope-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/envelope.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/eye-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/eye.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-archive.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-audio.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-code.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-excel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-image.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-pdf.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-powerpoint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-video.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file-word.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/file.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/flag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/flushed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/folder-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/folder.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/font-awesome-logo-full.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/frown-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/frown.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/futbol.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/gem.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grimace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-beam-sweat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-hearts.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-squint-tears.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-squint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-stars.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-tears.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-tongue-squint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-tongue-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-tongue.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/grin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-lizard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-paper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-peace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-point-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-point-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-point-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-point-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-pointer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-rock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-scissors.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hand-spock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/handshake.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hdd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/heart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hospital.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/hourglass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/id-badge.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/id-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/image.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/images.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/keyboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/kiss-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/kiss-wink-heart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/kiss.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/laugh-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/laugh-squint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/laugh-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/laugh.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/lemon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/life-ring.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/lightbulb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/list-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/map.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/meh-blank.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/meh-rolling-eyes.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/meh.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/minus-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/money-bill-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/moon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/newspaper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/object-group.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/object-ungroup.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/paper-plane.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/pause-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/play-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/plus-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/question-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/registered.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/sad-cry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/sad-tear.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/save.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/share-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/smile-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/smile-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/smile.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/snowflake.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/star-half.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/star.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/sticky-note.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/stop-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/sun.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/surprise.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/thumbs-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/thumbs-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/times-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/tired.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/trash-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/user-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/user.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/window-close.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/window-maximize.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/window-minimize.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/regular/window-restore.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ad.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/address-book.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/address-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/adjust.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/air-freshener.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/align-center.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/align-justify.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/align-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/align-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/allergies.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ambulance.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/american-sign-language-interpreting.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/anchor.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-double-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-double-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-double-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-double-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angle-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/angry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ankh.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/apple-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/archive.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/archway.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-alt-circle-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-alt-circle-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-alt-circle-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-alt-circle-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-circle-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-circle-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-circle-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-circle-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrow-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrows-alt-h.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrows-alt-v.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/arrows-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/assistive-listening-systems.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/asterisk.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/at.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/atlas.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/atom.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/audio-description.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/award.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/baby-carriage.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/baby.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/backspace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/backward.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bacon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bacteria.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bacterium.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bahai.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/balance-scale-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/balance-scale-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/balance-scale.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ban.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/band-aid.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/barcode.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bars.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/baseball-ball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/basketball-ball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bath.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/battery-empty.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/battery-full.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/battery-half.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/battery-quarter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/battery-three-quarters.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/beer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bell-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bell.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bezier-curve.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bible.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bicycle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/biking.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/binoculars.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/biohazard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/birthday-cake.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/blender-phone.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/blender.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/blind.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/blog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bold.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bolt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bomb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bone.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bong.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/book-dead.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/book-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/book-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/book-reader.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/book.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bookmark.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/border-all.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/border-none.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/border-style.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bowling-ball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/box-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/box-tissue.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/box.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/boxes.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/braille.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/brain.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bread-slice.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/briefcase-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/briefcase.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/broadcast-tower.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/broom.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/brush.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bug.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/building.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bullhorn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bullseye.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/burn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bus-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/bus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/business-time.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calculator.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-day.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-minus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-times.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar-week.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/calendar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/camera-retro.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/camera.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/campground.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/candy-cane.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cannabis.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/capsules.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/car-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/car-battery.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/car-crash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/car-side.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/car.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caravan.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-square-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-square-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-square-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-square-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/caret-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/carrot.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cart-arrow-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cart-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cash-register.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/certificate.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chair.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chalkboard-teacher.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chalkboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/charging-station.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chart-area.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chart-bar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chart-line.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chart-pie.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/check-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/check-double.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/check-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cheese.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-bishop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-board.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-king.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-knight.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-pawn.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-queen.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess-rook.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chess.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-circle-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-circle-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-circle-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-circle-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/chevron-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/child.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/church.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/circle-notch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/city.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/clinic-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/clipboard-check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/clipboard-list.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/clipboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/clock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/clone.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/closed-captioning.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-download-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-meatball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-moon-rain.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-moon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-rain.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-showers-heavy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-sun-rain.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-sun.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud-upload-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cloud.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cocktail.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/code-branch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/code.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/coffee.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cogs.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/coins.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/columns.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comment-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comment-dollar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comment-dots.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comment-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comment-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comment.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comments-dollar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/comments.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/compact-disc.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/compass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/compress-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/compress-arrows-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/compress.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/concierge-bell.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cookie-bite.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cookie.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/copy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/copyright.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/couch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/credit-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/crop-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/crop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cross.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/crosshairs.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/crow.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/crown.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/crutch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cube.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cubes.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/cut.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/database.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/deaf.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/democrat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/desktop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dharmachakra.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/diagnoses.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-d20.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-d6.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-five.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-four.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-one.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-six.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-three.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice-two.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dice.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/digital-tachograph.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/directions.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/disease.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/divide.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dizzy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dna.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dollar-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dolly-flatbed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dolly.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/donate.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/door-closed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/door-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dot-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dove.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/download.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/drafting-compass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dragon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/draw-polygon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/drum-steelpan.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/drum.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/drumstick-bite.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dumbbell.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dumpster-fire.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dumpster.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/dungeon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/edit.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/egg.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/eject.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ellipsis-h.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ellipsis-v.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/envelope-open-text.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/envelope-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/envelope-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/envelope.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/equals.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/eraser.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ethernet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/euro-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/exchange-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/exclamation-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/exclamation-triangle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/exclamation.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/expand-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/expand-arrows-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/expand.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/external-link-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/external-link-square-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/eye-dropper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/eye-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/eye.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fan.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fast-backward.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fast-forward.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/faucet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fax.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/feather-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/feather.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/female.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fighter-jet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-archive.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-audio.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-code.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-contract.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-csv.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-download.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-excel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-export.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-image.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-import.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-invoice-dollar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-invoice.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-medical-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-pdf.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-powerpoint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-prescription.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-signature.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-upload.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-video.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file-word.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/file.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fill-drip.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fill.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/film.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/filter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fingerprint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fire-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fire-extinguisher.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fire.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/first-aid.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fish.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/fist-raised.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/flag-checkered.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/flag-usa.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/flag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/flask.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/flushed.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/folder-minus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/folder-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/folder-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/folder.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/font-awesome-logo-full.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/font.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/football-ball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/forward.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/frog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/frown-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/frown.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/funnel-dollar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/futbol.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gamepad.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gas-pump.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gavel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gem.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/genderless.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ghost.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gift.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gifts.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/glass-cheers.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/glass-martini-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/glass-martini.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/glass-whiskey.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/glasses.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/globe-africa.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/globe-americas.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/globe-asia.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/globe-europe.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/globe.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/golf-ball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/gopuram.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/graduation-cap.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/greater-than-equal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/greater-than.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grimace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-beam-sweat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-hearts.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-squint-tears.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-squint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-stars.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-tears.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-tongue-squint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-tongue-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-tongue.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grip-horizontal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grip-lines-vertical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grip-lines.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/grip-vertical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/guitar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/h-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hamburger.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hammer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hamsa.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-holding-heart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-holding-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-holding-usd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-holding-water.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-holding.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-lizard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-middle-finger.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-paper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-peace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-point-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-point-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-point-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-point-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-pointer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-rock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-scissors.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-sparkles.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hand-spock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hands-helping.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hands-wash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hands.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/handshake-alt-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/handshake-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/handshake.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hanukiah.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hard-hat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hashtag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hat-cowboy-side.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hat-cowboy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hat-wizard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hdd.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/head-side-cough-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/head-side-cough.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/head-side-mask.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/head-side-virus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/heading.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/headphones-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/headphones.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/headset.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/heart-broken.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/heart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/heartbeat.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/helicopter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/highlighter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hiking.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hippo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/history.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hockey-puck.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/holly-berry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/home.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/horse-head.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/horse.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hospital-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hospital-symbol.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hospital-user.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hospital.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hot-tub.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hotdog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hotel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hourglass-end.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hourglass-half.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hourglass-start.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hourglass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/house-damage.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/house-user.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/hryvnia.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/i-cursor.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ice-cream.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/icicles.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/icons.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/id-badge.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/id-card-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/id-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/igloo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/image.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/images.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/inbox.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/indent.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/industry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/infinity.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/info-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/info.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/italic.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/jedi.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/joint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/journal-whills.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/kaaba.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/key.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/keyboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/khanda.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/kiss-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/kiss-wink-heart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/kiss.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/kiwi-bird.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/landmark.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/language.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laptop-code.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laptop-house.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laptop-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laptop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laugh-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laugh-squint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laugh-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/laugh.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/layer-group.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/leaf.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lemon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/less-than-equal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/less-than.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/level-down-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/level-up-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/life-ring.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lightbulb.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/link.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lira-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/list-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/list-ol.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/list-ul.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/list.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/location-arrow.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lock-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/long-arrow-alt-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/long-arrow-alt-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/long-arrow-alt-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/long-arrow-alt-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/low-vision.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/luggage-cart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lungs-virus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/lungs.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/magic.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/magnet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mail-bulk.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/male.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map-marked-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map-marked.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map-marker-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map-marker.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map-pin.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map-signs.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/map.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/marker.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mars-double.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mars-stroke-h.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mars-stroke-v.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mars-stroke.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mars.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mask.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/medal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/medkit.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/meh-blank.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/meh-rolling-eyes.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/meh.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/memory.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/menorah.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mercury.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/meteor.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/microchip.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/microphone-alt-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/microphone-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/microphone-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/microphone.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/microscope.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/minus-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/minus-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/minus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mitten.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mobile-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mobile.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/money-bill-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/money-bill-wave-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/money-bill-wave.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/money-bill.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/money-check-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/money-check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/monument.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/moon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mortar-pestle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mosque.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/motorcycle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mountain.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mouse-pointer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mouse.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/mug-hot.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/music.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/network-wired.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/neuter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/newspaper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/not-equal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/notes-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/object-group.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/object-ungroup.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/oil-can.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/om.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/otter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/outdent.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pager.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paint-brush.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paint-roller.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/palette.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pallet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paper-plane.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paperclip.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/parachute-box.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paragraph.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/parking.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/passport.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pastafarianism.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paste.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pause-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pause.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/paw.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/peace.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pen-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pen-fancy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pen-nib.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pen-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pen.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pencil-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pencil-ruler.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/people-arrows.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/people-carry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pepper-hot.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/percent.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/percentage.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/person-booth.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/phone-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/phone-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/phone-square-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/phone-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/phone-volume.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/phone.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/photo-video.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/piggy-bank.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pills.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pizza-slice.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/place-of-worship.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plane-arrival.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plane-departure.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plane-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plane.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/play-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/play.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plug.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plus-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plus-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/podcast.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/poll-h.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/poll.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/poo-storm.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/poo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/poop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/portrait.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pound-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/power-off.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pray.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/praying-hands.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/prescription-bottle-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/prescription-bottle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/prescription.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/print.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/procedures.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/project-diagram.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pump-medical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/pump-soap.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/puzzle-piece.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/qrcode.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/question-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/question.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/quidditch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/quote-left.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/quote-right.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/quran.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/radiation-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/radiation.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/rainbow.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/random.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/receipt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/record-vinyl.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/recycle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/redo-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/redo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/registered.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/remove-format.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/reply-all.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/reply.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/republican.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/restroom.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/retweet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ribbon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ring.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/road.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/robot.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/rocket.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/route.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/rss-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/rss.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ruble-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ruler-combined.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ruler-horizontal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ruler-vertical.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ruler.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/running.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/rupee-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sad-cry.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sad-tear.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/satellite-dish.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/satellite.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/save.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/school.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/screwdriver.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/scroll.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sd-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/search-dollar.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/search-location.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/search-minus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/search-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/search.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/seedling.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/server.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shapes.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/share-alt-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/share-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/share-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/share.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shekel-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shield-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shield-virus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ship.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shipping-fast.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shoe-prints.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shopping-bag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shopping-basket.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shopping-cart.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shower.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/shuttle-van.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sign-in-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sign-language.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sign-out-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/signal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/signature.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sim-card.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sitemap.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/skating.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/skiing-nordic.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/skiing.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/skull-crossbones.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/skull.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sleigh.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sliders-h.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/smile-beam.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/smile-wink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/smile.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/smog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/smoking-ban.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/smoking.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sms.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/snowboarding.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/snowflake.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/snowman.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/snowplow.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/soap.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/socks.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/solar-panel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-alpha-down-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-alpha-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-alpha-up-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-alpha-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-amount-down-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-amount-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-amount-up-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-amount-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-numeric-down-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-numeric-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-numeric-up-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-numeric-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sort.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/spa.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/space-shuttle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/spell-check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/spider.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/spinner.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/splotch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/spray-can.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/square-full.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/square-root-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stamp.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/star-and-crescent.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/star-half-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/star-half.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/star-of-david.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/star-of-life.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/star.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/step-backward.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/step-forward.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stethoscope.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sticky-note.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stop-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stop.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stopwatch-20.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stopwatch.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/store-alt-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/store-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/store-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/store.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stream.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/street-view.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/strikethrough.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/stroopwafel.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/subscript.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/subway.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/suitcase-rolling.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/suitcase.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sun.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/superscript.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/surprise.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/swatchbook.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/swimmer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/swimming-pool.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/synagogue.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sync-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/sync.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/syringe.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/table-tennis.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/table.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tablet-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tablet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tablets.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tachometer-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tags.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tape.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tasks.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/taxi.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/teeth-open.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/teeth.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/temperature-high.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/temperature-low.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tenge.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/terminal.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/text-height.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/text-width.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/th-large.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/th-list.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/th.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/theater-masks.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thermometer-empty.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thermometer-full.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thermometer-half.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thermometer-quarter.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thermometer-three-quarters.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thermometer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thumbs-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thumbs-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/thumbtack.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/ticket-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/times-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/times.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tint-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tint.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tired.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/toggle-off.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/toggle-on.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/toilet-paper-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/toilet-paper.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/toilet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/toolbox.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tools.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tooth.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/torah.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/torii-gate.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tractor.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trademark.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/traffic-light.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trailer.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/train.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tram.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/transgender-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/transgender.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trash-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trash-restore-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trash-restore.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tree.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/trophy.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/truck-loading.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/truck-monster.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/truck-moving.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/truck-pickup.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/truck.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tshirt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tty.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/tv.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/umbrella-beach.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/umbrella.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/underline.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/undo-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/undo.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/universal-access.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/university.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/unlink.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/unlock-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/unlock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/upload.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-alt-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-astronaut.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-check.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-circle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-clock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-cog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-edit.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-friends.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-graduate.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-injured.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-lock.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-md.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-minus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-ninja.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-nurse.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-plus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-secret.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-shield.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-tag.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-tie.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user-times.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/user.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/users-cog.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/users-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/users.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/utensil-spoon.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/utensils.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vector-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/venus-double.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/venus-mars.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/venus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vest-patches.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vest.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vial.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vials.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/video-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/video.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vihara.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/virus-slash.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/virus.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/viruses.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/voicemail.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/volleyball-ball.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/volume-down.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/volume-mute.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/volume-off.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/volume-up.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vote-yea.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/vr-cardboard.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/walking.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wallet.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/warehouse.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/water.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wave-square.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/weight-hanging.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/weight.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wheelchair.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wifi.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wind.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/window-close.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/window-maximize.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/window-minimize.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/window-restore.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wine-bottle.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wine-glass-alt.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wine-glass.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/won-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/wrench.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/x-ray.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/yen-sign.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/svgs/solid/yin-yang.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-brands-400.eot
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-brands-400.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-brands-400.ttf
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-brands-400.woff
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-brands-400.woff2
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-regular-400.eot
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-regular-400.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-regular-400.ttf
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-regular-400.woff
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-regular-400.woff2
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.eot
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.svg
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.ttf
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.woff
+%%DATADIR%%/html/3rdParty/fontawesome-free-5.15.1-web/webfonts/fa-solid-900.woff2
%%DATADIR%%/html/3rdParty/jquery/MYTH_README
%%DATADIR%%/html/3rdParty/jquery/galleria/LICENSE
%%DATADIR%%/html/3rdParty/jquery/galleria/galleria.js
@@ -852,6 +2531,371 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/css/jquery-ui.css
%%DATADIR%%/html/3rdParty/jquery/jqueryUI/js/jquery-ui-1.10.3.js
%%DATADIR%%/html/3rdParty/jwplayer.qsp
+%%DATADIR%%/html/3rdParty/materialicons/MaterialIcons-Regular.ttf
+%%DATADIR%%/html/3rdParty/materialicons/README.md
+%%DATADIR%%/html/3rdParty/materialize/LICENSE
+%%DATADIR%%/html/3rdParty/materialize/README.md
+%%DATADIR%%/html/3rdParty/materialize/css/materialize.css
+%%DATADIR%%/html/3rdParty/materialize/css/materialize.min.css
+%%DATADIR%%/html/3rdParty/materialize/js/materialize.js
+%%DATADIR%%/html/3rdParty/materialize/js/materialize.min.js
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/.gitignore
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/.npmignore
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/CHANGELOG.md
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/LICENSE
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/README.md
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/demo-files/demo.css
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/demo-files/demo.js
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/demo.html
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/fonts/primeicons.eot
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/fonts/primeicons.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/fonts/primeicons.ttf
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/fonts/primeicons.woff
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/package.json
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/primeicons.css
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/align-center.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/align-justify.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/align-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/align-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/android.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-double-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-double-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-double-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-double-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/angle-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/apple.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-circle-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-circle-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-circle-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-circle-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-down-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-down-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-up-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-up-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrow-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrows-h.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/arrows-v.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/at.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/backward.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/ban.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/bars.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/bell.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/bolt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/book.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/bookmark-fill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/bookmark.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/box.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/briefcase.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/building.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/calendar-minus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/calendar-plus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/calendar-times.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/calendar.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/camera.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/car.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/caret-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/caret-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/caret-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/caret-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chart-bar.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chart-line.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chart-pie.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/check-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/check-square.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/check.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-circle-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-circle-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-circle-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-circle-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-left.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-right.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/chevron-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/circle-fill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/circle-off.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/circle-on.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/clock.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/clone.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/cloud-download.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/cloud-upload.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/cloud.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/code.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/cog.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/comment.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/comments.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/compass.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/copy.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/credit-card.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/database.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/desktop.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/directions-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/directions.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/discord.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/dollar.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/download.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/eject.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/ellipsis-h.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/ellipsis-v.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/envelope.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/euro.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/exclamation-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/exclamation-triangle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/external-link.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/eye-slash.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/eye.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/facebook.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/fast-backward.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/fast-forward.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/file-excel.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/file-o.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/file-pdf.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/file.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/filter-fill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/filter-slash.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/filter.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/flag-fill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/flag.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/folder-open.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/folder.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/forward.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/github.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/globe.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/google.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/hashtag.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/heart-fill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/heart.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/history.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/home.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/id-card.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/image.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/images.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/inbox.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/info-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/info.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/instagram.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/key.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/link.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/linkedin.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/list.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/lock-open.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/lock.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/map-marker.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/map.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/microsoft.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/minus-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/minus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/mobile.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/money-bill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/moon.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/palette.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/paperclip.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/pause.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/paypal.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/pencil.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/percentage.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/phone.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/play.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/plus-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/plus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/pound.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/power-off.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/prime.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/print.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/qrcode.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/question-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/question.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/reddit.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/refresh.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/replay.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/reply.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/save.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/search-minus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/search-plus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/search.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/send.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/server.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/share-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/shield.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/shopping-bag.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/shopping-cart.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sign-in.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sign-out.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sitemap.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/slack.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sliders-h.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sliders-v.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-alpha-alt-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-alpha-alt-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-alpha-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-alpha-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-alt-slash.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-amount-down-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-amount-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-amount-up-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-amount-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-numeric-alt-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-numeric-alt-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-numeric-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-numeric-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sort.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/spinner.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/star-fill.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/star.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/step-backward-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/step-backward.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/step-forward-alt.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/step-forward.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/stop-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/stop.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sun.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/sync.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/table.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/tablet.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/tag.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/tags.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/telegram.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/th-large.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/thumbs-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/thumbs-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/ticket.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/times-circle.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/times.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/trash.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/twitter.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/undo.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/unlock.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/upload.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/user-edit.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/user-minus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/user-plus.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/user.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/users.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/video.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/vimeo.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/volume-down.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/volume-off.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/volume-up.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/wallet.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/whatsapp.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/wifi.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/window-maximize.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/window-minimize.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/raw-svg/youtube.svg
+%%DATADIR%%/html/3rdParty/primeicons-5.0.0/selection.json
+%%DATADIR%%/html/apps/backend/3rdpartylicenses.txt
+%%DATADIR%%/html/apps/backend/color.png
+%%DATADIR%%/html/apps/backend/favicon.ico
+%%DATADIR%%/html/apps/backend/hue.png
+%%DATADIR%%/html/apps/backend/index.html
+%%DATADIR%%/html/apps/backend/main.js
+%%DATADIR%%/html/apps/backend/polyfills.js
+%%DATADIR%%/html/apps/backend/runtime.js
+%%DATADIR%%/html/apps/backend/styles.css
+%%DATADIR%%/html/apps/frontend.css
+%%DATADIR%%/html/apps/frontend.css.map
+%%DATADIR%%/html/apps/frontend.js
+%%DATADIR%%/html/apps/frontend.js.map
+%%DATADIR%%/html/assets/guidecolors.css
+%%DATADIR%%/html/assets/i18n/bg.json
+%%DATADIR%%/html/assets/i18n/ca.json
+%%DATADIR%%/html/assets/i18n/cs.json
+%%DATADIR%%/html/assets/i18n/da.json
+%%DATADIR%%/html/assets/i18n/de.json
+%%DATADIR%%/html/assets/i18n/el.json
+%%DATADIR%%/html/assets/i18n/en_CA.json
+%%DATADIR%%/html/assets/i18n/en_GB.json
+%%DATADIR%%/html/assets/i18n/en_US.json
+%%DATADIR%%/html/assets/i18n/es.json
+%%DATADIR%%/html/assets/i18n/es_ES.json
+%%DATADIR%%/html/assets/i18n/et.json
+%%DATADIR%%/html/assets/i18n/fi.json
+%%DATADIR%%/html/assets/i18n/fr.json
+%%DATADIR%%/html/assets/i18n/he.json
+%%DATADIR%%/html/assets/i18n/hr.json
+%%DATADIR%%/html/assets/i18n/hu.json
+%%DATADIR%%/html/assets/i18n/is.json
+%%DATADIR%%/html/assets/i18n/it.json
+%%DATADIR%%/html/assets/i18n/ja.json
+%%DATADIR%%/html/assets/i18n/nb.json
+%%DATADIR%%/html/assets/i18n/nl.json
+%%DATADIR%%/html/assets/i18n/pl.json
+%%DATADIR%%/html/assets/i18n/pt.json
+%%DATADIR%%/html/assets/i18n/pt_BR.json
+%%DATADIR%%/html/assets/i18n/ru.json
+%%DATADIR%%/html/assets/i18n/sl.json
+%%DATADIR%%/html/assets/i18n/sv.json
+%%DATADIR%%/html/assets/i18n/tr.json
+%%DATADIR%%/html/assets/i18n/zh_CN.json
+%%DATADIR%%/html/assets/i18n/zh_HK.json
+%%DATADIR%%/html/assets/themes/arya-blue.css
+%%DATADIR%%/html/assets/themes/arya-green.css
+%%DATADIR%%/html/assets/themes/arya-orange.css
+%%DATADIR%%/html/assets/themes/arya-purple.css
+%%DATADIR%%/html/assets/themes/bootstrap4-dark-blue.css
+%%DATADIR%%/html/assets/themes/bootstrap4-dark-purple.css
+%%DATADIR%%/html/assets/themes/bootstrap4-light-blue.css
+%%DATADIR%%/html/assets/themes/bootstrap4-light-purple.css
+%%DATADIR%%/html/assets/themes/fluent-light.css
+%%DATADIR%%/html/assets/themes/fonts/Inter-Bold.woff
+%%DATADIR%%/html/assets/themes/fonts/Inter-Bold.woff2
+%%DATADIR%%/html/assets/themes/fonts/Inter-Light.woff
+%%DATADIR%%/html/assets/themes/fonts/Inter-Light.woff2
+%%DATADIR%%/html/assets/themes/fonts/Inter-Medium.woff
+%%DATADIR%%/html/assets/themes/fonts/Inter-Medium.woff2
+%%DATADIR%%/html/assets/themes/fonts/Inter-Regular.woff
+%%DATADIR%%/html/assets/themes/fonts/Inter-Regular.woff2
+%%DATADIR%%/html/assets/themes/fonts/Inter-SemiBold.woff
+%%DATADIR%%/html/assets/themes/fonts/Inter-SemiBold.woff2
+%%DATADIR%%/html/assets/themes/fonts/roboto-v20-latin-ext_latin-500.woff
+%%DATADIR%%/html/assets/themes/fonts/roboto-v20-latin-ext_latin-500.woff2
+%%DATADIR%%/html/assets/themes/fonts/roboto-v20-latin-ext_latin-700.woff
+%%DATADIR%%/html/assets/themes/fonts/roboto-v20-latin-ext_latin-700.woff2
+%%DATADIR%%/html/assets/themes/fonts/roboto-v20-latin-ext_latin-regular.woff
+%%DATADIR%%/html/assets/themes/fonts/roboto-v20-latin-ext_latin-regular.woff2
+%%DATADIR%%/html/assets/themes/lara-dark-blue.css
+%%DATADIR%%/html/assets/themes/lara-dark-indigo.css
+%%DATADIR%%/html/assets/themes/lara-dark-purple.css
+%%DATADIR%%/html/assets/themes/lara-dark-teal.css
+%%DATADIR%%/html/assets/themes/lara-light-blue.css
+%%DATADIR%%/html/assets/themes/lara-light-indigo.css
+%%DATADIR%%/html/assets/themes/lara-light-purple.css
+%%DATADIR%%/html/assets/themes/lara-light-teal.css
+%%DATADIR%%/html/assets/themes/luna-amber.css
+%%DATADIR%%/html/assets/themes/luna-blue.css
+%%DATADIR%%/html/assets/themes/luna-green.css
+%%DATADIR%%/html/assets/themes/luna-pink.css
+%%DATADIR%%/html/assets/themes/md-dark-deeppurple.css
+%%DATADIR%%/html/assets/themes/md-dark-indigo.css
+%%DATADIR%%/html/assets/themes/md-light-deeppurple.css
+%%DATADIR%%/html/assets/themes/md-light-indigo.css
+%%DATADIR%%/html/assets/themes/mdc-dark-deeppurple.css
+%%DATADIR%%/html/assets/themes/mdc-dark-indigo.css
+%%DATADIR%%/html/assets/themes/mdc-light-deeppurple.css
+%%DATADIR%%/html/assets/themes/mdc-light-indigo.css
+%%DATADIR%%/html/assets/themes/nova-accent.css
+%%DATADIR%%/html/assets/themes/nova-alt.css
+%%DATADIR%%/html/assets/themes/nova.css
+%%DATADIR%%/html/assets/themes/rhea.css
+%%DATADIR%%/html/assets/themes/saga-blue.css
+%%DATADIR%%/html/assets/themes/saga-green.css
+%%DATADIR%%/html/assets/themes/saga-orange.css
+%%DATADIR%%/html/assets/themes/saga-purple.css
+%%DATADIR%%/html/assets/themes/tailwind-light.css
+%%DATADIR%%/html/assets/themes/themes.json
+%%DATADIR%%/html/assets/themes/vela-blue.css
+%%DATADIR%%/html/assets/themes/vela-green.css
+%%DATADIR%%/html/assets/themes/vela-orange.css
+%%DATADIR%%/html/assets/themes/vela-purple.css
%%DATADIR%%/html/backend_index.qsp
%%DATADIR%%/html/css/Status.css
%%DATADIR%%/html/css/settings.css
@@ -859,6 +2903,7 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/html/css/site.css
%%DATADIR%%/html/css/wsdl.css
%%DATADIR%%/html/debug/websocket.qsp
+%%DATADIR%%/html/favicon.ico
%%DATADIR%%/html/frontend_index.qsp
%%DATADIR%%/html/images/blank.gif
%%DATADIR%%/html/images/checkerboard_100x100.png
@@ -868,8 +2913,324 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/html/images/icons/upnp_large_icon.png
%%DATADIR%%/html/images/icons/upnp_small_icon.jpg
%%DATADIR%%/html/images/icons/upnp_small_icon.png
+%%DATADIR%%/html/images/locale/ad.png
+%%DATADIR%%/html/images/locale/ae.png
+%%DATADIR%%/html/images/locale/af.png
+%%DATADIR%%/html/images/locale/ag.png
+%%DATADIR%%/html/images/locale/ai.png
+%%DATADIR%%/html/images/locale/al.png
+%%DATADIR%%/html/images/locale/am.png
+%%DATADIR%%/html/images/locale/an.png
+%%DATADIR%%/html/images/locale/ao.png
+%%DATADIR%%/html/images/locale/aq.png
+%%DATADIR%%/html/images/locale/ar.png
+%%DATADIR%%/html/images/locale/as.png
+%%DATADIR%%/html/images/locale/at.png
+%%DATADIR%%/html/images/locale/au.png
+%%DATADIR%%/html/images/locale/aw.png
+%%DATADIR%%/html/images/locale/ax.png
+%%DATADIR%%/html/images/locale/az.png
+%%DATADIR%%/html/images/locale/ba.png
+%%DATADIR%%/html/images/locale/bb.png
+%%DATADIR%%/html/images/locale/bd.png
+%%DATADIR%%/html/images/locale/be.png
+%%DATADIR%%/html/images/locale/bf.png
+%%DATADIR%%/html/images/locale/bg.png
+%%DATADIR%%/html/images/locale/bh.png
+%%DATADIR%%/html/images/locale/bi.png
+%%DATADIR%%/html/images/locale/bj.png
+%%DATADIR%%/html/images/locale/bl.png
+%%DATADIR%%/html/images/locale/bm.png
+%%DATADIR%%/html/images/locale/bn.png
+%%DATADIR%%/html/images/locale/bo.png
+%%DATADIR%%/html/images/locale/br.png
+%%DATADIR%%/html/images/locale/bs.png
+%%DATADIR%%/html/images/locale/bt.png
+%%DATADIR%%/html/images/locale/bv.png
+%%DATADIR%%/html/images/locale/bw.png
+%%DATADIR%%/html/images/locale/by.png
+%%DATADIR%%/html/images/locale/bz.png
+%%DATADIR%%/html/images/locale/ca.png
+%%DATADIR%%/html/images/locale/cc.png
+%%DATADIR%%/html/images/locale/cd.png
+%%DATADIR%%/html/images/locale/cf.png
+%%DATADIR%%/html/images/locale/cg.png
+%%DATADIR%%/html/images/locale/ch.png
+%%DATADIR%%/html/images/locale/ci.png
+%%DATADIR%%/html/images/locale/ck.png
+%%DATADIR%%/html/images/locale/cl.png
+%%DATADIR%%/html/images/locale/cm.png
+%%DATADIR%%/html/images/locale/cn.png
+%%DATADIR%%/html/images/locale/co.png
+%%DATADIR%%/html/images/locale/cr.png
+%%DATADIR%%/html/images/locale/cs.png
+%%DATADIR%%/html/images/locale/cu.png
+%%DATADIR%%/html/images/locale/cv.png
+%%DATADIR%%/html/images/locale/cx.png
+%%DATADIR%%/html/images/locale/cy.png
+%%DATADIR%%/html/images/locale/cz.png
+%%DATADIR%%/html/images/locale/da.png
+%%DATADIR%%/html/images/locale/de.png
+%%DATADIR%%/html/images/locale/dj.png
+%%DATADIR%%/html/images/locale/dk.png
+%%DATADIR%%/html/images/locale/dm.png
+%%DATADIR%%/html/images/locale/do.png
+%%DATADIR%%/html/images/locale/dz.png
+%%DATADIR%%/html/images/locale/ec.png
+%%DATADIR%%/html/images/locale/ee.png
+%%DATADIR%%/html/images/locale/eg.png
+%%DATADIR%%/html/images/locale/eh.png
+%%DATADIR%%/html/images/locale/el.png
+%%DATADIR%%/html/images/locale/en_CA.png
+%%DATADIR%%/html/images/locale/en_GB.png
+%%DATADIR%%/html/images/locale/en_US.png
+%%DATADIR%%/html/images/locale/eng.png
+%%DATADIR%%/html/images/locale/er.png
+%%DATADIR%%/html/images/locale/es.png
+%%DATADIR%%/html/images/locale/es_ES.png
+%%DATADIR%%/html/images/locale/et.png
+%%DATADIR%%/html/images/locale/fi.png
+%%DATADIR%%/html/images/locale/fj.png
+%%DATADIR%%/html/images/locale/fk.png
+%%DATADIR%%/html/images/locale/fm.png
+%%DATADIR%%/html/images/locale/fo.png
+%%DATADIR%%/html/images/locale/fr.png
+%%DATADIR%%/html/images/locale/ga.png
+%%DATADIR%%/html/images/locale/gb.png
+%%DATADIR%%/html/images/locale/gd.png
+%%DATADIR%%/html/images/locale/ge.png
+%%DATADIR%%/html/images/locale/gf.png
+%%DATADIR%%/html/images/locale/gg.png
+%%DATADIR%%/html/images/locale/gh.png
+%%DATADIR%%/html/images/locale/gi.png
+%%DATADIR%%/html/images/locale/gl.png
+%%DATADIR%%/html/images/locale/gm.png
+%%DATADIR%%/html/images/locale/gn.png
+%%DATADIR%%/html/images/locale/gp.png
+%%DATADIR%%/html/images/locale/gq.png
+%%DATADIR%%/html/images/locale/gr.png
+%%DATADIR%%/html/images/locale/gs.png
+%%DATADIR%%/html/images/locale/gt.png
+%%DATADIR%%/html/images/locale/gu.png
+%%DATADIR%%/html/images/locale/gw.png
+%%DATADIR%%/html/images/locale/gy.png
+%%DATADIR%%/html/images/locale/he.png
+%%DATADIR%%/html/images/locale/hk.png
+%%DATADIR%%/html/images/locale/hm.png
+%%DATADIR%%/html/images/locale/hn.png
+%%DATADIR%%/html/images/locale/hr.png
+%%DATADIR%%/html/images/locale/ht.png
+%%DATADIR%%/html/images/locale/hu.png
+%%DATADIR%%/html/images/locale/id.png
+%%DATADIR%%/html/images/locale/ie.png
+%%DATADIR%%/html/images/locale/il.png
+%%DATADIR%%/html/images/locale/im.png
+%%DATADIR%%/html/images/locale/in.png
+%%DATADIR%%/html/images/locale/io.png
+%%DATADIR%%/html/images/locale/iq.png
+%%DATADIR%%/html/images/locale/ir.png
+%%DATADIR%%/html/images/locale/is.png
+%%DATADIR%%/html/images/locale/it.png
+%%DATADIR%%/html/images/locale/ja.png
+%%DATADIR%%/html/images/locale/je.png
+%%DATADIR%%/html/images/locale/jm.png
+%%DATADIR%%/html/images/locale/jo.png
+%%DATADIR%%/html/images/locale/jp.png
+%%DATADIR%%/html/images/locale/ke.png
+%%DATADIR%%/html/images/locale/kg.png
+%%DATADIR%%/html/images/locale/kh.png
+%%DATADIR%%/html/images/locale/ki.png
+%%DATADIR%%/html/images/locale/km.png
+%%DATADIR%%/html/images/locale/kn.png
+%%DATADIR%%/html/images/locale/kp.png
+%%DATADIR%%/html/images/locale/kr.png
+%%DATADIR%%/html/images/locale/kw.png
+%%DATADIR%%/html/images/locale/ky.png
+%%DATADIR%%/html/images/locale/kz.png
+%%DATADIR%%/html/images/locale/la.png
+%%DATADIR%%/html/images/locale/lb.png
+%%DATADIR%%/html/images/locale/lc.png
+%%DATADIR%%/html/images/locale/li.png
+%%DATADIR%%/html/images/locale/lk.png
+%%DATADIR%%/html/images/locale/lr.png
+%%DATADIR%%/html/images/locale/ls.png
+%%DATADIR%%/html/images/locale/lt.png
+%%DATADIR%%/html/images/locale/lu.png
+%%DATADIR%%/html/images/locale/lv.png
+%%DATADIR%%/html/images/locale/ly.png
+%%DATADIR%%/html/images/locale/ma.png
+%%DATADIR%%/html/images/locale/mc.png
+%%DATADIR%%/html/images/locale/md.png
+%%DATADIR%%/html/images/locale/me.png
+%%DATADIR%%/html/images/locale/mf.png
+%%DATADIR%%/html/images/locale/mg.png
+%%DATADIR%%/html/images/locale/mh.png
+%%DATADIR%%/html/images/locale/mk.png
+%%DATADIR%%/html/images/locale/ml.png
+%%DATADIR%%/html/images/locale/mm.png
+%%DATADIR%%/html/images/locale/mn.png
+%%DATADIR%%/html/images/locale/mo.png
+%%DATADIR%%/html/images/locale/mp.png
+%%DATADIR%%/html/images/locale/mq.png
+%%DATADIR%%/html/images/locale/mr.png
+%%DATADIR%%/html/images/locale/ms.png
+%%DATADIR%%/html/images/locale/mt.png
+%%DATADIR%%/html/images/locale/mu.png
+%%DATADIR%%/html/images/locale/mv.png
+%%DATADIR%%/html/images/locale/mw.png
+%%DATADIR%%/html/images/locale/mx.png
+%%DATADIR%%/html/images/locale/my.png
+%%DATADIR%%/html/images/locale/mz.png
+%%DATADIR%%/html/images/locale/na.png
+%%DATADIR%%/html/images/locale/nb.png
+%%DATADIR%%/html/images/locale/nc.png
+%%DATADIR%%/html/images/locale/ne.png
+%%DATADIR%%/html/images/locale/nf.png
+%%DATADIR%%/html/images/locale/ng.png
+%%DATADIR%%/html/images/locale/ni.png
+%%DATADIR%%/html/images/locale/nl.png
+%%DATADIR%%/html/images/locale/no.png
+%%DATADIR%%/html/images/locale/np.png
+%%DATADIR%%/html/images/locale/nr.png
+%%DATADIR%%/html/images/locale/nu.png
+%%DATADIR%%/html/images/locale/nz.png
+%%DATADIR%%/html/images/locale/om.png
+%%DATADIR%%/html/images/locale/pa.png
+%%DATADIR%%/html/images/locale/pe.png
+%%DATADIR%%/html/images/locale/pf.png
+%%DATADIR%%/html/images/locale/pg.png
+%%DATADIR%%/html/images/locale/ph.png
+%%DATADIR%%/html/images/locale/pk.png
+%%DATADIR%%/html/images/locale/pl.png
+%%DATADIR%%/html/images/locale/pm.png
+%%DATADIR%%/html/images/locale/pn.png
+%%DATADIR%%/html/images/locale/pr.png
+%%DATADIR%%/html/images/locale/ps.png
+%%DATADIR%%/html/images/locale/pt.png
+%%DATADIR%%/html/images/locale/pt_BR.png
+%%DATADIR%%/html/images/locale/pw.png
+%%DATADIR%%/html/images/locale/py.png
+%%DATADIR%%/html/images/locale/qa.png
+%%DATADIR%%/html/images/locale/re.png
+%%DATADIR%%/html/images/locale/ro.png
+%%DATADIR%%/html/images/locale/rs.png
+%%DATADIR%%/html/images/locale/ru.png
+%%DATADIR%%/html/images/locale/rw.png
+%%DATADIR%%/html/images/locale/sa.png
+%%DATADIR%%/html/images/locale/sb.png
+%%DATADIR%%/html/images/locale/sc.png
+%%DATADIR%%/html/images/locale/sct.png
+%%DATADIR%%/html/images/locale/sd.png
+%%DATADIR%%/html/images/locale/se.png
+%%DATADIR%%/html/images/locale/sg.png
+%%DATADIR%%/html/images/locale/sh.png
+%%DATADIR%%/html/images/locale/si.png
+%%DATADIR%%/html/images/locale/sj.png
+%%DATADIR%%/html/images/locale/sk.png
+%%DATADIR%%/html/images/locale/sl.png
+%%DATADIR%%/html/images/locale/sm.png
+%%DATADIR%%/html/images/locale/sn.png
+%%DATADIR%%/html/images/locale/so.png
+%%DATADIR%%/html/images/locale/sr.png
+%%DATADIR%%/html/images/locale/st.png
+%%DATADIR%%/html/images/locale/sv.png
+%%DATADIR%%/html/images/locale/sy.png
+%%DATADIR%%/html/images/locale/sz.png
+%%DATADIR%%/html/images/locale/tc.png
+%%DATADIR%%/html/images/locale/td.png
+%%DATADIR%%/html/images/locale/tf.png
+%%DATADIR%%/html/images/locale/tg.png
+%%DATADIR%%/html/images/locale/th.png
+%%DATADIR%%/html/images/locale/tj.png
+%%DATADIR%%/html/images/locale/tk.png
+%%DATADIR%%/html/images/locale/tl.png
+%%DATADIR%%/html/images/locale/tm.png
+%%DATADIR%%/html/images/locale/tn.png
+%%DATADIR%%/html/images/locale/to.png
+%%DATADIR%%/html/images/locale/tr.png
+%%DATADIR%%/html/images/locale/tt.png
+%%DATADIR%%/html/images/locale/tv.png
+%%DATADIR%%/html/images/locale/tw.png
+%%DATADIR%%/html/images/locale/tz.png
+%%DATADIR%%/html/images/locale/ua.png
+%%DATADIR%%/html/images/locale/ug.png
+%%DATADIR%%/html/images/locale/um.png
+%%DATADIR%%/html/images/locale/us.png
+%%DATADIR%%/html/images/locale/uy.png
+%%DATADIR%%/html/images/locale/uz.png
+%%DATADIR%%/html/images/locale/va.png
+%%DATADIR%%/html/images/locale/vc.png
+%%DATADIR%%/html/images/locale/ve.png
+%%DATADIR%%/html/images/locale/vg.png
+%%DATADIR%%/html/images/locale/vi.png
+%%DATADIR%%/html/images/locale/vn.png
+%%DATADIR%%/html/images/locale/vu.png
+%%DATADIR%%/html/images/locale/wf.png
+%%DATADIR%%/html/images/locale/wls.png
+%%DATADIR%%/html/images/locale/ws.png
+%%DATADIR%%/html/images/locale/ye.png
+%%DATADIR%%/html/images/locale/yt.png
+%%DATADIR%%/html/images/locale/za.png
+%%DATADIR%%/html/images/locale/zh_CN.png
+%%DATADIR%%/html/images/locale/zh_HK.png
+%%DATADIR%%/html/images/locale/zm.png
+%%DATADIR%%/html/images/locale/zw.png
%%DATADIR%%/html/images/menu-button-bg.gif
+%%DATADIR%%/html/images/metadata/themoviedb.svg
+%%DATADIR%%/html/images/metadata/thetvdb.png
+%%DATADIR%%/html/images/metadata/tvmaze.png
%%DATADIR%%/html/images/mythtv.png
+%%DATADIR%%/html/images/themes/arya-blue.png
+%%DATADIR%%/html/images/themes/arya-green.png
+%%DATADIR%%/html/images/themes/arya-orange.png
+%%DATADIR%%/html/images/themes/arya-purple.png
+%%DATADIR%%/html/images/themes/bootstrap4-dark-blue.svg
+%%DATADIR%%/html/images/themes/bootstrap4-dark-purple.svg
+%%DATADIR%%/html/images/themes/bootstrap4-light-blue.svg
+%%DATADIR%%/html/images/themes/bootstrap4-light-purple.svg
+%%DATADIR%%/html/images/themes/fluent-light.png
+%%DATADIR%%/html/images/themes/luna-amber.png
+%%DATADIR%%/html/images/themes/luna-blue.png
+%%DATADIR%%/html/images/themes/luna-green.png
+%%DATADIR%%/html/images/themes/luna-pink.png
+%%DATADIR%%/html/images/themes/md-dark-deeppurple.svg
+%%DATADIR%%/html/images/themes/md-dark-indigo.svg
+%%DATADIR%%/html/images/themes/md-light-deeppurple.svg
+%%DATADIR%%/html/images/themes/md-light-indigo.svg
+%%DATADIR%%/html/images/themes/mira.jpg
+%%DATADIR%%/html/images/themes/nano.jpg
+%%DATADIR%%/html/images/themes/nova-accent.png
+%%DATADIR%%/html/images/themes/nova-alt.png
+%%DATADIR%%/html/images/themes/nova-vue.png
+%%DATADIR%%/html/images/themes/nova.png
+%%DATADIR%%/html/images/themes/rhea.png
+%%DATADIR%%/html/images/themes/saga-blue.png
+%%DATADIR%%/html/images/themes/saga-green.png
+%%DATADIR%%/html/images/themes/saga-orange.png
+%%DATADIR%%/html/images/themes/saga-purple.png
+%%DATADIR%%/html/images/themes/soho-dark.png
+%%DATADIR%%/html/images/themes/soho-light.png
+%%DATADIR%%/html/images/themes/tailwind-light.png
+%%DATADIR%%/html/images/themes/vela-blue.png
+%%DATADIR%%/html/images/themes/vela-green.png
+%%DATADIR%%/html/images/themes/vela-orange.png
+%%DATADIR%%/html/images/themes/vela-purple.png
+%%DATADIR%%/html/images/themes/viva-dark.svg
+%%DATADIR%%/html/images/themes/viva-light.svg
+%%DATADIR%%/html/images/tv/blank.png
+%%DATADIR%%/html/images/tv/cat_movie.svg
+%%DATADIR%%/html/images/tv/channel_icon.svg
+%%DATADIR%%/html/images/tv/fl_autoexp.svg
+%%DATADIR%%/html/images/tv/fl_bookmark.svg
+%%DATADIR%%/html/images/tv/fl_commflag.svg
+%%DATADIR%%/html/images/tv/fl_watched.svg
+%%DATADIR%%/html/images/tv/hd_1080.svg
+%%DATADIR%%/html/images/tv/hd_720.svg
+%%DATADIR%%/html/images/tv/hd_tv.svg
+%%DATADIR%%/html/images/tv/play_arrow.png
+%%DATADIR%%/html/images/tv/play_arrow.svg
+%%DATADIR%%/html/images/tv/recording_icons_sprite.svg
+%%DATADIR%%/html/images/tv/wastebin.svg
%%DATADIR%%/html/js/fileutil.js
%%DATADIR%%/html/js/inspect.js
%%DATADIR%%/html/js/menu.js
@@ -896,6 +3257,8 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/html/misc/overview.qsp
%%DATADIR%%/html/misc/placeholder.html
%%DATADIR%%/html/misc/viewlogs.html
+%%DATADIR%%/html/mythbackend.html
+%%DATADIR%%/html/mythfrontend.html
%%DATADIR%%/html/robots.txt
%%DATADIR%%/html/samples/hlstest.qsp
%%DATADIR%%/html/samples/js/samples.js
@@ -1195,6 +3558,7 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/locales/zh_hk.xml
%%DATADIR%%/locales/zh_tw.xml
%%DATADIR%%/metadata/Movie/tmdb3.py
+%%DATADIR%%/metadata/Music/discid/COPYING.LESSER
%%DATADIR%%/metadata/Music/discid/README
%%DATADIR%%/metadata/Music/discid/__init__.py
%%DATADIR%%/metadata/Music/discid/disc.py
@@ -1202,8 +3566,7 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/metadata/Music/discid/track.py
%%DATADIR%%/metadata/Music/discid/util.py
%%DATADIR%%/metadata/Music/lyrics/README
-%%DATADIR%%/metadata/Music/lyrics/alsong.py
-%%DATADIR%%/metadata/Music/lyrics/baidu.py
+%%DATADIR%%/metadata/Music/lyrics/azlyrics.py
%%DATADIR%%/metadata/Music/lyrics/common/__init__.py
%%DATADIR%%/metadata/Music/lyrics/common/audiofile.py
%%DATADIR%%/metadata/Music/lyrics/common/utilities.py
@@ -1215,12 +3578,17 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/metadata/Music/lyrics/examples/taglyrics.mp3
%%DATADIR%%/metadata/Music/lyrics/filelyrics.py
%%DATADIR%%/metadata/Music/lyrics/genius.py
-%%DATADIR%%/metadata/Music/lyrics/gomaudio.py
+%%DATADIR%%/metadata/Music/lyrics/lrclib.py
%%DATADIR%%/metadata/Music/lyrics/lyricscom.py
+%%DATADIR%%/metadata/Music/lyrics/lyricsify.py
%%DATADIR%%/metadata/Music/lyrics/lyricsmode.py
-%%DATADIR%%/metadata/Music/lyrics/lyricswiki.py
-%%DATADIR%%/metadata/Music/lyrics/ttplayer.py
+%%DATADIR%%/metadata/Music/lyrics/megalobiz.py
+%%DATADIR%%/metadata/Music/lyrics/music163.py
+%%DATADIR%%/metadata/Music/lyrics/musixmatch.py
+%%DATADIR%%/metadata/Music/lyrics/musixmatchlrc.py
+%%DATADIR%%/metadata/Music/lyrics/supermusic.py
%%DATADIR%%/metadata/Music/mbutils.py
+%%DATADIR%%/metadata/Music/musicbrainzngs/COPYING
%%DATADIR%%/metadata/Music/musicbrainzngs/README
%%DATADIR%%/metadata/Music/musicbrainzngs/__init__.py
%%DATADIR%%/metadata/Music/musicbrainzngs/caa.py
@@ -1228,8 +3596,13 @@ lib/libmythupnp-31.so.31.0.0
%%DATADIR%%/metadata/Music/musicbrainzngs/mbxml.py
%%DATADIR%%/metadata/Music/musicbrainzngs/musicbrainz.py
%%DATADIR%%/metadata/Music/musicbrainzngs/util.py
-%%DATADIR%%/metadata/Television/ttvdb.py
+%%DATADIR%%/metadata/Television/tmdb3tv.py
+%%DATADIR%%/metadata/Television/ttvdb4.ini
+%%DATADIR%%/metadata/Television/ttvdb4.py
+%%DATADIR%%/metadata/Television/ttvdb4_doctests
%%DATADIR%%/metadata/Television/tvdb_test.conf
+%%DATADIR%%/metadata/Television/tvmaze.py
+%%DATADIR%%/metadata/Television/tvmaze_tests.txt
%%DATADIR%%/mythconverg_backup.pl
%%DATADIR%%/mythconverg_restore.pl
%%DATADIR%%/setup.xml
diff --git a/multimedia/naludump/Makefile b/multimedia/naludump/Makefile
index e86f64611a44..9c38f5989075 100644
--- a/multimedia/naludump/Makefile
+++ b/multimedia/naludump/Makefile
@@ -1,5 +1,3 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
PORTNAME= naludump
PORTVERSION= 0.1.1
PORTREVISION= 1
@@ -8,16 +6,19 @@ MASTER_SITES= http://www.udo-richter.de/vdr/files/
MAINTAINER= ports@FreeBSD.org
COMMENT= Delete NALU fill data from h.264 TS files
+WWW= https://www.udo-richter.de/vdr/naludump.en.html
LICENSE= GPLv2
-USES= alias gmake iconv:wchar_t tar:tgz
+USES= alias gmake iconv:wchar_t localbase tar:tgz
+USE_CXXSTD= c++14
+
+MAKE_ARGS+= CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+
+CFLAGS+= -L${LOCALBASE}/lib ${ICONV_LIB}
+
PATCH_STRIP= -p1
-CFLAGS+= "-I${LOCALBASE}/include"
-CFLAGS+= "-L${LOCALBASE}/lib"
-CFLAGS+= ${ICONV_LIB}
-MAKE_ARGS+= CC="${CC}" CXX="${CXX}"
-MAKE_ARGS+= CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}"
+
PLIST_FILES+= bin/${PORTNAME}
do-install:
diff --git a/multimedia/naludump/pkg-descr b/multimedia/naludump/pkg-descr
index 394c2fe3b5c4..4ebdaccd9c0b 100644
--- a/multimedia/naludump/pkg-descr
+++ b/multimedia/naludump/pkg-descr
@@ -7,5 +7,3 @@ cocepts from Marten Richter's Nalustripper.
Usage:
naludump inputfile.ts [outputfile.ts]
-
-WWW: http://www.udo-richter.de/vdr/naludump.en.html
diff --git a/multimedia/navidrome/Makefile b/multimedia/navidrome/Makefile
index 378cf29048f6..9dab483237d3 100644
--- a/multimedia/navidrome/Makefile
+++ b/multimedia/navidrome/Makefile
@@ -1,207 +1,144 @@
-# Created by: Daniel Morante <daniel@morante.net>
-
PORTNAME= navidrome
DISTVERSIONPREFIX= v
-DISTVERSION= 0.40.0
-PORTREVISION= 1
+DISTVERSION= 0.50.2
+PORTREVISION= 4
CATEGORIES= multimedia
-MASTER_SITES= http://cdn.pacyworld.com/morante.net/freebsd/ports/distfiles/navidrome/:npmcache
+MASTER_SITES= http://people.freebsd.org/~kbowling/distfiles/:npmcache
DISTFILES= ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npmcache
DIST_SUBDIR= navidrome
-MAINTAINER= daniel@morante.net
+MAINTAINER= kbowling@FreeBSD.org
COMMENT= Modern Music Server and Streamer compatible with Subsonic/Airsonic
+WWW= https://www.navidrome.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS+= npm>0:www/npm \
- go-bindata:devel/go-bindata
+BUILD_DEPENDS+= npm>0:www/npm
LIB_DEPENDS+= libtag.so:audio/taglib
RUN_DEPENDS+= ffmpeg:multimedia/ffmpeg
USES= cpe go:modules pkgconfig
USE_GITHUB= yes
+USE_RC_SUBR= ${PORTNAME}
GH_TUPLE= \
- BurntSushi:toml:v0.3.1:burntsushi_toml/vendor/github.com/BurntSushi/toml \
- ClickHouse:clickhouse-go:v1.4.3:clickhouse_clickhouse_go/vendor/github.com/ClickHouse/clickhouse-go \
- Djarvur:go-err113:5174e21577d5:djarvur_go_err113/vendor/github.com/Djarvur/go-err113 \
- Masterminds:semver:v1.5.0:masterminds_semver/vendor/github.com/Masterminds/semver \
- Masterminds:squirrel:v1.5.0:masterminds_squirrel/vendor/github.com/Masterminds/squirrel \
- OpenPeeDeeP:depguard:v1.0.1:openpeedeep_depguard/vendor/github.com/OpenPeeDeeP/depguard \
- ashanbrown:forbidigo:v1.0.0:ashanbrown_forbidigo/vendor/github.com/ashanbrown/forbidigo \
- ashanbrown:makezero:7b7cdbb3025a:ashanbrown_makezero/vendor/github.com/ashanbrown/makezero \
- astaxie:beego:v1.12.3:astaxie_beego/vendor/github.com/astaxie/beego \
+ DexterLB:mpvipc:38b9935eae9d:dexterlb_mpvipc/vendor/github.com/DexterLB/mpvipc \
+ Masterminds:squirrel:v1.5.4:masterminds_squirrel/vendor/github.com/Masterminds/squirrel \
+ ReneKroon:ttlcache:v2.11.0:renekroon_ttlcache_v2/vendor/github.com/ReneKroon/ttlcache/v2 \
aymerick:douceur:v0.2.0:aymerick_douceur/vendor/github.com/aymerick/douceur \
- bombsimon:wsl:v3.1.0:bombsimon_wsl_v3/vendor/github.com/bombsimon/wsl/v3 \
- bradleyjkemp:cupaloy:v2.3.0:bradleyjkemp_cupaloy/vendor/github.com/bradleyjkemp/cupaloy \
- cespare:reflex:v0.3.0:cespare_reflex/vendor/github.com/cespare/reflex \
- cespare:xxhash:v2.1.1:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
- chris-ramon:douceur:v0.2.0:chris_ramon_douceur \
- cloudflare:golz4:ef862a3cdc58:cloudflare_golz4/vendor/github.com/cloudflare/golz4 \
+ beego:beego:v2.1.3:beego_beego_v2/vendor/github.com/beego/beego/v2 \
+ beorn7:perks:v1.0.1:beorn7_perks/vendor/github.com/beorn7/perks \
+ bradleyjkemp:cupaloy:v2.8.0:bradleyjkemp_cupaloy_v2/vendor/github.com/bradleyjkemp/cupaloy/v2 \
+ cespare:xxhash:v2.2.0:cespare_xxhash_v2/vendor/github.com/cespare/xxhash/v2 \
cloudfoundry:go-diodes:f77fb823c7ee:cloudfoundry_go_diodes/vendor/code.cloudfoundry.org/go-diodes \
- creack:pty:v1.1.11:creack_pty/vendor/github.com/creack/pty \
- daixiang0:gci:v0.2.8:daixiang0_gci/vendor/github.com/daixiang0/gci \
davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \
- deluan:rest:b71e558c45d0:deluan_rest/vendor/github.com/deluan/rest \
- denis-tingajkin:go-header:v0.4.2:denis_tingajkin_go_header/vendor/github.com/denis-tingajkin/go-header \
- denisenkom:go-mssqldb:v0.9.0:denisenkom_go_mssqldb/vendor/github.com/denisenkom/go-mssqldb \
- dgrijalva:jwt-go:v3.2.0:dgrijalva_jwt_go/vendor/github.com/dgrijalva/jwt-go \
+ deluan:rest:380523c4bb47:deluan_rest/vendor/github.com/deluan/rest \
+ deluan:sanitize:6e18967d9fc1:deluan_sanitize/vendor/github.com/deluan/sanitize \
+ dhowden:tag:978a0926ee25:dhowden_tag/vendor/github.com/dhowden/tag \
disintegration:imaging:v1.6.2:disintegration_imaging/vendor/github.com/disintegration/imaging \
- djherbis:atime:v1.0.0:djherbis_atime/vendor/gopkg.in/djherbis/atime.v1 \
- djherbis:fscache:a0daa9e52747:djherbis_fscache/vendor/github.com/djherbis/fscache \
- djherbis:stream:v1.3.1:djherbis_stream/vendor/gopkg.in/djherbis/stream.v1 \
- dominikh:go-tools:v0.0.1-2020.1.6:dominikh_go_tools/vendor/honnef.co/go/tools \
- dustin:go-humanize:v1.0.0:dustin_go_humanize/vendor/github.com/dustin/go-humanize \
- esimonov:ifshort:v1.0.0:esimonov_ifshort/vendor/github.com/esimonov/ifshort \
- fatih:color:v1.10.0:fatih_color/vendor/github.com/fatih/color \
- fsnotify:fsnotify:v1.4.9:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
- go-bindata:go-bindata:v3.1.2:go_bindata_go_bindata/vendor/github.com/go-bindata/go-bindata \
- go-chi:chi:v1.5.1:go_chi_chi/vendor/github.com/go-chi/chi \
- go-chi:cors:v1.1.1:go_chi_cors/vendor/github.com/go-chi/cors \
- go-chi:httprate:v0.4.0:go_chi_httprate/vendor/github.com/go-chi/httprate \
- go-chi:jwtauth:v4.0.4:go_chi_jwtauth/vendor/github.com/go-chi/jwtauth \
- go-critic:go-critic:v0.5.3:go_critic_go_critic/vendor/github.com/go-critic/go-critic \
- go-ini:ini:v1.57.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
- go-sql-driver:mysql:v1.5.0:go_sql_driver_mysql/vendor/github.com/go-sql-driver/mysql \
- go-tomb:tomb:dd632973f1e7:go_tomb_tomb/vendor/gopkg.in/tomb.v1 \
- go-toolsmith:astcast:v1.0.0:go_toolsmith_astcast/vendor/github.com/go-toolsmith/astcast \
- go-toolsmith:astcopy:v1.0.0:go_toolsmith_astcopy/vendor/github.com/go-toolsmith/astcopy \
- go-toolsmith:astequal:v1.0.0:go_toolsmith_astequal/vendor/github.com/go-toolsmith/astequal \
- go-toolsmith:astfmt:v1.0.0:go_toolsmith_astfmt/vendor/github.com/go-toolsmith/astfmt \
- go-toolsmith:astp:v1.0.0:go_toolsmith_astp/vendor/github.com/go-toolsmith/astp \
- go-toolsmith:strparse:v1.0.0:go_toolsmith_strparse/vendor/github.com/go-toolsmith/strparse \
- go-toolsmith:typep:v1.0.2:go_toolsmith_typep/vendor/github.com/go-toolsmith/typep \
- go-xmlfmt:xmlfmt:d5b6f63a941b:go_xmlfmt_xmlfmt/vendor/github.com/go-xmlfmt/xmlfmt \
- go-yaml:yaml:9f266ea9e77c:go_yaml_yaml_1/vendor/gopkg.in/yaml.v3 \
- go-yaml:yaml:v2.4.0:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
- gobwas:glob:v0.2.3:gobwas_glob/vendor/github.com/gobwas/glob \
- gofrs:flock:v0.8.0:gofrs_flock/vendor/github.com/gofrs/flock \
- golang-sql:civil:cb61b32ac6fe:golang_sql_civil/vendor/github.com/golang-sql/civil \
- golang:crypto:75b288015ac9:golang_crypto/vendor/golang.org/x/crypto \
- golang:image:e7c1f5e7dbb8:golang_image/vendor/golang.org/x/image \
- golang:mod:v0.4.0:golang_mod/vendor/golang.org/x/mod \
- golang:net:c7110b5ffcbb:golang_net/vendor/golang.org/x/net \
- golang:protobuf:v1.4.3:golang_protobuf/vendor/github.com/golang/protobuf \
- golang:sys:489259a85091:golang_sys/vendor/golang.org/x/sys \
- golang:text:v0.3.4:golang_text/vendor/golang.org/x/text \
- golang:tools:9ed45478a130:golang_tools/vendor/golang.org/x/tools \
- golang:xerrors:5ec99f83aff1:golang_xerrors/vendor/golang.org/x/xerrors \
- golangci:check:cfe4005ccda2:golangci_check/vendor/github.com/golangci/check \
- golangci:dupl:3e9179ac440a:golangci_dupl/vendor/github.com/golangci/dupl \
- golangci:errcheck:ef45e06d44b6:golangci_errcheck/vendor/github.com/golangci/errcheck \
- golangci:go-misc:927a3d87b613:golangci_go_misc/vendor/github.com/golangci/go-misc \
- golangci:gocyclo:0a533e8fa43d:golangci_gocyclo/vendor/github.com/golangci/gocyclo \
- golangci:gofmt:244bba706f1a:golangci_gofmt/vendor/github.com/golangci/gofmt \
- golangci:golangci-lint:v1.36.0:golangci_golangci_lint/vendor/github.com/golangci/golangci-lint \
- golangci:ineffassign:42439a7714cc:golangci_ineffassign/vendor/github.com/golangci/ineffassign \
- golangci:lint-1:297bf364a8e0:golangci_lint_1/vendor/github.com/golangci/lint-1 \
- golangci:maligned:b1d89398deca:golangci_maligned/vendor/github.com/golangci/maligned \
- golangci:misspell:950f5d19e770:golangci_misspell/vendor/github.com/golangci/misspell \
- golangci:prealloc:215b22d4de21:golangci_prealloc/vendor/github.com/golangci/prealloc \
- golangci:revgrep:d9c87f5ffaf0:golangci_revgrep/vendor/github.com/golangci/revgrep \
- golangci:unconvert:28b1c447d1f4:golangci_unconvert/vendor/github.com/golangci/unconvert \
- google:go-cmp:v0.5.4:google_go_cmp/vendor/github.com/google/go-cmp \
- google:subcommands:v1.0.1:google_subcommands/vendor/github.com/google/subcommands \
- google:uuid:v1.2.0:google_uuid/vendor/github.com/google/uuid \
+ djherbis:atime:v1.1.0:djherbis_atime/vendor/github.com/djherbis/atime \
+ djherbis:fscache:2909c950912d:djherbis_fscache/vendor/github.com/djherbis/fscache \
+ djherbis:stream:v1.4.0:djherbis_stream/vendor/github.com/djherbis/stream \
+ djherbis:times:v1.6.0:djherbis_times/vendor/github.com/djherbis/times \
+ dustin:go-humanize:v1.0.1:dustin_go_humanize/vendor/github.com/dustin/go-humanize \
+ faiface:beep:v1.1.0:faiface_beep/vendor/github.com/faiface/beep \
+ fatih:structs:v1.1.0:fatih_structs/vendor/github.com/fatih/structs \
+ fsnotify:fsnotify:v1.6.0:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
+ go-chi:chi:v5.0.10:go_chi_chi_v5/vendor/github.com/go-chi/chi/v5 \
+ go-chi:cors:v1.2.1:go_chi_cors/vendor/github.com/go-chi/cors \
+ go-chi:httprate:v0.7.4:go_chi_httprate/vendor/github.com/go-chi/httprate \
+ go-chi:jwtauth:v5.1.1:go_chi_jwtauth_v5/vendor/github.com/go-chi/jwtauth/v5 \
+ go-ini:ini:v1.67.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
+ go-logr:logr:v1.3.0:go_logr_logr/vendor/github.com/go-logr/logr \
+ go-task:slim-sprig:52ccab3ef572:go_task_slim_sprig/vendor/github.com/go-task/slim-sprig \
+ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \
+ goccy:go-json:v0.10.2:goccy_go_json/vendor/github.com/goccy/go-json \
+ golang:crypto:v0.15.0:golang_crypto/vendor/golang.org/x/crypto \
+ golang:exp:a9213eeb770e:golang_exp/vendor/golang.org/x/exp \
+ golang:image:v0.14.0:golang_image/vendor/golang.org/x/image \
+ golang:mobile:e8d11dd0ba41:golang_mobile/vendor/golang.org/x/mobile \
+ golang:mod:v0.14.0:golang_mod/vendor/golang.org/x/mod \
+ golang:net:v0.18.0:golang_net/vendor/golang.org/x/net \
+ golang:protobuf:v1.5.3:golang_protobuf/vendor/github.com/golang/protobuf \
+ golang:sync:v0.5.0:golang_sync/vendor/golang.org/x/sync \
+ golang:sys:v0.14.0:golang_sys/vendor/golang.org/x/sys \
+ golang:text:v0.14.0:golang_text/vendor/golang.org/x/text \
+ golang:tools:v0.15.0:golang_tools/vendor/golang.org/x/tools \
+ google:go-cmp:v0.6.0:google_go_cmp/vendor/github.com/google/go-cmp \
+ google:pprof:e72429f035bd:google_pprof/vendor/github.com/google/pprof \
+ google:uuid:v1.4.0:google_uuid/vendor/github.com/google/uuid \
google:wire:v0.5.0:google_wire/vendor/github.com/google/wire \
gorilla:css:v1.0.0:gorilla_css/vendor/github.com/gorilla/css \
- gostaticanalysis:analysisutil:v0.4.1:gostaticanalysis_analysisutil/vendor/github.com/gostaticanalysis/analysisutil \
- gostaticanalysis:comment:v1.4.1:gostaticanalysis_comment/vendor/github.com/gostaticanalysis/comment \
+ hajimehoshi:go-mp3:v0.3.4:hajimehoshi_go_mp3/vendor/github.com/hajimehoshi/go-mp3 \
+ hajimehoshi:oto:v1.0.1:hajimehoshi_oto/vendor/github.com/hajimehoshi/oto \
+ hashicorp:errwrap:v1.0.0:hashicorp_errwrap/vendor/github.com/hashicorp/errwrap \
+ hashicorp:go-multierror:v1.1.1:hashicorp_go_multierror/vendor/github.com/hashicorp/go-multierror \
hashicorp:golang-lru:v0.5.4:hashicorp_golang_lru/vendor/github.com/hashicorp/golang-lru \
hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
- inconshreveable:mousetrap:v1.0.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \
- jgautheron:goconst:ccae5bf973f3:jgautheron_goconst/vendor/github.com/jgautheron/goconst \
- jingyugao:rowserrcheck:72ab7603b68a:jingyugao_rowserrcheck/vendor/github.com/jingyugao/rowserrcheck \
- jirfag:go-printf-func-name:45db9963cdd3:jirfag_go_printf_func_name/vendor/github.com/jirfag/go-printf-func-name \
- karrick:godirwalk:v1.16.1:karrick_godirwalk/vendor/github.com/karrick/godirwalk \
- kballard:go-shellquote:95032a82bc51:kballard_go_shellquote/vendor/github.com/kballard/go-shellquote \
- kennygrant:sanitize:6a0bfdde8629:kennygrant_sanitize/vendor/github.com/kennygrant/sanitize \
- kisielk:gotool:v1.0.0:kisielk_gotool/vendor/github.com/kisielk/gotool \
- kr:pretty:v0.2.1:kr_pretty/vendor/github.com/kr/pretty \
+ icza:bitio:v1.0.0:icza_bitio/vendor/github.com/icza/bitio \
+ inconshreveable:mousetrap:v1.1.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \
+ kr:pretty:v0.3.1:kr_pretty/vendor/github.com/kr/pretty \
kr:text:v0.2.0:kr_text/vendor/github.com/kr/text \
- kulti:thelper:v0.2.1:kulti_thelper/vendor/github.com/kulti/thelper \
- kunwardeep:paralleltest:v1.0.2:kunwardeep_paralleltest/vendor/github.com/kunwardeep/paralleltest \
- kyoh86:exportloopref:v0.1.8:kyoh86_exportloopref/vendor/github.com/kyoh86/exportloopref \
lann:builder:47ae307949d0:lann_builder/vendor/github.com/lann/builder \
lann:ps:62de8c46ede0:lann_ps/vendor/github.com/lann/ps \
- leighmcculloch:gochecknoglobals:acfc0b28355a:leighmcculloch_gochecknoglobals/vendor/4d63.com/gochecknoglobals \
- lib:pq:v1.9.0:lib_pq/vendor/github.com/lib/pq \
- magiconair:properties:v1.8.1:magiconair_properties/vendor/github.com/magiconair/properties \
- maratori:testpackage:v1.0.1:maratori_testpackage/vendor/github.com/maratori/testpackage \
- matoous:godox:5d6d842e92eb:matoous_godox/vendor/github.com/matoous/godox \
- mattn:go-colorable:v0.1.8:mattn_go_colorable/vendor/github.com/mattn/go-colorable \
- mattn:go-isatty:v0.0.12:mattn_go_isatty/vendor/github.com/mattn/go-isatty \
- mattn:go-sqlite3:v2.0.3:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
- mbilski:exhaustivestruct:v1.1.0:mbilski_exhaustivestruct/vendor/github.com/mbilski/exhaustivestruct \
- microcosm-cc:bluemonday:v1.0.4:microcosm_cc_bluemonday/vendor/github.com/microcosm-cc/bluemonday \
- mitchellh:go-homedir:v1.1.0:mitchellh_go_homedir/vendor/github.com/mitchellh/go-homedir \
- mitchellh:mapstructure:v1.3.2:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
- moricho:tparallel:v0.2.1:moricho_tparallel/vendor/github.com/moricho/tparallel \
- mvdan:gofumpt:v0.1.0:mvdan_gofumpt/vendor/mvdan.cc/gofumpt \
- mvdan:interfacer:c20040233aed:mvdan_interfacer/vendor/mvdan.cc/interfacer \
- mvdan:lint:adc824a0674b:mvdan_lint/vendor/mvdan.cc/lint \
- mvdan:unparam:b37ab49443f7:mvdan_unparam/vendor/mvdan.cc/unparam \
- nakabonne:nestif:v0.3.0:nakabonne_nestif/vendor/github.com/nakabonne/nestif \
- nbutton23:zxcvbn-go:e56b841a3c88:nbutton23_zxcvbn_go/vendor/github.com/nbutton23/zxcvbn-go \
- nishanths:exhaustive:v0.1.0:nishanths_exhaustive/vendor/github.com/nishanths/exhaustive \
- nishanths:predeclared:v0.2.1:nishanths_predeclared/vendor/github.com/nishanths/predeclared \
- nxadm:tail:v1.4.4:nxadm_tail/vendor/github.com/nxadm/tail \
- ogier:pflag:v0.0.1:ogier_pflag/vendor/github.com/ogier/pflag \
- oklog:run:v1.1.0:oklog_run/vendor/github.com/oklog/run \
- onsi:ginkgo:v1.15.0:onsi_ginkgo/vendor/github.com/onsi/ginkgo \
- onsi:gomega:v1.10.5:onsi_gomega/vendor/github.com/onsi/gomega \
- pelletier:go-toml:v1.8.0:pelletier_go_toml/vendor/github.com/pelletier/go-toml \
- phayes:checkstyle:bfd46e6a821d:phayes_checkstyle/vendor/github.com/phayes/checkstyle \
+ lestrrat-go:blackmagic:v1.0.2:lestrrat_go_blackmagic/vendor/github.com/lestrrat-go/blackmagic \
+ lestrrat-go:httpcc:v1.0.1:lestrrat_go_httpcc/vendor/github.com/lestrrat-go/httpcc \
+ lestrrat-go:httprc:v1.0.4:lestrrat_go_httprc/vendor/github.com/lestrrat-go/httprc \
+ lestrrat-go:iter:v1.0.2:lestrrat_go_iter/vendor/github.com/lestrrat-go/iter \
+ lestrrat-go:jwx:v2.0.17:lestrrat_go_jwx_v2/vendor/github.com/lestrrat-go/jwx/v2 \
+ lestrrat-go:option:v1.0.1:lestrrat_go_option/vendor/github.com/lestrrat-go/option \
+ magiconair:properties:v1.8.7:magiconair_properties/vendor/github.com/magiconair/properties \
+ matoous:go-nanoid:v2.0.0:matoous_go_nanoid_v2/vendor/github.com/matoous/go-nanoid/v2 \
+ mattn:go-sqlite3:v1.14.18:mattn_go_sqlite3/vendor/github.com/mattn/go-sqlite3 \
+ mattn:go-zglob:v0.0.3:mattn_go_zglob/vendor/github.com/mattn/go-zglob \
+ matttproud:golang_protobuf_extensions:v1.0.4:matttproud_golang_protobuf_extensions/vendor/github.com/matttproud/golang_protobuf_extensions \
+ mewkiz:flac:v1.0.7:mewkiz_flac/vendor/github.com/mewkiz/flac \
+ mewkiz:pkg:518ade7978e2:mewkiz_pkg/vendor/github.com/mewkiz/pkg \
+ microcosm-cc:bluemonday:v1.0.26:microcosm_cc_bluemonday/vendor/github.com/microcosm-cc/bluemonday \
+ mileusna:useragent:v1.3.4:mileusna_useragent/vendor/github.com/mileusna/useragent \
+ mitchellh:mapstructure:v1.5.0:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
+ natefinch:npipe:c1b8fa8bdcce:natefinch_npipe/vendor/gopkg.in/natefinch/npipe.v2 \
+ onsi:ginkgo:v1.16.5:onsi_ginkgo/vendor/github.com/onsi/ginkgo \
+ onsi:ginkgo:v2.13.1:onsi_ginkgo_v2/vendor/github.com/onsi/ginkgo/v2 \
+ onsi:gomega:v1.30.0:onsi_gomega/vendor/github.com/onsi/gomega \
+ pelletier:go-toml:v2.0.6:pelletier_go_toml_v2/vendor/github.com/pelletier/go-toml/v2 \
pkg:errors:v0.9.1:pkg_errors/vendor/github.com/pkg/errors \
pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \
- polyfloyd:go-errorlint:19bd8db6546f:polyfloyd_go_errorlint/vendor/github.com/polyfloyd/go-errorlint \
- pressly:goose:v2.7.0:pressly_goose/vendor/github.com/pressly/goose \
- protocolbuffers:protobuf-go:v1.25.0:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
- quasilyte:go-ruleguard:408e96760278:quasilyte_go_ruleguard/vendor/github.com/quasilyte/go-ruleguard \
- quasilyte:regex:30656e2c4a95:quasilyte_regex_syntax/vendor/github.com/quasilyte/regex \
- ryancurrah:gomodguard:v1.2.0:ryancurrah_gomodguard/vendor/github.com/ryancurrah/gomodguard \
- ryanrolds:sqlclosecheck:v0.3.0:ryanrolds_sqlclosecheck/vendor/github.com/ryanrolds/sqlclosecheck \
- securego:gosec:v2.6.1:securego_gosec_v2/vendor/github.com/securego/gosec/v2 \
- shazow:go-diff:b6b7b6733b8c:shazow_go_diff/vendor/github.com/shazow/go-diff \
- sirupsen:logrus:v1.7.0:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
- sonatard:noctx:v0.0.1:sonatard_noctx/vendor/github.com/sonatard/noctx \
- sourcegraph:go-diff:v0.6.1:sourcegraph_go_diff/vendor/github.com/sourcegraph/go-diff \
- spf13:afero:v1.3.1:spf13_afero/vendor/github.com/spf13/afero \
- spf13:cast:v1.3.1:spf13_cast/vendor/github.com/spf13/cast \
- spf13:cobra:v1.1.1:spf13_cobra/vendor/github.com/spf13/cobra \
+ pressly:goose:v3.11.2:pressly_goose_v3/vendor/github.com/pressly/goose/v3 \
+ prometheus:client_golang:v1.17.0:prometheus_client_golang/vendor/github.com/prometheus/client_golang \
+ prometheus:client_model:9a2bf3000d16:prometheus_client_model/vendor/github.com/prometheus/client_model \
+ prometheus:common:v0.44.0:prometheus_common/vendor/github.com/prometheus/common \
+ prometheus:procfs:v0.11.1:prometheus_procfs/vendor/github.com/prometheus/procfs \
+ protocolbuffers:protobuf-go:v1.31.0:protocolbuffers_protobuf_go/vendor/google.golang.org/protobuf \
+ robfig:cron:v3.0.1:robfig_cron_v3/vendor/github.com/robfig/cron/v3 \
+ rogpeppe:go-internal:v1.10.0:rogpeppe_go_internal/vendor/github.com/rogpeppe/go-internal \
+ segmentio:asm:v1.2.0:segmentio_asm/vendor/github.com/segmentio/asm \
+ shiena:ansicolor:c7312218db18:shiena_ansicolor/vendor/github.com/shiena/ansicolor \
+ sirupsen:logrus:v1.9.3:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
+ spf13:afero:v1.9.3:spf13_afero/vendor/github.com/spf13/afero \
+ spf13:cast:v1.5.0:spf13_cast/vendor/github.com/spf13/cast \
+ spf13:cobra:v1.8.0:spf13_cobra/vendor/github.com/spf13/cobra \
spf13:jwalterweatherman:v1.1.0:spf13_jwalterweatherman/vendor/github.com/spf13/jwalterweatherman \
spf13:pflag:v1.0.5:spf13_pflag/vendor/github.com/spf13/pflag \
- spf13:viper:v1.7.1:spf13_viper/vendor/github.com/spf13/viper \
- ssgreg:nlreturn:v2.1.0:ssgreg_nlreturn_v2/vendor/github.com/ssgreg/nlreturn/v2 \
- stretchr:objx:v0.1.1:stretchr_objx/vendor/github.com/stretchr/objx \
- stretchr:testify:v1.7.0:stretchr_testify/vendor/github.com/stretchr/testify \
- subosito:gotenv:v1.2.0:subosito_gotenv/vendor/github.com/subosito/gotenv \
- tdakkota:asciicheck:d7f85be797a2:tdakkota_asciicheck/vendor/github.com/tdakkota/asciicheck \
- tetafro:godot:v1.4.3:tetafro_godot/vendor/github.com/tetafro/godot \
- timakin:bodyclose:f7f2e9bca95e:timakin_bodyclose/vendor/github.com/timakin/bodyclose \
- tomarrell:wrapcheck:df9e8bcb914d:tomarrell_wrapcheck/vendor/github.com/tomarrell/wrapcheck \
- tommy-muehle:go-mnd:v2.3.1:tommy_muehle_go_mnd_v2/vendor/github.com/tommy-muehle/go-mnd/v2 \
- ultraware:funlen:v0.0.3:ultraware_funlen/vendor/github.com/ultraware/funlen \
- ultraware:whitespace:v0.0.4:ultraware_whitespace/vendor/github.com/ultraware/whitespace \
- unrolled:secure:v1.0.8:unrolled_secure/vendor/github.com/unrolled/secure \
- uudashr:gocognit:v1.0.1:uudashr_gocognit/vendor/github.com/uudashr/gocognit \
- wader:tag:d072771f6a51:wader_tag/vendor/github.com/dhowden/tag \
- xrash:smetrics:89a2a8a1fb0b:xrash_smetrics/vendor/github.com/xrash/smetrics \
- ziutek:mymysql:v1.5.4:ziutek_mymysql/vendor/github.com/ziutek/mymysql
+ spf13:viper:v1.15.0:spf13_viper/vendor/github.com/spf13/viper \
+ stretchr:objx:v0.5.0:stretchr_objx/vendor/github.com/stretchr/objx \
+ stretchr:testify:v1.8.4:stretchr_testify/vendor/github.com/stretchr/testify \
+ subosito:gotenv:v1.4.2:subosito_gotenv/vendor/github.com/subosito/gotenv \
+ uber-go:goleak:v1.1.11:uber_go_goleak/vendor/go.uber.org/goleak \
+ unrolled:secure:v1.13.0:unrolled_secure/vendor/github.com/unrolled/secure \
+ valyala:bytebufferpool:v1.0.0:valyala_bytebufferpool/vendor/github.com/valyala/bytebufferpool \
+ xrash:smetrics:89a2a8a1fb0b:xrash_smetrics/vendor/github.com/xrash/smetrics
-USE_RC_SUBR= ${PORTNAME}
+_BUILD_SHA= 823bef5
-_BUILD_SHA= 8799358
-
-GO_BUILDFLAGS= -ldflags="-X github.com/navidrome/navidrome/consts.gitSha=${_BUILD_SHA} -X github.com/navidrome/navidrome/consts.gitTag=${GH_TAGNAME}-FREEBSD" -tags=embed,netgo
+GO_BUILDFLAGS= -ldflags="-X github.com/navidrome/navidrome/consts.gitSha=${_BUILD_SHA} -X github.com/navidrome/navidrome/consts.gitTag=${GH_TAGNAME}-FREEBSD" -tags=netgo
MAKE_ENV+= npm_config_offline=true
SUB_FILES+= pkg-message config.toml.sample
SUB_LIST+= PORTNAME=${PORTNAME} \
- NAVIDROMEUSER=${USERS} \
- NAVIDROMEGROUP=${GROUPS}
+ NAVIDROMEUSER=${USERS} \
+ NAVIDROMEGROUP=${GROUPS}
USERS= www
GROUPS= www
@@ -214,17 +151,9 @@ GROUPS= www
MAKE_ENV+= NODE_OPTIONS='--max-old-space-size=1492'
.endif
-post-extract:
- @${MKDIR} ${WRKSRC}/vendor/github.com/chris-ramon
- @${RLN} ${WRKSRC_aymerick_douceur} ${WRKSRC}/vendor/github.com/chris-ramon/douceur
-
pre-build:
cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} npm ci
cd ${WRKSRC}/ui && ${SETENV} ${MAKE_ENV} npm run build
- cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} ${LOCALBASE}/bin/go-bindata -fs -prefix "resources" -tags embed -ignore="\\\*.go" -pkg resources -o resources/embedded_gen.go resources/...
- cd ${WRKSRC} && \
- ${SETENV} ${MAKE_ENV} ${LOCALBASE}/bin/go-bindata -fs -prefix "ui/build" -tags embed -nocompress -pkg assets -o assets/embedded_gen.go ui/build/...
post-install:
@${MKDIR} ${STAGEDIR}${ETCDIR}
diff --git a/multimedia/navidrome/distinfo b/multimedia/navidrome/distinfo
index 23553fb27941..b6a0f1218bd2 100644
--- a/multimedia/navidrome/distinfo
+++ b/multimedia/navidrome/distinfo
@@ -1,337 +1,217 @@
-TIMESTAMP = 1615742277
-SHA256 (navidrome/navidrome-npm-cache-0.40.0.tar.gz) = 49da763cd44dc38ce2ea7f90e4c667bd0c3fb82388ccd5a2fca3df7f549dd990
-SIZE (navidrome/navidrome-npm-cache-0.40.0.tar.gz) = 62994488
-SHA256 (navidrome/navidrome-navidrome-v0.40.0_GH0.tar.gz) = 3f4c9462c033e9c87a191da4aa0d1a742e5a7e5394e8f54e2f71a44cecfe9650
-SIZE (navidrome/navidrome-navidrome-v0.40.0_GH0.tar.gz) = 9021803
-SHA256 (navidrome/BurntSushi-toml-v0.3.1_GH0.tar.gz) = 6593da894578ba510a470735ffbdc88ce88033094dc5a8f4d3957ab87e18803f
-SIZE (navidrome/BurntSushi-toml-v0.3.1_GH0.tar.gz) = 42077
-SHA256 (navidrome/ClickHouse-clickhouse-go-v1.4.3_GH0.tar.gz) = 6a4a8882ecaf2042317086f06290509d30cae5db3b742047bc339f48c0622478
-SIZE (navidrome/ClickHouse-clickhouse-go-v1.4.3_GH0.tar.gz) = 697373
-SHA256 (navidrome/Djarvur-go-err113-5174e21577d5_GH0.tar.gz) = 7699daea0eea426e5bc6018b423a0a71138ba5989862dc941407c5d5f80d7c4e
-SIZE (navidrome/Djarvur-go-err113-5174e21577d5_GH0.tar.gz) = 8678
-SHA256 (navidrome/Masterminds-semver-v1.5.0_GH0.tar.gz) = c9140eddfb03dc862f826e7761561260b9a840afa7519cc0919e89a43b5be5ba
-SIZE (navidrome/Masterminds-semver-v1.5.0_GH0.tar.gz) = 21188
-SHA256 (navidrome/Masterminds-squirrel-v1.5.0_GH0.tar.gz) = 75ffb7555e2cde9fa25622c031b0b72058b5644e6d7eb004238c250957d97c52
-SIZE (navidrome/Masterminds-squirrel-v1.5.0_GH0.tar.gz) = 30302
-SHA256 (navidrome/OpenPeeDeeP-depguard-v1.0.1_GH0.tar.gz) = 0f45087f31a7e1489c5c854e561749b8208bbab0abe734df4f94442766959384
-SIZE (navidrome/OpenPeeDeeP-depguard-v1.0.1_GH0.tar.gz) = 17641
-SHA256 (navidrome/ashanbrown-forbidigo-v1.0.0_GH0.tar.gz) = e121ad8bba9d4e8d14c116fc0e4a9780dcbdf26fad837a56cd43af327c8ec814
-SIZE (navidrome/ashanbrown-forbidigo-v1.0.0_GH0.tar.gz) = 5149
-SHA256 (navidrome/ashanbrown-makezero-7b7cdbb3025a_GH0.tar.gz) = eed4c183e6772ef04453e7d00afb63a6713ff71fa2309e4aa888b4c6de46295c
-SIZE (navidrome/ashanbrown-makezero-7b7cdbb3025a_GH0.tar.gz) = 6398
-SHA256 (navidrome/astaxie-beego-v1.12.3_GH0.tar.gz) = 948b105f83170a8124174b45b29e9f36675e2346e1f50a7f66c3bc3bef3fa336
-SIZE (navidrome/astaxie-beego-v1.12.3_GH0.tar.gz) = 312199
+TIMESTAMP = 1705609742
+SHA256 (navidrome/navidrome-npm-cache-0.50.2.tar.gz) = 6e805b87aedb218f111bf6d61a0b71c4424c1108bb109643bab7b50148116241
+SIZE (navidrome/navidrome-npm-cache-0.50.2.tar.gz) = 87740147
+SHA256 (navidrome/navidrome-navidrome-v0.50.2_GH0.tar.gz) = 0e9ffbd88f24b7ec536ac6c309c2d086bb7adecf1a722d7933ce90b4086bcfcb
+SIZE (navidrome/navidrome-navidrome-v0.50.2_GH0.tar.gz) = 7285722
+SHA256 (navidrome/DexterLB-mpvipc-38b9935eae9d_GH0.tar.gz) = f4a4202793df8cd95f8aff2a73ef93e387939135a222e6ca733cec776358062d
+SIZE (navidrome/DexterLB-mpvipc-38b9935eae9d_GH0.tar.gz) = 6942
+SHA256 (navidrome/Masterminds-squirrel-v1.5.4_GH0.tar.gz) = a2683a1ad3166987f6d67906d155ad53135e3c72f52ade0fc532397545092a3a
+SIZE (navidrome/Masterminds-squirrel-v1.5.4_GH0.tar.gz) = 31412
+SHA256 (navidrome/ReneKroon-ttlcache-v2.11.0_GH0.tar.gz) = 1c1bad743a2609291f54ce9ebe104bd3dcb0f69c08b7ef9bfd48fb3a05673213
+SIZE (navidrome/ReneKroon-ttlcache-v2.11.0_GH0.tar.gz) = 19042
SHA256 (navidrome/aymerick-douceur-v0.2.0_GH0.tar.gz) = ceed015cddc99b600ccbbd6aa0ebe39063554049f70153887d3df7c21fefedbb
SIZE (navidrome/aymerick-douceur-v0.2.0_GH0.tar.gz) = 20914
-SHA256 (navidrome/bombsimon-wsl-v3.1.0_GH0.tar.gz) = 9496cccc3ba50ee7e555a1a837801de44883827725cc665d22c4ca66429c4ef5
-SIZE (navidrome/bombsimon-wsl-v3.1.0_GH0.tar.gz) = 26463
-SHA256 (navidrome/bradleyjkemp-cupaloy-v2.3.0_GH0.tar.gz) = 8aeed220eb63ddaf634a365ad77752124eea80400d59e7f549e40796a29341ed
-SIZE (navidrome/bradleyjkemp-cupaloy-v2.3.0_GH0.tar.gz) = 274579
-SHA256 (navidrome/cespare-reflex-v0.3.0_GH0.tar.gz) = cadb2d439bedc81df0f14e33ef14e3dfc088b95965bf7a6b2e880eb5220a39d5
-SIZE (navidrome/cespare-reflex-v0.3.0_GH0.tar.gz) = 17909
-SHA256 (navidrome/cespare-xxhash-v2.1.1_GH0.tar.gz) = 0ee31178d2c5a1249be4e26294a2f428008dc4e1ecbbfbe47f74e41026df1148
-SIZE (navidrome/cespare-xxhash-v2.1.1_GH0.tar.gz) = 9292
-SHA256 (navidrome/chris-ramon-douceur-v0.2.0_GH0.tar.gz) = ceed015cddc99b600ccbbd6aa0ebe39063554049f70153887d3df7c21fefedbb
-SIZE (navidrome/chris-ramon-douceur-v0.2.0_GH0.tar.gz) = 20914
-SHA256 (navidrome/cloudflare-golz4-ef862a3cdc58_GH0.tar.gz) = 324ef2685faede75c6ea0c8fde73d31bc411b0ac604e999d32de9bf7a8fb8147
-SIZE (navidrome/cloudflare-golz4-ef862a3cdc58_GH0.tar.gz) = 28881
+SHA256 (navidrome/beego-beego-v2.1.3_GH0.tar.gz) = 0136be0ba20741eb26e0511bc993fcd026cbe7b11635441fa183b1ef0333e9fc
+SIZE (navidrome/beego-beego-v2.1.3_GH0.tar.gz) = 430276
+SHA256 (navidrome/beorn7-perks-v1.0.1_GH0.tar.gz) = 98db84bb0224a26094e6adba91b7ee7a1a7ace28cb648d818f8e779e6a19f825
+SIZE (navidrome/beorn7-perks-v1.0.1_GH0.tar.gz) = 10867
+SHA256 (navidrome/bradleyjkemp-cupaloy-v2.8.0_GH0.tar.gz) = cdf76c32628d366798f4893e380f5903f874f93b1f6831cac9f67e8d54942aee
+SIZE (navidrome/bradleyjkemp-cupaloy-v2.8.0_GH0.tar.gz) = 276620
+SHA256 (navidrome/cespare-xxhash-v2.2.0_GH0.tar.gz) = b8c684b9e5e136510913727e6a845b28f8176e55db827b11f17769fba970fe13
+SIZE (navidrome/cespare-xxhash-v2.2.0_GH0.tar.gz) = 12334
SHA256 (navidrome/cloudfoundry-go-diodes-f77fb823c7ee_GH0.tar.gz) = b24b1022add7bd9c8eaf2e9dc5e88459c51bbe6b7b248e7cf721557585ede46c
SIZE (navidrome/cloudfoundry-go-diodes-f77fb823c7ee_GH0.tar.gz) = 11813
-SHA256 (navidrome/creack-pty-v1.1.11_GH0.tar.gz) = ee903119251fdf7d90dae890fec40015c5b6049daa68ec8d8750c3ebceaaf5ed
-SIZE (navidrome/creack-pty-v1.1.11_GH0.tar.gz) = 8396
-SHA256 (navidrome/daixiang0-gci-v0.2.8_GH0.tar.gz) = 55fdfe1d60095c742939d51dca001dbbd379b7b0d4af9b22f694462194da57e2
-SIZE (navidrome/daixiang0-gci-v0.2.8_GH0.tar.gz) = 8484
SHA256 (navidrome/davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e
SIZE (navidrome/davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152
-SHA256 (navidrome/deluan-rest-b71e558c45d0_GH0.tar.gz) = d3fecd4a6b04cd8f45f37cf2c1cc7a12b7e170cf9e60f6cb5c80295c0bd31e0a
-SIZE (navidrome/deluan-rest-b71e558c45d0_GH0.tar.gz) = 10464
-SHA256 (navidrome/denis-tingajkin-go-header-v0.4.2_GH0.tar.gz) = 158e094296ff2eab1a22592800077576582de21fc5187b891306c57813d74fa7
-SIZE (navidrome/denis-tingajkin-go-header-v0.4.2_GH0.tar.gz) = 20760
-SHA256 (navidrome/denisenkom-go-mssqldb-v0.9.0_GH0.tar.gz) = a7f37c85fc2348a50a574cfe30b821d59ccea2224732735fbfcf50e826fbb692
-SIZE (navidrome/denisenkom-go-mssqldb-v0.9.0_GH0.tar.gz) = 522803
-SHA256 (navidrome/dgrijalva-jwt-go-v3.2.0_GH0.tar.gz) = 197465ef53219f3aeb1a6940b70e16d288fe4e4108d4831b91ea101118440e63
-SIZE (navidrome/dgrijalva-jwt-go-v3.2.0_GH0.tar.gz) = 36960
+SHA256 (navidrome/deluan-rest-380523c4bb47_GH0.tar.gz) = 7a5003140091cc89e60e70b2328c6df9f93095107ee0b8bc69722fcd66fbde1e
+SIZE (navidrome/deluan-rest-380523c4bb47_GH0.tar.gz) = 11205
+SHA256 (navidrome/deluan-sanitize-6e18967d9fc1_GH0.tar.gz) = 8e5306cca69c0e83181067a840e29d41fcce2d0d43f704b64268e3b7b40b51f7
+SIZE (navidrome/deluan-sanitize-6e18967d9fc1_GH0.tar.gz) = 9131
+SHA256 (navidrome/dhowden-tag-978a0926ee25_GH0.tar.gz) = 513960f0c917c92edc3265bbbdc8b5aa2032659ad2079a666d91d6b7634899fd
+SIZE (navidrome/dhowden-tag-978a0926ee25_GH0.tar.gz) = 1799302
SHA256 (navidrome/disintegration-imaging-v1.6.2_GH0.tar.gz) = ddc0cbbf306630d39ee710ff055bb9503d30598485f76f51564ee3ae13d6611a
SIZE (navidrome/disintegration-imaging-v1.6.2_GH0.tar.gz) = 2212334
-SHA256 (navidrome/djherbis-atime-v1.0.0_GH0.tar.gz) = 208e5483fa0380c842605c09f52ba82b328c8ae996d6734da873e60587893f02
-SIZE (navidrome/djherbis-atime-v1.0.0_GH0.tar.gz) = 2911
-SHA256 (navidrome/djherbis-fscache-a0daa9e52747_GH0.tar.gz) = 65261046b5643b062596e50e4d95effa975bff3b5772981180d51158fab547f6
-SIZE (navidrome/djherbis-fscache-a0daa9e52747_GH0.tar.gz) = 14412
-SHA256 (navidrome/djherbis-stream-v1.3.1_GH0.tar.gz) = f6997602a6c4a8fffd6281e06c62999f789782c7ae3bbcef0081a984ace5afc0
-SIZE (navidrome/djherbis-stream-v1.3.1_GH0.tar.gz) = 10997
-SHA256 (navidrome/dominikh-go-tools-v0.0.1-2020.1.6_GH0.tar.gz) = 2c0dfc658e239436a1e4493daacd57c9eafe91a4423a8dce6ec35c11e5895b3e
-SIZE (navidrome/dominikh-go-tools-v0.0.1-2020.1.6_GH0.tar.gz) = 408274
-SHA256 (navidrome/dustin-go-humanize-v1.0.0_GH0.tar.gz) = e4540bd50ac855143b4f2e509313079c50cf5d8774f09cc10dbca5ae9803d8ba
-SIZE (navidrome/dustin-go-humanize-v1.0.0_GH0.tar.gz) = 17260
-SHA256 (navidrome/esimonov-ifshort-v1.0.0_GH0.tar.gz) = 6d1f126d23809628af04d478b3024c66ebb007a69ede4b4aeadcf6e872b93f2b
-SIZE (navidrome/esimonov-ifshort-v1.0.0_GH0.tar.gz) = 7671
-SHA256 (navidrome/fatih-color-v1.10.0_GH0.tar.gz) = a00342a7ffb8b119346dce56e152a111cbb9eab3970c429cc2ed4272aec2858e
-SIZE (navidrome/fatih-color-v1.10.0_GH0.tar.gz) = 1267532
-SHA256 (navidrome/fsnotify-fsnotify-v1.4.9_GH0.tar.gz) = 4f888b1cb132026227826751d156c0a2958e7d492e5e38386cde8848ef494dcb
-SIZE (navidrome/fsnotify-fsnotify-v1.4.9_GH0.tar.gz) = 31900
-SHA256 (navidrome/go-bindata-go-bindata-v3.1.2_GH0.tar.gz) = fa6e8bf0e2e2a0cee46df56c584bfc97f3efa8f97be7fe691e66224f2c1df0c4
-SIZE (navidrome/go-bindata-go-bindata-v3.1.2_GH0.tar.gz) = 19674
-SHA256 (navidrome/go-chi-chi-v1.5.1_GH0.tar.gz) = 5cccd5cbe201fb9f945c116c18b9501f0cd96b4fc430179a4e304e0b9c879139
-SIZE (navidrome/go-chi-chi-v1.5.1_GH0.tar.gz) = 80744
-SHA256 (navidrome/go-chi-cors-v1.1.1_GH0.tar.gz) = a149306df4956999f97e6c7d2ae9180c61a6c03eacaa61b49a1ee54196bf025b
-SIZE (navidrome/go-chi-cors-v1.1.1_GH0.tar.gz) = 8349
-SHA256 (navidrome/go-chi-httprate-v0.4.0_GH0.tar.gz) = 586f1bb3e8cb2c11648ce96c9d05f2615f471a4867d611697c56114a070718d4
-SIZE (navidrome/go-chi-httprate-v0.4.0_GH0.tar.gz) = 4144
-SHA256 (navidrome/go-chi-jwtauth-v4.0.4_GH0.tar.gz) = 3916050c69087ec0dd12ed15bcbb7248743d5652387c5c43be02cd159a8e9964
-SIZE (navidrome/go-chi-jwtauth-v4.0.4_GH0.tar.gz) = 7605
-SHA256 (navidrome/go-critic-go-critic-v0.5.3_GH0.tar.gz) = e6989276118cffdf5258ccb8577e3ccd9fd2a22b90d4776fef388d0d36287906
-SIZE (navidrome/go-critic-go-critic-v0.5.3_GH0.tar.gz) = 143277
-SHA256 (navidrome/go-ini-ini-v1.57.0_GH0.tar.gz) = e612924cffa395825f32e65db18cff0366705952433e52c6efc81fc1c3adfd2a
-SIZE (navidrome/go-ini-ini-v1.57.0_GH0.tar.gz) = 48424
-SHA256 (navidrome/go-sql-driver-mysql-v1.5.0_GH0.tar.gz) = 9d98b46623037447a26a51a203540bf605b6e6220d31f2efc7396242fcb660b5
-SIZE (navidrome/go-sql-driver-mysql-v1.5.0_GH0.tar.gz) = 90474
-SHA256 (navidrome/go-tomb-tomb-dd632973f1e7_GH0.tar.gz) = b67f4ee9324a78176bc3196fe262388696aeb3f31d9879d498200219f9c4c554
-SIZE (navidrome/go-tomb-tomb-dd632973f1e7_GH0.tar.gz) = 3631
-SHA256 (navidrome/go-toolsmith-astcast-v1.0.0_GH0.tar.gz) = 62b99f2b94319da15c4d2c2a869a94999fa20003fd50a27189c620192b595a48
-SIZE (navidrome/go-toolsmith-astcast-v1.0.0_GH0.tar.gz) = 7452
-SHA256 (navidrome/go-toolsmith-astcopy-v1.0.0_GH0.tar.gz) = 62add5436ef2bf5ee5884e7936c5395dee89107774e87978f7a6074df02f7dc2
-SIZE (navidrome/go-toolsmith-astcopy-v1.0.0_GH0.tar.gz) = 4529
-SHA256 (navidrome/go-toolsmith-astequal-v1.0.0_GH0.tar.gz) = 2d327b8be838ac46ef568836fe29bdfddf699072e23632979af30d98917c911d
-SIZE (navidrome/go-toolsmith-astequal-v1.0.0_GH0.tar.gz) = 6935
-SHA256 (navidrome/go-toolsmith-astfmt-v1.0.0_GH0.tar.gz) = 0c299440e84b1e7dc60e03198c8c5fe7e9b9d3f72f5de67fbc55d8d09482b3a7
-SIZE (navidrome/go-toolsmith-astfmt-v1.0.0_GH0.tar.gz) = 2654
-SHA256 (navidrome/go-toolsmith-astp-v1.0.0_GH0.tar.gz) = 08ddce86dd9578c428470d5f713eab535c91d34c9e007e7ebe364851b1046d92
-SIZE (navidrome/go-toolsmith-astp-v1.0.0_GH0.tar.gz) = 3283
-SHA256 (navidrome/go-toolsmith-strparse-v1.0.0_GH0.tar.gz) = b07b8ab3fdc67b642c530d5f0776ab171bb9946cb8dfe468e4a98a2818c270f1
-SIZE (navidrome/go-toolsmith-strparse-v1.0.0_GH0.tar.gz) = 2469
-SHA256 (navidrome/go-toolsmith-typep-v1.0.2_GH0.tar.gz) = 3f02d53a8f3229a65b98cc3a668234bf7d500ed50d5740d0ccc1c81947120d09
-SIZE (navidrome/go-toolsmith-typep-v1.0.2_GH0.tar.gz) = 4302
-SHA256 (navidrome/go-xmlfmt-xmlfmt-d5b6f63a941b_GH0.tar.gz) = edcdd41cfaa8896b8ea60d45b532431625b552de695a3c60196a71ff3f4ae89e
-SIZE (navidrome/go-xmlfmt-xmlfmt-d5b6f63a941b_GH0.tar.gz) = 5269
-SHA256 (navidrome/go-yaml-yaml-9f266ea9e77c_GH0.tar.gz) = 63efc9aabcbb56b2c9469927784fd67ecb3a79720c4fa754c511335a04156d04
-SIZE (navidrome/go-yaml-yaml-9f266ea9e77c_GH0.tar.gz) = 86898
-SHA256 (navidrome/go-yaml-yaml-v2.4.0_GH0.tar.gz) = d8e94679e5fff6bd1a35e10241543929a5f3da44f701755babf99b3daf0faac0
-SIZE (navidrome/go-yaml-yaml-v2.4.0_GH0.tar.gz) = 73209
-SHA256 (navidrome/gobwas-glob-v0.2.3_GH0.tar.gz) = 325026fc78bcebcf31151b6e060f4e1c3321b04ded3dab63b63610b323c10850
-SIZE (navidrome/gobwas-glob-v0.2.3_GH0.tar.gz) = 25962
-SHA256 (navidrome/gofrs-flock-v0.8.0_GH0.tar.gz) = 64aa198aee88a6b560e2eb9a87794594e0b57c08a784dcb4bd8a0825b9ec5de6
-SIZE (navidrome/gofrs-flock-v0.8.0_GH0.tar.gz) = 8978
-SHA256 (navidrome/golang-sql-civil-cb61b32ac6fe_GH0.tar.gz) = ebc100d46719b1374b59e59bc63baffaec6a2bface5b0d519024f43c097cdc3e
-SIZE (navidrome/golang-sql-civil-cb61b32ac6fe_GH0.tar.gz) = 8359
-SHA256 (navidrome/golang-crypto-75b288015ac9_GH0.tar.gz) = 6e74e21bf9dfdbf0a8dac8cb205fbc3bfd8dff308a24080b9d6093a3858f0db2
-SIZE (navidrome/golang-crypto-75b288015ac9_GH0.tar.gz) = 1729931
-SHA256 (navidrome/golang-image-e7c1f5e7dbb8_GH0.tar.gz) = 424ce3674771f00cc1112826e745efb121bc378bd9e68eac33bbf2198451ed1e
-SIZE (navidrome/golang-image-e7c1f5e7dbb8_GH0.tar.gz) = 4895813
-SHA256 (navidrome/golang-mod-v0.4.0_GH0.tar.gz) = d4458f389f596223fd9730d83d592d5f7fbc5603a4a9ca25fd9a21a140c34553
-SIZE (navidrome/golang-mod-v0.4.0_GH0.tar.gz) = 102301
-SHA256 (navidrome/golang-net-c7110b5ffcbb_GH0.tar.gz) = 605f6a51c193b119a568c40151f74ec8a4634fe94cb01627bb7a1ad7cfe684fe
-SIZE (navidrome/golang-net-c7110b5ffcbb_GH0.tar.gz) = 1248997
-SHA256 (navidrome/golang-protobuf-v1.4.3_GH0.tar.gz) = 5736f943f8647362f5559689df6154f3c85d261fb088867c8a68494e2a767610
-SIZE (navidrome/golang-protobuf-v1.4.3_GH0.tar.gz) = 171969
-SHA256 (navidrome/golang-sys-489259a85091_GH0.tar.gz) = e40f9bc523e1a324d2936f0c6ec031ca9230a1db6efb89fcdb3cbba2552cdd36
-SIZE (navidrome/golang-sys-489259a85091_GH0.tar.gz) = 1098362
-SHA256 (navidrome/golang-text-v0.3.4_GH0.tar.gz) = 39eabfef83413361eafd4353ee9d9821707853235f2e55f3d5b1d38ce698fe89
-SIZE (navidrome/golang-text-v0.3.4_GH0.tar.gz) = 8354508
-SHA256 (navidrome/golang-tools-9ed45478a130_GH0.tar.gz) = 1d82f3d6458724354b457b29f601020c35e43b7336cc95d293efae961eba5dc7
-SIZE (navidrome/golang-tools-9ed45478a130_GH0.tar.gz) = 2675062
-SHA256 (navidrome/golang-xerrors-5ec99f83aff1_GH0.tar.gz) = 71975d658357e170fd6a41f92539cde8b39c9cd8bfe5931b6311bc5f5c0da0d7
-SIZE (navidrome/golang-xerrors-5ec99f83aff1_GH0.tar.gz) = 13664
-SHA256 (navidrome/golangci-check-cfe4005ccda2_GH0.tar.gz) = c8379c7a28b77302a2a1d88dbdd549037ed34a983851b0eb1e0f186e9895af3d
-SIZE (navidrome/golangci-check-cfe4005ccda2_GH0.tar.gz) = 16555
-SHA256 (navidrome/golangci-dupl-3e9179ac440a_GH0.tar.gz) = f56e3ca1b26fbb7a4d84bce6ca2c885043bb8c0fd1ab49ef85d5df02a8afefe2
-SIZE (navidrome/golangci-dupl-3e9179ac440a_GH0.tar.gz) = 18817
-SHA256 (navidrome/golangci-errcheck-ef45e06d44b6_GH0.tar.gz) = af7e397832da5eb444f7eac443035c20ae647e40168e89e5f69558b866e902cb
-SIZE (navidrome/golangci-errcheck-ef45e06d44b6_GH0.tar.gz) = 12102
-SHA256 (navidrome/golangci-go-misc-927a3d87b613_GH0.tar.gz) = afe282d37513ec99c43fbe42082ec63c99bb69c7e9cdd40dc23a94602aff44dc
-SIZE (navidrome/golangci-go-misc-927a3d87b613_GH0.tar.gz) = 149084
-SHA256 (navidrome/golangci-gocyclo-0a533e8fa43d_GH0.tar.gz) = b739f2dbd02176174dee5fbfe215a2ec35fb0e2ec39e85d5327c726daa725094
-SIZE (navidrome/golangci-gocyclo-0a533e8fa43d_GH0.tar.gz) = 3583
-SHA256 (navidrome/golangci-gofmt-244bba706f1a_GH0.tar.gz) = 57fdba40ca9468b006d6886d86e7be32edfc5f23bc176b6cb5b250b9b0a93331
-SIZE (navidrome/golangci-gofmt-244bba706f1a_GH0.tar.gz) = 23042
-SHA256 (navidrome/golangci-golangci-lint-v1.36.0_GH0.tar.gz) = 3476288341b2c6e2b5a426334ec982769a9ea5341e0336198fd33c7250b4928b
-SIZE (navidrome/golangci-golangci-lint-v1.36.0_GH0.tar.gz) = 1270880
-SHA256 (navidrome/golangci-ineffassign-42439a7714cc_GH0.tar.gz) = 14508dfb45de83b77fe8a6fc082328c6a641f514875c692c8c5b6265fe442c1f
-SIZE (navidrome/golangci-ineffassign-42439a7714cc_GH0.tar.gz) = 8824
-SHA256 (navidrome/golangci-lint-1-297bf364a8e0_GH0.tar.gz) = d3c7eb9a32c5953e436eeb31a73a3e7c43e72ace1f03e30514e31bba36ed7816
-SIZE (navidrome/golangci-lint-1-297bf364a8e0_GH0.tar.gz) = 31585
-SHA256 (navidrome/golangci-maligned-b1d89398deca_GH0.tar.gz) = d517ddfaddf53e1abf5f90ce7169004472fc0c653aa0b8c51066f5135ec5afbe
-SIZE (navidrome/golangci-maligned-b1d89398deca_GH0.tar.gz) = 3376
-SHA256 (navidrome/golangci-misspell-950f5d19e770_GH0.tar.gz) = 5c265268de96218bb80115e4463227859470ce7f01e47e6625eb158a802ebc00
-SIZE (navidrome/golangci-misspell-950f5d19e770_GH0.tar.gz) = 240268
-SHA256 (navidrome/golangci-prealloc-215b22d4de21_GH0.tar.gz) = ea1317414c239c301b7bd8b6219de2e90436b9a80191af44154b6a475b11a23b
-SIZE (navidrome/golangci-prealloc-215b22d4de21_GH0.tar.gz) = 9198
-SHA256 (navidrome/golangci-revgrep-d9c87f5ffaf0_GH0.tar.gz) = fa595c0b235058a2a62f8b7ba2b41ccec28c087d1ccb1d23b74ca51344bacc76
-SIZE (navidrome/golangci-revgrep-d9c87f5ffaf0_GH0.tar.gz) = 11455
-SHA256 (navidrome/golangci-unconvert-28b1c447d1f4_GH0.tar.gz) = 558fc4cbd54fe7a44b8510774004139a31ca3baa5929b34fb5024431658958f2
-SIZE (navidrome/golangci-unconvert-28b1c447d1f4_GH0.tar.gz) = 6782
-SHA256 (navidrome/google-go-cmp-v0.5.4_GH0.tar.gz) = 1e4a881d0bc4974107218d08834e2815f634a8bd9b76633fd30ace36d8a6c72b
-SIZE (navidrome/google-go-cmp-v0.5.4_GH0.tar.gz) = 101019
-SHA256 (navidrome/google-subcommands-v1.0.1_GH0.tar.gz) = 7ddd3eac82240ce08b75f9b03ff50483e121329517d9c20570207aaddfeff14f
-SIZE (navidrome/google-subcommands-v1.0.1_GH0.tar.gz) = 8927
-SHA256 (navidrome/google-uuid-v1.2.0_GH0.tar.gz) = 53ba896ce398435b3ba4f9375f5d4908b09c79daaa54ecd4e5000b7bef984380
-SIZE (navidrome/google-uuid-v1.2.0_GH0.tar.gz) = 14158
+SHA256 (navidrome/djherbis-atime-v1.1.0_GH0.tar.gz) = 30c7b31f47371a8f5af3d573d096200218cfcb39234306ce8ef999c7ba1fda2a
+SIZE (navidrome/djherbis-atime-v1.1.0_GH0.tar.gz) = 3140
+SHA256 (navidrome/djherbis-fscache-2909c950912d_GH0.tar.gz) = a76952a56e990d18eaadf5b545c8e886896eb8fc9826eb15936009b1cdfa68bc
+SIZE (navidrome/djherbis-fscache-2909c950912d_GH0.tar.gz) = 14463
+SHA256 (navidrome/djherbis-stream-v1.4.0_GH0.tar.gz) = df7087141af84d194e4fe7d087746da366a882e0f69573359d18f936a5d9e9bd
+SIZE (navidrome/djherbis-stream-v1.4.0_GH0.tar.gz) = 11959
+SHA256 (navidrome/djherbis-times-v1.6.0_GH0.tar.gz) = 4f36c92caaa3b12f91cefb3d2c3d512f964b2d85f798bdc6d5b7dabffeaa6942
+SIZE (navidrome/djherbis-times-v1.6.0_GH0.tar.gz) = 8875
+SHA256 (navidrome/dustin-go-humanize-v1.0.1_GH0.tar.gz) = ac3a0d8d0eef07c75d12eddce775a8e8306dfb9783a45312597c34ff643793d8
+SIZE (navidrome/dustin-go-humanize-v1.0.1_GH0.tar.gz) = 17692
+SHA256 (navidrome/faiface-beep-v1.1.0_GH0.tar.gz) = 98c432083ad473118cb50bf4b573b1d58bc7eedd46cc87dd61321228b3e8df24
+SIZE (navidrome/faiface-beep-v1.1.0_GH0.tar.gz) = 19838808
+SHA256 (navidrome/fatih-structs-v1.1.0_GH0.tar.gz) = 7479adacd8172f74968da4e1e14f1cc47c0bc98c48f44c09c497416dc8c9dfe4
+SIZE (navidrome/fatih-structs-v1.1.0_GH0.tar.gz) = 14444
+SHA256 (navidrome/fsnotify-fsnotify-v1.6.0_GH0.tar.gz) = 583b2b399709d04807c5c3185e7d4dc0543d532af91fdeb85eeaf803a0b7703b
+SIZE (navidrome/fsnotify-fsnotify-v1.6.0_GH0.tar.gz) = 46044
+SHA256 (navidrome/go-chi-chi-v5.0.10_GH0.tar.gz) = 60da5049ef0fbe21611b49602afacb8bd0dbf82699e18c02954b8215701fbdd9
+SIZE (navidrome/go-chi-chi-v5.0.10_GH0.tar.gz) = 83652
+SHA256 (navidrome/go-chi-cors-v1.2.1_GH0.tar.gz) = d3fa42948b4b365db19c9a6639090c6869b968fa8c5ecb9635dce1a9bf4cf8d8
+SIZE (navidrome/go-chi-cors-v1.2.1_GH0.tar.gz) = 8827
+SHA256 (navidrome/go-chi-httprate-v0.7.4_GH0.tar.gz) = f22883f28f5191741588b4cc50f8836251f607aca54dc4915da31e926997afeb
+SIZE (navidrome/go-chi-httprate-v0.7.4_GH0.tar.gz) = 6393
+SHA256 (navidrome/go-chi-jwtauth-v5.1.1_GH0.tar.gz) = 0e463c685a3c8096a051d70c231b72a89829e308a396972ba18fa60b22592ebf
+SIZE (navidrome/go-chi-jwtauth-v5.1.1_GH0.tar.gz) = 11495
+SHA256 (navidrome/go-ini-ini-v1.67.0_GH0.tar.gz) = 06ba51234140118d1b6064f1817aa89cc971c6e7ce04cb9d286e6660d89296c8
+SIZE (navidrome/go-ini-ini-v1.67.0_GH0.tar.gz) = 53531
+SHA256 (navidrome/go-logr-logr-v1.3.0_GH0.tar.gz) = a0ceb13b9611e19ebe3cba015e2e6dbbf3125be9cd7f1d975d4d334da688839a
+SIZE (navidrome/go-logr-logr-v1.3.0_GH0.tar.gz) = 51225
+SHA256 (navidrome/go-task-slim-sprig-52ccab3ef572_GH0.tar.gz) = 234ca4f44e68e77180301a1a6f3e0426769abefdcafb2ff80d3ffdb27512b173
+SIZE (navidrome/go-task-slim-sprig-52ccab3ef572_GH0.tar.gz) = 39958
+SHA256 (navidrome/go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5
+SIZE (navidrome/go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173
+SHA256 (navidrome/goccy-go-json-v0.10.2_GH0.tar.gz) = f112774324c23218e7f7ea5b266fa0d5827147de36aecd7ab4529ee6a2f8208d
+SIZE (navidrome/goccy-go-json-v0.10.2_GH0.tar.gz) = 397330
+SHA256 (navidrome/golang-crypto-v0.15.0_GH0.tar.gz) = 7cdea3e9567cfb711002588942cf4098b443f62ef1d765acc7ac4d75fddc2fd3
+SIZE (navidrome/golang-crypto-v0.15.0_GH0.tar.gz) = 1801439
+SHA256 (navidrome/golang-exp-a9213eeb770e_GH0.tar.gz) = 3d9df7dd70e5720726338f04c5d6c83bd8b7c76c86c59c200a58731ce4ba8b54
+SIZE (navidrome/golang-exp-a9213eeb770e_GH0.tar.gz) = 1556309
+SHA256 (navidrome/golang-image-v0.14.0_GH0.tar.gz) = 43decea0b71d6bbba9067f21a5d8c0408fec878a358436591bfe60970b8b2e64
+SIZE (navidrome/golang-image-v0.14.0_GH0.tar.gz) = 5092960
+SHA256 (navidrome/golang-mobile-e8d11dd0ba41_GH0.tar.gz) = 489fdd60948afd5be72815be2196d182ce6a77e6458af1025d384e940629adbe
+SIZE (navidrome/golang-mobile-e8d11dd0ba41_GH0.tar.gz) = 2050194
+SHA256 (navidrome/golang-mod-v0.14.0_GH0.tar.gz) = 39b576b1491cd8a092a9df5e4029b23608887e4670e7a2211c07ea786944953c
+SIZE (navidrome/golang-mod-v0.14.0_GH0.tar.gz) = 122036
+SHA256 (navidrome/golang-net-v0.18.0_GH0.tar.gz) = 23ce994aa250e1f0c8c905df78d660d62d5bfdf32b9bfd4668c9f8e354f85ea3
+SIZE (navidrome/golang-net-v0.18.0_GH0.tar.gz) = 1468569
+SHA256 (navidrome/golang-protobuf-v1.5.3_GH0.tar.gz) = 48457a6a9e8c78a7556ff5ff4a4c77d7df9bf70e882491ee0f3f1ff06db2bfaa
+SIZE (navidrome/golang-protobuf-v1.5.3_GH0.tar.gz) = 171822
+SHA256 (navidrome/golang-sync-v0.5.0_GH0.tar.gz) = db9d055e6b0b14aafcc29c2875dbbef8d90635eef871cd2a59f457386e171029
+SIZE (navidrome/golang-sync-v0.5.0_GH0.tar.gz) = 17573
+SHA256 (navidrome/golang-sys-v0.14.0_GH0.tar.gz) = e1866095878c2ccf02d0eceff29d2563f7af56b771e7b98248a63d6ab6465771
+SIZE (navidrome/golang-sys-v0.14.0_GH0.tar.gz) = 1441800
+SHA256 (navidrome/golang-text-v0.14.0_GH0.tar.gz) = c80295e75bda599d17ccf74038139b0957b9915fae4e60d8b46f89454ef171a0
+SIZE (navidrome/golang-text-v0.14.0_GH0.tar.gz) = 8974094
+SHA256 (navidrome/golang-tools-v0.15.0_GH0.tar.gz) = d66411c02e090311e553466950b4e2477d965c40761dd92b9879b3472284a6d1
+SIZE (navidrome/golang-tools-v0.15.0_GH0.tar.gz) = 3623574
+SHA256 (navidrome/google-go-cmp-v0.6.0_GH0.tar.gz) = d14f7d57b0f6d25771bee3d7d5d038f532539e71bfc934772b1c0467ab90fa86
+SIZE (navidrome/google-go-cmp-v0.6.0_GH0.tar.gz) = 104784
+SHA256 (navidrome/google-pprof-e72429f035bd_GH0.tar.gz) = 5215225c7c2b5d62cffaaedde67ba330738f0765f5d8b2ce90d56564f67f0c15
+SIZE (navidrome/google-pprof-e72429f035bd_GH0.tar.gz) = 2950488
+SHA256 (navidrome/google-uuid-v1.4.0_GH0.tar.gz) = d0a84f8e465446885550a291321bbf296f680242d53cd442dbb16287abcd777c
+SIZE (navidrome/google-uuid-v1.4.0_GH0.tar.gz) = 17962
SHA256 (navidrome/google-wire-v0.5.0_GH0.tar.gz) = 97f21d31d8a2b3b04feeee1467697c863919b62882ab2ec450ee282dab076812
SIZE (navidrome/google-wire-v0.5.0_GH0.tar.gz) = 88112
SHA256 (navidrome/gorilla-css-v1.0.0_GH0.tar.gz) = 9decf83063b85bcd5392f645fac322e986b5fc596b3e44c3be02ee5939106f4c
SIZE (navidrome/gorilla-css-v1.0.0_GH0.tar.gz) = 6443
-SHA256 (navidrome/gostaticanalysis-analysisutil-v0.4.1_GH0.tar.gz) = 460e9364b2045c3bfff2c2de0148f51f921a9a81c184beca346fd10827e6c0c0
-SIZE (navidrome/gostaticanalysis-analysisutil-v0.4.1_GH0.tar.gz) = 12576
-SHA256 (navidrome/gostaticanalysis-comment-v1.4.1_GH0.tar.gz) = 3bc6a5173277049acf574ec27b8dae9791502a3ad5d532bdb6dab72d5ac8303a
-SIZE (navidrome/gostaticanalysis-comment-v1.4.1_GH0.tar.gz) = 5288
+SHA256 (navidrome/hajimehoshi-go-mp3-v0.3.4_GH0.tar.gz) = 500aba371f0c19728c90076122958d7d669f1f12bb4dc21c325ef9aa9a267072
+SIZE (navidrome/hajimehoshi-go-mp3-v0.3.4_GH0.tar.gz) = 11655532
+SHA256 (navidrome/hajimehoshi-oto-v1.0.1_GH0.tar.gz) = 5afed1633f9665b74bbaab48167f4781e2212a59f198dbd88540bf77023adcad
+SIZE (navidrome/hajimehoshi-oto-v1.0.1_GH0.tar.gz) = 26618
+SHA256 (navidrome/hashicorp-errwrap-v1.0.0_GH0.tar.gz) = 26afc0e5895c6ce87c881c5c02c682ccc9a08174a9c27ca26d4a1e72dbf78128
+SIZE (navidrome/hashicorp-errwrap-v1.0.0_GH0.tar.gz) = 8346
+SHA256 (navidrome/hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 8d1bb3377310e8ffe4c7b5672c5de1eaed153402aebd15d6e5b9673c356a065f
+SIZE (navidrome/hashicorp-go-multierror-v1.1.1_GH0.tar.gz) = 13803
SHA256 (navidrome/hashicorp-golang-lru-v0.5.4_GH0.tar.gz) = d50c188af0cc8b22e7e4b79e9071694fa06428a9964b22d68dc997fa787a177a
SIZE (navidrome/hashicorp-golang-lru-v0.5.4_GH0.tar.gz) = 13428
SHA256 (navidrome/hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
SIZE (navidrome/hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
-SHA256 (navidrome/inconshreveable-mousetrap-v1.0.0_GH0.tar.gz) = 5edc7731c819c305623568e317aa253d342be3447def97f1fa9e10eb5ad819f6
-SIZE (navidrome/inconshreveable-mousetrap-v1.0.0_GH0.tar.gz) = 2290
-SHA256 (navidrome/jgautheron-goconst-ccae5bf973f3_GH0.tar.gz) = da9d196ee36f2baccc0d4b5db3ad4bdfab3fedd347c7e9618f750668b635ea85
-SIZE (navidrome/jgautheron-goconst-ccae5bf973f3_GH0.tar.gz) = 6073
-SHA256 (navidrome/jingyugao-rowserrcheck-72ab7603b68a_GH0.tar.gz) = 8d1d2f21507aeb628824719f18430aa30efbbc79b679dbe43c3c925c03833b72
-SIZE (navidrome/jingyugao-rowserrcheck-72ab7603b68a_GH0.tar.gz) = 6829
-SHA256 (navidrome/jirfag-go-printf-func-name-45db9963cdd3_GH0.tar.gz) = 8bc0556d24f5f85fac6032dc3677e6967d3bc9ecd2bb8a5d429345ac85be98d3
-SIZE (navidrome/jirfag-go-printf-func-name-45db9963cdd3_GH0.tar.gz) = 2572
-SHA256 (navidrome/karrick-godirwalk-v1.16.1_GH0.tar.gz) = a0416d5027f6ce66e6a22a9fb7d60ddc756b6e5e8f20398f3c3d43aa0092fd25
-SIZE (navidrome/karrick-godirwalk-v1.16.1_GH0.tar.gz) = 27116
-SHA256 (navidrome/kballard-go-shellquote-95032a82bc51_GH0.tar.gz) = dde336eb697f7f9c26cf6d1467f75b6cf559262c1b0b110d28fff29790f76bc5
-SIZE (navidrome/kballard-go-shellquote-95032a82bc51_GH0.tar.gz) = 4328
-SHA256 (navidrome/kennygrant-sanitize-6a0bfdde8629_GH0.tar.gz) = 8cb2fe88c9b142b89e485aacf295e3a3e24ffdf9eac8448362cb8a1a0bb1e10e
-SIZE (navidrome/kennygrant-sanitize-6a0bfdde8629_GH0.tar.gz) = 8692
-SHA256 (navidrome/kisielk-gotool-v1.0.0_GH0.tar.gz) = 3ee18c8a10449e1a826287aaa7686b175adccf27b20268aeb6c5bf810ccf3d3b
-SIZE (navidrome/kisielk-gotool-v1.0.0_GH0.tar.gz) = 9414
-SHA256 (navidrome/kr-pretty-v0.2.1_GH0.tar.gz) = 01db9d66df2482ad7ade0cf1e194c2d703de4c2ed0a0b1bd3758ab31c5e35ea5
-SIZE (navidrome/kr-pretty-v0.2.1_GH0.tar.gz) = 8761
+SHA256 (navidrome/icza-bitio-v1.0.0_GH0.tar.gz) = ddfddbfe0db08016316a3a09ec4acf76bb216d744047abb5625f1ad0c4ba761f
+SIZE (navidrome/icza-bitio-v1.0.0_GH0.tar.gz) = 11010
+SHA256 (navidrome/inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = ab23e7c5cbf42564eb0190ee051b7217c04fd2599d2f26e9ebe205db75963141
+SIZE (navidrome/inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = 5338
+SHA256 (navidrome/kr-pretty-v0.3.1_GH0.tar.gz) = e6fa7db2708320e66a1645bf6b234e524e73f4163ca0519b8608616e48f5d206
+SIZE (navidrome/kr-pretty-v0.3.1_GH0.tar.gz) = 10227
SHA256 (navidrome/kr-text-v0.2.0_GH0.tar.gz) = 59b5e4a7fd4097be87fad0edcaf342fdc971d0c8fdfb4f2d7424561471992e7c
SIZE (navidrome/kr-text-v0.2.0_GH0.tar.gz) = 8699
-SHA256 (navidrome/kulti-thelper-v0.2.1_GH0.tar.gz) = 887af851f5bb0296cb8bfc0b2ffc1db4c9406b0062692afbc20f5d7e23c6b1fa
-SIZE (navidrome/kulti-thelper-v0.2.1_GH0.tar.gz) = 9719
-SHA256 (navidrome/kunwardeep-paralleltest-v1.0.2_GH0.tar.gz) = 9551b500ae3a558256fef979a5339ed8fd917e226354c7f190cc09f30154b471
-SIZE (navidrome/kunwardeep-paralleltest-v1.0.2_GH0.tar.gz) = 4002756
-SHA256 (navidrome/kyoh86-exportloopref-v0.1.8_GH0.tar.gz) = de263858322aa1d17d09a0e6644cc3663581087bfde25da0507543061f3adc38
-SIZE (navidrome/kyoh86-exportloopref-v0.1.8_GH0.tar.gz) = 8995
SHA256 (navidrome/lann-builder-47ae307949d0_GH0.tar.gz) = 84932a9525df377fc28eb75501fb5385ecf0d08134ac434314578634f741d3b0
SIZE (navidrome/lann-builder-47ae307949d0_GH0.tar.gz) = 5811
SHA256 (navidrome/lann-ps-62de8c46ede0_GH0.tar.gz) = 368bddfa4195be5efc255aca58a473ffacfcebf4dca4281f7f109637446db215
SIZE (navidrome/lann-ps-62de8c46ede0_GH0.tar.gz) = 5527
-SHA256 (navidrome/leighmcculloch-gochecknoglobals-acfc0b28355a_GH0.tar.gz) = 2735a8681b068f7a4c0e885bbf9e1e7920c1f52106354281b365e7fa21e3b8c2
-SIZE (navidrome/leighmcculloch-gochecknoglobals-acfc0b28355a_GH0.tar.gz) = 6487
-SHA256 (navidrome/lib-pq-v1.9.0_GH0.tar.gz) = 9c60e717d83c717de9eae5b71497e546a4c3a384179b2f776fd86e01b8545637
-SIZE (navidrome/lib-pq-v1.9.0_GH0.tar.gz) = 103393
-SHA256 (navidrome/magiconair-properties-v1.8.1_GH0.tar.gz) = 4449df3d2be86608bfc997228f66f1cff57bf620cc5bf9ba44339c7e4c5612dd
-SIZE (navidrome/magiconair-properties-v1.8.1_GH0.tar.gz) = 29735
-SHA256 (navidrome/maratori-testpackage-v1.0.1_GH0.tar.gz) = 85d28cc3da935b038837c28a3beb954f78c7107b86fe2d157c1f0d58a61cea0b
-SIZE (navidrome/maratori-testpackage-v1.0.1_GH0.tar.gz) = 6629
-SHA256 (navidrome/matoous-godox-5d6d842e92eb_GH0.tar.gz) = 69104d52555749bef6474feee4893fb15598b5571bd45445284c09914b1310f6
-SIZE (navidrome/matoous-godox-5d6d842e92eb_GH0.tar.gz) = 7415
-SHA256 (navidrome/mattn-go-colorable-v0.1.8_GH0.tar.gz) = 1027954f9abbe06b6e117e3047af70204dd0eb4f8c27fcd459fb2574b279755f
-SIZE (navidrome/mattn-go-colorable-v0.1.8_GH0.tar.gz) = 9571
-SHA256 (navidrome/mattn-go-isatty-v0.0.12_GH0.tar.gz) = addbdc341d7685ed4cc8d2d8a8fd2bd9b784bde00d0ea99fb251039fc10c611c
-SIZE (navidrome/mattn-go-isatty-v0.0.12_GH0.tar.gz) = 4548
-SHA256 (navidrome/mattn-go-sqlite3-v2.0.3_GH0.tar.gz) = ed015860c9b3e701d8cce7dcb0bcb2e2f53071718334465b10abb696f7de0e58
-SIZE (navidrome/mattn-go-sqlite3-v2.0.3_GH0.tar.gz) = 2335418
-SHA256 (navidrome/mbilski-exhaustivestruct-v1.1.0_GH0.tar.gz) = 4a8390515389483e6bdffadf8d3d05acf98e642fe1b2abc781162a00f2bd5c29
-SIZE (navidrome/mbilski-exhaustivestruct-v1.1.0_GH0.tar.gz) = 4609
-SHA256 (navidrome/microcosm-cc-bluemonday-v1.0.4_GH0.tar.gz) = 0640b89597a9c733dc1bf290c48b4e29fd2d8f7a7cab982930cc0f00d7ddeb74
-SIZE (navidrome/microcosm-cc-bluemonday-v1.0.4_GH0.tar.gz) = 160297
-SHA256 (navidrome/mitchellh-go-homedir-v1.1.0_GH0.tar.gz) = 646671c73a84a8dfb4a5a76b80c7b63549ffefa906524d45077301bc7da76600
-SIZE (navidrome/mitchellh-go-homedir-v1.1.0_GH0.tar.gz) = 3362
-SHA256 (navidrome/mitchellh-mapstructure-v1.3.2_GH0.tar.gz) = 08bd503588e7c45b209af16c517352dec6cc89aa4e6dd7773d1aec85c11f2ba8
-SIZE (navidrome/mitchellh-mapstructure-v1.3.2_GH0.tar.gz) = 25319
-SHA256 (navidrome/moricho-tparallel-v0.2.1_GH0.tar.gz) = c869b73f01178b2f2fb58a81f3a03d716f4cb16648d24357e6855d327c3eb7d9
-SIZE (navidrome/moricho-tparallel-v0.2.1_GH0.tar.gz) = 8071
-SHA256 (navidrome/mvdan-gofumpt-v0.1.0_GH0.tar.gz) = 802c92d3df222c9b266d785305107c58a26ea186c4dbb5989b0db97b9bce0367
-SIZE (navidrome/mvdan-gofumpt-v0.1.0_GH0.tar.gz) = 140649
-SHA256 (navidrome/mvdan-interfacer-c20040233aed_GH0.tar.gz) = d7f5ad906997b12f4b70f8c1f1ccb8935397e5c07a16b2df52717360e7f796eb
-SIZE (navidrome/mvdan-interfacer-c20040233aed_GH0.tar.gz) = 13979
-SHA256 (navidrome/mvdan-lint-adc824a0674b_GH0.tar.gz) = 6f90750f25acee3aa855757ea8a46ee8694e9d18d778712a61157948a9a98fff
-SIZE (navidrome/mvdan-lint-adc824a0674b_GH0.tar.gz) = 2641
-SHA256 (navidrome/mvdan-unparam-b37ab49443f7_GH0.tar.gz) = 56b0f48c09596acab4ea798a1427b61cde3bf8b13796771bf650a74b5ab97748
-SIZE (navidrome/mvdan-unparam-b37ab49443f7_GH0.tar.gz) = 18658
-SHA256 (navidrome/nakabonne-nestif-v0.3.0_GH0.tar.gz) = ac06d2f816e637a092b00431905a9e9ee59e47d24372015eed8055eef2edc3dd
-SIZE (navidrome/nakabonne-nestif-v0.3.0_GH0.tar.gz) = 10011
-SHA256 (navidrome/nbutton23-zxcvbn-go-e56b841a3c88_GH0.tar.gz) = 5d3f24f8dfe24c31e4e7425ef966ab535e5ce289c121bed485b7cc0377372c71
-SIZE (navidrome/nbutton23-zxcvbn-go-e56b841a3c88_GH0.tar.gz) = 881837
-SHA256 (navidrome/nishanths-exhaustive-v0.1.0_GH0.tar.gz) = f649d65f117d0ae1ef541be24bda3e2f303229da8d1ed0e4b7cc1f31245937bd
-SIZE (navidrome/nishanths-exhaustive-v0.1.0_GH0.tar.gz) = 15918
-SHA256 (navidrome/nishanths-predeclared-v0.2.1_GH0.tar.gz) = 57a6942a8d55406c3b0ce91653d22fbc4c84158a96194fcdd5030ecf290a7eb4
-SIZE (navidrome/nishanths-predeclared-v0.2.1_GH0.tar.gz) = 11719
-SHA256 (navidrome/nxadm-tail-v1.4.4_GH0.tar.gz) = 08a132336f9043bdb364f2c50552f3105263108b97319f3b69fbcccfacbef76b
-SIZE (navidrome/nxadm-tail-v1.4.4_GH0.tar.gz) = 1238275
-SHA256 (navidrome/ogier-pflag-v0.0.1_GH0.tar.gz) = 7c6ece58dc487a58a4892b69f2e93cc6357040a1e19ea50f244dec4cd396a782
-SIZE (navidrome/ogier-pflag-v0.0.1_GH0.tar.gz) = 15176
-SHA256 (navidrome/oklog-run-v1.1.0_GH0.tar.gz) = 00c8e2d2071fca7db49027aaaf1e846fa863c4d8a5be33b49898d828ba88cdb5
-SIZE (navidrome/oklog-run-v1.1.0_GH0.tar.gz) = 7991
-SHA256 (navidrome/onsi-ginkgo-v1.15.0_GH0.tar.gz) = 5e94aa7b4305c5fd753ad82021bf4a884cdc7344d6f9b848ca742144267f51ee
-SIZE (navidrome/onsi-ginkgo-v1.15.0_GH0.tar.gz) = 158395
-SHA256 (navidrome/onsi-gomega-v1.10.5_GH0.tar.gz) = fe1433468aed5849c29112e74128a859d88a9f8d741448acc946b94848edb6f3
-SIZE (navidrome/onsi-gomega-v1.10.5_GH0.tar.gz) = 99860
-SHA256 (navidrome/pelletier-go-toml-v1.8.0_GH0.tar.gz) = 535241212044f52bc40c8eb08d15342c75cef8e6c887ceb1e18d25aad4ab3633
-SIZE (navidrome/pelletier-go-toml-v1.8.0_GH0.tar.gz) = 96286
-SHA256 (navidrome/phayes-checkstyle-bfd46e6a821d_GH0.tar.gz) = ead6e6a5ffe113699d8d157f774a74d3d95bf116369cf3057ecd3f269a817a94
-SIZE (navidrome/phayes-checkstyle-bfd46e6a821d_GH0.tar.gz) = 3879
+SHA256 (navidrome/lestrrat-go-blackmagic-v1.0.2_GH0.tar.gz) = 213493da84c672867385cc05dc4ebce3c4c16f5b0e376986dbddd3274a8bc686
+SIZE (navidrome/lestrrat-go-blackmagic-v1.0.2_GH0.tar.gz) = 3934
+SHA256 (navidrome/lestrrat-go-httpcc-v1.0.1_GH0.tar.gz) = 40740483a7ff2070dd7957be7513498d7e4a080bea2128159fc3f160803dae41
+SIZE (navidrome/lestrrat-go-httpcc-v1.0.1_GH0.tar.gz) = 6153
+SHA256 (navidrome/lestrrat-go-httprc-v1.0.4_GH0.tar.gz) = f1ec6d40dd7fcff9fa201980bc7bee22860bf209cdccfa07cab43f0c6a083364
+SIZE (navidrome/lestrrat-go-httprc-v1.0.4_GH0.tar.gz) = 16408
+SHA256 (navidrome/lestrrat-go-iter-v1.0.2_GH0.tar.gz) = 7f9469449fb1f267f7284ca3e8da7b957153dd1963bf5b6def4a71aec1da0770
+SIZE (navidrome/lestrrat-go-iter-v1.0.2_GH0.tar.gz) = 6469
+SHA256 (navidrome/lestrrat-go-jwx-v2.0.17_GH0.tar.gz) = fe1c893538bf64cd260dba22f3dd93addc07fa4e4c4246c7bfab36c4a709db1c
+SIZE (navidrome/lestrrat-go-jwx-v2.0.17_GH0.tar.gz) = 433057
+SHA256 (navidrome/lestrrat-go-option-v1.0.1_GH0.tar.gz) = 2cd876f51cb7b721b184a26950ed6624c5e287fdb41ddad473284339aa0ee2cc
+SIZE (navidrome/lestrrat-go-option-v1.0.1_GH0.tar.gz) = 10576
+SHA256 (navidrome/magiconair-properties-v1.8.7_GH0.tar.gz) = 09e950df1970975400edc7f6c2f9e3edace4e1ea49f823006387d130fb0f4f03
+SIZE (navidrome/magiconair-properties-v1.8.7_GH0.tar.gz) = 31425
+SHA256 (navidrome/matoous-go-nanoid-v2.0.0_GH0.tar.gz) = 1098fa52a572b8e068afdc5659b5b9a54d81bbb7868be7ab8dd447ac50ca25da
+SIZE (navidrome/matoous-go-nanoid-v2.0.0_GH0.tar.gz) = 5485
+SHA256 (navidrome/mattn-go-sqlite3-v1.14.18_GH0.tar.gz) = e6896113415700af5e66fcfa27256b9e570a3b24087f064803ae19d04075d7ce
+SIZE (navidrome/mattn-go-sqlite3-v1.14.18_GH0.tar.gz) = 2573147
+SHA256 (navidrome/mattn-go-zglob-v0.0.3_GH0.tar.gz) = d9d637847ffd6a43a31ccb4c6e250fa0d3a2b81acb8c72cb05bdd6c444f7f800
+SIZE (navidrome/mattn-go-zglob-v0.0.3_GH0.tar.gz) = 8490
+SHA256 (navidrome/matttproud-golang_protobuf_extensions-v1.0.4_GH0.tar.gz) = b64cab9cb9ae8b9162c7197aeedc6ed617b4c93e4f5674c3ec6cd2e9b0d9d09c
+SIZE (navidrome/matttproud-golang_protobuf_extensions-v1.0.4_GH0.tar.gz) = 37510
+SHA256 (navidrome/mewkiz-flac-v1.0.7_GH0.tar.gz) = c9b4b5f56b9da220814e616c154774f76b2eef1ad3f6897b058880df5fdc9dd4
+SIZE (navidrome/mewkiz-flac-v1.0.7_GH0.tar.gz) = 5957124
+SHA256 (navidrome/mewkiz-pkg-518ade7978e2_GH0.tar.gz) = cac33019a3d109bd68bf1342462749fe4e13c18e72241b580a32d8351f2bdb65
+SIZE (navidrome/mewkiz-pkg-518ade7978e2_GH0.tar.gz) = 19573
+SHA256 (navidrome/microcosm-cc-bluemonday-v1.0.26_GH0.tar.gz) = f267d586b4df8e09ad733b4b62476f044173a9eb480118f1036ed874f2a69dc1
+SIZE (navidrome/microcosm-cc-bluemonday-v1.0.26_GH0.tar.gz) = 174738
+SHA256 (navidrome/mileusna-useragent-v1.3.4_GH0.tar.gz) = 3411240a5874f42969f555a136646646975adb75e3d3023b9400a0a2e5516363
+SIZE (navidrome/mileusna-useragent-v1.3.4_GH0.tar.gz) = 12028
+SHA256 (navidrome/mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 81106cbac93000812c194b4a2069dd32913ec18819b1e99e8436595ce4939413
+SIZE (navidrome/mitchellh-mapstructure-v1.5.0_GH0.tar.gz) = 30123
+SHA256 (navidrome/natefinch-npipe-c1b8fa8bdcce_GH0.tar.gz) = 6e3de30412671aba8f89008b2411126378a4dd2bddff095312d7a88a1670d3ab
+SIZE (navidrome/natefinch-npipe-c1b8fa8bdcce_GH0.tar.gz) = 12421
+SHA256 (navidrome/onsi-ginkgo-v1.16.5_GH0.tar.gz) = 0380c81321b764b75e76a7aa8fc8ab1ab361232a88d5b6124ef8b9a9e75d5287
+SIZE (navidrome/onsi-ginkgo-v1.16.5_GH0.tar.gz) = 164965
+SHA256 (navidrome/onsi-ginkgo-v2.13.1_GH0.tar.gz) = 9fdfc812030e186882a9763d58065bea053fcc34891b59c6a929e0187a235bf4
+SIZE (navidrome/onsi-ginkgo-v2.13.1_GH0.tar.gz) = 628580
+SHA256 (navidrome/onsi-gomega-v1.30.0_GH0.tar.gz) = fd60dbfac362dd0207fc202152044f6acc9e259c1120173a047f9dc8d7a7fad4
+SIZE (navidrome/onsi-gomega-v1.30.0_GH0.tar.gz) = 315792
+SHA256 (navidrome/pelletier-go-toml-v2.0.6_GH0.tar.gz) = 90c77524503d123f3a6b64b7dce02d7d94769bd9e05e024b622f63533b00dc5f
+SIZE (navidrome/pelletier-go-toml-v2.0.6_GH0.tar.gz) = 891667
SHA256 (navidrome/pkg-errors-v0.9.1_GH0.tar.gz) = 56bfd893023daa498508bfe161de1be83299fcf15376035e7df79cbd7d6fa608
SIZE (navidrome/pkg-errors-v0.9.1_GH0.tar.gz) = 13415
SHA256 (navidrome/pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda
SIZE (navidrome/pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398
-SHA256 (navidrome/polyfloyd-go-errorlint-19bd8db6546f_GH0.tar.gz) = 21c42215af587ffd99ddedf05b4368b5b0a4611a04adb3c104d3e7f3d97f2704
-SIZE (navidrome/polyfloyd-go-errorlint-19bd8db6546f_GH0.tar.gz) = 5841
-SHA256 (navidrome/pressly-goose-v2.7.0_GH0.tar.gz) = ce4115e3184d0929a90c5e4215d303aa5243e8d49f8576154396098f0c6536fd
-SIZE (navidrome/pressly-goose-v2.7.0_GH0.tar.gz) = 6320070
-SHA256 (navidrome/protocolbuffers-protobuf-go-v1.25.0_GH0.tar.gz) = c1c04d6e36c0d0fb6f3374197f9025d7e6df13f38a974098be020617c00fbaf2
-SIZE (navidrome/protocolbuffers-protobuf-go-v1.25.0_GH0.tar.gz) = 1258804
-SHA256 (navidrome/quasilyte-go-ruleguard-408e96760278_GH0.tar.gz) = f4e9e6ca219db6340e33813f7721a1f6a8d4c5214b6d242c301ee8bc458d36ac
-SIZE (navidrome/quasilyte-go-ruleguard-408e96760278_GH0.tar.gz) = 188648
-SHA256 (navidrome/quasilyte-regex-30656e2c4a95_GH0.tar.gz) = e2177c6931f513fce13f8e042ec42234b2db7906288f984ec1a483add23e6e3d
-SIZE (navidrome/quasilyte-regex-30656e2c4a95_GH0.tar.gz) = 17497
-SHA256 (navidrome/ryancurrah-gomodguard-v1.2.0_GH0.tar.gz) = b2c114e8863bbaff221feb8d1101ed7d5456402c29f636fbbc08463e0381f7a8
-SIZE (navidrome/ryancurrah-gomodguard-v1.2.0_GH0.tar.gz) = 13996
-SHA256 (navidrome/ryanrolds-sqlclosecheck-v0.3.0_GH0.tar.gz) = 6c591fe24a5bbe5f2d8b8a42d855966640b0e0acc0e641dbce5ec9784e0720d0
-SIZE (navidrome/ryanrolds-sqlclosecheck-v0.3.0_GH0.tar.gz) = 7659
-SHA256 (navidrome/securego-gosec-v2.6.1_GH0.tar.gz) = 2b86e4b9ecaf5c8ef61949c4091d43cf7f20e96fd411d08d72189ec20038a7c8
-SIZE (navidrome/securego-gosec-v2.6.1_GH0.tar.gz) = 83168
-SHA256 (navidrome/shazow-go-diff-b6b7b6733b8c_GH0.tar.gz) = d98aea135da22d3df806b7d39e9259fe1b8fc95e3e44dbce1b4a9ebc7d453c42
-SIZE (navidrome/shazow-go-diff-b6b7b6733b8c_GH0.tar.gz) = 4887
-SHA256 (navidrome/sirupsen-logrus-v1.7.0_GH0.tar.gz) = a7baaa1c646441d002f3867b5998b6b45b629ecfad317d468a981e23e0c9c6ca
-SIZE (navidrome/sirupsen-logrus-v1.7.0_GH0.tar.gz) = 46392
-SHA256 (navidrome/sonatard-noctx-v0.0.1_GH0.tar.gz) = f9b8c9cbc0c8ee007d15d9d9c4e0111119d37ad78917a6ad35aff07a64aa3a44
-SIZE (navidrome/sonatard-noctx-v0.0.1_GH0.tar.gz) = 6873
-SHA256 (navidrome/sourcegraph-go-diff-v0.6.1_GH0.tar.gz) = 37bfa55516d98ac1112ad614a05f196182085933bb15ff5f9060130b16c15bf8
-SIZE (navidrome/sourcegraph-go-diff-v0.6.1_GH0.tar.gz) = 63366
-SHA256 (navidrome/spf13-afero-v1.3.1_GH0.tar.gz) = 026337edf26fdc5929dd975498a89e6145773d24d7d927ded9e2b4d424abf819
-SIZE (navidrome/spf13-afero-v1.3.1_GH0.tar.gz) = 52631
-SHA256 (navidrome/spf13-cast-v1.3.1_GH0.tar.gz) = 4fa8d06903b490ae6f1316e55c5446d5648eea2b450671ebc54d4bbe79bc46b1
-SIZE (navidrome/spf13-cast-v1.3.1_GH0.tar.gz) = 11102
-SHA256 (navidrome/spf13-cobra-v1.1.1_GH0.tar.gz) = 9bf1769caad54bc5a8bd738ddbcceeb57a19fc3158af30e44b3bbb6b8e63ab6d
-SIZE (navidrome/spf13-cobra-v1.1.1_GH0.tar.gz) = 143402
+SHA256 (navidrome/pressly-goose-v3.11.2_GH0.tar.gz) = 5122148b9d482f5ec5811d1e98489150582e8db405cc92d2132d54c024a83a28
+SIZE (navidrome/pressly-goose-v3.11.2_GH0.tar.gz) = 230932
+SHA256 (navidrome/prometheus-client_golang-v1.17.0_GH0.tar.gz) = 258222e5193b551ab8adeb2e02c415038795839cb4fa5d7d0181377017d19d3a
+SIZE (navidrome/prometheus-client_golang-v1.17.0_GH0.tar.gz) = 1077705
+SHA256 (navidrome/prometheus-client_model-9a2bf3000d16_GH0.tar.gz) = dc674f431503b9dc721247ec38e81be61d3148d6f4494598b645d6a38188b8cb
+SIZE (navidrome/prometheus-client_model-9a2bf3000d16_GH0.tar.gz) = 16937
+SHA256 (navidrome/prometheus-common-v0.44.0_GH0.tar.gz) = 0cc74ab6d743fe83e28f11e2f9083686e6f57f3e7552611b80b7ca2a1cd1517d
+SIZE (navidrome/prometheus-common-v0.44.0_GH0.tar.gz) = 133037
+SHA256 (navidrome/prometheus-procfs-v0.11.1_GH0.tar.gz) = 8cdf6eb78014556e439c51623e3db06a765287ba21970602d5541328065cfb1e
+SIZE (navidrome/prometheus-procfs-v0.11.1_GH0.tar.gz) = 229537
+SHA256 (navidrome/protocolbuffers-protobuf-go-v1.31.0_GH0.tar.gz) = 96d670e9bae145ff2dd0f48a3693edb1f45ec3ee56d5f50a5f01cc7e060314bc
+SIZE (navidrome/protocolbuffers-protobuf-go-v1.31.0_GH0.tar.gz) = 1311732
+SHA256 (navidrome/robfig-cron-v3.0.1_GH0.tar.gz) = ef97328622b5eac7adfb1aa47ddab7b3f68271b9a9b76e5bc07bf2ad65bb051a
+SIZE (navidrome/robfig-cron-v3.0.1_GH0.tar.gz) = 25639
+SHA256 (navidrome/rogpeppe-go-internal-v1.10.0_GH0.tar.gz) = 9d464d9a1720ff3b805fe36e1a16be2d249c5d828b989f20b2e01a880341a802
+SIZE (navidrome/rogpeppe-go-internal-v1.10.0_GH0.tar.gz) = 139226
+SHA256 (navidrome/segmentio-asm-v1.2.0_GH0.tar.gz) = e4b74487709aef00ff9df241e577d66ae97056ad20d602e5a6fc03b35039156d
+SIZE (navidrome/segmentio-asm-v1.2.0_GH0.tar.gz) = 92462
+SHA256 (navidrome/shiena-ansicolor-c7312218db18_GH0.tar.gz) = ef6774e819aa23cdbb09b96e4c3a57f83bec39fafd2ac38cd50a707a576d9adb
+SIZE (navidrome/shiena-ansicolor-c7312218db18_GH0.tar.gz) = 7337
+SHA256 (navidrome/sirupsen-logrus-v1.9.3_GH0.tar.gz) = cfa48a647a28c1f12fb6a9b672bc4d88b6407ff05aedcf23ce939d342646acce
+SIZE (navidrome/sirupsen-logrus-v1.9.3_GH0.tar.gz) = 50320
+SHA256 (navidrome/spf13-afero-v1.9.3_GH0.tar.gz) = 3674636a77f5c7c50de561e2b0e9237b3c7fee902ee66cea4adfb5a83da44891
+SIZE (navidrome/spf13-afero-v1.9.3_GH0.tar.gz) = 93759
+SHA256 (navidrome/spf13-cast-v1.5.0_GH0.tar.gz) = b5bf72b468a9a9a0509b7d87c984a9b2e653c9b87e9842da385f81c43bd05b9a
+SIZE (navidrome/spf13-cast-v1.5.0_GH0.tar.gz) = 15287
+SHA256 (navidrome/spf13-cobra-v1.8.0_GH0.tar.gz) = 66605a6a2297d819e3f92fa38fa6d7771fb8a4adb00e9aa7cb34021bd8389602
+SIZE (navidrome/spf13-cobra-v1.8.0_GH0.tar.gz) = 189706
SHA256 (navidrome/spf13-jwalterweatherman-v1.1.0_GH0.tar.gz) = 4fd850a792c5738954c4801cf549d8d0bf53edd17139cd39d179aa5abf7ec68d
SIZE (navidrome/spf13-jwalterweatherman-v1.1.0_GH0.tar.gz) = 6871
SHA256 (navidrome/spf13-pflag-v1.0.5_GH0.tar.gz) = 9a2cae1f8e8ab0d2cc8ebe468e871af28d9ac0962cf0520999e3ba85f0c7b808
SIZE (navidrome/spf13-pflag-v1.0.5_GH0.tar.gz) = 50796
-SHA256 (navidrome/spf13-viper-v1.7.1_GH0.tar.gz) = de85215b50e9fbb2cdf63b0aa9df826a866dff8f718ba2dc3f5866e98d5bd39a
-SIZE (navidrome/spf13-viper-v1.7.1_GH0.tar.gz) = 82641
-SHA256 (navidrome/ssgreg-nlreturn-v2.1.0_GH0.tar.gz) = 641676ca9ea102bc5223af1fbc06d0bd8ae99c452fa28f81b79b315201fdf146
-SIZE (navidrome/ssgreg-nlreturn-v2.1.0_GH0.tar.gz) = 4658
-SHA256 (navidrome/stretchr-objx-v0.1.1_GH0.tar.gz) = 3bb0a581651f4c040435a70167ab60b723c5af04a5b0326af3c8b01ccc6fdcf0
-SIZE (navidrome/stretchr-objx-v0.1.1_GH0.tar.gz) = 75768
-SHA256 (navidrome/stretchr-testify-v1.7.0_GH0.tar.gz) = 560c0984072cb436b17bbce5699b205d5aa2beb58ef7a94530d7724b5739a8d6
-SIZE (navidrome/stretchr-testify-v1.7.0_GH0.tar.gz) = 91073
-SHA256 (navidrome/subosito-gotenv-v1.2.0_GH0.tar.gz) = 5f6826992c11981018c77377f33dbc56d0be932e0d38a2f51e795c99725e7ba5
-SIZE (navidrome/subosito-gotenv-v1.2.0_GH0.tar.gz) = 7359
-SHA256 (navidrome/tdakkota-asciicheck-d7f85be797a2_GH0.tar.gz) = 0795be1c1973cd381679b96df33e6767ceae641525cf9a7231ce7ac9491fb21c
-SIZE (navidrome/tdakkota-asciicheck-d7f85be797a2_GH0.tar.gz) = 3627
-SHA256 (navidrome/tetafro-godot-v1.4.3_GH0.tar.gz) = 5d9510ba7202a60a9687f841b48d14ed5070b9453566b3e5d51adbe5896c95ee
-SIZE (navidrome/tetafro-godot-v1.4.3_GH0.tar.gz) = 14957
-SHA256 (navidrome/timakin-bodyclose-f7f2e9bca95e_GH0.tar.gz) = 4f3433c74632c8f2dddf53d8913f05a878097b8bab88946bf91cf606b5ee74c5
-SIZE (navidrome/timakin-bodyclose-f7f2e9bca95e_GH0.tar.gz) = 6618
-SHA256 (navidrome/tomarrell-wrapcheck-df9e8bcb914d_GH0.tar.gz) = e05581ff401efd3b486a3e98212fc0593621585895631050ee8efe0059ab1ca6
-SIZE (navidrome/tomarrell-wrapcheck-df9e8bcb914d_GH0.tar.gz) = 9160
-SHA256 (navidrome/tommy-muehle-go-mnd-v2.3.1_GH0.tar.gz) = 61a51971cf2301cfb5e91d56badfc14e08f904d32971f7e4b99f293d0c0700d8
-SIZE (navidrome/tommy-muehle-go-mnd-v2.3.1_GH0.tar.gz) = 1407628
-SHA256 (navidrome/ultraware-funlen-v0.0.3_GH0.tar.gz) = d28f408972a0be299c3d82648fd3631d163cf1eeb94630fb677d3b2a945be862
-SIZE (navidrome/ultraware-funlen-v0.0.3_GH0.tar.gz) = 2019
-SHA256 (navidrome/ultraware-whitespace-v0.0.4_GH0.tar.gz) = 1e08c7f134cc54b76997a15e19f70d2f83e13cbb6f9184c2c14b597b307bcbbf
-SIZE (navidrome/ultraware-whitespace-v0.0.4_GH0.tar.gz) = 2361
-SHA256 (navidrome/unrolled-secure-v1.0.8_GH0.tar.gz) = 3a60fbf23078c8e16665e342e9edd9f8fe4a32b17e474bba385949ca48ca669d
-SIZE (navidrome/unrolled-secure-v1.0.8_GH0.tar.gz) = 13471
-SHA256 (navidrome/uudashr-gocognit-v1.0.1_GH0.tar.gz) = dc69a43d6ecd6f7361bec54a65db5b0a0fc5480143abed0c9a281d25bfb696ae
-SIZE (navidrome/uudashr-gocognit-v1.0.1_GH0.tar.gz) = 5110
-SHA256 (navidrome/wader-tag-d072771f6a51_GH0.tar.gz) = b7c9aa1f930143d056e42eb644dcbe1fa7d020b5259f5802bcc733af66d9e15c
-SIZE (navidrome/wader-tag-d072771f6a51_GH0.tar.gz) = 1798685
+SHA256 (navidrome/spf13-viper-v1.15.0_GH0.tar.gz) = bda7c50e3619ac0524425cfd1b797a1c260fd860147eddeea138437d95d83add
+SIZE (navidrome/spf13-viper-v1.15.0_GH0.tar.gz) = 131720
+SHA256 (navidrome/stretchr-objx-v0.5.0_GH0.tar.gz) = 751d86bfc628ac94df05749de3ecf09cb63310ada3d384f50b6a30f0f161bd42
+SIZE (navidrome/stretchr-objx-v0.5.0_GH0.tar.gz) = 165516
+SHA256 (navidrome/stretchr-testify-v1.8.4_GH0.tar.gz) = 0d3e82b04a05d9428a2a2aec8776bd0a07f14f5d1b4fa0a3676526ca8259fd62
+SIZE (navidrome/stretchr-testify-v1.8.4_GH0.tar.gz) = 104427
+SHA256 (navidrome/subosito-gotenv-v1.4.2_GH0.tar.gz) = b7bafced91bfb64f2f80a78b7c343f0a16099aa0a4049ea6e4d0fa5d62be1741
+SIZE (navidrome/subosito-gotenv-v1.4.2_GH0.tar.gz) = 10641
+SHA256 (navidrome/uber-go-goleak-v1.1.11_GH0.tar.gz) = 9b3a678310e765153608d23b3b4f8db989a74ec974b74cf6680d329b28a644c2
+SIZE (navidrome/uber-go-goleak-v1.1.11_GH0.tar.gz) = 13420
+SHA256 (navidrome/unrolled-secure-v1.13.0_GH0.tar.gz) = 043f71a104348393cfe8d9f77962cb60605786c916b6e22c78e5dee41a02403d
+SIZE (navidrome/unrolled-secure-v1.13.0_GH0.tar.gz) = 19161
+SHA256 (navidrome/valyala-bytebufferpool-v1.0.0_GH0.tar.gz) = 089013e3429ebe7fd2bc3527f003bf3f3f639891e5d8ba6a56010e3671465e1f
+SIZE (navidrome/valyala-bytebufferpool-v1.0.0_GH0.tar.gz) = 5025
SHA256 (navidrome/xrash-smetrics-89a2a8a1fb0b_GH0.tar.gz) = eb61a33f8ec4d965c75574ff3c22a9a5fd26fe69ead8bf7b7381a786df4b4859
SIZE (navidrome/xrash-smetrics-89a2a8a1fb0b_GH0.tar.gz) = 1823869
-SHA256 (navidrome/ziutek-mymysql-v1.5.4_GH0.tar.gz) = 111b478d6190786ee098af3f365be0e33ed59e30ec4a2a9066b714515089f062
-SIZE (navidrome/ziutek-mymysql-v1.5.4_GH0.tar.gz) = 61564
diff --git a/multimedia/navidrome/files/config.toml.sample.in b/multimedia/navidrome/files/config.toml.sample.in
index 9cadbe155d1f..29fdfc953dff 100644
--- a/multimedia/navidrome/files/config.toml.sample.in
+++ b/multimedia/navidrome/files/config.toml.sample.in
@@ -5,7 +5,7 @@
# Folder where your music library is stored. Can be read-only
MusicFolder = "%%DATADIR%%/music"
-# Folder to store application data (DB, cache…).
+# Folder to store application data (database, cache, etc.)
#DataFolder = "/var/db/navidrome"
# How frequently to scan for changes in your music library. Set it to 0 to disable scans
#ScanInterval = "1m"
@@ -61,7 +61,7 @@ Address = "127.0.0.1"
#LastFM.ApiKey = ""
# Last.FM Shared Secret
#LastFM.Secret = ""
-# Two letter-code for language to be used to retrieve biographies from Last.FM
+# Two letter-code for language to be used to retrieve biographies from Last.FM
#LastFM.Language = "en"
# Spotify Client ID
@@ -69,5 +69,5 @@ Address = "127.0.0.1"
# Spotify Client Secret
#Spotify.Secret = ""
-# Use Gravatar images as the user profile image. Needs the user’s email to be filled. Defaule: false
+# Use Gravatar images as the user profile image. Needs the user's email to be filled. Default: false
EnableGravatar = true
diff --git a/multimedia/navidrome/pkg-descr b/multimedia/navidrome/pkg-descr
index 9fbe16dc8657..65b54ec8a19c 100644
--- a/multimedia/navidrome/pkg-descr
+++ b/multimedia/navidrome/pkg-descr
@@ -3,5 +3,3 @@ Modern Music Server and Streamer compatible with Subsonic/Airsonic.
Navidrome is an open source web-based music collection server and streamer.
It gives you freedom to listen to your music collection from any browser or
mobile device. It's like your personal Spotify!
-
-WWW: https://www.navidrome.org/
diff --git a/multimedia/neolink/Makefile b/multimedia/neolink/Makefile
index 92282994f4c8..9a75dcca26c3 100644
--- a/multimedia/neolink/Makefile
+++ b/multimedia/neolink/Makefile
@@ -2,15 +2,18 @@ PORTNAME= neolink
PORTVERSION= 0.3.0
DISTVERSIONPREFIX= v
DISTVERSIONSUFFIX= g20210903
-PORTREVISION= 6
+PORTREVISION= 24
CATEGORIES= multimedia
MAINTAINER= kevans@FreeBSD.org
COMMENT= RTSP bridge to Reolink IP cameras
+WWW= https://github.com/thirtythreeforty/neolink
LICENSE= AGPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_powerpc64le= rust compiler crashes, see https://github.com/rust-lang/rust/issues/120583
+
LIB_DEPENDS= libgstrtspserver-1.0.so:multimedia/gstreamer1-rtsp-server
USES= cargo gnome gstreamer
diff --git a/multimedia/neolink/pkg-descr b/multimedia/neolink/pkg-descr
index e6515d4b029f..847c05eed8ff 100644
--- a/multimedia/neolink/pkg-descr
+++ b/multimedia/neolink/pkg-descr
@@ -11,5 +11,3 @@ the video stream from the camera.
The Neolink project is not affiliated with Reolink in any way; everything it
does has been reverse engineered.
-
-WWW: https://github.com/thirtythreeforty/neolink
diff --git a/multimedia/nordlicht/Makefile b/multimedia/nordlicht/Makefile
deleted file mode 100644
index 561982da571e..000000000000
--- a/multimedia/nordlicht/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-PORTNAME= nordlicht
-PORTVERSION= 0.4.5
-DISTVERSIONPREFIX= v
-PORTREVISION= 5
-CATEGORIES= multimedia
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Create moodbars from video files
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE.md
-
-BUILD_DEPENDS= help2man:misc/help2man
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
- libpopt.so:devel/popt \
- libpng.so:graphics/png
-
-USE_GITHUB= yes
-
-USES= cmake pkgconfig shebangfix
-USE_LDCONFIG= yes
-
-PLIST_SUB= PORTVERSION=${PORTVERSION}
-
-SHEBANG_FILES= utils/mpv-nordlicht
-
-OPTIONS_DEFINE= EXAMPLES
-
-post-patch:
- @${REINPLACE_CMD} \
- -e 's|$${CMAKE_INSTALL_LIBDIR}/pkgconfig|libdata/pkgconfig|' \
- -e 's|share/man/man1|man/man1|' ${WRKSRC}/CMakeLists.txt
-
-post-install:
- @cd ${WRKSRC}/utils && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/nordlicht/distinfo b/multimedia/nordlicht/distinfo
deleted file mode 100644
index d6284eb3aa14..000000000000
--- a/multimedia/nordlicht/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1484929858
-SHA256 (nordlicht-nordlicht-v0.4.5_GH0.tar.gz) = e9f65f631496ed3f1572f74d6f471259f47fb25545b225e97e238b18c152d9d6
-SIZE (nordlicht-nordlicht-v0.4.5_GH0.tar.gz) = 42584
diff --git a/multimedia/nordlicht/pkg-descr b/multimedia/nordlicht/pkg-descr
deleted file mode 100644
index 8c21628a52c0..000000000000
--- a/multimedia/nordlicht/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-nordlicht is a tool that converts video files into colorful barcodes.
-nordlicht is free software, supports a large number of styles, and is
-optimized for speed. It comes with a software library written in C
-that allows for easy integration into other programs.
-
-WWW: https://nordlicht.github.io/
diff --git a/multimedia/nordlicht/pkg-plist b/multimedia/nordlicht/pkg-plist
deleted file mode 100644
index 7f8d83d1feb3..000000000000
--- a/multimedia/nordlicht/pkg-plist
+++ /dev/null
@@ -1,11 +0,0 @@
-bin/nordlicht
-include/nordlicht.h
-lib/libnordlicht.so
-lib/libnordlicht.so.0
-lib/libnordlicht.so.%%PORTVERSION%%
-libdata/pkgconfig/nordlicht.pc
-man/man1/nordlicht.1.gz
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mpv-nordlicht
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/mpv-nordlicht.lua
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nordlicht.thumbnailer
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/youtube-nordlicht
diff --git a/multimedia/nostt/Makefile b/multimedia/nostt/Makefile
index d92e43f3fc47..b378d6d4548d 100644
--- a/multimedia/nostt/Makefile
+++ b/multimedia/nostt/Makefile
@@ -1,10 +1,11 @@
PORTNAME= nostt
DISTVERSION= 1.1.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= ik@sjmulder.nl
COMMENT= Command line NOS Teletekst reader, the Dutch public teletext system
+WWW= https://github.com/sjmulder/nostt
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -15,9 +16,9 @@ LIB_DEPENDS= libcurl.so:ftp/curl \
USE_GITHUB= yes
GH_ACCOUNT= sjmulder
-MAKE_ARGS= MANPREFIX=${PREFIX}/man
+MAKE_ARGS= MANPREFIX=${PREFIX}/share/man
PLIST_FILES= bin/nostt \
- man/man1/nostt.1.gz
+ share/man/man1/nostt.1.gz
.include <bsd.port.mk>
diff --git a/multimedia/nostt/pkg-descr b/multimedia/nostt/pkg-descr
index adcdb49907fa..c3bc87a02c48 100644
--- a/multimedia/nostt/pkg-descr
+++ b/multimedia/nostt/pkg-descr
@@ -5,5 +5,3 @@ Note that teletext supports 6-cell (2x3) block drawing characters. The NOS
viewer and API use a custom font with these characters in the "private use"
0xF000 Unicode range. Because such characters are not usually available on
terminals, they are replaced by % characaters.
-
-WWW: https://github.com/sjmulder/nostt
diff --git a/multimedia/nymphcast/Makefile b/multimedia/nymphcast/Makefile
index 6577b830fbf3..800a76f6b2cc 100644
--- a/multimedia/nymphcast/Makefile
+++ b/multimedia/nymphcast/Makefile
@@ -1,10 +1,11 @@
PORTNAME= NymphCast
DISTVERSION= v0.1
-PORTREVISION= 1
+PORTREVISION= 4
CATEGORIES= multimedia
MAINTAINER= adridg@FreeBSD.org
COMMENT= Audio and video source for a television or powered speakers
+WWW= http://nyanko.ws/nymphcast.php
# The LICENSE_FILE lives outside the top-of-the-tree because
# WRKSRC_SUBDIR is set.
diff --git a/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
new file mode 100644
index 000000000000..3bc3c1339c0d
--- /dev/null
+++ b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
@@ -0,0 +1,10 @@
+--- angelscript/angelscript/projects/cmake/CMakeLists.txt.orig 2022-05-12 21:14:16 UTC
++++ angelscript/angelscript/projects/cmake/CMakeLists.txt
+@@ -110,7 +110,6 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm")
+ enable_language(ASM)
+ if(CMAKE_ASM_COMPILER_WORKS)
+ set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} ../../source/as_callfunc_arm.cpp ../../source/as_callfunc_arm_gcc.S)
+- set_property(SOURCE ../../source/as_callfunc_arm_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa,-mimplicit-it=always")
+ else()
+ message(FATAL ERROR "ARM target requires a working assembler")
+ endif()
diff --git a/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
new file mode 100644
index 000000000000..bc8359c1e348
--- /dev/null
+++ b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
@@ -0,0 +1,17 @@
+--- angelscript/angelscript/projects/gnuc/Makefile.orig 2022-05-12 21:13:19 UTC
++++ angelscript/angelscript/projects/gnuc/Makefile
+@@ -89,14 +89,8 @@ else
+ CXXFLAGS += $(PLATFORM_FLAGS)
+ endif
+
+-## Detect if targeting ARM CPU and if so tell assembler to accept implicit IT constructs in thumb mode
+ GCC_ARCH := $(shell $(CXX) -dumpmachine)
+ $(info GCC ARCH: $(GCC_ARCH))
+-ifneq (,$(findstring arm-,$(GCC_ARCH)))
+- CXXFLAGS += -Wa,-mimplicit-it=thumb
+-else ifneq (,$(findstring armv7-, $(GCC_ARCH)))
+- CXXFLAGS += -Wa,-mimplicit-it=thumb
+-endif
+
+ ## toolchain
+ AR ?= ar
diff --git a/multimedia/nymphcast/files/patch-armv7 b/multimedia/nymphcast/files/patch-armv7
deleted file mode 100644
index 38dda98732cc..000000000000
--- a/multimedia/nymphcast/files/patch-armv7
+++ /dev/null
@@ -1,58 +0,0 @@
-From a72070398fb731f56ef57b19d8911158b0268029 Mon Sep 17 00:00:00 2001
-From: Robert Clausecker <fuz@fuz.su>
-Date: Fri, 13 May 2022 04:30:51 +0200
-Subject: [PATCH] multimedia/nymphcast: fix build on armv7
-
-The build failed due to an unsupported compiler option
--Wa,-mimplicit-it=thumb. This option is not needed when
-building with clang, doubly so when building in ARM mode,
-which we do.
----
- ...pt_angelscript_projects_cmake_CMakeLists.txt | 10 ++++++++++
- ...gelscript_angelscript_projects_gnuc_Makefile | 17 +++++++++++++++++
- 2 files changed, 27 insertions(+)
- create mode 100644 multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
- create mode 100644 multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
-
-diff --git a/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
-new file mode 100644
-index 000000000000..3bc3c1339c0d
---- /dev/null
-+++ b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_cmake_CMakeLists.txt
-@@ -0,0 +1,10 @@
-+--- angelscript/angelscript/projects/cmake/CMakeLists.txt.orig 2022-05-12 21:14:16 UTC
-++++ angelscript/angelscript/projects/cmake/CMakeLists.txt
-+@@ -110,7 +110,6 @@ if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "^arm")
-+ enable_language(ASM)
-+ if(CMAKE_ASM_COMPILER_WORKS)
-+ set(ANGELSCRIPT_SOURCE ${ANGELSCRIPT_SOURCE} ../../source/as_callfunc_arm.cpp ../../source/as_callfunc_arm_gcc.S)
-+- set_property(SOURCE ../../source/as_callfunc_arm_gcc.S APPEND PROPERTY COMPILE_FLAGS " -Wa,-mimplicit-it=always")
-+ else()
-+ message(FATAL ERROR "ARM target requires a working assembler")
-+ endif()
-diff --git a/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
-new file mode 100644
-index 000000000000..bc8359c1e348
---- /dev/null
-+++ b/multimedia/nymphcast/files/patch-angelscript_angelscript_projects_gnuc_Makefile
-@@ -0,0 +1,17 @@
-+--- angelscript/angelscript/projects/gnuc/Makefile.orig 2022-05-12 21:13:19 UTC
-++++ angelscript/angelscript/projects/gnuc/Makefile
-+@@ -89,14 +89,8 @@ else
-+ CXXFLAGS += $(PLATFORM_FLAGS)
-+ endif
-+
-+-## Detect if targeting ARM CPU and if so tell assembler to accept implicit IT constructs in thumb mode
-+ GCC_ARCH := $(shell $(CXX) -dumpmachine)
-+ $(info GCC ARCH: $(GCC_ARCH))
-+-ifneq (,$(findstring arm-,$(GCC_ARCH)))
-+- CXXFLAGS += -Wa,-mimplicit-it=thumb
-+-else ifneq (,$(findstring armv7-, $(GCC_ARCH)))
-+- CXXFLAGS += -Wa,-mimplicit-it=thumb
-+-endif
-+
-+ ## toolchain
-+ AR ?= ar
---
-2.35.2
-
diff --git a/multimedia/nymphcast/files/patch-ffmpeg6-compat b/multimedia/nymphcast/files/patch-ffmpeg6-compat
new file mode 100644
index 000000000000..12374ec9d966
--- /dev/null
+++ b/multimedia/nymphcast/files/patch-ffmpeg6-compat
@@ -0,0 +1,27 @@
+Obtained from https://git.alpinelinux.org/aports/tree/community/nymphcast/ffmpeg6.patch
+diff --git a/src/server/ffplay/cmdutils.c.bak b/src/server/ffplay/cmdutils.c.bak
+index 0e8561a..ab0b166 100644
+--- ffplay/cmdutils.c.bak
++++ ffplay/cmdutils.c.bak
+@@ -719,7 +719,7 @@ static void init_parse_context(OptionParseContext *octx,
+ memset(octx, 0, sizeof(*octx));
+
+ octx->nb_groups = nb_groups;
+- octx->groups = av_mallocz_array(octx->nb_groups, sizeof(*octx->groups));
++ octx->groups = av_calloc(octx->nb_groups, sizeof(*octx->groups));
+ if (!octx->groups)
+ exit_program(1);
+
+diff --git a/src/server/ffplay/stream_handler.cpp b/src/server/ffplay/stream_handler.cpp
+index f6db69a..27d9fcd 100644
+--- ffplay/stream_handler.cpp
++++ ffplay/stream_handler.cpp
+@@ -137,7 +137,7 @@ AVDictionary **setup_find_stream_info_opts(AVFormatContext *s, AVDictionary *cod
+ int i;
+ AVDictionary **opts;
+ if (!s->nb_streams) { return NULL; }
+- opts = (AVDictionary**) av_mallocz_array(s->nb_streams, sizeof(*opts));
++ opts = (AVDictionary**) av_calloc(s->nb_streams, sizeof(*opts));
+ if (!opts) {
+ av_log(NULL, AV_LOG_ERROR, "Could not alloc memory for stream options.\n");
+ return NULL;
diff --git a/multimedia/nymphcast/pkg-descr b/multimedia/nymphcast/pkg-descr
index 9c61d4845087..5c2ba7c378bc 100644
--- a/multimedia/nymphcast/pkg-descr
+++ b/multimedia/nymphcast/pkg-descr
@@ -4,5 +4,3 @@ television or powered speakers. It enables the streaming of audio
and video over the network from a wide range of client devices,
as well as the streaming of internet media to a NymphCast server,
controlled by a client device, or directly on the receiver.
-
-WWW: http://nyanko.ws/nymphcast.php
diff --git a/multimedia/nymphcastlib/Makefile b/multimedia/nymphcastlib/Makefile
index 3bc4c557682d..287a313b3aa6 100644
--- a/multimedia/nymphcastlib/Makefile
+++ b/multimedia/nymphcastlib/Makefile
@@ -1,9 +1,11 @@
PORTNAME= NymphCastLib
DISTVERSION= v0.1
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= adridg@FreeBSD.org
COMMENT= Core functionality for a NymphCast client
+WWW= https://github.com/MayaPosch/libnymphcast
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/nymphcastlib/pkg-descr b/multimedia/nymphcastlib/pkg-descr
index 446adef62c86..a5c348cadd25 100644
--- a/multimedia/nymphcastlib/pkg-descr
+++ b/multimedia/nymphcastlib/pkg-descr
@@ -6,5 +6,3 @@ client. This includes:
- Communication with remote NymphCast Apps.
- Multi-casting media content.
- Interact with NymphCast MediaServers.
-
-WWW: https://github.com/MayaPosch/libnymphcast
diff --git a/multimedia/nymphrpc/Makefile b/multimedia/nymphrpc/Makefile
index 74c9dca23c23..def05fe85284 100644
--- a/multimedia/nymphrpc/Makefile
+++ b/multimedia/nymphrpc/Makefile
@@ -1,9 +1,11 @@
PORTNAME= NymphRPC
DISTVERSION= v0.1
+PORTREVISION= 1
CATEGORIES= multimedia devel
MAINTAINER= adridg@FreeBSD.org
COMMENT= Compact, C++-based Remote Procedure Call (RPC) library
+WWW= https://github.com/MayaPosch/NymphRPC
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/nymphrpc/pkg-descr b/multimedia/nymphrpc/pkg-descr
index 9f9d64e8386b..9eff9e6f4ae1 100644
--- a/multimedia/nymphrpc/pkg-descr
+++ b/multimedia/nymphrpc/pkg-descr
@@ -5,5 +5,3 @@ to get an idea of how NymphRPC is integrated into an application.
The basic procedure is to define the RPC methods and client-side callbacks
in the server, which the client will synchronise with when it connects to
the server. There is no Domain-Specific Language (DSL) or auto-generated code.
-
-WWW: https://github.com/MayaPosch/NymphRPC
diff --git a/multimedia/obs-audio-spectralizer/Makefile b/multimedia/obs-audio-spectralizer/Makefile
deleted file mode 100644
index a40cc32795cd..000000000000
--- a/multimedia/obs-audio-spectralizer/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-PORTNAME= obs-audio-spectralizer
-DISTVERSIONPREFIX= v
-DISTVERSION= 1.3.4
-CATEGORIES= multimedia
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= OBS Studio Plugin: Audio visualizer
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING.txt
-
-LIB_DEPENDS= libfftw3.so:math/fftw3 \
- libobs.so:multimedia/obs-studio
-
-USES= cmake localbase:ldflags
-USE_GITHUB= yes
-GH_ACCOUNT= univrsal
-GH_PROJECT= spectralizer
-
-CMAKE_ON= GLOBAL_INSTALLATION USE_CMAKE_LIBDIR
-
-CXXFLAGS+= -I${LOCALBASE}/include/obs
-
-PLIST_FILES= lib/obs-plugins/spectralizer.so \
- share/obs/obs-plugins/spectralizer/locale/en-US.ini \
- share/obs/obs-plugins/spectralizer/locale/ko-KR.ini \
- share/obs/obs-plugins/spectralizer/locale/ru-RU.ini
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-audio-spectralizer/distinfo b/multimedia/obs-audio-spectralizer/distinfo
deleted file mode 100644
index 8ff874bf02ca..000000000000
--- a/multimedia/obs-audio-spectralizer/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1611939593
-SHA256 (univrsal-spectralizer-v1.3.4_GH0.tar.gz) = f257feff9e4da7df9e9c580a99b3c7d6052a641bb5cb1fdabc95c7c0f7db85d6
-SIZE (univrsal-spectralizer-v1.3.4_GH0.tar.gz) = 4899036
diff --git a/multimedia/obs-audio-spectralizer/pkg-descr b/multimedia/obs-audio-spectralizer/pkg-descr
deleted file mode 100644
index 7536a07e28f7..000000000000
--- a/multimedia/obs-audio-spectralizer/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Audio visualization for obs-studio using fftw, based on cli-visualizer.
-Allows for vizualisation of MPD and internal obs audio sources.
-
-WWW: https://github.com/univrsal/spectralizer
diff --git a/multimedia/obs-ndi/Makefile b/multimedia/obs-ndi/Makefile
deleted file mode 100644
index 0ce4f02b9bad..000000000000
--- a/multimedia/obs-ndi/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-PORTNAME= obs-ndi
-DISTVERSION= 4.9.1
-PORTREVISION= 3
-CATEGORIES= multimedia
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= OBS Studio Plugin: Network Device Interface
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-LIB_DEPENDS= libobs.so:multimedia/obs-studio
-RUN_DEPENDS= ${LOCALBASE}/lib/libndi.so:multimedia/libndi
-
-USES= cmake compiler:c++11-lang localbase:ldflags qt:5
-USE_GITHUB= yes
-GH_ACCOUNT= Palakis
-USE_QT= core gui widgets buildtools_build qmake_build
-
-BROKEN= ERROR: NDIlib_v4_load not found in loaded library: https://code.videolan.org/jbk/libndi/-/issues/9, bug#258694
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-ndi/distinfo b/multimedia/obs-ndi/distinfo
deleted file mode 100644
index 5c88dbf7445b..000000000000
--- a/multimedia/obs-ndi/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1589557670
-SHA256 (Palakis-obs-ndi-4.9.1_GH0.tar.gz) = 25ada71fef14b23fa03a0a5bcce87e36161f4f2488f34aa256634e5973d8e66b
-SIZE (Palakis-obs-ndi-4.9.1_GH0.tar.gz) = 310038
diff --git a/multimedia/obs-ndi/files/patch-CMakeLists.txt b/multimedia/obs-ndi/files/patch-CMakeLists.txt
deleted file mode 100644
index 94113e823907..000000000000
--- a/multimedia/obs-ndi/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
---- CMakeLists.txt.orig 2020-05-14 10:29:22 UTC
-+++ CMakeLists.txt
-@@ -153,7 +153,7 @@ endif()
- if(UNIX AND NOT APPLE)
- include(GNUInstallDirs)
-
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -mtune=core2 -Ofast")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Ofast")
-
- set_target_properties(obs-ndi PROPERTIES PREFIX "")
- target_link_libraries(obs-ndi obs-frontend-api)
diff --git a/multimedia/obs-ndi/files/patch-lib_ndi_Processing.NDI.Lib.h b/multimedia/obs-ndi/files/patch-lib_ndi_Processing.NDI.Lib.h
deleted file mode 100644
index eabdfff9524e..000000000000
--- a/multimedia/obs-ndi/files/patch-lib_ndi_Processing.NDI.Lib.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/ndi/Processing.NDI.Lib.h.orig 2022-01-14 18:57:16 UTC
-+++ lib/ndi/Processing.NDI.Lib.h
-@@ -60,7 +60,7 @@
- # define NDILIB_REDIST_FOLDER "NDI_RUNTIME_DIR_V4"
- # define NDILIB_REDIST_URL "http://new.tk/NDIRedistV4Apple"
- # else // __APPLE__
--# define NDILIB_LIBRARY_NAME "libndi.so.4"
-+# define NDILIB_LIBRARY_NAME "libndi.so"
- # define NDILIB_REDIST_FOLDER "NDI_RUNTIME_DIR_V4"
- # define NDILIB_REDIST_URL ""
- # endif // __APPLE__
diff --git a/multimedia/obs-ndi/files/patch-src_obs-ndi.cpp b/multimedia/obs-ndi/files/patch-src_obs-ndi.cpp
deleted file mode 100644
index f8eb273db537..000000000000
--- a/multimedia/obs-ndi/files/patch-src_obs-ndi.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/obs-ndi.cpp.orig 2022-01-14 17:54:22 UTC
-+++ src/obs-ndi.cpp
-@@ -198,7 +198,7 @@ const NDIlib_v4* load_ndilib()
- {
- QStringList locations;
- locations << QString(qgetenv(NDILIB_REDIST_FOLDER));
--#if defined(__linux__) || defined(__APPLE__)
-+#if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
- locations << "/usr/lib";
- locations << "/usr/local/lib";
- #endif
diff --git a/multimedia/obs-ndi/pkg-descr b/multimedia/obs-ndi/pkg-descr
deleted file mode 100644
index 822d7531a1b9..000000000000
--- a/multimedia/obs-ndi/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-Network A/V in OBS Studio with NewTek's NDI technology.
-
-Features:
-* NDI Source : receive NDI video and audio in OBS
-* NDI Output : transmit video and audio from OBS to NDI
-* NDI Filter (a.k.a NDI Dedicated Output) : transmit a single source or
- scene to NDI
-
-WWW: https://github.com/Palakis/obs-ndi
diff --git a/multimedia/obs-ndi/pkg-plist b/multimedia/obs-ndi/pkg-plist
deleted file mode 100644
index 0496db469c4a..000000000000
--- a/multimedia/obs-ndi/pkg-plist
+++ /dev/null
@@ -1,7 +0,0 @@
-lib/obs-plugins/obs-ndi.so
-share/obs/obs-plugins/obs-ndi/locale/ca-ES.ini
-share/obs/obs-plugins/obs-ndi/locale/en-US.ini
-share/obs/obs-plugins/obs-ndi/locale/es-ES.ini
-share/obs/obs-plugins/obs-ndi/locale/fr-FR.ini
-share/obs/obs-plugins/obs-ndi/locale/ru-RU.ini
-share/obs/obs-plugins/obs-ndi/locale/zh-CN.ini
diff --git a/multimedia/obs-qtwebkit/Makefile b/multimedia/obs-qtwebkit/Makefile
deleted file mode 100644
index b2008612a8f1..000000000000
--- a/multimedia/obs-qtwebkit/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-PORTNAME= obs-qtwebkit
-PORTVERSION= g2018090201
-PORTREVISION= 2
-CATEGORIES= multimedia
-
-MAINTAINER= swills@FreeBSD.org
-COMMENT= Browser source plugin for obs-studio
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-LIB_DEPENDS= libobs.so:multimedia/obs-studio \
- libinotify.so:devel/libinotify
-
-USES= compiler:c++11-lang gmake pkgconfig qt:5
-USE_QT= core gui network webkit widgets
-
-USE_GITHUB= yes
-GH_ACCOUNT= swills
-GH_TAGNAME= c01aa76
-MAKEFILE= GNUmakefile
-MAKE_ARGS= OBS_INCLUDE=${LOCALBASE}/include OBS_LIB=${LOCALBASE}/lib
-
-post-patch:
- @${REINPLACE_CMD} -e 's,%%LOCALBASE%%,${LOCALBASE},g' ${WRKSRC}/GNUmakefile
-
-do-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/obs-plugins/
- @${MKDIR} ${STAGEDIR}${PREFIX}/share/obs/obs-plugins/qtwebkit-browser/data/locale
- ${INSTALL_PROGRAM} ${WRKSRC}/build/qtwebkit-browser.so ${STAGEDIR}${PREFIX}/lib/obs-plugins/
- ${INSTALL_PROGRAM} ${WRKSRC}/build/renderer ${STAGEDIR}${PREFIX}/lib/obs-plugins/
- cd ${WRKSRC}/build/qtwebkit-browser/data/locale ; ${COPYTREE_SHARE} . \
- ${STAGEDIR}${PREFIX}/share/obs/obs-plugins/qtwebkit-browser/data/locale
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-qtwebkit/distinfo b/multimedia/obs-qtwebkit/distinfo
deleted file mode 100644
index 48a189199d2c..000000000000
--- a/multimedia/obs-qtwebkit/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1535926470
-SHA256 (swills-obs-qtwebkit-g2018090201-c01aa76_GH0.tar.gz) = cd73bb03b7a5bc6f5524a3c9e70f5bc44c0fe58179ddf86034887f3c72c88300
-SIZE (swills-obs-qtwebkit-g2018090201-c01aa76_GH0.tar.gz) = 14629
diff --git a/multimedia/obs-qtwebkit/files/patch-GNUmakefile b/multimedia/obs-qtwebkit/files/patch-GNUmakefile
deleted file mode 100644
index d4d23348f2c2..000000000000
--- a/multimedia/obs-qtwebkit/files/patch-GNUmakefile
+++ /dev/null
@@ -1,15 +0,0 @@
-Temporary, see:
-
-https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231108
-
---- GNUmakefile.orig 2018-09-02 22:04:19 UTC
-+++ GNUmakefile
-@@ -5,7 +5,7 @@ ifndef OBS_LIB
- OBS_LIB = /usr/lib
- endif
-
--CXXFLAGS = -std=c++11 -Wall -g -fPIC -I$(OBS_INCLUDE) -I./src $(shell pkg-config --cflags Qt5Widgets) $(shell pkg-config --cflags Qt5WebKit) $(shell pkg-config --cflags Qt5WebKitWidgets)
-+CXXFLAGS += -std=c++11 -Wall -g -fPIC -I$(OBS_INCLUDE) -I./src $(shell pkg-config --cflags Qt5Widgets) $(shell pkg-config --cflags Qt5WebKit) -I%%LOCALBASE%%/include/qt5/QtWebKitWidgets
- CXX ?= c++
- RM = /bin/rm -rf
- LDFLAGS = -L$(OBS_LIB)
diff --git a/multimedia/obs-qtwebkit/pkg-descr b/multimedia/obs-qtwebkit/pkg-descr
deleted file mode 100644
index fa1420431d44..000000000000
--- a/multimedia/obs-qtwebkit/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-This is a browser source plugin for obs-studio
-(https://github.com/jp9000/obs-studio) based on QtWebkit library. This plugin
-is for Linux and FreeBSD only.
-
-WWW: https://github.com/swills/obs-qtwebkit
diff --git a/multimedia/obs-qtwebkit/pkg-plist b/multimedia/obs-qtwebkit/pkg-plist
deleted file mode 100644
index 4ba72583a104..000000000000
--- a/multimedia/obs-qtwebkit/pkg-plist
+++ /dev/null
@@ -1,18 +0,0 @@
-lib/obs-plugins/qtwebkit-browser.so
-lib/obs-plugins/renderer
-share/obs/obs-plugins/qtwebkit-browser/data/locale/de-DE.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/en-US.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/es-ES.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/fi-FI.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/fr-FR.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/he-IL.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/it-IT.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/ja-JP.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/ko-KR.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/nl-NL.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/pl-PL.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/pt-BR.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/pt-PT.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/ru-RU.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/sv-SE.ini
-share/obs/obs-plugins/qtwebkit-browser/data/locale/zh-CN.ini
diff --git a/multimedia/obs-recursion-effect/Makefile b/multimedia/obs-recursion-effect/Makefile
new file mode 100644
index 000000000000..c4de18871656
--- /dev/null
+++ b/multimedia/obs-recursion-effect/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= obs-recursion-effect
+DISTVERSION= 0.1.0
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= OBS Studio Plugin: Recursion effect for a source using a filter
+WWW= https://obsproject.com/forum/resources/recursion-effect.1008/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libharfbuzz.so:print/harfbuzz \
+ libobs.so:multimedia/obs-studio \
+ libpng16.so:graphics/png
+
+USES= cmake:noninja gettext-runtime gnome localbase:ldflags pkgconfig # with ninja it installs files back into the source directory
+USE_GNOME= cairo glib20 pango
+
+USE_GITHUB= yes
+GH_ACCOUNT= exeldro
+
+CMAKE_OFF= LINUX_PORTABLE
+
+CFLAGS+= -Wno-deprecated-declarations
+
+PLIST_FILES= lib/obs-plugins/recursion-effect.so \
+ share/obs/obs-plugins/recursion-effect/effects/render.effect \
+ share/obs/obs-plugins/recursion-effect/locale/en-US.ini
+
+.include <bsd.port.mk>
diff --git a/multimedia/obs-recursion-effect/distinfo b/multimedia/obs-recursion-effect/distinfo
new file mode 100644
index 000000000000..d30aba78ba28
--- /dev/null
+++ b/multimedia/obs-recursion-effect/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1712515510
+SHA256 (exeldro-obs-recursion-effect-0.1.0_GH0.tar.gz) = 86fef1524d6783c4d5f6b3a09b9adb6f1af7437fd7c3a11eb201b7f341f574bd
+SIZE (exeldro-obs-recursion-effect-0.1.0_GH0.tar.gz) = 49975
diff --git a/multimedia/obs-recursion-effect/pkg-descr b/multimedia/obs-recursion-effect/pkg-descr
new file mode 100644
index 000000000000..f88ebf9fbb9c
--- /dev/null
+++ b/multimedia/obs-recursion-effect/pkg-descr
@@ -0,0 +1 @@
+Plugin for OBS Studio to add recursion effect to a source using a filter.
diff --git a/multimedia/obs-scrab/Makefile b/multimedia/obs-scrab/Makefile
deleted file mode 100644
index 0ddc47c0be3e..000000000000
--- a/multimedia/obs-scrab/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-PORTNAME= obs-scrab
-DISTVERSIONPREFIX= v
-DISTVERSION= 1.1
-CATEGORIES= multimedia
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= OBS Studio Plugin: Screenshot plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-LIB_DEPENDS= libobs.so:multimedia/obs-studio
-
-USES= cmake localbase:ldflags qt:5
-USE_GITHUB= yes
-GH_ACCOUNT= univrsal
-GH_PROJECT= scrab
-USE_QT= core gui widgets buildtools_build qmake_build
-
-CXXFLAGS+= -I${LOCALBASE}/include/obs
-
-PLIST_FILES= lib/obs-plugins/scrab.so \
- share/obs/obs-plugins/scrab/locale/en-US.ini
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-scrab/distinfo b/multimedia/obs-scrab/distinfo
deleted file mode 100644
index 480652b19bed..000000000000
--- a/multimedia/obs-scrab/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1586809549
-SHA256 (univrsal-scrab-v1.1_GH0.tar.gz) = d0e14a0fc62591820b2188eecb472afa7e89e9419461b29e605ebf25dce6204e
-SIZE (univrsal-scrab-v1.1_GH0.tar.gz) = 1423183
diff --git a/multimedia/obs-scrab/files/patch-CMakeLists.txt b/multimedia/obs-scrab/files/patch-CMakeLists.txt
deleted file mode 100644
index 7a3307567edd..000000000000
--- a/multimedia/obs-scrab/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,16 +0,0 @@
---- CMakeLists.txt.orig 2020-04-05 03:14:35 UTC
-+++ CMakeLists.txt
-@@ -42,10 +42,12 @@ include_directories(
- ${QtWidgets_INCLUDES})
-
- target_link_libraries(scrab
-- libobs
-+ obs
- obs-frontend-api
- Qt5::Core
- Qt5::Widgets
- ${scrab_PLATFORM_DEPS})
-+
-+include(${CMAKE_INSTALL_PREFIX}/lib/cmake/ObsHelpers.cmake)
-
- install_obs_plugin_with_data(scrab data)
diff --git a/multimedia/obs-scrab/pkg-descr b/multimedia/obs-scrab/pkg-descr
deleted file mode 100644
index 31cee4a5b599..000000000000
--- a/multimedia/obs-scrab/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-Screen grab adds a configurable hotkey to quickly select a screen region and add
-it as an image source to the current scene.
-
-The plugin saves all screenshots into the home directory by default.
-
-WWW: https://github.com/univrsal/scrab
diff --git a/multimedia/obs-streamfx/Makefile b/multimedia/obs-streamfx/Makefile
index 9b4fec13fd17..d851f5da1a00 100644
--- a/multimedia/obs-streamfx/Makefile
+++ b/multimedia/obs-streamfx/Makefile
@@ -1,12 +1,11 @@
PORTNAME= obs-streamfx
-DISTVERSION= 0.9.3
+DISTVERSION= 0.12.0b299
+PORTREVISION= 2
CATEGORIES= multimedia
-PATCH_SITES= https://github.com/Xaymar/obs-StreamFX/commit/
-PATCHFILES= 612c2f52139ba7255abf133edf8008b2c6ece41a.patch:-p1
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= OBS Studio Plugin: Modern effects
+WWW= https://github.com/Xaymar/obs-StreamFX
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -19,11 +18,23 @@ LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libcurl.so:ftp/curl \
libobs.so:multimedia/obs-studio
-USES= cmake
+USES= cmake gl localbase:ldflags qt:6 # localbase:ldflags is related to https://github.com/Xaymar/obs-StreamFX/issues/828
+USE_QT= base tools:build
+USE_GL= gl opengl
+
USE_GITHUB= yes
GH_ACCOUNT= Xaymar
GH_PROJECT= obs-StreamFX
+GH_TUPLE= nlohmann:json:db78ac1d7716f56fc9f1b030b715f872f93964e4:nlohmann_json/third-party/nlohmann-json \
+ Xaymar:msvc-redist-helper:aa4665ccf68a382f1c2b115fb6c9668b6a8bd64d:Xaymar_msvc_redist_helper/third-party/msvc-redist-helper \
+ NVIDIA:MAXINE-AR-SDK:ca10ac3:NVIDIA_MAXINE_AR_SDK/third-party/nvidia-maxine-ar-sdk \
+ NVIDIA:MAXINE-VFX-SDK:f63d9d1:NVIDIA_MAXINE_VFX_SDK/third-party/nvidia-maxine-vfx-sdk \
+ Xaymar:cmake-clang:f249747:Xaymar_cmake_clang/cmake/clang \
+ Xaymar:cmake-version:16bfa95:Xaymar_cmake_version/cmake/version
+
CMAKE_ARGS= -DOBS_STUDIO_DIR=${LOCALBASE}/lib
+CMAKE_ON= STRUCTURE_PACKAGEMANAGER
+CXXFLAGS+= -I${LOCALBASE}/include/obs # workaround for https://github.com/Xaymar/obs-StreamFX/issues/828
.include <bsd.port.mk>
diff --git a/multimedia/obs-streamfx/distinfo b/multimedia/obs-streamfx/distinfo
index 603ea924d31e..4c7fef481cef 100644
--- a/multimedia/obs-streamfx/distinfo
+++ b/multimedia/obs-streamfx/distinfo
@@ -1,5 +1,15 @@
-TIMESTAMP = 1641089548
-SHA256 (Xaymar-obs-StreamFX-0.9.3_GH0.tar.gz) = 163255a2721e2257d8c9b097ec0a6f743c64f91b4d79e8040a93e9da9e8ac5ae
-SIZE (Xaymar-obs-StreamFX-0.9.3_GH0.tar.gz) = 13769257
-SHA256 (612c2f52139ba7255abf133edf8008b2c6ece41a.patch) = 63a06eccb18d2fb15974fbc6f7491653837ccdbeb4ed9ec548fb3e77c5839159
-SIZE (612c2f52139ba7255abf133edf8008b2c6ece41a.patch) = 594
+TIMESTAMP = 1685401462
+SHA256 (Xaymar-obs-StreamFX-0.12.0b299_GH0.tar.gz) = 4b2fe76c93238951509ba691eb21e204cc14c1f8a4b7558aa045fba62eba1109
+SIZE (Xaymar-obs-StreamFX-0.12.0b299_GH0.tar.gz) = 12997480
+SHA256 (nlohmann-json-db78ac1d7716f56fc9f1b030b715f872f93964e4_GH0.tar.gz) = 048aa963b1d551b99c8a4c05d8e666d50c282ba745623ac1c98c6c3300af38cf
+SIZE (nlohmann-json-db78ac1d7716f56fc9f1b030b715f872f93964e4_GH0.tar.gz) = 6883371
+SHA256 (Xaymar-msvc-redist-helper-aa4665ccf68a382f1c2b115fb6c9668b6a8bd64d_GH0.tar.gz) = 005c0492a840396be46f0a9bd4802e25aaf280176128bfde7c3ed3e18a6c9c8d
+SIZE (Xaymar-msvc-redist-helper-aa4665ccf68a382f1c2b115fb6c9668b6a8bd64d_GH0.tar.gz) = 13129
+SHA256 (NVIDIA-MAXINE-AR-SDK-ca10ac3_GH0.tar.gz) = 260c5a61d42f06fd9b5042e28c620561de0747c79a82dcbe7414fd7d883de72e
+SIZE (NVIDIA-MAXINE-AR-SDK-ca10ac3_GH0.tar.gz) = 39652067
+SHA256 (NVIDIA-MAXINE-VFX-SDK-f63d9d1_GH0.tar.gz) = 56c5f6a52f03002ccb0d262c7512f2d1581475cda6317f490a9b9664fd539845
+SIZE (NVIDIA-MAXINE-VFX-SDK-f63d9d1_GH0.tar.gz) = 42595232
+SHA256 (Xaymar-cmake-clang-f249747_GH0.tar.gz) = 39a5d5affab7a4f4a5aaaf32527e36dc1102473310fd4da312380a8c0e3f8196
+SIZE (Xaymar-cmake-clang-f249747_GH0.tar.gz) = 5876
+SHA256 (Xaymar-cmake-version-16bfa95_GH0.tar.gz) = 4dbaa126bbd44217a142903eb50bc7e979fc9b8def951045180f5beceb0ab5de
+SIZE (Xaymar-cmake-version-16bfa95_GH0.tar.gz) = 11258
diff --git a/multimedia/obs-streamfx/files/patch-CMakeLists.txt b/multimedia/obs-streamfx/files/patch-CMakeLists.txt
index 76b3a70778ca..a5c2ba46f40e 100644
--- a/multimedia/obs-streamfx/files/patch-CMakeLists.txt
+++ b/multimedia/obs-streamfx/files/patch-CMakeLists.txt
@@ -1,15 +1,34 @@
---- CMakeLists.txt.orig 2020-09-25 19:33:09 UTC
+--- CMakeLists.txt.orig 2023-05-20 18:52:40 UTC
+++ CMakeLists.txt
-@@ -184,7 +184,7 @@ else()
- set(CMAKE_PACKAGE_SUFFIX_OVERRIDE "" CACHE STRING "Override for the suffix.")
-
- if(UNIX)
-- set(UNIX_LOCAL_STRUCTURE TRUE CACHE BOOL "Package for a local linux install.")
-+ #set(UNIX_LOCAL_STRUCTURE TRUE CACHE BOOL "Package for a local linux install.")
- endif()
-
- if(NOT ${PropertyPrefix}OBS_DOWNLOAD)
-@@ -636,9 +636,9 @@ if((CMAKE_C_COMPILER_ID STREQUAL "GNU")
+@@ -71,6 +71,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(D_PLATFORM_OS "linux")
+ set(D_PLATFORM_LINUX 1)
++elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++ set(D_PLATFORM_OS "freebsd")
++ set(D_PLATFORM_FREEBSD 1)
+ elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(D_PLATFORM_OS "macos")
+ set(D_PLATFORM_MAC 1)
+@@ -345,7 +348,7 @@ endif()
+ # Installation / Packaging
+ if(STANDALONE)
+ set(STRUCTURE_UNIFIED CACHE BOOL "Install for use in a Plugin Manager")
+- if(D_PLATFORM_LINUX)
++ if(D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD)
+ set(STRUCTURE_PACKAGEMANAGER CACHE BOOL "Install for use in a Package Manager (system-wide installation)")
+ elseif(D_PLATFORM_MAC)
+ set(STRUCTURE_BUNDLE ON CACHE BOOL "Install as a Loadable Bundle (.plugin)")
+@@ -930,7 +933,7 @@ if(TRUE) # OpenGL
+ PRIVATE
+ "${PROJECT_SOURCE_DIR}/third-party/khronos/glad/src/wgl.c"
+ )
+- elseif(D_PLATFORM_LINUX)
++ elseif(D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD)
+ target_sources(khronos_glad
+ PRIVATE
+ "${PROJECT_SOURCE_DIR}/third-party/khronos/glad/src/glx.c"
+@@ -1601,9 +1604,9 @@ if((CMAKE_C_COMPILER_ID STREQUAL "GNU")
OR (CMAKE_C_COMPILER_ID STREQUAL "Clang")
OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
@@ -22,23 +41,30 @@
endif()
endif()
-@@ -1226,8 +1226,8 @@ else()
- else()
- install(
- TARGETS ${PROJECT_NAME}
-- RUNTIME DESTINATION "./obs-plugins/${BITS}bit/" COMPONENT Runtime
-- LIBRARY DESTINATION "./obs-plugins/${BITS}bit/" COMPONENT Runtime
-+ RUNTIME DESTINATION "lib/obs-plugins" COMPONENT Runtime
-+ LIBRARY DESTINATION "lib/obs-plugins" COMPONENT Runtime
- )
- if(MSVC)
+@@ -1791,7 +1794,7 @@ if(D_PLATFORM_WINDOWS AND ((CMAKE_CXX_COMPILER_ID STRE
+ foreach(FLAG ${FLAGS})
+ target_compile_options(${PROJECT_NAME} PRIVATE "$<$<CONFIG:Release,RelWithDebInfo,MinSizeRel>:${FLAG}>")
+ endforeach()
+-elseif(D_PLATFORM_LINUX AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
++elseif((D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD) AND ((CMAKE_CXX_COMPILER_ID STREQUAL "Clang") OR (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")))
+ # GCC/Clang
+ message(STATUS "Applying custom flags for GCC/Clang style build.")
+
+@@ -2067,7 +2070,7 @@ if(STANDALONE)
+ DESTINATION "data/" COMPONENT StreamFX
+ )
+ endif()
+- elseif(D_PLATFORM_LINUX)
++ elseif(D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD)
+ install(
+ TARGETS ${PROJECT_NAME}
+ RUNTIME DESTINATION "bin/linux-${D_PLATFORM_INSTR}-${D_PLATFORM_BITS}/" COMPONENT StreamFX
+@@ -2118,7 +2121,7 @@ if(STANDALONE)
+ DESTINATION "data/obs-plugins/${PROJECT_NAME}/" COMPONENT StreamFX
+ )
+ endif()
+- elseif(D_PLATFORM_LINUX)
++ elseif(D_PLATFORM_LINUX OR D_PLATFORM_FREEBSD)
+ if(STRUCTURE_PACKAGEMANAGER)
install(
-@@ -1239,7 +1239,7 @@ else()
-
- install(
- DIRECTORY "data/"
-- DESTINATION "./data/obs-plugins/${PROJECT_NAME}/"
-+ DESTINATION "share/obs/obs-plugins/${PROJECT_NAME}/"
- )
-
- add_custom_target(
+ TARGETS ${PROJECT_NAME}
diff --git a/multimedia/obs-streamfx/files/patch-source_encoders_ffmpeg_amf.cpp b/multimedia/obs-streamfx/files/patch-source_encoders_ffmpeg_amf.cpp
new file mode 100644
index 000000000000..1c3635fb5ce2
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_encoders_ffmpeg_amf.cpp
@@ -0,0 +1,11 @@
+--- source/encoders/ffmpeg/amf.cpp.orig 2023-05-29 23:23:46 UTC
++++ source/encoders/ffmpeg/amf.cpp
+@@ -136,7 +136,7 @@ bool streamfx::encoder::ffmpeg::amf::is_available()
+ #else
+ std::filesystem::path lib_name = std::filesystem::u8path("amfrt32.dll");
+ #endif
+-#elif defined(D_PLATFORM_LINUX)
++#elif defined(D_PLATFORM_LINUX) || defined(D_PLATFORM_FREEBSD)
+ #if defined(D_PLATFORM_64BIT)
+ std::filesystem::path lib_name = std::filesystem::u8path("libamfrt64.so.1");
+ #else
diff --git a/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp b/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp
new file mode 100644
index 000000000000..6a4f6aecc7ec
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_gfx_gfx-opengl.cpp
@@ -0,0 +1,29 @@
+--- source/gfx/gfx-opengl.cpp.orig 2022-12-02 04:28:08 UTC
++++ source/gfx/gfx-opengl.cpp
+@@ -32,7 +32,7 @@
+ #ifdef D_PLATFORM_WINDOWS
+ #include "glad/wgl.h"
+ #endif
+-#ifdef D_PLATFORM_LINUX
++#if defined(D_PLATFORM_LINUX) || defined(D_PLATFORM_FREEBSD)
+ #include "glad/glx.h"
+ #endif
+ #include "warning-enable.hpp"
+@@ -72,7 +72,7 @@ streamfx::gfx::opengl::opengl()
+ // ToDo: Figure out the HDC for which we need to load.
+ //gladLoaderLoadWGL();
+ #endif
+-#ifdef D_PLATFORM_LINUX
++#if defined(D_PLATFORM_LINUX) || defined(D_PLATFORM_FREEBSD)
+ //gladLoaderLoadGLX();
+ #endif // D_PLATFORM_LINUX
+ D_LOG_INFO("Version %d.%d initialized.", GLAD_VERSION_MAJOR(version), GLAD_VERSION_MINOR(version));
+@@ -85,7 +85,7 @@ streamfx::gfx::opengl::~opengl()
+ // Does not appear to exist.
+ //gladLoaderUnloadWGL();
+ #endif
+-#ifdef D_PLATFORM_LINUX
++#if defined(D_PLATFORM_LINUX) || defined(D_PLATFORM_FREEBSD)
+ //gladLoaderUnloadGLX();
+ #endif
+ D_LOG_INFO("Finalized.", "");
diff --git a/multimedia/obs-streamfx/files/patch-source_sources_source-mirror.cpp b/multimedia/obs-streamfx/files/patch-source_sources_source-mirror.cpp
new file mode 100644
index 000000000000..3a6b608c175a
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_sources_source-mirror.cpp
@@ -0,0 +1,12 @@
+--- source/sources/source-mirror.cpp.orig 2023-05-29 23:51:47 UTC
++++ source/sources/source-mirror.cpp
+@@ -116,7 +116,8 @@ void mirror_instance::migrate(obs_data_t* data, uint64
+ case 0:
+ obs_data_set_int(data, ST_KEY_SOURCE_AUDIO_LAYOUT, obs_data_get_int(data, "Source.Mirror.Audio.Layout"));
+ obs_data_unset_user_value(data, "Source.Mirror.Audio.Layout");
+- case STREAMFX_VERSION:
++ //case STREAMFX_VERSION:
++ default: // STREAMFX_VERSION is 0 so the above breaks the compiler, and upstream doesn't accept issues
+ break;
+ }
+ }
diff --git a/multimedia/obs-streamfx/files/patch-source_updater.cpp b/multimedia/obs-streamfx/files/patch-source_updater.cpp
new file mode 100644
index 000000000000..ed7554f37c8f
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_updater.cpp
@@ -0,0 +1,81 @@
+--- source/updater.cpp.orig 2023-05-20 18:52:40 UTC
++++ source/updater.cpp
+@@ -77,7 +77,7 @@ void streamfx::from_json(const nlohmann::json& json, v
+ stage = stage_from_string(json.get<std::string>());
+ }
+
+-streamfx::version_info::version_info() : major(0), minor(0), patch(0), tweak(0), stage(version_stage::STABLE), url(""), name("") {}
++streamfx::version_info::version_info() : major_(0), minor_(0), patch(0), tweak(0), stage(version_stage::STABLE), url(""), name("") {}
+
+ streamfx::version_info::version_info(const std::string text) : version_info()
+ {
+@@ -90,8 +90,8 @@ streamfx::version_info::version_info(const std::string
+ static const std::regex re_version("([0-9]+)\\.([0-9]+)\\.([0-9]+)(([\\._abc]{1,1})([0-9]+|)|)(-g([0-9a-fA-F]{8,8})|)");
+ std::smatch matches;
+ if (std::regex_match(text, matches, re_version, std::regex_constants::match_any | std::regex_constants::match_continuous)) {
+- major = static_cast<uint16_t>(strtoul(matches[1].str().c_str(), nullptr, 10));
+- minor = static_cast<uint16_t>(strtoul(matches[2].str().c_str(), nullptr, 10));
++ major_ = static_cast<uint16_t>(strtoul(matches[1].str().c_str(), nullptr, 10));
++ minor_ = static_cast<uint16_t>(strtoul(matches[2].str().c_str(), nullptr, 10));
+ patch = static_cast<uint16_t>(strtoul(matches[3].str().c_str(), nullptr, 10));
+ if (matches.size() >= 5) {
+ stage = stage_from_string(matches[5].str());
+@@ -105,8 +105,8 @@ streamfx::version_info::version_info(const std::string
+ void streamfx::to_json(nlohmann::json& json, const version_info& info)
+ {
+ auto version = nlohmann::json::object();
+- version["major"] = info.major;
+- version["minor"] = info.minor;
++ version["major"] = info.major_;
++ version["minor"] = info.minor_;
+ version["patch"] = info.patch;
+ version["type"] = info.stage;
+ version["tweak"] = info.tweak;
+@@ -119,8 +119,8 @@ void streamfx::from_json(const nlohmann::json& json, v
+ {
+ if (json.find("html_url") == json.end()) {
+ auto version = json.at("version");
+- info.major = version.at("major").get<uint16_t>();
+- info.minor = version.at("minor").get<uint16_t>();
++ info.major_ = version.at("major").get<uint16_t>();
++ info.minor_ = version.at("minor").get<uint16_t>();
+ info.patch = version.at("patch").get<uint16_t>();
+ info.stage = version.at("type");
+ info.tweak = version.at("tweak").get<uint16_t>();
+@@ -152,19 +152,19 @@ bool streamfx::version_info::is_older_than(const versi
+
+ // Compare Major version:
+ // - Theirs is greater: Remote is newer.
+- if (major < other.major)
++ if (major_ < other.major_)
+ return true;
+ // - Ours is greater: Remote is older.
+- if (major > other.major)
++ if (major_ > other.major_)
+ return false;
+ // - Continue the check.
+
+ // Compare Minor version:
+ // - Theirs is greater: Remote is newer.
+- if (minor < other.minor)
++ if (minor_ < other.minor_)
+ return true;
+ // - Ours is greater: Remote is older.
+- if (minor > other.minor)
++ if (minor_ > other.minor_)
+ return false;
+ // - Continue the check.
+
+@@ -209,10 +209,10 @@ streamfx::version_info::operator std::string()
+ std::vector<char> buffer(25, 0);
+ if (stage != version_stage::STABLE) {
+ auto types = stage_to_string(stage);
+- int len = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16 "%.1s%" PRIu16, major, minor, patch, types.data(), tweak);
++ int len = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16 "%.1s%" PRIu16, major_, minor_, patch, types.data(), tweak);
+ return std::string(buffer.data(), buffer.data() + len);
+ } else {
+- int len = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16, major, minor, patch);
++ int len = snprintf(buffer.data(), buffer.size(), "%" PRIu16 ".%" PRIu16 ".%" PRIu16, major_, minor_, patch);
+ return std::string(buffer.data(), buffer.data() + len);
+ }
+ }
diff --git a/multimedia/obs-streamfx/files/patch-source_updater.hpp b/multimedia/obs-streamfx/files/patch-source_updater.hpp
new file mode 100644
index 000000000000..4ce34f3300fe
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-source_updater.hpp
@@ -0,0 +1,13 @@
+--- source/updater.hpp.orig 2022-12-29 20:10:45 UTC
++++ source/updater.hpp
+@@ -45,8 +45,8 @@ namespace streamfx {
+
+ struct version_info {
+ public:
+- uint16_t major;
+- uint16_t minor;
++ uint16_t major_;
++ uint16_t minor_;
+ uint16_t patch;
+ uint16_t tweak;
+ version_stage stage;
diff --git a/multimedia/obs-streamfx/files/patch-templates_config.hpp.in b/multimedia/obs-streamfx/files/patch-templates_config.hpp.in
new file mode 100644
index 000000000000..1fc7d45d858a
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-templates_config.hpp.in
@@ -0,0 +1,10 @@
+--- templates/config.hpp.in.orig 2022-06-19 17:02:21 UTC
++++ templates/config.hpp.in
+@@ -23,6 +23,7 @@
+ #define D_PLATFORM_OS "@D_PLATFORM_OS@"
+ #cmakedefine D_PLATFORM_WINDOWS
+ #cmakedefine D_PLATFORM_LINUX
++#cmakedefine D_PLATFORM_FREEBSD
+ #cmakedefine D_PLATFORM_MAC
+ #cmakedefine D_PLATFORM_UNKNOWN
+
diff --git a/multimedia/obs-streamfx/files/patch-templates_version.hpp.in b/multimedia/obs-streamfx/files/patch-templates_version.hpp.in
new file mode 100644
index 000000000000..97b37fa6768a
--- /dev/null
+++ b/multimedia/obs-streamfx/files/patch-templates_version.hpp.in
@@ -0,0 +1,19 @@
+- workaround for https://github.com/Xaymar/obs-StreamFX/issues/999
+
+--- templates/version.hpp.in.orig 2022-12-29 20:03:59 UTC
++++ templates/version.hpp.in
+@@ -32,10 +32,10 @@
+ #define STREAMFX_MASK_COMPAT 0xFFFFFFFF00000000ull
+ #define STREAMFX_MASK_UPDATE 0xFFFFFFFFFFFF0000ull
+
+-#define STREAMFX_VERSION_MAJOR @PROJECT_VERSION_MAJOR@u
+-#define STREAMFX_VERSION_MINOR @PROJECT_VERSION_MINOR@u
+-#define STREAMFX_VERSION_PATCH @PROJECT_VERSION_PATCH@u
+-#define STREAMFX_VERSION_TWEAK @PROJECT_VERSION_TWEAK@u
++#define STREAMFX_VERSION_MAJOR @PROJECT_VERSION_MAJOR@
++#define STREAMFX_VERSION_MINOR @PROJECT_VERSION_MINOR@
++#define STREAMFX_VERSION_PATCH @PROJECT_VERSION_PATCH@
++#define STREAMFX_VERSION_TWEAK @PROJECT_VERSION_TWEAK@
+ #define STREAMFX_VERSION_PRERELEASE "@_VERSION_PRERELEASE@"
+ #define STREAMFX_VERSION_BUILD "@_VERSION_BUILD@"
+ #define STREAMFX_VERSION \
diff --git a/multimedia/obs-streamfx/pkg-descr b/multimedia/obs-streamfx/pkg-descr
index 55edf34d1adc..d0d73024656b 100644
--- a/multimedia/obs-streamfx/pkg-descr
+++ b/multimedia/obs-streamfx/pkg-descr
@@ -4,5 +4,3 @@ improve your stream and recording setup past what was possible in OBS Studio
until now. Whether it is blurring out a region, moving something in 3D, or
just writing your own shaders as a new transition, source or filter -
StreamFX has it all.
-
-WWW: https://github.com/Xaymar/obs-StreamFX
diff --git a/multimedia/obs-streamfx/pkg-plist b/multimedia/obs-streamfx/pkg-plist
index e4cdef6872a3..d1db80949277 100644
--- a/multimedia/obs-streamfx/pkg-plist
+++ b/multimedia/obs-streamfx/pkg-plist
@@ -1,43 +1,72 @@
lib/obs-plugins/StreamFX.so
share/obs/obs-plugins/StreamFX/effects/blur/box-linear.effect
share/obs/obs-plugins/StreamFX/effects/blur/box.effect
+share/obs/obs-plugins/StreamFX/effects/blur/common.effect
share/obs/obs-plugins/StreamFX/effects/blur/dual-filtering.effect
share/obs/obs-plugins/StreamFX/effects/blur/gaussian-linear.effect
share/obs/obs-plugins/StreamFX/effects/blur/gaussian.effect
share/obs/obs-plugins/StreamFX/effects/channel-mask.effect
-share/obs/obs-plugins/StreamFX/effects/color-conversion.effect
share/obs/obs-plugins/StreamFX/effects/color-grade.effect
-share/obs/obs-plugins/StreamFX/effects/displace.effect
+share/obs/obs-plugins/StreamFX/effects/color_conversion_rgb_hsl.effect
+share/obs/obs-plugins/StreamFX/effects/color_conversion_rgb_hsv.effect
+share/obs/obs-plugins/StreamFX/effects/color_conversion_rgb_yuv.effect
+share/obs/obs-plugins/StreamFX/effects/lut-consumer.effect
+share/obs/obs-plugins/StreamFX/effects/lut-producer.effect
+share/obs/obs-plugins/StreamFX/effects/lut.effect
share/obs/obs-plugins/StreamFX/effects/mask.effect
share/obs/obs-plugins/StreamFX/effects/mipgen.effect
share/obs/obs-plugins/StreamFX/effects/pack-unpack.effect
share/obs/obs-plugins/StreamFX/effects/sdf/sdf-consumer.effect
share/obs/obs-plugins/StreamFX/effects/sdf/sdf-producer.effect
+share/obs/obs-plugins/StreamFX/effects/shared.effect
+share/obs/obs-plugins/StreamFX/effects/standard.effect
+share/obs/obs-plugins/StreamFX/effects/transform.effect
+share/obs/obs-plugins/StreamFX/effects/virtual-greenscreen.effect
share/obs/obs-plugins/StreamFX/examples/normal-maps/neutral.png
share/obs/obs-plugins/StreamFX/examples/normal-maps/stretch-middle.png
+share/obs/obs-plugins/StreamFX/examples/shaders/base.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/colorconversion_rgb_yuv.effect
share/obs/obs-plugins/StreamFX/examples/shaders/feature-test.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/blur-gaussian.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/bulge_pinch.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/colorize.effect
share/obs/obs-plugins/StreamFX/examples/shaders/filter/crt-curvature.effect
share/obs/obs-plugins/StreamFX/examples/shaders/filter/crt-scanlines.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/displace.effect
share/obs/obs-plugins/StreamFX/examples/shaders/filter/drunk.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/fxaa.effect
share/obs/obs-plugins/StreamFX/examples/shaders/filter/hexagonize.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/pixelation.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/posterize.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/repeat.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/rounded-rect.effect
share/obs/obs-plugins/StreamFX/examples/shaders/filter/semiline.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-3l23Rh.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-3tlXWS.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-MslGRn.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-MslfRn.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-MtcGD7.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-XljBW3.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-Xsl3RX.effect
-share/obs/obs-plugins/StreamFX/examples/shaders/source/shadertoy-template.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/smaa.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/smaa/areatex.png
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/smaa/searchtex.png
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/swirl.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/vignette.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/wave.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/filter/zigzag.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/source/flip-ab-texture.effect
share/obs/obs-plugins/StreamFX/examples/shaders/transition/color-shift.effect
share/obs/obs-plugins/StreamFX/examples/shaders/transition/luma-burn.effect
share/obs/obs-plugins/StreamFX/examples/shaders/transition/pixelator.effect
share/obs/obs-plugins/StreamFX/examples/shaders/transition/sliding-bars.effect
+share/obs/obs-plugins/StreamFX/examples/shaders/transition/spin-blur.effect
share/obs/obs-plugins/StreamFX/examples/white.png
+share/obs/obs-plugins/StreamFX/locale/ar-SA.ini
+share/obs/obs-plugins/StreamFX/locale/bg-BG.ini
share/obs/obs-plugins/StreamFX/locale/bo-BT.ini
+share/obs/obs-plugins/StreamFX/locale/bs-BA.ini
+share/obs/obs-plugins/StreamFX/locale/cs-CZ.ini
share/obs/obs-plugins/StreamFX/locale/cy-GB.ini
+share/obs/obs-plugins/StreamFX/locale/da-DK.ini
share/obs/obs-plugins/StreamFX/locale/de-DE.ini
share/obs/obs-plugins/StreamFX/locale/el-GR.ini
+share/obs/obs-plugins/StreamFX/locale/en-AU.ini
+share/obs/obs-plugins/StreamFX/locale/en-CA.ini
+share/obs/obs-plugins/StreamFX/locale/en-GB.ini
share/obs/obs-plugins/StreamFX/locale/en-US.ini
share/obs/obs-plugins/StreamFX/locale/es-ES.ini
share/obs/obs-plugins/StreamFX/locale/et-EE.ini
@@ -48,6 +77,7 @@ share/obs/obs-plugins/StreamFX/locale/fo-FO.ini
share/obs/obs-plugins/StreamFX/locale/fr-FR.ini
share/obs/obs-plugins/StreamFX/locale/ga-IE.ini
share/obs/obs-plugins/StreamFX/locale/he-IL.ini
+share/obs/obs-plugins/StreamFX/locale/hr-HR.ini
share/obs/obs-plugins/StreamFX/locale/hu-HU.ini
share/obs/obs-plugins/StreamFX/locale/id-ID.ini
share/obs/obs-plugins/StreamFX/locale/is-IS.ini
@@ -72,6 +102,8 @@ share/obs/obs-plugins/StreamFX/locale/pt-BR.ini
share/obs/obs-plugins/StreamFX/locale/pt-PT.ini
share/obs/obs-plugins/StreamFX/locale/ro-RO.ini
share/obs/obs-plugins/StreamFX/locale/ru-RU.ini
+share/obs/obs-plugins/StreamFX/locale/sh-HR.ini
+share/obs/obs-plugins/StreamFX/locale/si-LK.ini
share/obs/obs-plugins/StreamFX/locale/su-ID.ini
share/obs/obs-plugins/StreamFX/locale/sv-SE.ini
share/obs/obs-plugins/StreamFX/locale/sw-KE.ini
@@ -81,4 +113,6 @@ share/obs/obs-plugins/StreamFX/locale/tr-TR.ini
share/obs/obs-plugins/StreamFX/locale/uk-UA.ini
share/obs/obs-plugins/StreamFX/locale/vi-VN.ini
share/obs/obs-plugins/StreamFX/locale/zh-CN.ini
+share/obs/obs-plugins/StreamFX/locale/zh-HK.ini
share/obs/obs-plugins/StreamFX/locale/zh-TW.ini
+share/obs/obs-plugins/StreamFX/thanks.json
diff --git a/multimedia/obs-studio/Makefile b/multimedia/obs-studio/Makefile
index ccde077f5ae0..bdb00ca15b73 100644
--- a/multimedia/obs-studio/Makefile
+++ b/multimedia/obs-studio/Makefile
@@ -1,25 +1,24 @@
PORTNAME= obs-studio
-DISTVERSION= 27.2.4
+DISTVERSION= 30.1.2
CATEGORIES= multimedia
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES+= ecd7a59aed665eca0a50b99939ef28e04e144876.patch:-p1 \
- 445f39764b8f11f951d41d14ee57ae13f57b13d4.patch:-p1 # backport the PR "Fix building OBS Studio on FreeBSD", https://github.com/obsproject/obs-studio/pull/6026
-PATCHFILES+= 46b3935959c0afd4d2128279912ee86f69e81048.patch:-p1 \
- 864cafd6e85be74e22637935d45fad33a4e7ce2a.patch:-p1 # v4l2loopback: Add support for non-Linux environments: https://github.com/obsproject/obs-studio/pull/5069
-
MAINTAINER= yuri@FreeBSD.org
COMMENT= Open source streaming/recording software
+WWW= https://obsproject.com/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
-BROKEN_i386= https://github.com/obsproject/obs-browser/issues/241
+BROKEN_i386= link fails: relocation R_386_PC32 cannot be used against symbol 'strlist_split'; recompile with -fPIC, see https://github.com/obsproject/obs-studio/issues/10481
-BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat \
- swig:devel/swig
+BUILD_DEPENDS= asio>0:net/asio \
+ ${LOCALBASE}/include/nlohmann/json.hpp:devel/nlohmann-json \
+ v4l_compat>=0:multimedia/v4l_compat \
+ swig:devel/swig \
+ websocketpp>0:devel/websocketpp
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libcurl.so:ftp/curl \
+ libdatachannel.so:www/libdatachannel \
libdbus-1.so:devel/dbus \
libfdk-aac.so:audio/fdk-aac \
libfontconfig.so:x11-fonts/fontconfig \
@@ -27,12 +26,14 @@ LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libjansson.so:devel/jansson \
libmbedtls.so:security/mbedtls \
libpci.so:devel/libpci \
+ libqrcodegencpp.so:graphics/qr-code-generator \
+ librist.so:multimedia/librist \
+ librnnoise.so:audio/rnnoise \
libspeexdsp.so:audio/speexdsp \
+ libsrt.so:www/srt \
libsysinfo.so:devel/libsysinfo \
libudev.so:devel/libudev-devd \
libv4l2.so:multimedia/libv4l \
- libvlc.so:multimedia/vlc \
- libwayland-client.so:graphics/wayland \
libx264.so:multimedia/libx264 \
libxcb-ewmh.so:x11/xcb-util-wm \
libxcb-image.so:x11/xcb-util-image \
@@ -40,17 +41,12 @@ LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libxcb-render-util.so:x11/xcb-util-renderutil \
libxcb-util.so:x11/xcb-util \
libxkbcommon.so:x11/libxkbcommon \
- ${LIB_DEPENDS_${ARCH}}
-LIB_DEPENDS_amd64= libluajit-5.1.so:lang/luajit
-LIB_DEPENDS_armv7= libluajit-5.1.so:lang/luajit
-LIB_DEPENDS_i386= libluajit-5.1.so:lang/luajit
-LIB_DEPENDS_powerpc= libluajit-5.1.so:lang/luajit
-LIB_DEPENDS_powerpc64= libluajit-5.1.so:lang/luajit-openresty
-LIB_DEPENDS_powerpc64le= libluajit-5.1.so:lang/luajit-openresty
-
-USES= cmake compiler:c++17-lang gl gnome lua pkgconfig python:3.4+ \
- qt:5 xorg
-USE_QT= core gui network svg widgets x11extras xml buildtools_build imageformats_run qmake_build
+ libuuid.so:misc/e2fsprogs-libuuid \
+ libva.so:multimedia/libva
+
+USES= cmake compiler:c++17-lang desktop-file-utils gl gnome lua luajit \
+ pkgconfig python qt:6 xorg
+USE_QT= base svg tools:build
USE_GNOME= glib20
USE_GL= gl
USE_XORG= ice sm x11 xcb xcomposite xext xfixes xinerama xrandr
@@ -58,20 +54,31 @@ USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= obsproject
-GH_TUPLE= obsproject:obs-browser:f1a61c5:obs_browser/plugins/obs-browser \
- obsproject:obs-vst:aaa7b7f:obs_vst/plugins/obs-vst
+GH_TUPLE= obsproject:obs-amd-encoder:d5a136c6834c39293ad749cf8f07bdaa772fe44b:obsproject_obs_amd_encoder/plugins/enc-amf \
+ obsproject:obs-browser:996b5a7:obsproject_obs_browser/plugins/obs-browser \
+ obsproject:obs-websocket:d2d4bfb:obsproject_obs_websocket/plugins/obs-websocket \
+ chriskohlhoff:asio:b73dc1d:chriskohlhoff_asio/plugins/obs-websocket/deps/asio \
+ nayuki:QR-Code-generator:8518684:nayuki_QR_Code_generator/plugins/obs-websocket/deps/qr \
+ nlohmann:json:a34e011:nlohmann_json/plugins/obs-websocket/deps/json \
+ zaphoyd:websocketpp:56123c8:zaphoyd_websocketpp/plugins/obs-websocket/deps/websocketpp \
+ obsproject:libdshowcapture:a93f1a34c14e91b5c540f264fb965f32caf77336:obsproject_libdshowcapture/plugins/win-dshow/libdshowcapture \
+ elgatosf:capture-device-support:bedcf28ed7a74eb7bf96a383fd18d2f5a1849b10:elgatosf_capture_device_support/plugins/win-dshow/libdshowcapture/external/capture-device-support \
+ Mixer:ftl-sdk:d0c8469f66806b5ea738d607f7d2b000af8b1129:Mixer_ftl_sdk/plugins/obs-outputs/ftl-sdk \
+ curl:curl:44b9b4d4f56d6f6de92c89636994c03984e9cd01:curl_curl/plugins/obs-outputs/ftl-sdk/libcurl \
+ akheron:jansson:bc5741fb1ac730ead24e9bd08977fc6c248e04b0:akheron_jansson/plugins/obs-outputs/ftl-sdk/libjansson
CMAKE_ON= UNIX_STRUCTURE
-CMAKE_OFF= ENABLE_PIPEWIRE # beginning with 27.0.1 (PR#4287) the linux-capture plugin optionally requires the piperware library and in this case expects the linux/dma-buf.h header
-CMAKE_ARGS= -DOBS_VERSION_OVERRIDE:STRING="${PORTVERSION}"
+CMAKE_ARGS= -DOBS_VERSION_OVERRIDE:STRING="${PORTVERSION}" \
+ -DQT_VERSION=6 \
+ -DPython_EXECUTABLE="${PYTHON_CMD}"
LDFLAGS+= -fPIC # pending https://github.com/obsproject/obs-studio/issues/3436
-OPTIONS_DEFINE= BROWSER VST
-OPTIONS_DEFAULT= VST
+OPTIONS_DEFINE= BROWSER PIPEWIRE VLC VST WAYLAND
+OPTIONS_DEFAULT= PIPEWIRE VLC VST WAYLAND
OPTIONS_MULTI= AUDIO
OPTIONS_MULTI_AUDIO= JACK PULSEAUDIO SNDIO
-OPTIONS_DEFAULT+= JACK PULSEAUDIO SNDIO
+OPTIONS_DEFAULT+= ${OPTIONS_MULTI_AUDIO}
OPTIONS_SUB= yes
AUDIO_DESC= Audio backends
@@ -83,6 +90,10 @@ JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CMAKE_ON= -DENABLE_JACK=TRUE
JACK_CMAKE_OFF= -DDISABLE_JACK=TRUE
+PIPEWIRE_DESC= Screen capture via PipeWire
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_CMAKE_BOOL= ENABLE_PIPEWIRE
+
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_ON= -DENABLE_PULSEAUDIO=TRUE
PULSEAUDIO_CMAKE_OFF= -DDISABLE_PULSEAUDIO=TRUE
@@ -92,9 +103,17 @@ SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
SNDIO_CMAKE_ON= -DENABLE_SNDIO=TRUE
SNDIO_CMAKE_OFF= -DDISABLE_SNDIO=TRUE
+VLC_DESC= Enable VLC plugin
+VLC_CMAKE_BOOL= ENABLE_VLC
+VLC_LIB_DEPENDS= libvlc.so:multimedia/vlc
+
VST_DESC= Build VST submodule
VST_CMAKE_BOOL= BUILD_VST
+WAYLAND_CATEGORIES= wayland
+WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
+WAYLAND_CMAKE_BOOL= ENABLE_WAYLAND
+
.include <bsd.port.pre.mk>
.if ${ARCH} != amd64 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != powerpc && ${ARCH} != powerpc64 && ${ARCH} != powerpc64le
@@ -103,14 +122,7 @@ PLIST_SUB+= LUAJIT="@comment "
PLIST_SUB+= LUAJIT=""
.endif
-post-patch:
- @${REINPLACE_CMD} -e 's| 3.4)| ${PYTHON_VER})|' \
- ${WRKSRC}/cmake/Modules/FindPythonDeps.cmake
- # patch out linixism
- #@${REINPLACE_CMD} -e 's|versionsort|alphasort|' \
- # ${WRKSRC}/plugins/linux-v4l2/v4l2-output.c
-
-post-install:
+xpost-install:
# https://github.com/obsproject/obs-studio/issues/2625
${INSTALL_DATA} ${WRKSRC}/UI/obs-frontend-api/obs-frontend-api.h ${STAGEDIR}${PREFIX}/include/obs
# https://github.com/obsproject/obs-studio/issues/2647 (only for multimedia/obs-audio-spectralizer, should be removed later)
diff --git a/multimedia/obs-studio/distinfo b/multimedia/obs-studio/distinfo
index 46bc98f1448a..18a649ecaf4f 100644
--- a/multimedia/obs-studio/distinfo
+++ b/multimedia/obs-studio/distinfo
@@ -1,15 +1,27 @@
-TIMESTAMP = 1651027932
-SHA256 (obsproject-obs-studio-27.2.4_GH0.tar.gz) = f7297a7421cbfe2bb4bc6bf83659bb873bc8f1186667c35c34bdbaac3f0fd5fd
-SIZE (obsproject-obs-studio-27.2.4_GH0.tar.gz) = 16385399
-SHA256 (obsproject-obs-browser-f1a61c5_GH0.tar.gz) = 6c9948047dd01a8baaa47f98d8929950a3977e56ad6a06deacbf7acf9c7af648
-SIZE (obsproject-obs-browser-f1a61c5_GH0.tar.gz) = 79279
-SHA256 (obsproject-obs-vst-aaa7b7f_GH0.tar.gz) = f6d1f8ef3d417b0cdf8b88df7b9308c827d47fca809b1fa414e5d87f6f9e10c3
-SIZE (obsproject-obs-vst-aaa7b7f_GH0.tar.gz) = 516781
-SHA256 (ecd7a59aed665eca0a50b99939ef28e04e144876.patch) = 3c13de74b34f31f59b038c2858d2f6ca7fe5b387150d18c175290aa20b1e68c0
-SIZE (ecd7a59aed665eca0a50b99939ef28e04e144876.patch) = 3418
-SHA256 (445f39764b8f11f951d41d14ee57ae13f57b13d4.patch) = 7ffb366e7b6617a99969c4d081086762924157a1e804317adadc128b5818bfa2
-SIZE (445f39764b8f11f951d41d14ee57ae13f57b13d4.patch) = 4661
-SHA256 (46b3935959c0afd4d2128279912ee86f69e81048.patch) = d617b91e9a634d7eb14a6f14227c703a0fdd1f6c5740f338ff1188ba9b71c0fc
-SIZE (46b3935959c0afd4d2128279912ee86f69e81048.patch) = 2301
-SHA256 (864cafd6e85be74e22637935d45fad33a4e7ce2a.patch) = ed96649fd18a617b40863cb84c19a7e44097dec0340624eed5ace1f8b013dab1
-SIZE (864cafd6e85be74e22637935d45fad33a4e7ce2a.patch) = 1960
+TIMESTAMP = 1712532040
+SHA256 (obsproject-obs-studio-30.1.2_GH0.tar.gz) = 490bae1c392b3b344b0270afd8cb887da4bc50bd92c0c426e96713c1ccb9701a
+SIZE (obsproject-obs-studio-30.1.2_GH0.tar.gz) = 16023853
+SHA256 (obsproject-obs-amd-encoder-d5a136c6834c39293ad749cf8f07bdaa772fe44b_GH0.tar.gz) = 6cfae1f4d378124d9621bde29d9ff5d49134dabcd1f17aad048f77e103ddee14
+SIZE (obsproject-obs-amd-encoder-d5a136c6834c39293ad749cf8f07bdaa772fe44b_GH0.tar.gz) = 347479
+SHA256 (obsproject-obs-browser-996b5a7_GH0.tar.gz) = 06df979975d6911b5920fefcb34239b967a263137012a271279066dbdd8a2692
+SIZE (obsproject-obs-browser-996b5a7_GH0.tar.gz) = 112434
+SHA256 (obsproject-obs-websocket-d2d4bfb_GH0.tar.gz) = 73ff07dc1f0a23deffc2fbc89e91c35abd45a87427fee593ac43ab6d61918380
+SIZE (obsproject-obs-websocket-d2d4bfb_GH0.tar.gz) = 246774
+SHA256 (chriskohlhoff-asio-b73dc1d_GH0.tar.gz) = fca0dcfeb298bd4c9a3dcd304a46f5f82dea49771f5f844f0e96eecec47d092c
+SIZE (chriskohlhoff-asio-b73dc1d_GH0.tar.gz) = 1210884
+SHA256 (nayuki-QR-Code-generator-8518684_GH0.tar.gz) = 0fa3e16822e66343d10ba0ba2787378e44d88686d9836476d2df041a59b729e9
+SIZE (nayuki-QR-Code-generator-8518684_GH0.tar.gz) = 135743
+SHA256 (nlohmann-json-a34e011_GH0.tar.gz) = 8580814d7748cb417eb4e89bab32ae2473ecf055d33cdf18044f09f84eab2db8
+SIZE (nlohmann-json-a34e011_GH0.tar.gz) = 6860457
+SHA256 (zaphoyd-websocketpp-56123c8_GH0.tar.gz) = 002ee5ec06f8408edd34034cbd9f776d0dee8f7312eceb1244e1f18c19f8e390
+SIZE (zaphoyd-websocketpp-56123c8_GH0.tar.gz) = 701406
+SHA256 (obsproject-libdshowcapture-a93f1a34c14e91b5c540f264fb965f32caf77336_GH0.tar.gz) = e3c159d7e292fa1a7ab1e44190e906a5b64a7f25161ef26f696cd8fe3dcd3be1
+SIZE (obsproject-libdshowcapture-a93f1a34c14e91b5c540f264fb965f32caf77336_GH0.tar.gz) = 56285
+SHA256 (elgatosf-capture-device-support-bedcf28ed7a74eb7bf96a383fd18d2f5a1849b10_GH0.tar.gz) = 87b5bbfb3e7598df5173bbeb3a3434974668f71100b35fe48ffe30573f3716a1
+SIZE (elgatosf-capture-device-support-bedcf28ed7a74eb7bf96a383fd18d2f5a1849b10_GH0.tar.gz) = 20629
+SHA256 (Mixer-ftl-sdk-d0c8469f66806b5ea738d607f7d2b000af8b1129_GH0.tar.gz) = 1fc9f9912c46230ed1ccfed78e2e91f161982508c94f1d91565b7eb985ae2d3c
+SIZE (Mixer-ftl-sdk-d0c8469f66806b5ea738d607f7d2b000af8b1129_GH0.tar.gz) = 95492
+SHA256 (curl-curl-44b9b4d4f56d6f6de92c89636994c03984e9cd01_GH0.tar.gz) = e3b9aa0abb173d74a6df4a4f9485eed2bac89bfab147f78a592a4197eff06625
+SIZE (curl-curl-44b9b4d4f56d6f6de92c89636994c03984e9cd01_GH0.tar.gz) = 2705576
+SHA256 (akheron-jansson-bc5741fb1ac730ead24e9bd08977fc6c248e04b0_GH0.tar.gz) = a285ed51c597b23d1f25de3bc5c9c128d55c6aa17af68e0680efa028f8b0437c
+SIZE (akheron-jansson-bc5741fb1ac730ead24e9bd08977fc6c248e04b0_GH0.tar.gz) = 127897
diff --git a/multimedia/obs-studio/files/patch-UI_window-basic-main.cpp b/multimedia/obs-studio/files/patch-UI_window-basic-main.cpp
deleted file mode 100644
index 975665b1f760..000000000000
--- a/multimedia/obs-studio/files/patch-UI_window-basic-main.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
---- UI/window-basic-main.cpp.orig 2020-03-19 16:51:06 UTC
-+++ UI/window-basic-main.cpp
-@@ -3207,6 +3207,10 @@ void OBSBasic::TimedCheckForUpdates()
-
- void OBSBasic::CheckForUpdates(bool manualUpdate)
- {
-+#ifdef __FreeBSD__
-+ // Update check seg faults on FreeBSD
-+ return;
-+#endif
- #ifdef UPDATE_SPARKLE
- trigger_sparkle_update();
- #elif _WIN32
diff --git a/multimedia/obs-studio/files/patch-UI_window-basic-preview.cpp b/multimedia/obs-studio/files/patch-UI_window-basic-preview.cpp
deleted file mode 100644
index 8562a1890dae..000000000000
--- a/multimedia/obs-studio/files/patch-UI_window-basic-preview.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-Why is this patch needed?
-
---- UI/window-basic-preview.cpp.orig 2021-06-11 14:20:50 UTC
-+++ UI/window-basic-preview.cpp
-@@ -577,8 +577,8 @@ void OBSBasicPreview::mousePressEvent(QMouseEvent *eve
- GetStretchHandleData(startPos, false);
-
- vec2_divf(&startPos, &startPos, main->previewScale / pixelRatio);
-- startPos.x = std::round(startPos.x);
-- startPos.y = std::round(startPos.y);
-+ startPos.x = ::round(startPos.x);
-+ startPos.y = ::round(startPos.y);
-
- mouseOverItems = SelectedAtPos(startPos);
- vec2_zero(&lastMoveOffset);
-@@ -1228,8 +1228,8 @@ void OBSBasicPreview::ClampAspect(vec3 &tl, vec3 &br,
- size.y = size.x / baseAspect * -1.0f;
- }
-
-- size.x = std::round(size.x);
-- size.y = std::round(size.y);
-+ size.x = ::round(size.x);
-+ size.y = ::round(size.y);
-
- if (stretchFlags & ITEM_LEFT)
- tl.x = br.x - size.x;
-@@ -1470,7 +1470,7 @@ void OBSBasicPreview::StretchItem(const vec2 &pos)
- vec3_transform(&pos3, &pos3, &itemToScreen);
-
- vec2 newPos;
-- vec2_set(&newPos, std::round(pos3.x), std::round(pos3.y));
-+ vec2_set(&newPos, ::round(pos3.x), ::round(pos3.y));
- obs_sceneitem_set_pos(stretchItem, &newPos);
- }
-
-@@ -1501,8 +1501,8 @@ void OBSBasicPreview::mouseMoveEvent(QMouseEvent *even
- mouseOverItems = SelectedAtPos(startPos);
- }
-
-- pos.x = std::round(pos.x);
-- pos.y = std::round(pos.y);
-+ pos.x = ::round(pos.x);
-+ pos.y = ::round(pos.y);
-
- if (stretchHandle != ItemHandle::None) {
- selectionBox = false;
diff --git a/multimedia/obs-studio/files/patch-cmake_Modules_CompilerConfig.cmake b/multimedia/obs-studio/files/patch-cmake_Modules_CompilerConfig.cmake
new file mode 100644
index 000000000000..22a1c325af6f
--- /dev/null
+++ b/multimedia/obs-studio/files/patch-cmake_Modules_CompilerConfig.cmake
@@ -0,0 +1,13 @@
+- prevent warnings from breaking the build
+
+--- cmake/Modules/CompilerConfig.cmake.orig 2023-06-19 20:58:53 UTC
++++ cmake/Modules/CompilerConfig.cmake
+@@ -108,7 +108,7 @@ else()
+ - https://github.com/obsproject/obs-studio/issues/8850 for 13.1.1
+ ]]
+ add_compile_options(
+- -Werror
++ #-Werror
+ -Wextra
+ -Wvla
+ -Wswitch
diff --git a/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt b/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt
index fa969c2e0925..f6f0c815f287 100644
--- a/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt
+++ b/multimedia/obs-studio/files/patch-plugins_CMakeLists.txt
@@ -1,11 +1,17 @@
---- plugins/CMakeLists.txt.orig 2021-06-11 14:20:50 UTC
+--- plugins/CMakeLists.txt.orig 2022-08-31 19:05:07 UTC
+++ plugins/CMakeLists.txt
-@@ -51,7 +51,7 @@ elseif("${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD")
- add_subdirectory(linux-pulseaudio)
- add_subdirectory(linux-v4l2)
- add_subdirectory(linux-jack)
-- add_subdirectory(linux-alsa)
-+ #add_subdirectory(linux-alsa)
- add_subdirectory(vlc-video)
- add_subdirectory(oss-audio)
- add_subdirectory(sndio)
+@@ -67,7 +67,7 @@ elseif(OS_FREEBSD)
+ add_subdirectory(linux-pulseaudio)
+ add_subdirectory(linux-v4l2)
+ add_subdirectory(linux-jack)
+- add_subdirectory(linux-alsa)
++ #add_subdirectory(linux-alsa)
+ add_subdirectory(vlc-video)
+ add_subdirectory(oss-audio)
+ add_subdirectory(sndio)
+@@ -97,4 +97,4 @@ add_subdirectory(obs-filters)
+ add_subdirectory(obs-transitions)
+ add_subdirectory(rtmp-services)
+ add_subdirectory(text-freetype2)
+-add_subdirectory(aja)
++#add_subdirectory(aja) # this requires libajantv2 which might be difficult to port
diff --git a/multimedia/obs-studio/files/patch-plugins_obs-outputs_librtmp_rtmp.h b/multimedia/obs-studio/files/patch-plugins_obs-outputs_librtmp_rtmp.h
deleted file mode 100644
index cf2448a9dfed..000000000000
--- a/multimedia/obs-studio/files/patch-plugins_obs-outputs_librtmp_rtmp.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/obs-outputs/librtmp/rtmp.h.orig 2020-03-20 10:48:43 UTC
-+++ plugins/obs-outputs/librtmp/rtmp.h
-@@ -94,7 +94,7 @@ typedef tls_ctx *TLS_CTX;
- mbedtls_ssl_init(s);\
- mbedtls_ssl_setup(s, &ctx->conf);\
- mbedtls_ssl_config_defaults(&ctx->conf, MBEDTLS_SSL_IS_CLIENT, MBEDTLS_SSL_TRANSPORT_STREAM, MBEDTLS_SSL_PRESET_DEFAULT);\
-- mbedtls_ssl_conf_authmode(&ctx->conf, MBEDTLS_SSL_VERIFY_REQUIRED);\
-+ mbedtls_ssl_conf_authmode(&ctx->conf, MBEDTLS_SSL_VERIFY_NONE);\
- mbedtls_ssl_conf_rng(&ctx->conf, mbedtls_ctr_drbg_random, &ctx->ctr_drbg)
-
- #define TLS_setfd(s,fd) mbedtls_ssl_set_bio(s, fd, mbedtls_net_send, mbedtls_net_recv, NULL)
diff --git a/multimedia/obs-studio/pkg-descr b/multimedia/obs-studio/pkg-descr
index d5651d1b3d95..8fa9266a600e 100644
--- a/multimedia/obs-studio/pkg-descr
+++ b/multimedia/obs-studio/pkg-descr
@@ -1,4 +1,2 @@
Open Broadcaster Software is free and open source software
for video recording and live streaming.
-
-WWW: https://obsproject.com/
diff --git a/multimedia/obs-studio/pkg-plist b/multimedia/obs-studio/pkg-plist
index adedc40660cd..234b87cece20 100644
--- a/multimedia/obs-studio/pkg-plist
+++ b/multimedia/obs-studio/pkg-plist
@@ -6,6 +6,7 @@ include/obs/callback/decl.h
include/obs/callback/proc.h
include/obs/callback/signal.h
include/obs/graphics/axisang.h
+include/obs/graphics/basemath.hpp
include/obs/graphics/bounds.h
include/obs/graphics/device-exports.h
include/obs/graphics/effect-parser.h
@@ -38,6 +39,7 @@ include/obs/media-io/video-frame.h
include/obs/media-io/video-io.h
include/obs/media-io/video-scaler.h
include/obs/obs-audio-controls.h
+include/obs/obs-av1.h
include/obs/obs-avc.h
include/obs/obs-config.h
include/obs/obs-data.h
@@ -45,22 +47,27 @@ include/obs/obs-defs.h
include/obs/obs-encoder.h
include/obs/obs-ffmpeg-compat.h
include/obs/obs-frontend-api.h
+include/obs/obs-hevc.h
include/obs/obs-hotkey.h
include/obs/obs-hotkeys.h
include/obs/obs-interaction.h
include/obs/obs-internal.h
include/obs/obs-missing-files.h
include/obs/obs-module.h
+include/obs/obs-nal.h
include/obs/obs-nix-platform.h
+include/obs/obs-nix-wayland.h
+include/obs/obs-nix-x11.h
+include/obs/obs-nix.h
include/obs/obs-output.h
include/obs/obs-properties.h
include/obs/obs-scene.h
include/obs/obs-service.h
include/obs/obs-source.h
-include/obs/obs-ui.h
include/obs/obs.h
include/obs/obs.hpp
include/obs/obsconfig.h
+include/obs/obsversion.h
include/obs/util/array-serializer.h
include/obs/util/base.h
include/obs/util/bitstream.h
@@ -73,7 +80,9 @@ include/obs/util/config-file.h
include/obs/util/crc32.h
include/obs/util/curl/curl-helper.h
include/obs/util/darray.h
+include/obs/util/deque.h
include/obs/util/dstr.h
+include/obs/util/dstr.hpp
include/obs/util/file-serializer.h
include/obs/util/lexer.h
include/obs/util/pipe.h
@@ -101,46 +110,49 @@ include/obs/util/text-lookup.h
include/obs/util/threading-posix.h
include/obs/util/threading.h
include/obs/util/utf8.h
+include/obs/util/uthash.h
include/obs/util/util.hpp
include/obs/util/util_uint128.h
include/obs/util/util_uint64.h
-lib/cmake/LibObs/LibObsConfig.cmake
-lib/cmake/LibObs/LibObsConfigVersion.cmake
-lib/cmake/LibObs/LibObsTarget-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/LibObs/LibObsTarget.cmake
-lib/cmake/ObsHelpers.cmake
-lib/cmake/ObsPluginHelpers.cmake
+lib/cmake/libobs/libobsConfig.cmake
+lib/cmake/libobs/libobsConfigVersion.cmake
+lib/cmake/libobs/libobsTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/libobs/libobsTargets.cmake
+lib/cmake/obs-frontend-api/obs-frontend-apiConfig.cmake
+lib/cmake/obs-frontend-api/obs-frontend-apiConfigVersion.cmake
+lib/cmake/obs-frontend-api/obs-frontend-apiTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/obs-frontend-api/obs-frontend-apiTargets.cmake
lib/libobs-frontend-api.so
lib/libobs-frontend-api.so.0
-lib/libobs-frontend-api.so.0.0
+lib/libobs-frontend-api.so.30
lib/libobs-opengl.so
-lib/libobs-opengl.so.0
-lib/libobs-opengl.so.0.0
+lib/libobs-opengl.so.1
+lib/libobs-opengl.so.30
lib/libobs-scripting.so
+lib/libobs-scripting.so.1
+lib/libobs-scripting.so.30
lib/libobs.so
lib/libobs.so.0
-lib/libobsglad.so
-lib/libobsglad.so.0
-lib/obs-plugins/decklink-captions.so
-lib/obs-plugins/decklink-ouput-ui.so
+lib/libobs.so.30
lib/obs-plugins/frontend-tools.so
lib/obs-plugins/image-source.so
lib/obs-plugins/linux-capture.so
%%JACK%%lib/obs-plugins/linux-jack.so
+%%PIPEWIRE%%lib/obs-plugins/linux-pipewire.so
%%PULSEAUDIO%%lib/obs-plugins/linux-pulseaudio.so
lib/obs-plugins/linux-v4l2.so
lib/obs-plugins/obs-ffmpeg.so
lib/obs-plugins/obs-filters.so
-lib/obs-plugins/obs-libfdk.so
lib/obs-plugins/obs-outputs.so
lib/obs-plugins/obs-transitions.so
-%%VST%%lib/obs-plugins/obs-vst.so
+lib/obs-plugins/obs-webrtc.so
+lib/obs-plugins/obs-websocket.so
lib/obs-plugins/obs-x264.so
lib/obs-plugins/oss-audio.so
lib/obs-plugins/rtmp-services.so
%%SNDIO%%lib/obs-plugins/sndio.so
lib/obs-plugins/text-freetype2.so
-lib/obs-plugins/vlc-video.so
+%%VLC%%lib/obs-plugins/vlc-video.so
lib/obs-scripting/_obspython.so
%%LUAJIT%%lib/obs-scripting/obslua.so
lib/obs-scripting/obspython.py
@@ -150,10 +162,11 @@ share/icons/hicolor/128x128/apps/com.obsproject.Studio.png
share/icons/hicolor/256x256/apps/com.obsproject.Studio.png
share/icons/hicolor/512x512/apps/com.obsproject.Studio.png
share/icons/hicolor/scalable/apps/com.obsproject.Studio.svg
-share/metainfo/com.obsproject.Studio.appdata.xml
+share/metainfo/com.obsproject.Studio.metainfo.xml
share/obs/libobs/area.effect
share/obs/libobs/bicubic_scale.effect
share/obs/libobs/bilinear_lowres_scale.effect
+share/obs/libobs/color.effect
share/obs/libobs/default.effect
share/obs/libobs/default_rect.effect
share/obs/libobs/deinterlace_base.effect
@@ -171,12 +184,12 @@ share/obs/libobs/opaque.effect
share/obs/libobs/premultiplied_alpha.effect
share/obs/libobs/repeat.effect
share/obs/libobs/solid.effect
-share/obs/obs-plugins/decklink-captions/.keepme
-share/obs/obs-plugins/decklink-ouput-ui/.keepme
+share/obs/obs-plugins/frontend-tools/locale/af-ZA.ini
share/obs/obs-plugins/frontend-tools/locale/an-ES.ini
share/obs/obs-plugins/frontend-tools/locale/ar-SA.ini
share/obs/obs-plugins/frontend-tools/locale/az-AZ.ini
share/obs/obs-plugins/frontend-tools/locale/ba-RU.ini
+share/obs/obs-plugins/frontend-tools/locale/be-BY.ini
share/obs/obs-plugins/frontend-tools/locale/bg-BG.ini
share/obs/obs-plugins/frontend-tools/locale/bn-BD.ini
share/obs/obs-plugins/frontend-tools/locale/ca-ES.ini
@@ -184,6 +197,7 @@ share/obs/obs-plugins/frontend-tools/locale/cs-CZ.ini
share/obs/obs-plugins/frontend-tools/locale/da-DK.ini
share/obs/obs-plugins/frontend-tools/locale/de-DE.ini
share/obs/obs-plugins/frontend-tools/locale/el-GR.ini
+share/obs/obs-plugins/frontend-tools/locale/en-GB.ini
share/obs/obs-plugins/frontend-tools/locale/en-US.ini
share/obs/obs-plugins/frontend-tools/locale/eo-UY.ini
share/obs/obs-plugins/frontend-tools/locale/es-ES.ini
@@ -199,10 +213,13 @@ share/obs/obs-plugins/frontend-tools/locale/he-IL.ini
share/obs/obs-plugins/frontend-tools/locale/hi-IN.ini
share/obs/obs-plugins/frontend-tools/locale/hr-HR.ini
share/obs/obs-plugins/frontend-tools/locale/hu-HU.ini
+share/obs/obs-plugins/frontend-tools/locale/hy-AM.ini
share/obs/obs-plugins/frontend-tools/locale/id-ID.ini
+share/obs/obs-plugins/frontend-tools/locale/is-IS.ini
share/obs/obs-plugins/frontend-tools/locale/it-IT.ini
share/obs/obs-plugins/frontend-tools/locale/ja-JP.ini
share/obs/obs-plugins/frontend-tools/locale/ka-GE.ini
+share/obs/obs-plugins/frontend-tools/locale/kaa.ini
share/obs/obs-plugins/frontend-tools/locale/kab-KAB.ini
share/obs/obs-plugins/frontend-tools/locale/kmr-TR.ini
share/obs/obs-plugins/frontend-tools/locale/ko-KR.ini
@@ -212,6 +229,7 @@ share/obs/obs-plugins/frontend-tools/locale/mn-MN.ini
share/obs/obs-plugins/frontend-tools/locale/ms-MY.ini
share/obs/obs-plugins/frontend-tools/locale/nb-NO.ini
share/obs/obs-plugins/frontend-tools/locale/nl-NL.ini
+share/obs/obs-plugins/frontend-tools/locale/nn-NO.ini
share/obs/obs-plugins/frontend-tools/locale/oc-FR.ini
share/obs/obs-plugins/frontend-tools/locale/pl-PL.ini
share/obs/obs-plugins/frontend-tools/locale/pt-BR.ini
@@ -230,6 +248,7 @@ share/obs/obs-plugins/frontend-tools/locale/ta-IN.ini
share/obs/obs-plugins/frontend-tools/locale/th-TH.ini
share/obs/obs-plugins/frontend-tools/locale/tl-PH.ini
share/obs/obs-plugins/frontend-tools/locale/tr-TR.ini
+share/obs/obs-plugins/frontend-tools/locale/ug-CN.ini
share/obs/obs-plugins/frontend-tools/locale/uk-UA.ini
share/obs/obs-plugins/frontend-tools/locale/vi-VN.ini
share/obs/obs-plugins/frontend-tools/locale/zh-CN.ini
@@ -243,9 +262,11 @@ share/obs/obs-plugins/frontend-tools/scripts/countdown.lua
share/obs/obs-plugins/frontend-tools/scripts/instant-replay.lua
share/obs/obs-plugins/frontend-tools/scripts/pause-scene.lua
share/obs/obs-plugins/frontend-tools/scripts/url-text.py
+share/obs/obs-plugins/image-source/locale/af-ZA.ini
share/obs/obs-plugins/image-source/locale/ar-SA.ini
share/obs/obs-plugins/image-source/locale/az-AZ.ini
share/obs/obs-plugins/image-source/locale/ba-RU.ini
+share/obs/obs-plugins/image-source/locale/be-BY.ini
share/obs/obs-plugins/image-source/locale/bg-BG.ini
share/obs/obs-plugins/image-source/locale/bn-BD.ini
share/obs/obs-plugins/image-source/locale/ca-ES.ini
@@ -268,10 +289,12 @@ share/obs/obs-plugins/image-source/locale/he-IL.ini
share/obs/obs-plugins/image-source/locale/hi-IN.ini
share/obs/obs-plugins/image-source/locale/hr-HR.ini
share/obs/obs-plugins/image-source/locale/hu-HU.ini
+share/obs/obs-plugins/image-source/locale/hy-AM.ini
share/obs/obs-plugins/image-source/locale/id-ID.ini
share/obs/obs-plugins/image-source/locale/it-IT.ini
share/obs/obs-plugins/image-source/locale/ja-JP.ini
share/obs/obs-plugins/image-source/locale/ka-GE.ini
+share/obs/obs-plugins/image-source/locale/kaa.ini
share/obs/obs-plugins/image-source/locale/kab-KAB.ini
share/obs/obs-plugins/image-source/locale/kmr-TR.ini
share/obs/obs-plugins/image-source/locale/ko-KR.ini
@@ -299,14 +322,17 @@ share/obs/obs-plugins/image-source/locale/ta-IN.ini
share/obs/obs-plugins/image-source/locale/th-TH.ini
share/obs/obs-plugins/image-source/locale/tl-PH.ini
share/obs/obs-plugins/image-source/locale/tr-TR.ini
+share/obs/obs-plugins/image-source/locale/ug-CN.ini
share/obs/obs-plugins/image-source/locale/uk-UA.ini
share/obs/obs-plugins/image-source/locale/ur-PK.ini
share/obs/obs-plugins/image-source/locale/vi-VN.ini
share/obs/obs-plugins/image-source/locale/zh-CN.ini
share/obs/obs-plugins/image-source/locale/zh-TW.ini
+share/obs/obs-plugins/linux-capture/locale/af-ZA.ini
share/obs/obs-plugins/linux-capture/locale/ar-SA.ini
share/obs/obs-plugins/linux-capture/locale/az-AZ.ini
share/obs/obs-plugins/linux-capture/locale/ba-RU.ini
+share/obs/obs-plugins/linux-capture/locale/be-BY.ini
share/obs/obs-plugins/linux-capture/locale/bg-BG.ini
share/obs/obs-plugins/linux-capture/locale/bn-BD.ini
share/obs/obs-plugins/linux-capture/locale/ca-ES.ini
@@ -314,6 +340,7 @@ share/obs/obs-plugins/linux-capture/locale/cs-CZ.ini
share/obs/obs-plugins/linux-capture/locale/da-DK.ini
share/obs/obs-plugins/linux-capture/locale/de-DE.ini
share/obs/obs-plugins/linux-capture/locale/el-GR.ini
+share/obs/obs-plugins/linux-capture/locale/en-GB.ini
share/obs/obs-plugins/linux-capture/locale/en-US.ini
share/obs/obs-plugins/linux-capture/locale/es-ES.ini
share/obs/obs-plugins/linux-capture/locale/et-EE.ini
@@ -328,10 +355,12 @@ share/obs/obs-plugins/linux-capture/locale/he-IL.ini
share/obs/obs-plugins/linux-capture/locale/hi-IN.ini
share/obs/obs-plugins/linux-capture/locale/hr-HR.ini
share/obs/obs-plugins/linux-capture/locale/hu-HU.ini
+share/obs/obs-plugins/linux-capture/locale/hy-AM.ini
share/obs/obs-plugins/linux-capture/locale/id-ID.ini
share/obs/obs-plugins/linux-capture/locale/it-IT.ini
share/obs/obs-plugins/linux-capture/locale/ja-JP.ini
share/obs/obs-plugins/linux-capture/locale/ka-GE.ini
+share/obs/obs-plugins/linux-capture/locale/kaa.ini
share/obs/obs-plugins/linux-capture/locale/kab-KAB.ini
share/obs/obs-plugins/linux-capture/locale/kmr-TR.ini
share/obs/obs-plugins/linux-capture/locale/ko-KR.ini
@@ -355,13 +384,16 @@ share/obs/obs-plugins/linux-capture/locale/szl-PL.ini
share/obs/obs-plugins/linux-capture/locale/ta-IN.ini
share/obs/obs-plugins/linux-capture/locale/tl-PH.ini
share/obs/obs-plugins/linux-capture/locale/tr-TR.ini
+share/obs/obs-plugins/linux-capture/locale/ug-CN.ini
share/obs/obs-plugins/linux-capture/locale/uk-UA.ini
share/obs/obs-plugins/linux-capture/locale/vi-VN.ini
share/obs/obs-plugins/linux-capture/locale/zh-CN.ini
share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/af-ZA.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ar-SA.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/az-AZ.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ba-RU.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/be-BY.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/bg-BG.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/bn-BD.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ca-ES.ini
@@ -369,6 +401,7 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/da-DK.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/de-DE.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/el-GR.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/en-GB.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/en-US.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/es-ES.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/et-EE.ini
@@ -383,10 +416,12 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/hi-IN.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/hr-HR.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/hu-HU.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/hy-AM.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/id-ID.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/it-IT.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ja-JP.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ka-GE.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/kaa.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/kab-KAB.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/kmr-TR.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ko-KR.ini
@@ -399,6 +434,7 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/pt-PT.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ro-RO.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ru-RU.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/si-LK.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/sk-SK.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/sl-SI.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/sr-CS.ini
@@ -406,14 +442,67 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/sv-SE.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/szl-PL.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/tr-TR.ini
+%%JACK%%share/obs/obs-plugins/linux-jack/locale/ug-CN.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/uk-UA.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/ur-PK.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/vi-VN.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/zh-CN.ini
%%JACK%%share/obs/obs-plugins/linux-jack/locale/zh-TW.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/.gitkeep
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/af-ZA.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ar-SA.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/bn-BD.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ca-ES.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/cs-CZ.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/da-DK.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/de-DE.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/el-GR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/en-GB.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/en-US.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/es-ES.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/et-EE.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/eu-ES.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/fa-IR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/fi-FI.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/fil-PH.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/fr-FR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/gl-ES.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/he-IL.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/hi-IN.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/hr-HR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/hu-HU.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/hy-AM.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/id-ID.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/it-IT.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ja-JP.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ka-GE.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/kaa.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/kmr-TR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ko-KR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ms-MY.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/nb-NO.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/nl-NL.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/pl-PL.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/pt-BR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/pt-PT.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ro-RO.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ru-RU.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/si-LK.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/sk-SK.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/sl-SI.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/sv-SE.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ta-IN.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/tr-TR.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/ug-CN.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/uk-UA.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/vi-VN.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/zh-CN.ini
+%%PIPEWIRE%%share/obs/obs-plugins/linux-pipewire/locale/zh-TW.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/af-ZA.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ar-SA.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/az-AZ.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ba-RU.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/be-BY.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/bg-BG.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/bn-BD.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ca-ES.ini
@@ -421,12 +510,14 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/da-DK.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/de-DE.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/el-GR.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/en-GB.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/en-US.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/es-ES.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/et-EE.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/eu-ES.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/fa-IR.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/fi-FI.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/fil-PH.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/fr-FR.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/gd-GB.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/gl-ES.ini
@@ -434,10 +525,13 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/hi-IN.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/hr-HR.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/hu-HU.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/hy-AM.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/id-ID.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/is-IS.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/it-IT.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ja-JP.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ka-GE.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/kaa.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/kab-KAB.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/kmr-TR.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ko-KR.ini
@@ -461,14 +555,17 @@ share/obs/obs-plugins/linux-capture/locale/zh-TW.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ta-IN.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/th-TH.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/tr-TR.ini
+%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ug-CN.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/uk-UA.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/ur-PK.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/vi-VN.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/zh-CN.ini
%%PULSEAUDIO%%share/obs/obs-plugins/linux-pulseaudio/locale/zh-TW.ini
+share/obs/obs-plugins/linux-v4l2/locale/af-ZA.ini
share/obs/obs-plugins/linux-v4l2/locale/ar-SA.ini
share/obs/obs-plugins/linux-v4l2/locale/az-AZ.ini
share/obs/obs-plugins/linux-v4l2/locale/ba-RU.ini
+share/obs/obs-plugins/linux-v4l2/locale/be-BY.ini
share/obs/obs-plugins/linux-v4l2/locale/bg-BG.ini
share/obs/obs-plugins/linux-v4l2/locale/bn-BD.ini
share/obs/obs-plugins/linux-v4l2/locale/ca-ES.ini
@@ -491,16 +588,19 @@ share/obs/obs-plugins/linux-v4l2/locale/he-IL.ini
share/obs/obs-plugins/linux-v4l2/locale/hi-IN.ini
share/obs/obs-plugins/linux-v4l2/locale/hr-HR.ini
share/obs/obs-plugins/linux-v4l2/locale/hu-HU.ini
+share/obs/obs-plugins/linux-v4l2/locale/hy-AM.ini
share/obs/obs-plugins/linux-v4l2/locale/id-ID.ini
share/obs/obs-plugins/linux-v4l2/locale/it-IT.ini
share/obs/obs-plugins/linux-v4l2/locale/ja-JP.ini
share/obs/obs-plugins/linux-v4l2/locale/ka-GE.ini
+share/obs/obs-plugins/linux-v4l2/locale/kaa.ini
share/obs/obs-plugins/linux-v4l2/locale/kab-KAB.ini
share/obs/obs-plugins/linux-v4l2/locale/kmr-TR.ini
share/obs/obs-plugins/linux-v4l2/locale/ko-KR.ini
share/obs/obs-plugins/linux-v4l2/locale/ms-MY.ini
share/obs/obs-plugins/linux-v4l2/locale/nb-NO.ini
share/obs/obs-plugins/linux-v4l2/locale/nl-NL.ini
+share/obs/obs-plugins/linux-v4l2/locale/nn-NO.ini
share/obs/obs-plugins/linux-v4l2/locale/oc-FR.ini
share/obs/obs-plugins/linux-v4l2/locale/pl-PL.ini
share/obs/obs-plugins/linux-v4l2/locale/pt-BR.ini
@@ -517,13 +617,16 @@ share/obs/obs-plugins/linux-v4l2/locale/szl-PL.ini
share/obs/obs-plugins/linux-v4l2/locale/ta-IN.ini
share/obs/obs-plugins/linux-v4l2/locale/tl-PH.ini
share/obs/obs-plugins/linux-v4l2/locale/tr-TR.ini
+share/obs/obs-plugins/linux-v4l2/locale/ug-CN.ini
share/obs/obs-plugins/linux-v4l2/locale/uk-UA.ini
share/obs/obs-plugins/linux-v4l2/locale/ur-PK.ini
share/obs/obs-plugins/linux-v4l2/locale/vi-VN.ini
share/obs/obs-plugins/linux-v4l2/locale/zh-CN.ini
share/obs/obs-plugins/linux-v4l2/locale/zh-TW.ini
+share/obs/obs-plugins/obs-ffmpeg/locale/af-ZA.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ar-SA.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ba-RU.ini
+share/obs/obs-plugins/obs-ffmpeg/locale/be-BY.ini
share/obs/obs-plugins/obs-ffmpeg/locale/bg-BG.ini
share/obs/obs-plugins/obs-ffmpeg/locale/bn-BD.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ca-ES.ini
@@ -546,10 +649,13 @@ share/obs/obs-plugins/obs-ffmpeg/locale/he-IL.ini
share/obs/obs-plugins/obs-ffmpeg/locale/hi-IN.ini
share/obs/obs-plugins/obs-ffmpeg/locale/hr-HR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/hu-HU.ini
+share/obs/obs-plugins/obs-ffmpeg/locale/hy-AM.ini
share/obs/obs-plugins/obs-ffmpeg/locale/id-ID.ini
+share/obs/obs-plugins/obs-ffmpeg/locale/is-IS.ini
share/obs/obs-plugins/obs-ffmpeg/locale/it-IT.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ja-JP.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ka-GE.ini
+share/obs/obs-plugins/obs-ffmpeg/locale/kaa.ini
share/obs/obs-plugins/obs-ffmpeg/locale/kab-KAB.ini
share/obs/obs-plugins/obs-ffmpeg/locale/kmr-TR.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ko-KR.ini
@@ -574,6 +680,7 @@ share/obs/obs-plugins/obs-ffmpeg/locale/ta-IN.ini
share/obs/obs-plugins/obs-ffmpeg/locale/th-TH.ini
share/obs/obs-plugins/obs-ffmpeg/locale/tl-PH.ini
share/obs/obs-plugins/obs-ffmpeg/locale/tr-TR.ini
+share/obs/obs-plugins/obs-ffmpeg/locale/ug-CN.ini
share/obs/obs-plugins/obs-ffmpeg/locale/uk-UA.ini
share/obs/obs-plugins/obs-ffmpeg/locale/ur-PK.ini
share/obs/obs-plugins/obs-ffmpeg/locale/vi-VN.ini
@@ -582,6 +689,7 @@ share/obs/obs-plugins/obs-ffmpeg/locale/zh-TW.ini
share/obs/obs-plugins/obs-filters/LUTs/black_and_white.png
share/obs/obs-plugins/obs-filters/LUTs/grayscale.cube
share/obs/obs-plugins/obs-filters/LUTs/grayscale.png
+share/obs/obs-plugins/obs-filters/LUTs/invert.png
share/obs/obs-plugins/obs-filters/LUTs/original.cube
share/obs/obs-plugins/obs-filters/LUTs/original.png
share/obs/obs-plugins/obs-filters/LUTs/posterize.png
@@ -592,14 +700,18 @@ share/obs/obs-plugins/obs-filters/blend_mul_filter.effect
share/obs/obs-plugins/obs-filters/blend_sub_filter.effect
share/obs/obs-plugins/obs-filters/chroma_key_filter.effect
share/obs/obs-plugins/obs-filters/chroma_key_filter_v2.effect
+share/obs/obs-plugins/obs-filters/color.effect
share/obs/obs-plugins/obs-filters/color_correction_filter.effect
share/obs/obs-plugins/obs-filters/color_grade_filter.effect
share/obs/obs-plugins/obs-filters/color_key_filter.effect
share/obs/obs-plugins/obs-filters/color_key_filter_v2.effect
share/obs/obs-plugins/obs-filters/crop_filter.effect
+share/obs/obs-plugins/obs-filters/hdr_tonemap_filter.effect
+share/obs/obs-plugins/obs-filters/locale/af-ZA.ini
share/obs/obs-plugins/obs-filters/locale/ar-SA.ini
share/obs/obs-plugins/obs-filters/locale/az-AZ.ini
share/obs/obs-plugins/obs-filters/locale/ba-RU.ini
+share/obs/obs-plugins/obs-filters/locale/be-BY.ini
share/obs/obs-plugins/obs-filters/locale/bg-BG.ini
share/obs/obs-plugins/obs-filters/locale/bn-BD.ini
share/obs/obs-plugins/obs-filters/locale/ca-ES.ini
@@ -623,10 +735,12 @@ share/obs/obs-plugins/obs-filters/locale/he-IL.ini
share/obs/obs-plugins/obs-filters/locale/hi-IN.ini
share/obs/obs-plugins/obs-filters/locale/hr-HR.ini
share/obs/obs-plugins/obs-filters/locale/hu-HU.ini
+share/obs/obs-plugins/obs-filters/locale/hy-AM.ini
share/obs/obs-plugins/obs-filters/locale/id-ID.ini
share/obs/obs-plugins/obs-filters/locale/it-IT.ini
share/obs/obs-plugins/obs-filters/locale/ja-JP.ini
share/obs/obs-plugins/obs-filters/locale/ka-GE.ini
+share/obs/obs-plugins/obs-filters/locale/kaa.ini
share/obs/obs-plugins/obs-filters/locale/kab-KAB.ini
share/obs/obs-plugins/obs-filters/locale/kmr-TR.ini
share/obs/obs-plugins/obs-filters/locale/ko-KR.ini
@@ -650,6 +764,7 @@ share/obs/obs-plugins/obs-filters/locale/ta-IN.ini
share/obs/obs-plugins/obs-filters/locale/th-TH.ini
share/obs/obs-plugins/obs-filters/locale/tl-PH.ini
share/obs/obs-plugins/obs-filters/locale/tr-TR.ini
+share/obs/obs-plugins/obs-filters/locale/ug-CN.ini
share/obs/obs-plugins/obs-filters/locale/uk-UA.ini
share/obs/obs-plugins/obs-filters/locale/vi-VN.ini
share/obs/obs-plugins/obs-filters/locale/zh-CN.ini
@@ -658,62 +773,12 @@ share/obs/obs-plugins/obs-filters/luma_key_filter.effect
share/obs/obs-plugins/obs-filters/luma_key_filter_v2.effect
share/obs/obs-plugins/obs-filters/mask_alpha_filter.effect
share/obs/obs-plugins/obs-filters/mask_color_filter.effect
+share/obs/obs-plugins/obs-filters/rtx_greenscreen.effect
share/obs/obs-plugins/obs-filters/sharpness.effect
-share/obs/obs-plugins/obs-libfdk/locale/ar-SA.ini
-share/obs/obs-plugins/obs-libfdk/locale/ba-RU.ini
-share/obs/obs-plugins/obs-libfdk/locale/bg-BG.ini
-share/obs/obs-plugins/obs-libfdk/locale/bn-BD.ini
-share/obs/obs-plugins/obs-libfdk/locale/ca-ES.ini
-share/obs/obs-plugins/obs-libfdk/locale/cs-CZ.ini
-share/obs/obs-plugins/obs-libfdk/locale/da-DK.ini
-share/obs/obs-plugins/obs-libfdk/locale/de-DE.ini
-share/obs/obs-plugins/obs-libfdk/locale/el-GR.ini
-share/obs/obs-plugins/obs-libfdk/locale/en-US.ini
-share/obs/obs-plugins/obs-libfdk/locale/es-ES.ini
-share/obs/obs-plugins/obs-libfdk/locale/et-EE.ini
-share/obs/obs-plugins/obs-libfdk/locale/eu-ES.ini
-share/obs/obs-plugins/obs-libfdk/locale/fa-IR.ini
-share/obs/obs-plugins/obs-libfdk/locale/fi-FI.ini
-share/obs/obs-plugins/obs-libfdk/locale/fil-PH.ini
-share/obs/obs-plugins/obs-libfdk/locale/fr-FR.ini
-share/obs/obs-plugins/obs-libfdk/locale/gd-GB.ini
-share/obs/obs-plugins/obs-libfdk/locale/gl-ES.ini
-share/obs/obs-plugins/obs-libfdk/locale/he-IL.ini
-share/obs/obs-plugins/obs-libfdk/locale/hi-IN.ini
-share/obs/obs-plugins/obs-libfdk/locale/hr-HR.ini
-share/obs/obs-plugins/obs-libfdk/locale/hu-HU.ini
-share/obs/obs-plugins/obs-libfdk/locale/id-ID.ini
-share/obs/obs-plugins/obs-libfdk/locale/it-IT.ini
-share/obs/obs-plugins/obs-libfdk/locale/ja-JP.ini
-share/obs/obs-plugins/obs-libfdk/locale/ka-GE.ini
-share/obs/obs-plugins/obs-libfdk/locale/kab-KAB.ini
-share/obs/obs-plugins/obs-libfdk/locale/kmr-TR.ini
-share/obs/obs-plugins/obs-libfdk/locale/ko-KR.ini
-share/obs/obs-plugins/obs-libfdk/locale/ms-MY.ini
-share/obs/obs-plugins/obs-libfdk/locale/nb-NO.ini
-share/obs/obs-plugins/obs-libfdk/locale/nl-NL.ini
-share/obs/obs-plugins/obs-libfdk/locale/pl-PL.ini
-share/obs/obs-plugins/obs-libfdk/locale/pt-BR.ini
-share/obs/obs-plugins/obs-libfdk/locale/pt-PT.ini
-share/obs/obs-plugins/obs-libfdk/locale/ro-RO.ini
-share/obs/obs-plugins/obs-libfdk/locale/ru-RU.ini
-share/obs/obs-plugins/obs-libfdk/locale/sk-SK.ini
-share/obs/obs-plugins/obs-libfdk/locale/sl-SI.ini
-share/obs/obs-plugins/obs-libfdk/locale/sr-CS.ini
-share/obs/obs-plugins/obs-libfdk/locale/sr-SP.ini
-share/obs/obs-plugins/obs-libfdk/locale/sv-SE.ini
-share/obs/obs-plugins/obs-libfdk/locale/szl-PL.ini
-share/obs/obs-plugins/obs-libfdk/locale/ta-IN.ini
-share/obs/obs-plugins/obs-libfdk/locale/th-TH.ini
-share/obs/obs-plugins/obs-libfdk/locale/tl-PH.ini
-share/obs/obs-plugins/obs-libfdk/locale/tr-TR.ini
-share/obs/obs-plugins/obs-libfdk/locale/uk-UA.ini
-share/obs/obs-plugins/obs-libfdk/locale/ur-PK.ini
-share/obs/obs-plugins/obs-libfdk/locale/vi-VN.ini
-share/obs/obs-plugins/obs-libfdk/locale/zh-CN.ini
-share/obs/obs-plugins/obs-libfdk/locale/zh-TW.ini
+share/obs/obs-plugins/obs-outputs/locale/af-ZA.ini
share/obs/obs-plugins/obs-outputs/locale/ar-SA.ini
share/obs/obs-plugins/obs-outputs/locale/ba-RU.ini
+share/obs/obs-plugins/obs-outputs/locale/be-BY.ini
share/obs/obs-plugins/obs-outputs/locale/bg-BG.ini
share/obs/obs-plugins/obs-outputs/locale/bn-BD.ini
share/obs/obs-plugins/obs-outputs/locale/ca-ES.ini
@@ -736,10 +801,13 @@ share/obs/obs-plugins/obs-outputs/locale/he-IL.ini
share/obs/obs-plugins/obs-outputs/locale/hi-IN.ini
share/obs/obs-plugins/obs-outputs/locale/hr-HR.ini
share/obs/obs-plugins/obs-outputs/locale/hu-HU.ini
+share/obs/obs-plugins/obs-outputs/locale/hy-AM.ini
share/obs/obs-plugins/obs-outputs/locale/id-ID.ini
+share/obs/obs-plugins/obs-outputs/locale/is-IS.ini
share/obs/obs-plugins/obs-outputs/locale/it-IT.ini
share/obs/obs-plugins/obs-outputs/locale/ja-JP.ini
share/obs/obs-plugins/obs-outputs/locale/ka-GE.ini
+share/obs/obs-plugins/obs-outputs/locale/kaa.ini
share/obs/obs-plugins/obs-outputs/locale/kab-KAB.ini
share/obs/obs-plugins/obs-outputs/locale/kmr-TR.ini
share/obs/obs-plugins/obs-outputs/locale/ko-KR.ini
@@ -764,6 +832,7 @@ share/obs/obs-plugins/obs-outputs/locale/ta-IN.ini
share/obs/obs-plugins/obs-outputs/locale/th-TH.ini
share/obs/obs-plugins/obs-outputs/locale/tl-PH.ini
share/obs/obs-plugins/obs-outputs/locale/tr-TR.ini
+share/obs/obs-plugins/obs-outputs/locale/ug-CN.ini
share/obs/obs-plugins/obs-outputs/locale/uk-UA.ini
share/obs/obs-plugins/obs-outputs/locale/ur-PK.ini
share/obs/obs-plugins/obs-outputs/locale/vi-VN.ini
@@ -771,8 +840,10 @@ share/obs/obs-plugins/obs-outputs/locale/zh-CN.ini
share/obs/obs-plugins/obs-outputs/locale/zh-TW.ini
share/obs/obs-plugins/obs-transitions/fade_to_color_transition.effect
share/obs/obs-plugins/obs-transitions/fade_transition.effect
+share/obs/obs-plugins/obs-transitions/locale/af-ZA.ini
share/obs/obs-plugins/obs-transitions/locale/ar-SA.ini
share/obs/obs-plugins/obs-transitions/locale/ba-RU.ini
+share/obs/obs-plugins/obs-transitions/locale/be-BY.ini
share/obs/obs-plugins/obs-transitions/locale/bg-BG.ini
share/obs/obs-plugins/obs-transitions/locale/bn-BD.ini
share/obs/obs-plugins/obs-transitions/locale/ca-ES.ini
@@ -782,6 +853,7 @@ share/obs/obs-plugins/obs-transitions/locale/de-DE.ini
share/obs/obs-plugins/obs-transitions/locale/el-GR.ini
share/obs/obs-plugins/obs-transitions/locale/en-GB.ini
share/obs/obs-plugins/obs-transitions/locale/en-US.ini
+share/obs/obs-plugins/obs-transitions/locale/eo-UY.ini
share/obs/obs-plugins/obs-transitions/locale/es-ES.ini
share/obs/obs-plugins/obs-transitions/locale/et-EE.ini
share/obs/obs-plugins/obs-transitions/locale/eu-ES.ini
@@ -795,10 +867,12 @@ share/obs/obs-plugins/obs-transitions/locale/he-IL.ini
share/obs/obs-plugins/obs-transitions/locale/hi-IN.ini
share/obs/obs-plugins/obs-transitions/locale/hr-HR.ini
share/obs/obs-plugins/obs-transitions/locale/hu-HU.ini
+share/obs/obs-plugins/obs-transitions/locale/hy-AM.ini
share/obs/obs-plugins/obs-transitions/locale/id-ID.ini
share/obs/obs-plugins/obs-transitions/locale/it-IT.ini
share/obs/obs-plugins/obs-transitions/locale/ja-JP.ini
share/obs/obs-plugins/obs-transitions/locale/ka-GE.ini
+share/obs/obs-plugins/obs-transitions/locale/kaa.ini
share/obs/obs-plugins/obs-transitions/locale/kab-KAB.ini
share/obs/obs-plugins/obs-transitions/locale/kmr-TR.ini
share/obs/obs-plugins/obs-transitions/locale/ko-KR.ini
@@ -820,6 +894,7 @@ share/obs/obs-plugins/obs-transitions/locale/szl-PL.ini
share/obs/obs-plugins/obs-transitions/locale/ta-IN.ini
share/obs/obs-plugins/obs-transitions/locale/tl-PH.ini
share/obs/obs-plugins/obs-transitions/locale/tr-TR.ini
+share/obs/obs-plugins/obs-transitions/locale/ug-CN.ini
share/obs/obs-plugins/obs-transitions/locale/uk-UA.ini
share/obs/obs-plugins/obs-transitions/locale/vi-VN.ini
share/obs/obs-plugins/obs-transitions/locale/zh-CN.ini
@@ -863,54 +938,101 @@ share/obs/obs-plugins/obs-transitions/luma_wipes/zigzag-v.png
share/obs/obs-plugins/obs-transitions/slide_transition.effect
share/obs/obs-plugins/obs-transitions/stinger_matte_transition.effect
share/obs/obs-plugins/obs-transitions/swipe_transition.effect
-%%VST%%share/obs/obs-plugins/obs-vst/locale/an-ES.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/bg-BG.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/bn-BD.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ca-ES.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/cs-CZ.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/da-DK.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/de-DE.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/el-GR.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/en-GB.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/en-US.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/es-ES.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/et-EE.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/eu-ES.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/fa-IR.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/fi-FI.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/fil-PH.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/fr-FR.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/gl-ES.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/he-IL.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/hu-HU.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/id-ID.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/it-IT.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ja-JP.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ka-GE.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/kab-KAB.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ko-KR.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ms-MY.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/nb-NO.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/nl-NL.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/pl-PL.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/pt-BR.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/pt-PT.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ro-RO.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/ru-RU.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/sk-SK.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/sl-SI.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/sr-CS.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/sr-SP.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/sv-SE.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/tl-PH.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/tr-TR.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/uk-UA.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/vi-VN.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/zh-CN.ini
-%%VST%%share/obs/obs-plugins/obs-vst/locale/zh-TW.ini
+share/obs/obs-plugins/obs-webrtc/locale/af-ZA.ini
+share/obs/obs-plugins/obs-webrtc/locale/be-BY.ini
+share/obs/obs-plugins/obs-webrtc/locale/bg-BG.ini
+share/obs/obs-plugins/obs-webrtc/locale/ca-ES.ini
+share/obs/obs-plugins/obs-webrtc/locale/cs-CZ.ini
+share/obs/obs-plugins/obs-webrtc/locale/da-DK.ini
+share/obs/obs-plugins/obs-webrtc/locale/de-DE.ini
+share/obs/obs-plugins/obs-webrtc/locale/el-GR.ini
+share/obs/obs-plugins/obs-webrtc/locale/en-GB.ini
+share/obs/obs-plugins/obs-webrtc/locale/en-US.ini
+share/obs/obs-plugins/obs-webrtc/locale/es-ES.ini
+share/obs/obs-plugins/obs-webrtc/locale/et-EE.ini
+share/obs/obs-plugins/obs-webrtc/locale/fa-IR.ini
+share/obs/obs-plugins/obs-webrtc/locale/fi-FI.ini
+share/obs/obs-plugins/obs-webrtc/locale/fr-FR.ini
+share/obs/obs-plugins/obs-webrtc/locale/he-IL.ini
+share/obs/obs-plugins/obs-webrtc/locale/hi-IN.ini
+share/obs/obs-plugins/obs-webrtc/locale/hr-HR.ini
+share/obs/obs-plugins/obs-webrtc/locale/hu-HU.ini
+share/obs/obs-plugins/obs-webrtc/locale/hy-AM.ini
+share/obs/obs-plugins/obs-webrtc/locale/id-ID.ini
+share/obs/obs-plugins/obs-webrtc/locale/it-IT.ini
+share/obs/obs-plugins/obs-webrtc/locale/ja-JP.ini
+share/obs/obs-plugins/obs-webrtc/locale/ka-GE.ini
+share/obs/obs-plugins/obs-webrtc/locale/kaa.ini
+share/obs/obs-plugins/obs-webrtc/locale/ko-KR.ini
+share/obs/obs-plugins/obs-webrtc/locale/ms-MY.ini
+share/obs/obs-plugins/obs-webrtc/locale/nb-NO.ini
+share/obs/obs-plugins/obs-webrtc/locale/nl-NL.ini
+share/obs/obs-plugins/obs-webrtc/locale/pl-PL.ini
+share/obs/obs-plugins/obs-webrtc/locale/pt-BR.ini
+share/obs/obs-plugins/obs-webrtc/locale/pt-PT.ini
+share/obs/obs-plugins/obs-webrtc/locale/ru-RU.ini
+share/obs/obs-plugins/obs-webrtc/locale/si-LK.ini
+share/obs/obs-plugins/obs-webrtc/locale/sk-SK.ini
+share/obs/obs-plugins/obs-webrtc/locale/sl-SI.ini
+share/obs/obs-plugins/obs-webrtc/locale/sv-SE.ini
+share/obs/obs-plugins/obs-webrtc/locale/tr-TR.ini
+share/obs/obs-plugins/obs-webrtc/locale/ug-CN.ini
+share/obs/obs-plugins/obs-webrtc/locale/uk-UA.ini
+share/obs/obs-plugins/obs-webrtc/locale/vi-VN.ini
+share/obs/obs-plugins/obs-webrtc/locale/zh-CN.ini
+share/obs/obs-plugins/obs-webrtc/locale/zh-TW.ini
+share/obs/obs-plugins/obs-websocket/locale/af-ZA.ini
+share/obs/obs-plugins/obs-websocket/locale/ar-SA.ini
+share/obs/obs-plugins/obs-websocket/locale/be-BY.ini
+share/obs/obs-plugins/obs-websocket/locale/ca-ES.ini
+share/obs/obs-plugins/obs-websocket/locale/cs-CZ.ini
+share/obs/obs-plugins/obs-websocket/locale/da-DK.ini
+share/obs/obs-plugins/obs-websocket/locale/de-DE.ini
+share/obs/obs-plugins/obs-websocket/locale/el-GR.ini
+share/obs/obs-plugins/obs-websocket/locale/en-GB.ini
+share/obs/obs-plugins/obs-websocket/locale/en-US.ini
+share/obs/obs-plugins/obs-websocket/locale/es-ES.ini
+share/obs/obs-plugins/obs-websocket/locale/et-EE.ini
+share/obs/obs-plugins/obs-websocket/locale/eu-ES.ini
+share/obs/obs-plugins/obs-websocket/locale/fa-IR.ini
+share/obs/obs-plugins/obs-websocket/locale/fi-FI.ini
+share/obs/obs-plugins/obs-websocket/locale/fil-PH.ini
+share/obs/obs-plugins/obs-websocket/locale/fr-FR.ini
+share/obs/obs-plugins/obs-websocket/locale/gl-ES.ini
+share/obs/obs-plugins/obs-websocket/locale/he-IL.ini
+share/obs/obs-plugins/obs-websocket/locale/hi-IN.ini
+share/obs/obs-plugins/obs-websocket/locale/hr-HR.ini
+share/obs/obs-plugins/obs-websocket/locale/hu-HU.ini
+share/obs/obs-plugins/obs-websocket/locale/hy-AM.ini
+share/obs/obs-plugins/obs-websocket/locale/id-ID.ini
+share/obs/obs-plugins/obs-websocket/locale/it-IT.ini
+share/obs/obs-plugins/obs-websocket/locale/ja-JP.ini
+share/obs/obs-plugins/obs-websocket/locale/ka-GE.ini
+share/obs/obs-plugins/obs-websocket/locale/kmr-TR.ini
+share/obs/obs-plugins/obs-websocket/locale/ko-KR.ini
+share/obs/obs-plugins/obs-websocket/locale/ms-MY.ini
+share/obs/obs-plugins/obs-websocket/locale/nb-NO.ini
+share/obs/obs-plugins/obs-websocket/locale/nl-NL.ini
+share/obs/obs-plugins/obs-websocket/locale/pl-PL.ini
+share/obs/obs-plugins/obs-websocket/locale/pt-BR.ini
+share/obs/obs-plugins/obs-websocket/locale/pt-PT.ini
+share/obs/obs-plugins/obs-websocket/locale/ro-RO.ini
+share/obs/obs-plugins/obs-websocket/locale/ru-RU.ini
+share/obs/obs-plugins/obs-websocket/locale/si-LK.ini
+share/obs/obs-plugins/obs-websocket/locale/sk-SK.ini
+share/obs/obs-plugins/obs-websocket/locale/sl-SI.ini
+share/obs/obs-plugins/obs-websocket/locale/sv-SE.ini
+share/obs/obs-plugins/obs-websocket/locale/tr-TR.ini
+share/obs/obs-plugins/obs-websocket/locale/ug-CN.ini
+share/obs/obs-plugins/obs-websocket/locale/uk-UA.ini
+share/obs/obs-plugins/obs-websocket/locale/vi-VN.ini
+share/obs/obs-plugins/obs-websocket/locale/zh-CN.ini
+share/obs/obs-plugins/obs-websocket/locale/zh-TW.ini
+share/obs/obs-plugins/obs-x264/locale/af-ZA.ini
share/obs/obs-plugins/obs-x264/locale/ar-SA.ini
share/obs/obs-plugins/obs-x264/locale/az-AZ.ini
share/obs/obs-plugins/obs-x264/locale/ba-RU.ini
+share/obs/obs-plugins/obs-x264/locale/be-BY.ini
share/obs/obs-plugins/obs-x264/locale/bg-BG.ini
share/obs/obs-plugins/obs-x264/locale/bn-BD.ini
share/obs/obs-plugins/obs-x264/locale/ca-ES.ini
@@ -918,6 +1040,7 @@ share/obs/obs-plugins/obs-x264/locale/cs-CZ.ini
share/obs/obs-plugins/obs-x264/locale/da-DK.ini
share/obs/obs-plugins/obs-x264/locale/de-DE.ini
share/obs/obs-plugins/obs-x264/locale/el-GR.ini
+share/obs/obs-plugins/obs-x264/locale/en-GB.ini
share/obs/obs-plugins/obs-x264/locale/en-US.ini
share/obs/obs-plugins/obs-x264/locale/es-ES.ini
share/obs/obs-plugins/obs-x264/locale/et-EE.ini
@@ -932,13 +1055,16 @@ share/obs/obs-plugins/obs-x264/locale/he-IL.ini
share/obs/obs-plugins/obs-x264/locale/hi-IN.ini
share/obs/obs-plugins/obs-x264/locale/hr-HR.ini
share/obs/obs-plugins/obs-x264/locale/hu-HU.ini
+share/obs/obs-plugins/obs-x264/locale/hy-AM.ini
share/obs/obs-plugins/obs-x264/locale/id-ID.ini
share/obs/obs-plugins/obs-x264/locale/it-IT.ini
share/obs/obs-plugins/obs-x264/locale/ja-JP.ini
share/obs/obs-plugins/obs-x264/locale/ka-GE.ini
+share/obs/obs-plugins/obs-x264/locale/kaa.ini
share/obs/obs-plugins/obs-x264/locale/kab-KAB.ini
share/obs/obs-plugins/obs-x264/locale/kmr-TR.ini
share/obs/obs-plugins/obs-x264/locale/ko-KR.ini
+share/obs/obs-plugins/obs-x264/locale/lv-LV.ini
share/obs/obs-plugins/obs-x264/locale/mn-MN.ini
share/obs/obs-plugins/obs-x264/locale/ms-MY.ini
share/obs/obs-plugins/obs-x264/locale/nb-NO.ini
@@ -961,12 +1087,15 @@ share/obs/obs-plugins/obs-x264/locale/ta-IN.ini
share/obs/obs-plugins/obs-x264/locale/th-TH.ini
share/obs/obs-plugins/obs-x264/locale/tl-PH.ini
share/obs/obs-plugins/obs-x264/locale/tr-TR.ini
+share/obs/obs-plugins/obs-x264/locale/ug-CN.ini
share/obs/obs-plugins/obs-x264/locale/uk-UA.ini
share/obs/obs-plugins/obs-x264/locale/ur-PK.ini
share/obs/obs-plugins/obs-x264/locale/vi-VN.ini
share/obs/obs-plugins/obs-x264/locale/zh-CN.ini
share/obs/obs-plugins/obs-x264/locale/zh-TW.ini
+share/obs/obs-plugins/oss-audio/locale/af-ZA.ini
share/obs/obs-plugins/oss-audio/locale/ar-SA.ini
+share/obs/obs-plugins/oss-audio/locale/be-BY.ini
share/obs/obs-plugins/oss-audio/locale/bg-BG.ini
share/obs/obs-plugins/oss-audio/locale/bn-BD.ini
share/obs/obs-plugins/oss-audio/locale/ca-ES.ini
@@ -974,9 +1103,11 @@ share/obs/obs-plugins/oss-audio/locale/cs-CZ.ini
share/obs/obs-plugins/oss-audio/locale/da-DK.ini
share/obs/obs-plugins/oss-audio/locale/de-DE.ini
share/obs/obs-plugins/oss-audio/locale/el-GR.ini
+share/obs/obs-plugins/oss-audio/locale/en-GB.ini
share/obs/obs-plugins/oss-audio/locale/en-US.ini
share/obs/obs-plugins/oss-audio/locale/es-ES.ini
share/obs/obs-plugins/oss-audio/locale/et-EE.ini
+share/obs/obs-plugins/oss-audio/locale/eu-ES.ini
share/obs/obs-plugins/oss-audio/locale/fa-IR.ini
share/obs/obs-plugins/oss-audio/locale/fi-FI.ini
share/obs/obs-plugins/oss-audio/locale/fil-PH.ini
@@ -986,10 +1117,12 @@ share/obs/obs-plugins/oss-audio/locale/gl-ES.ini
share/obs/obs-plugins/oss-audio/locale/he-IL.ini
share/obs/obs-plugins/oss-audio/locale/hi-IN.ini
share/obs/obs-plugins/oss-audio/locale/hu-HU.ini
+share/obs/obs-plugins/oss-audio/locale/hy-AM.ini
share/obs/obs-plugins/oss-audio/locale/id-ID.ini
share/obs/obs-plugins/oss-audio/locale/it-IT.ini
share/obs/obs-plugins/oss-audio/locale/ja-JP.ini
share/obs/obs-plugins/oss-audio/locale/ka-GE.ini
+share/obs/obs-plugins/oss-audio/locale/kaa.ini
share/obs/obs-plugins/oss-audio/locale/kab-KAB.ini
share/obs/obs-plugins/oss-audio/locale/kmr-TR.ini
share/obs/obs-plugins/oss-audio/locale/ko-KR.ini
@@ -1008,13 +1141,17 @@ share/obs/obs-plugins/oss-audio/locale/sl-SI.ini
share/obs/obs-plugins/oss-audio/locale/sv-SE.ini
share/obs/obs-plugins/oss-audio/locale/ta-IN.ini
share/obs/obs-plugins/oss-audio/locale/tr-TR.ini
+share/obs/obs-plugins/oss-audio/locale/ug-CN.ini
share/obs/obs-plugins/oss-audio/locale/uk-UA.ini
share/obs/obs-plugins/oss-audio/locale/ur-PK.ini
share/obs/obs-plugins/oss-audio/locale/vi-VN.ini
share/obs/obs-plugins/oss-audio/locale/zh-CN.ini
share/obs/obs-plugins/oss-audio/locale/zh-TW.ini
+share/obs/obs-plugins/rtmp-services/locale/af-ZA.ini
share/obs/obs-plugins/rtmp-services/locale/ar-SA.ini
+share/obs/obs-plugins/rtmp-services/locale/az-AZ.ini
share/obs/obs-plugins/rtmp-services/locale/ba-RU.ini
+share/obs/obs-plugins/rtmp-services/locale/be-BY.ini
share/obs/obs-plugins/rtmp-services/locale/bg-BG.ini
share/obs/obs-plugins/rtmp-services/locale/bn-BD.ini
share/obs/obs-plugins/rtmp-services/locale/ca-ES.ini
@@ -1022,6 +1159,7 @@ share/obs/obs-plugins/rtmp-services/locale/cs-CZ.ini
share/obs/obs-plugins/rtmp-services/locale/da-DK.ini
share/obs/obs-plugins/rtmp-services/locale/de-DE.ini
share/obs/obs-plugins/rtmp-services/locale/el-GR.ini
+share/obs/obs-plugins/rtmp-services/locale/en-GB.ini
share/obs/obs-plugins/rtmp-services/locale/en-US.ini
share/obs/obs-plugins/rtmp-services/locale/es-ES.ini
share/obs/obs-plugins/rtmp-services/locale/et-EE.ini
@@ -1036,10 +1174,12 @@ share/obs/obs-plugins/rtmp-services/locale/he-IL.ini
share/obs/obs-plugins/rtmp-services/locale/hi-IN.ini
share/obs/obs-plugins/rtmp-services/locale/hr-HR.ini
share/obs/obs-plugins/rtmp-services/locale/hu-HU.ini
+share/obs/obs-plugins/rtmp-services/locale/hy-AM.ini
share/obs/obs-plugins/rtmp-services/locale/id-ID.ini
share/obs/obs-plugins/rtmp-services/locale/it-IT.ini
share/obs/obs-plugins/rtmp-services/locale/ja-JP.ini
share/obs/obs-plugins/rtmp-services/locale/ka-GE.ini
+share/obs/obs-plugins/rtmp-services/locale/kaa.ini
share/obs/obs-plugins/rtmp-services/locale/kab-KAB.ini
share/obs/obs-plugins/rtmp-services/locale/kmr-TR.ini
share/obs/obs-plugins/rtmp-services/locale/ko-KR.ini
@@ -1064,23 +1204,30 @@ share/obs/obs-plugins/rtmp-services/locale/ta-IN.ini
share/obs/obs-plugins/rtmp-services/locale/th-TH.ini
share/obs/obs-plugins/rtmp-services/locale/tl-PH.ini
share/obs/obs-plugins/rtmp-services/locale/tr-TR.ini
+share/obs/obs-plugins/rtmp-services/locale/ug-CN.ini
share/obs/obs-plugins/rtmp-services/locale/uk-UA.ini
share/obs/obs-plugins/rtmp-services/locale/ur-PK.ini
share/obs/obs-plugins/rtmp-services/locale/vi-VN.ini
share/obs/obs-plugins/rtmp-services/locale/zh-CN.ini
share/obs/obs-plugins/rtmp-services/locale/zh-TW.ini
share/obs/obs-plugins/rtmp-services/package.json
+share/obs/obs-plugins/rtmp-services/schema/package-schema.json
+share/obs/obs-plugins/rtmp-services/schema/service-schema-v5.json
share/obs/obs-plugins/rtmp-services/services.json
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/af-ZA.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/ar-SA.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/be-BY.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/bn-BD.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/ca-ES.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/cs-CZ.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/da-DK.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/de-DE.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/el-GR.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/en-GB.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/en-US.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/es-ES.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/et-EE.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/eu-ES.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/fa-IR.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/fi-FI.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/fil-PH.ini
@@ -1090,10 +1237,12 @@ share/obs/obs-plugins/rtmp-services/services.json
%%SNDIO%%share/obs/obs-plugins/sndio/locale/he-IL.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/hi-IN.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/hu-HU.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/hy-AM.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/id-ID.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/it-IT.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/ja-JP.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/ka-GE.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/kaa.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/kab-KAB.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/kmr-TR.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/ko-KR.ini
@@ -1111,13 +1260,17 @@ share/obs/obs-plugins/rtmp-services/services.json
%%SNDIO%%share/obs/obs-plugins/sndio/locale/sl-SI.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/sv-SE.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/szl-PL.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/th-TH.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/tr-TR.ini
+%%SNDIO%%share/obs/obs-plugins/sndio/locale/ug-CN.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/uk-UA.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/vi-VN.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/zh-CN.ini
%%SNDIO%%share/obs/obs-plugins/sndio/locale/zh-TW.ini
+share/obs/obs-plugins/text-freetype2/locale/af-ZA.ini
share/obs/obs-plugins/text-freetype2/locale/ar-SA.ini
share/obs/obs-plugins/text-freetype2/locale/ba-RU.ini
+share/obs/obs-plugins/text-freetype2/locale/be-BY.ini
share/obs/obs-plugins/text-freetype2/locale/bg-BG.ini
share/obs/obs-plugins/text-freetype2/locale/bn-BD.ini
share/obs/obs-plugins/text-freetype2/locale/ca-ES.ini
@@ -1127,6 +1280,7 @@ share/obs/obs-plugins/text-freetype2/locale/de-DE.ini
share/obs/obs-plugins/text-freetype2/locale/el-GR.ini
share/obs/obs-plugins/text-freetype2/locale/en-GB.ini
share/obs/obs-plugins/text-freetype2/locale/en-US.ini
+share/obs/obs-plugins/text-freetype2/locale/eo-UY.ini
share/obs/obs-plugins/text-freetype2/locale/es-ES.ini
share/obs/obs-plugins/text-freetype2/locale/et-EE.ini
share/obs/obs-plugins/text-freetype2/locale/eu-ES.ini
@@ -1140,10 +1294,12 @@ share/obs/obs-plugins/text-freetype2/locale/he-IL.ini
share/obs/obs-plugins/text-freetype2/locale/hi-IN.ini
share/obs/obs-plugins/text-freetype2/locale/hr-HR.ini
share/obs/obs-plugins/text-freetype2/locale/hu-HU.ini
+share/obs/obs-plugins/text-freetype2/locale/hy-AM.ini
share/obs/obs-plugins/text-freetype2/locale/id-ID.ini
share/obs/obs-plugins/text-freetype2/locale/it-IT.ini
share/obs/obs-plugins/text-freetype2/locale/ja-JP.ini
share/obs/obs-plugins/text-freetype2/locale/ka-GE.ini
+share/obs/obs-plugins/text-freetype2/locale/kaa.ini
share/obs/obs-plugins/text-freetype2/locale/kab-KAB.ini
share/obs/obs-plugins/text-freetype2/locale/kmr-TR.ini
share/obs/obs-plugins/text-freetype2/locale/ko-KR.ini
@@ -1168,75 +1324,84 @@ share/obs/obs-plugins/text-freetype2/locale/ta-IN.ini
share/obs/obs-plugins/text-freetype2/locale/th-TH.ini
share/obs/obs-plugins/text-freetype2/locale/tl-PH.ini
share/obs/obs-plugins/text-freetype2/locale/tr-TR.ini
+share/obs/obs-plugins/text-freetype2/locale/ug-CN.ini
share/obs/obs-plugins/text-freetype2/locale/uk-UA.ini
share/obs/obs-plugins/text-freetype2/locale/vi-VN.ini
share/obs/obs-plugins/text-freetype2/locale/zh-CN.ini
share/obs/obs-plugins/text-freetype2/locale/zh-TW.ini
share/obs/obs-plugins/text-freetype2/text_default.effect
-share/obs/obs-plugins/vlc-video/locale/ar-SA.ini
-share/obs/obs-plugins/vlc-video/locale/ba-RU.ini
-share/obs/obs-plugins/vlc-video/locale/bg-BG.ini
-share/obs/obs-plugins/vlc-video/locale/bn-BD.ini
-share/obs/obs-plugins/vlc-video/locale/ca-ES.ini
-share/obs/obs-plugins/vlc-video/locale/cs-CZ.ini
-share/obs/obs-plugins/vlc-video/locale/da-DK.ini
-share/obs/obs-plugins/vlc-video/locale/de-DE.ini
-share/obs/obs-plugins/vlc-video/locale/el-GR.ini
-share/obs/obs-plugins/vlc-video/locale/en-GB.ini
-share/obs/obs-plugins/vlc-video/locale/en-US.ini
-share/obs/obs-plugins/vlc-video/locale/es-ES.ini
-share/obs/obs-plugins/vlc-video/locale/et-EE.ini
-share/obs/obs-plugins/vlc-video/locale/eu-ES.ini
-share/obs/obs-plugins/vlc-video/locale/fa-IR.ini
-share/obs/obs-plugins/vlc-video/locale/fi-FI.ini
-share/obs/obs-plugins/vlc-video/locale/fil-PH.ini
-share/obs/obs-plugins/vlc-video/locale/fr-FR.ini
-share/obs/obs-plugins/vlc-video/locale/gd-GB.ini
-share/obs/obs-plugins/vlc-video/locale/gl-ES.ini
-share/obs/obs-plugins/vlc-video/locale/he-IL.ini
-share/obs/obs-plugins/vlc-video/locale/hi-IN.ini
-share/obs/obs-plugins/vlc-video/locale/hr-HR.ini
-share/obs/obs-plugins/vlc-video/locale/hu-HU.ini
-share/obs/obs-plugins/vlc-video/locale/id-ID.ini
-share/obs/obs-plugins/vlc-video/locale/it-IT.ini
-share/obs/obs-plugins/vlc-video/locale/ja-JP.ini
-share/obs/obs-plugins/vlc-video/locale/ka-GE.ini
-share/obs/obs-plugins/vlc-video/locale/kab-KAB.ini
-share/obs/obs-plugins/vlc-video/locale/kmr-TR.ini
-share/obs/obs-plugins/vlc-video/locale/ko-KR.ini
-share/obs/obs-plugins/vlc-video/locale/lt-LT.ini
-share/obs/obs-plugins/vlc-video/locale/ms-MY.ini
-share/obs/obs-plugins/vlc-video/locale/nb-NO.ini
-share/obs/obs-plugins/vlc-video/locale/nl-NL.ini
-share/obs/obs-plugins/vlc-video/locale/nn-NO.ini
-share/obs/obs-plugins/vlc-video/locale/oc-FR.ini
-share/obs/obs-plugins/vlc-video/locale/pl-PL.ini
-share/obs/obs-plugins/vlc-video/locale/pt-BR.ini
-share/obs/obs-plugins/vlc-video/locale/pt-PT.ini
-share/obs/obs-plugins/vlc-video/locale/ro-RO.ini
-share/obs/obs-plugins/vlc-video/locale/ru-RU.ini
-share/obs/obs-plugins/vlc-video/locale/si-LK.ini
-share/obs/obs-plugins/vlc-video/locale/sk-SK.ini
-share/obs/obs-plugins/vlc-video/locale/sl-SI.ini
-share/obs/obs-plugins/vlc-video/locale/sr-CS.ini
-share/obs/obs-plugins/vlc-video/locale/sr-SP.ini
-share/obs/obs-plugins/vlc-video/locale/sv-SE.ini
-share/obs/obs-plugins/vlc-video/locale/szl-PL.ini
-share/obs/obs-plugins/vlc-video/locale/ta-IN.ini
-share/obs/obs-plugins/vlc-video/locale/tl-PH.ini
-share/obs/obs-plugins/vlc-video/locale/tr-TR.ini
-share/obs/obs-plugins/vlc-video/locale/uk-UA.ini
-share/obs/obs-plugins/vlc-video/locale/vi-VN.ini
-share/obs/obs-plugins/vlc-video/locale/zh-CN.ini
-share/obs/obs-plugins/vlc-video/locale/zh-TW.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/af-ZA.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ar-SA.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ba-RU.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/be-BY.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/bg-BG.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/bn-BD.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ca-ES.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/cs-CZ.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/da-DK.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/de-DE.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/el-GR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/en-GB.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/en-US.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/es-ES.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/et-EE.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/eu-ES.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/fa-IR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/fi-FI.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/fil-PH.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/fr-FR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/gd-GB.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/gl-ES.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/he-IL.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/hi-IN.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/hr-HR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/hu-HU.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/hy-AM.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/id-ID.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/it-IT.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ja-JP.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ka-GE.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/kaa.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/kab-KAB.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/kmr-TR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ko-KR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/lt-LT.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ms-MY.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/nb-NO.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/nl-NL.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/nn-NO.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/oc-FR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/pl-PL.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/pt-BR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/pt-PT.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ro-RO.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ru-RU.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/si-LK.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/sk-SK.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/sl-SI.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/sr-CS.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/sr-SP.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/sv-SE.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/szl-PL.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ta-IN.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/tl-PH.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/tr-TR.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/ug-CN.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/uk-UA.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/vi-VN.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/zh-CN.ini
+%%VLC%%share/obs/obs-plugins/vlc-video/locale/zh-TW.ini
+share/obs/obs-studio/OBSPublicRSAKey.pem
share/obs/obs-studio/authors/AUTHORS
share/obs/obs-studio/images/overflow.png
share/obs/obs-studio/license/gplv2.txt
share/obs/obs-studio/locale.ini
+share/obs/obs-studio/locale/af-ZA.ini
share/obs/obs-studio/locale/an-ES.ini
share/obs/obs-studio/locale/ar-SA.ini
share/obs/obs-studio/locale/az-AZ.ini
share/obs/obs-studio/locale/ba-RU.ini
+share/obs/obs-studio/locale/be-BY.ini
share/obs/obs-studio/locale/bem-ZM.ini
share/obs/obs-studio/locale/bg-BG.ini
share/obs/obs-studio/locale/bn-BD.ini
@@ -1261,10 +1426,13 @@ share/obs/obs-studio/locale/he-IL.ini
share/obs/obs-studio/locale/hi-IN.ini
share/obs/obs-studio/locale/hr-HR.ini
share/obs/obs-studio/locale/hu-HU.ini
+share/obs/obs-studio/locale/hy-AM.ini
share/obs/obs-studio/locale/id-ID.ini
+share/obs/obs-studio/locale/is-IS.ini
share/obs/obs-studio/locale/it-IT.ini
share/obs/obs-studio/locale/ja-JP.ini
share/obs/obs-studio/locale/ka-GE.ini
+share/obs/obs-studio/locale/kaa.ini
share/obs/obs-studio/locale/kab-KAB.ini
share/obs/obs-studio/locale/kmr-TR.ini
share/obs/obs-studio/locale/ko-KR.ini
@@ -1273,7 +1441,6 @@ share/obs/obs-studio/locale/lt-LT.ini
share/obs/obs-studio/locale/lv-LV.ini
share/obs/obs-studio/locale/mn-MN.ini
share/obs/obs-studio/locale/ms-MY.ini
-share/obs/obs-studio/locale/my-MM.ini
share/obs/obs-studio/locale/nb-NO.ini
share/obs/obs-studio/locale/nl-NL.ini
share/obs/obs-studio/locale/nn-NO.ini
@@ -1293,9 +1460,11 @@ share/obs/obs-studio/locale/sr-SP.ini
share/obs/obs-studio/locale/sv-SE.ini
share/obs/obs-studio/locale/szl-PL.ini
share/obs/obs-studio/locale/ta-IN.ini
+share/obs/obs-studio/locale/te-IN.ini
share/obs/obs-studio/locale/th-TH.ini
share/obs/obs-studio/locale/tl-PH.ini
share/obs/obs-studio/locale/tr-TR.ini
+share/obs/obs-studio/locale/ug-CN.ini
share/obs/obs-studio/locale/uk-UA.ini
share/obs/obs-studio/locale/ur-PK.ini
share/obs/obs-studio/locale/vi-VN.ini
@@ -1321,7 +1490,12 @@ share/obs/obs-studio/themes/Acri/top_hook.png
share/obs/obs-studio/themes/Dark.qss
share/obs/obs-studio/themes/Dark/alert.svg
share/obs/obs-studio/themes/Dark/close.svg
+share/obs/obs-studio/themes/Dark/cogs.svg
+share/obs/obs-studio/themes/Dark/collapse.svg
+share/obs/obs-studio/themes/Dark/dots-vert.svg
+share/obs/obs-studio/themes/Dark/dots.svg
share/obs/obs-studio/themes/Dark/down.svg
+share/obs/obs-studio/themes/Dark/entry-clear.svg
share/obs/obs-studio/themes/Dark/expand.svg
share/obs/obs-studio/themes/Dark/filter.svg
share/obs/obs-studio/themes/Dark/interact.svg
@@ -1336,12 +1510,18 @@ share/obs/obs-studio/themes/Dark/media/media_restart.svg
share/obs/obs-studio/themes/Dark/media/media_stop.svg
share/obs/obs-studio/themes/Dark/minus.svg
share/obs/obs-studio/themes/Dark/mute.svg
+share/obs/obs-studio/themes/Dark/network-disconnected.svg
+share/obs/obs-studio/themes/Dark/network-inactive.svg
share/obs/obs-studio/themes/Dark/no_sources.svg
share/obs/obs-studio/themes/Dark/plus.svg
share/obs/obs-studio/themes/Dark/popout.svg
+share/obs/obs-studio/themes/Dark/recording-inactive.svg
+share/obs/obs-studio/themes/Dark/recording-pause-inactive.svg
share/obs/obs-studio/themes/Dark/refresh.svg
share/obs/obs-studio/themes/Dark/revert.svg
+share/obs/obs-studio/themes/Dark/right.svg
share/obs/obs-studio/themes/Dark/save.svg
+share/obs/obs-studio/themes/Dark/settings/accessibility.svg
share/obs/obs-studio/themes/Dark/settings/advanced.svg
share/obs/obs-studio/themes/Dark/settings/audio.svg
share/obs/obs-studio/themes/Dark/settings/general.svg
@@ -1362,10 +1542,76 @@ share/obs/obs-studio/themes/Dark/sources/scene.svg
share/obs/obs-studio/themes/Dark/sources/slideshow.svg
share/obs/obs-studio/themes/Dark/sources/text.svg
share/obs/obs-studio/themes/Dark/sources/window.svg
+share/obs/obs-studio/themes/Dark/sources/windowaudio.svg
+share/obs/obs-studio/themes/Dark/streaming-inactive.svg
share/obs/obs-studio/themes/Dark/trash.svg
+share/obs/obs-studio/themes/Dark/unassigned.svg
share/obs/obs-studio/themes/Dark/up.svg
share/obs/obs-studio/themes/Dark/updown.svg
share/obs/obs-studio/themes/Dark/visible.svg
+share/obs/obs-studio/themes/Grey.qss
+share/obs/obs-studio/themes/Light.qss
+share/obs/obs-studio/themes/Light/alert.svg
+share/obs/obs-studio/themes/Light/checkbox_checked.svg
+share/obs/obs-studio/themes/Light/checkbox_checked_disabled.svg
+share/obs/obs-studio/themes/Light/checkbox_checked_focus.svg
+share/obs/obs-studio/themes/Light/checkbox_unchecked.svg
+share/obs/obs-studio/themes/Light/checkbox_unchecked_disabled.svg
+share/obs/obs-studio/themes/Light/checkbox_unchecked_focus.svg
+share/obs/obs-studio/themes/Light/close.svg
+share/obs/obs-studio/themes/Light/cogs.svg
+share/obs/obs-studio/themes/Light/collapse.svg
+share/obs/obs-studio/themes/Light/dots-vert.svg
+share/obs/obs-studio/themes/Light/dots.svg
+share/obs/obs-studio/themes/Light/down.svg
+share/obs/obs-studio/themes/Light/entry-clear.svg
+share/obs/obs-studio/themes/Light/expand.svg
+share/obs/obs-studio/themes/Light/filter.svg
+share/obs/obs-studio/themes/Light/interact.svg
+share/obs/obs-studio/themes/Light/left.svg
+share/obs/obs-studio/themes/Light/locked.svg
+share/obs/obs-studio/themes/Light/media-pause.svg
+share/obs/obs-studio/themes/Light/media/media_next.svg
+share/obs/obs-studio/themes/Light/media/media_pause.svg
+share/obs/obs-studio/themes/Light/media/media_play.svg
+share/obs/obs-studio/themes/Light/media/media_previous.svg
+share/obs/obs-studio/themes/Light/media/media_restart.svg
+share/obs/obs-studio/themes/Light/media/media_stop.svg
+share/obs/obs-studio/themes/Light/minus.svg
+share/obs/obs-studio/themes/Light/mute.svg
+share/obs/obs-studio/themes/Light/no_sources.svg
+share/obs/obs-studio/themes/Light/plus.svg
+share/obs/obs-studio/themes/Light/popout.svg
+share/obs/obs-studio/themes/Light/refresh.svg
+share/obs/obs-studio/themes/Light/revert.svg
+share/obs/obs-studio/themes/Light/right.svg
+share/obs/obs-studio/themes/Light/save.svg
+share/obs/obs-studio/themes/Light/settings/accessibility.svg
+share/obs/obs-studio/themes/Light/settings/advanced.svg
+share/obs/obs-studio/themes/Light/settings/audio.svg
+share/obs/obs-studio/themes/Light/settings/general.svg
+share/obs/obs-studio/themes/Light/settings/hotkeys.svg
+share/obs/obs-studio/themes/Light/settings/output.svg
+share/obs/obs-studio/themes/Light/settings/stream.svg
+share/obs/obs-studio/themes/Light/settings/video.svg
+share/obs/obs-studio/themes/Light/sources/brush.svg
+share/obs/obs-studio/themes/Light/sources/camera.svg
+share/obs/obs-studio/themes/Light/sources/default.svg
+share/obs/obs-studio/themes/Light/sources/gamepad.svg
+share/obs/obs-studio/themes/Light/sources/globe.svg
+share/obs/obs-studio/themes/Light/sources/group.svg
+share/obs/obs-studio/themes/Light/sources/image.svg
+share/obs/obs-studio/themes/Light/sources/media.svg
+share/obs/obs-studio/themes/Light/sources/microphone.svg
+share/obs/obs-studio/themes/Light/sources/scene.svg
+share/obs/obs-studio/themes/Light/sources/slideshow.svg
+share/obs/obs-studio/themes/Light/sources/text.svg
+share/obs/obs-studio/themes/Light/sources/window.svg
+share/obs/obs-studio/themes/Light/sources/windowaudio.svg
+share/obs/obs-studio/themes/Light/trash.svg
+share/obs/obs-studio/themes/Light/up.svg
+share/obs/obs-studio/themes/Light/updown.svg
+share/obs/obs-studio/themes/Light/visible.svg
share/obs/obs-studio/themes/Rachni.qss
share/obs/obs-studio/themes/Rachni/checkbox_checked.png
share/obs/obs-studio/themes/Rachni/checkbox_checked_disabled.png
@@ -1389,3 +1635,10 @@ share/obs/obs-studio/themes/Rachni/sizegrip.png
share/obs/obs-studio/themes/Rachni/up_arrow.png
share/obs/obs-studio/themes/Rachni/up_arrow_disabled.png
share/obs/obs-studio/themes/System.qss
+share/obs/obs-studio/themes/Yami.qss
+share/obs/obs-studio/themes/Yami/checkbox_checked.svg
+share/obs/obs-studio/themes/Yami/checkbox_checked_disabled.svg
+share/obs/obs-studio/themes/Yami/checkbox_checked_focus.svg
+share/obs/obs-studio/themes/Yami/checkbox_unchecked.svg
+share/obs/obs-studio/themes/Yami/checkbox_unchecked_disabled.svg
+share/obs/obs-studio/themes/Yami/checkbox_unchecked_focus.svg
diff --git a/multimedia/obs-text-pthread/Makefile b/multimedia/obs-text-pthread/Makefile
new file mode 100644
index 000000000000..0c14df2e69cf
--- /dev/null
+++ b/multimedia/obs-text-pthread/Makefile
@@ -0,0 +1,29 @@
+PORTNAME= obs-text-pthread
+DISTVERSION= 2.0.3
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= OBS Studio Plugin: Rich text source plugin for OBS Studio
+WWW= https://github.com/norihiro/obs-text-pthread
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libharfbuzz.so:print/harfbuzz \
+ libobs.so:multimedia/obs-studio \
+ libpng16.so:graphics/png
+
+USES= cmake gettext-runtime gnome localbase:ldflags pkgconfig
+USE_GNOME= cairo glib20 pango
+
+USE_GITHUB= yes
+GH_ACCOUNT= norihiro
+
+CMAKE_OFF= LINUX_PORTABLE
+
+CFLAGS+= -I${WRKDIR}/src
+
+PLIST_FILES= lib/obs-plugins/obs-text-pthread.so \
+ share/obs/obs-plugins/obs-text-pthread/textalpha.effect
+
+.include <bsd.port.mk>
diff --git a/multimedia/obs-text-pthread/distinfo b/multimedia/obs-text-pthread/distinfo
new file mode 100644
index 000000000000..6e089e0b1737
--- /dev/null
+++ b/multimedia/obs-text-pthread/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1704085654
+SHA256 (norihiro-obs-text-pthread-2.0.3_GH0.tar.gz) = 6c89368065fe5446f4fc1e537ed154c9652de3a5edb83fe959adc74770bc9aed
+SIZE (norihiro-obs-text-pthread-2.0.3_GH0.tar.gz) = 43636
diff --git a/multimedia/obs-text-pthread/pkg-descr b/multimedia/obs-text-pthread/pkg-descr
new file mode 100644
index 000000000000..4d88c979d2fa
--- /dev/null
+++ b/multimedia/obs-text-pthread/pkg-descr
@@ -0,0 +1,18 @@
+This plugin displays text with many advanced features.
+* Markup
+* Text alignment
+ - Left, center, and right
+ - Justification
+* Outline
+ - Configurable width, color, and opacity
+ - Configurable shape of corners
+ - Blur
+* Transition
+ - Fade-in, fade-out, cross-fade
+ - Slide
+* Threaded glyph drawing
+ - Lower priority to draw glyphs so that other sources and encoders are not
+ impacted
+ - More frequent polling of the text file
+* Automatic line-break supporting East Asian languages
+* Saving as PNG files for post production
diff --git a/multimedia/obs-transition-matrix/Makefile b/multimedia/obs-transition-matrix/Makefile
deleted file mode 100644
index b759f6a45031..000000000000
--- a/multimedia/obs-transition-matrix/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-PORTNAME= obs-transition-matrix
-DISTVERSIONPREFIX= v
-DISTVERSION= 1.0-4
-DISTVERSIONSUFFIX= -g15f096e
-CATEGORIES= multimedia
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= OBS Studio Plugin: OBS Transition Matrix
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-LIB_DEPENDS= libobs.so:multimedia/obs-studio
-
-USES= cmake qt:5 compiler:c++11-lang
-USE_GITHUB= yes
-GH_ACCOUNT= admshao
-USE_QT= core gui widgets buildtools_build qmake_build
-
-CMAKE_ARGS= -DLIBOBS_INCLUDE_DIR=${LOCALBASE}/include
-
-CXXFLAGS+= -I${LOCALBASE}/include/obs
-
-PLIST_FILES= lib/obs-plugins/obs-transition-matrix.so \
- share/obs/obs-plugins/obs-transition-matrix/locale/en-US.ini
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-transition-matrix/distinfo b/multimedia/obs-transition-matrix/distinfo
deleted file mode 100644
index 48b4360bce2a..000000000000
--- a/multimedia/obs-transition-matrix/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1586049671
-SHA256 (admshao-obs-transition-matrix-v1.0-4-g15f096e_GH0.tar.gz) = 62ef0af910f7a54ac4dd5fb64e7ad371bec5e97569a0c4424ddd9f0ae8625daf
-SIZE (admshao-obs-transition-matrix-v1.0-4-g15f096e_GH0.tar.gz) = 20038
diff --git a/multimedia/obs-transition-matrix/files/patch-external_FindLibObs.cmake b/multimedia/obs-transition-matrix/files/patch-external_FindLibObs.cmake
deleted file mode 100644
index 5bf53f13e3c1..000000000000
--- a/multimedia/obs-transition-matrix/files/patch-external_FindLibObs.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- external/FindLibObs.cmake.orig 2020-04-03 19:34:06 UTC
-+++ external/FindLibObs.cmake
-@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
-
- set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
- set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
-- include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
-+ include(${CMAKE_INSTALL_PREFIX}/lib/cmake/ObsPluginHelpers.cmake)
-
- # allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
- if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
diff --git a/multimedia/obs-transition-matrix/pkg-descr b/multimedia/obs-transition-matrix/pkg-descr
deleted file mode 100644
index 265a22c4eb2e..000000000000
--- a/multimedia/obs-transition-matrix/pkg-descr
+++ /dev/null
@@ -1,3 +0,0 @@
-Expands the basic custom transition support to a scene to scene basis.
-
-WWW: https://github.com/admshao/obs-transition-matrix
diff --git a/multimedia/obs-v4l2sink/Makefile b/multimedia/obs-v4l2sink/Makefile
deleted file mode 100644
index f4b9306e7c2b..000000000000
--- a/multimedia/obs-v4l2sink/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-PORTNAME= obs-v4l2sink
-DISTVERSION= 0.1.0-12
-DISTVERSIONSUFFIX= -g1ec3c8a
-CATEGORIES= multimedia
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= OBS Studio Plugin: Output as Video4Linux2 device
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
-LIB_DEPENDS= libobs.so:multimedia/obs-studio
-
-USES= cmake compiler:c++11-lang qt:5
-USE_GITHUB= yes
-GH_ACCOUNT= CatxFish
-USE_QT= core gui widgets buildtools_build qmake_build
-
-CMAKE_ARGS= -DLIBOBS_INCLUDE_DIR=${LOCALBASE}/include/obs
-
-PLIST_FILES= lib/obs-plugins/v4l2sink.so \
- share/obs/obs-plugins/v4l2sink/locale/de-DE.ini \
- share/obs/obs-plugins/v4l2sink/locale/en-US.ini \
- share/obs/obs-plugins/v4l2sink/locale/zh-TW.ini
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-v4l2sink/distinfo b/multimedia/obs-v4l2sink/distinfo
deleted file mode 100644
index 2fc4294f7604..000000000000
--- a/multimedia/obs-v4l2sink/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1586128495
-SHA256 (CatxFish-obs-v4l2sink-0.1.0-12-g1ec3c8a_GH0.tar.gz) = 5ba383c28b8b366489e56b231a66e3ef64629e3fdd9f92895ab8dd512df3b467
-SIZE (CatxFish-obs-v4l2sink-0.1.0-12-g1ec3c8a_GH0.tar.gz) = 21399
diff --git a/multimedia/obs-v4l2sink/files/patch-external_FindLibObs.cmake b/multimedia/obs-v4l2sink/files/patch-external_FindLibObs.cmake
deleted file mode 100644
index 28abdc1d1f7f..000000000000
--- a/multimedia/obs-v4l2sink/files/patch-external_FindLibObs.cmake
+++ /dev/null
@@ -1,11 +0,0 @@
---- external/FindLibObs.cmake.orig 2020-04-05 23:16:36 UTC
-+++ external/FindLibObs.cmake
-@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
-
- set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
- set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
-- include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
-+ include(${CMAKE_INSTALL_PREFIX}/lib/cmake/ObsPluginHelpers.cmake)
-
- # allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
- if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
diff --git a/multimedia/obs-v4l2sink/pkg-descr b/multimedia/obs-v4l2sink/pkg-descr
deleted file mode 100644
index 8a44521ec2ef..000000000000
--- a/multimedia/obs-v4l2sink/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-An OBS Studio plugin that provides output capabilities to a Video4Linux2 device.
-It is basically a Linux version of obs-virtual-cam, but only contains the video
-sink part. You can use it with v4l2loopback to achieve cross-program video
-transfer between OBS Studio and third party software supporting Video4Linux2,
-e.g. to present an OBS session in proprietary browser-based conferencing systems
-by selecting the OBS session as a webcam.
-
-WWW: https://github.com/CatxFish/obs-v4l2sink
diff --git a/multimedia/obs-waveform/Makefile b/multimedia/obs-waveform/Makefile
new file mode 100644
index 000000000000..9d456d797b48
--- /dev/null
+++ b/multimedia/obs-waveform/Makefile
@@ -0,0 +1,35 @@
+PORTNAME= obs-waveform
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.8.0
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= OBS Studio Plugin: Audio spectral analyser
+WWW= https://obsproject.com/forum/resources/waveform.1423/
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= cpu_features>0:devel/cpu_features
+LIB_DEPENDS= libcpu_features.so:devel/cpu_features \
+ libfftw3f.so:math/fftw3-float \
+ libobs.so:multimedia/obs-studio
+
+USES= cmake localbase:ldflags
+
+USE_GITHUB= yes
+GH_ACCOUNT= phandasm
+GH_PROJECT= waveform
+
+CMAKE_ON= PACKAGED_INSTALL
+
+LDFLAGS+= -lcpu_features
+
+PLIST_FILES= lib/obs-plugins/waveform.so \
+ share/obs/obs-plugins/waveform/gradient.effect \
+ share/obs/obs-plugins/waveform/locale/en-US.ini \
+ share/obs/obs-plugins/waveform/locale/it-IT.ini \
+ share/obs/obs-plugins/waveform/locale/zh-CN.ini \
+ share/obs/obs-plugins/waveform/locale/zh-TW.ini
+
+.include <bsd.port.mk>
diff --git a/multimedia/obs-waveform/distinfo b/multimedia/obs-waveform/distinfo
new file mode 100644
index 000000000000..264d52641daf
--- /dev/null
+++ b/multimedia/obs-waveform/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1711418513
+SHA256 (phandasm-waveform-v1.8.0_GH0.tar.gz) = 0c878a1f2862980584aa7974e8e93c90a89ab5a34a6938c5c3b402ef6651962b
+SIZE (phandasm-waveform-v1.8.0_GH0.tar.gz) = 36684586
diff --git a/multimedia/obs-waveform/files/patch-CMakeLists.txt b/multimedia/obs-waveform/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..0882d248f214
--- /dev/null
+++ b/multimedia/obs-waveform/files/patch-CMakeLists.txt
@@ -0,0 +1,28 @@
+--- CMakeLists.txt.orig 2022-09-11 15:31:21 UTC
++++ CMakeLists.txt
+@@ -165,10 +165,12 @@ if(NOT DISABLE_X86_SIMD)
+ set_source_files_properties("src/filter_fma3.cpp" PROPERTIES COMPILE_FLAGS "-mavx -mfma")
+ endif()
+
+- add_subdirectory(deps/cpu_features EXCLUDE_FROM_ALL)
+- if(NOT MSVC AND NOT BUILD_SHARED_LIBS) # Clang complains
+- target_compile_options(cpu_features PRIVATE "-fPIC")
+- endif()
++ #add_subdirectory(deps/cpu_features EXCLUDE_FROM_ALL)
++ #if(NOT MSVC AND NOT BUILD_SHARED_LIBS) # Clang complains
++ # target_compile_options(cpu_features PRIVATE "-fPIC")
++ #endif()
++ find_package(CpuFeatures REQUIRED)
++ include_directories(${CMAKE_INSTALL_PREFIX}/include/cpu_features)
+ endif()
+
+ if(MAKE_BUNDLE)
+@@ -191,7 +193,7 @@ set_target_properties(waveform PROPERTIES PREFIX "")
+ target_include_directories(waveform PRIVATE ${FFTW_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR}/include)
+ target_link_libraries(waveform PRIVATE OBS::libobs ${FFTW_LIBRARIES})
+ if(NOT DISABLE_X86_SIMD)
+- target_link_libraries(waveform PRIVATE cpu_features)
++ add_dependencies(waveform CpuFeatures::cpu_features)
+ endif()
+ target_compile_definitions(waveform PRIVATE _USE_MATH_DEFINES)
+ if(MSVC)
diff --git a/multimedia/obs-waveform/pkg-descr b/multimedia/obs-waveform/pkg-descr
new file mode 100644
index 000000000000..3ce3ebf5619f
--- /dev/null
+++ b/multimedia/obs-waveform/pkg-descr
@@ -0,0 +1,2 @@
+Waveform is an audio spectral analysis plugin for OBS Studio.
+It is based on FFTW and optimized for AVX2/FMA3.
diff --git a/multimedia/obs-websocket/Makefile b/multimedia/obs-websocket/Makefile
deleted file mode 100644
index afdbbcafeef6..000000000000
--- a/multimedia/obs-websocket/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-PORTNAME= obs-websocket
-DISTVERSION= 4.8.0
-CATEGORIES= multimedia www
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= OBS Studio Plugin: WebSockets API
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BUILD_DEPENDS= websocketpp>0:devel/websocketpp
-LIB_DEPENDS= libobs.so:multimedia/obs-studio
-
-USES= cmake compiler:c++17-lang localbase:ldflags qt:5
-USE_GITHUB= yes
-GH_ACCOUNT= Palakis
-GH_TUPLE= chriskohlhoff:asio:b73dc1d2c0ecb9452a87c26544d7f71e24342df6:chriskohlhoff_asio/deps/asio
-USE_QT= core gui widgets buildtools_build concurrent_build qmake_build
-
-OPTIONS_DEFINE= IPV4 # with devel/websocketpp it's either IPv4 or IPv6, but not both
-OPTIONS_DEFAULT= IPV4 # project defaults to IPv6 but the port defaults to IPv4 because IPv4 is currently more common
-
-post-patch-IPV4-on:
- @${REINPLACE_CMD} -e 's|ip::tcp::v6|ip::tcp::v4|g' ${WRKSRC}/deps/asio/asio/src/tests/unit/ip/tcp.cpp
- @${REINPLACE_CMD} -e 's|_server.listen(|_server.listen(asio::ip::tcp::v4(), |g' ${WRKSRC}/src/WSServer.cpp
-
-post-install: # see https://github.com/Palakis/obs-websocket/issues/457
- @${RM} -r ${STAGEDIR}${PREFIX}/lib/amd64-linux-gnu
-
-.include <bsd.port.mk>
diff --git a/multimedia/obs-websocket/distinfo b/multimedia/obs-websocket/distinfo
deleted file mode 100644
index db1383d62682..000000000000
--- a/multimedia/obs-websocket/distinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-TIMESTAMP = 1590685877
-SHA256 (Palakis-obs-websocket-4.8.0_GH0.tar.gz) = a0b99f8039225305af36ef84d353155173d5878f56187a8988a827b487f15781
-SIZE (Palakis-obs-websocket-4.8.0_GH0.tar.gz) = 173336
-SHA256 (chriskohlhoff-asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6_GH0.tar.gz) = e4a5f556e3d562c71f9e569ffa64eae665abd2c61d85a2d275c86042b32f9342
-SIZE (chriskohlhoff-asio-b73dc1d2c0ecb9452a87c26544d7f71e24342df6_GH0.tar.gz) = 1211725
diff --git a/multimedia/obs-websocket/pkg-descr b/multimedia/obs-websocket/pkg-descr
deleted file mode 100644
index 57796d1af4ac..000000000000
--- a/multimedia/obs-websocket/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-WebSockets API for OBS Studio installs the plugin for multimedia/obs-studio
-that enables OBS Studio to be controlled by a Web-UI.
-
-WWW: https://github.com/Palakis/obs-websocket
diff --git a/multimedia/obs-websocket/pkg-message b/multimedia/obs-websocket/pkg-message
deleted file mode 100644
index 9f71046efeb8..000000000000
--- a/multimedia/obs-websocket/pkg-message
+++ /dev/null
@@ -1,11 +0,0 @@
-[
-{ type: install
- message: <<EOM
-You installed obs-websocket: a WebSockets plugin for OBS Studio.
-
-In order to use obs-websocket you most likely need to install
-this NodeJS project: https://github.com/t2t2/obs-tablet-remote
-
-EOM
-}
-]
diff --git a/multimedia/obs-websocket/pkg-plist b/multimedia/obs-websocket/pkg-plist
deleted file mode 100644
index 7b113f88bf53..000000000000
--- a/multimedia/obs-websocket/pkg-plist
+++ /dev/null
@@ -1,16 +0,0 @@
-lib/obs-plugins/obs-websocket.so
-share/obs/obs-plugins/obs-websocket/locale/ar-SA.ini
-share/obs/obs-plugins/obs-websocket/locale/de-DE.ini
-share/obs/obs-plugins/obs-websocket/locale/en-US.ini
-share/obs/obs-plugins/obs-websocket/locale/es-ES.ini
-share/obs/obs-plugins/obs-websocket/locale/fr-FR.ini
-share/obs/obs-plugins/obs-websocket/locale/hi-IN.ini
-share/obs/obs-plugins/obs-websocket/locale/it-IT.ini
-share/obs/obs-plugins/obs-websocket/locale/ja-JP.ini
-share/obs/obs-plugins/obs-websocket/locale/ko-KR.ini
-share/obs/obs-plugins/obs-websocket/locale/nl-NL.ini
-share/obs/obs-plugins/obs-websocket/locale/pl-PL.ini
-share/obs/obs-plugins/obs-websocket/locale/pt-PT.ini
-share/obs/obs-plugins/obs-websocket/locale/ru-RU.ini
-share/obs/obs-plugins/obs-websocket/locale/zh-CN.ini
-share/obs/obs-plugins/obs-websocket/locale/zh-TW.ini
diff --git a/multimedia/obuparse/Makefile b/multimedia/obuparse/Makefile
new file mode 100644
index 000000000000..4af8eb8657a4
--- /dev/null
+++ b/multimedia/obuparse/Makefile
@@ -0,0 +1,30 @@
+PORTNAME= obuparse
+DISTVERSION= g20230712
+CATEGORIES= multimedia
+
+MAINTAINER= diizzy@FreeBSD.org
+COMMENT= Simple and portable single file AV1 OBU parser
+WWW= https://github.com/dwbuiten/obuparse
+
+LICENSE= ISCL
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= gmake
+USE_GITHUB= yes
+GH_ACCOUNT= dwbuiten
+GH_TAGNAME= f40598f
+
+USE_LDCONFIG= yes
+
+MAKE_ARGS= PREFIX="${STAGEDIR}${PREFIX}"
+
+INSTALL_TARGET= install-shared
+
+PLIST_FILES= include/obuparse.h \
+ lib/libobuparse.so \
+ lib/libobuparse.so.1
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libobuparse.so.1
+
+.include <bsd.port.mk>
diff --git a/multimedia/obuparse/distinfo b/multimedia/obuparse/distinfo
new file mode 100644
index 000000000000..86aa254d0350
--- /dev/null
+++ b/multimedia/obuparse/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1690742528
+SHA256 (dwbuiten-obuparse-g20230712-f40598f_GH0.tar.gz) = 3908f4f8a2b85acf602f18ed0b91c860c787046a26441c2d92dec79da68e5a68
+SIZE (dwbuiten-obuparse-g20230712-f40598f_GH0.tar.gz) = 29233
diff --git a/multimedia/obuparse/files/patch-Makefile b/multimedia/obuparse/files/patch-Makefile
new file mode 100644
index 000000000000..b371f44188b8
--- /dev/null
+++ b/multimedia/obuparse/files/patch-Makefile
@@ -0,0 +1,33 @@
+--- Makefile.orig 2023-07-12 18:02:40 UTC
++++ Makefile
+@@ -1,9 +1,9 @@
+ PREFIX=/usr/local
+
+-CFLAGS := -O3 -std=c99 -Wall -Wextra -g -fPIC -I. $(CPPFLAGS)
++CFLAGS += -std=c99 -Wall -Wextra -fPIC -I. $(CPPFLAGS)
+ LDFLAGS +=
+-CC := $(CROSS)gcc
+-AR := $(CROSS)ar
++CC := $(CC)
++AR := $(AR)
+
+ ifneq (,$(findstring mingw,$(CC)))
+ LIBSUF=.dll
+@@ -11,7 +11,7 @@ ifneq (,$(findstring mingw,$(CC)))
+ SYSTEM=MINGW
+ else
+ LIBSUF=.so
+- LDFLAGS=-Wl,--version-script,obuparse.v
++ LDFLAGS+= -Wl,--version-script,obuparse.v
+ endif
+
+ all: libobuparse$(LIBSUF) libobuparse.a
+@@ -24,7 +24,7 @@ libobuparse.a: obuparse.o
+ $(AR) rcs $@ $^
+
+ libobuparse$(LIBSUF): obuparse.o
+- $(CC) $(LDFLAGS) -shared $^ -o $@
++ $(CC) $(LDFLAGS) -shared $^ -o $@ -Wl,-soname,libobuparse$(LIBSUF).1
+
+ install: install-shared install-static
+
diff --git a/multimedia/obuparse/pkg-descr b/multimedia/obuparse/pkg-descr
new file mode 100644
index 000000000000..3ac4991733ee
--- /dev/null
+++ b/multimedia/obuparse/pkg-descr
@@ -0,0 +1,12 @@
+Simple and portable single file AV1 OBU parser written in mostly C89 with a
+tiny bit of C99.
+
+* No allocations; only works on user-provided buffers and the stack.
+* OBU header parsing.
+* Sequence Header OBU parsing.
+* Metadata OBU parsing.
+* Tile List OBU parsing.
+* Tile Group OBU parsing.
+* Frame Header OBU parsing.
+* Frame OBU parsing.
+
diff --git a/multimedia/oggvideotools/Makefile b/multimedia/oggvideotools/Makefile
index 8bd5109035b6..8c6e1ae81e0e 100644
--- a/multimedia/oggvideotools/Makefile
+++ b/multimedia/oggvideotools/Makefile
@@ -1,13 +1,12 @@
-# Created by: Jille Timmermans (jille@quis.cx)
-
PORTNAME= oggvideotools
PORTVERSION= 0.9.1
-PORTREVISION= 16
+PORTREVISION= 18
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${DISTNAME}
MAINTAINER= ports@FreeBSD.org
COMMENT= Toolbox for manipulating Ogg video files
+WWW= http://www.streamnik.de/oggvideotools.html
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -27,5 +26,7 @@ USE_LDCONFIG= yes
post-patch:
@${REINPLACE_CMD} -e \
's|-O0.*-fPIC|-fPIC|' ${WRKSRC}/CMakeLists.txt
+ @${REINPLACE_CMD} -e \
+ 's|man/man1|share/man/man1|' ${WRKSRC}/docs/CMakeLists.txt
.include <bsd.port.mk>
diff --git a/multimedia/oggvideotools/pkg-descr b/multimedia/oggvideotools/pkg-descr
index c19fe5c18fef..e6d1ac11ad69 100644
--- a/multimedia/oggvideotools/pkg-descr
+++ b/multimedia/oggvideotools/pkg-descr
@@ -3,5 +3,3 @@ which usually consist of a video stream (Theora) and an audio stream
(Vorbis). It includes a number of handy command line tools for
creating an manipulating these video files, such as for splitting the
different streams.
-
-WWW: http://www.streamnik.de/oggvideotools.html
diff --git a/multimedia/oggvideotools/pkg-plist b/multimedia/oggvideotools/pkg-plist
index 140e402ba64a..61bc0d574609 100644
--- a/multimedia/oggvideotools/pkg-plist
+++ b/multimedia/oggvideotools/pkg-plist
@@ -8,15 +8,15 @@ bin/oggSlideshow
bin/oggSplit
bin/oggThumb
bin/oggTranscode
-man/man1/mkThumbs.1.gz
-man/man1/oggCat.1.gz
-man/man1/oggCut.1.gz
-man/man1/oggDump.1.gz
-man/man1/oggJoin.1.gz
-man/man1/oggLength.1.gz
-man/man1/oggSilence.1.gz
-man/man1/oggSlideshow.1.gz
-man/man1/oggSplit.1.gz
-man/man1/oggThumb.1.gz
-man/man1/oggTranscode.1.gz
+share/man/man1/mkThumbs.1.gz
+share/man/man1/oggCat.1.gz
+share/man/man1/oggCut.1.gz
+share/man/man1/oggDump.1.gz
+share/man/man1/oggJoin.1.gz
+share/man/man1/oggLength.1.gz
+share/man/man1/oggSilence.1.gz
+share/man/man1/oggSlideshow.1.gz
+share/man/man1/oggSplit.1.gz
+share/man/man1/oggThumb.1.gz
+share/man/man1/oggTranscode.1.gz
sbin/mkThumbs
diff --git a/multimedia/ogmrip/Makefile b/multimedia/ogmrip/Makefile
index e21ad9112ee6..19985553953e 100644
--- a/multimedia/ogmrip/Makefile
+++ b/multimedia/ogmrip/Makefile
@@ -1,13 +1,12 @@
-# Created by: Herve Quiroz <hq@FreeBSD.org>
-
PORTNAME= ogmrip
PORTVERSION= 1.0.1
-PORTREVISION= 13
+PORTREVISION= 16
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTVERSION:R}/${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Application and libraries for encoding DVDs into DivX/OGM files
+WWW= https://ogmrip.sourceforge.net/
LICENSE= GPLv2+ # from source, though COPYING says LGPLv2
@@ -27,24 +26,20 @@ RUN_DEPENDS= lame:audio/lame \
USES= desktop-file-utils gmake gnome libtool localbase:ldflags \
pathfix pkgconfig
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+CONFIGURE_ARGS= --disable-gtk-support --disable-dbus-support \
+ --disable-libnotify-support
USE_GNOME= glib20 intlhack libxml2
INSTALL_TARGET= install-strip
USE_LDCONFIG= yes
-OPTIONS_DEFINE= GTK2 ENCHANT MATROSKA NLS THEORA FAAC SRT DEBUG
-OPTIONS_DEFAULT=GTK2
+OPTIONS_DEFINE= ENCHANT MATROSKA NLS THEORA FAAC SRT DEBUG
OPTIONS_SUB= yes
ENCHANT_DESC= Enable spell checking for text subtitles
MATROSKA_DESC= Enable Matroska container support
THEORA_DESC= Enable Ogg Theora video codec support
SRT_DESC= Enable SRT text subtitles support
-GTK2_CONFIGURE_ENABLE= gtk-support dbus-support libnotify-support
-GTK2_LIB_DEPENDS= libdbus-glib-1.so:devel/dbus-glib \
- libnotify.so:devel/libnotify
-GTK2_USE= GNOME=gconf2,libglade2
-GTK2_VARS= GCONF_SCHEMAS=ogmrip.schemas
-
ENCHANT_CONFIGURE_ENABLE=enchant-support
ENCHANT_LIB_DEPENDS= libenchant.so:textproc/enchant
diff --git a/multimedia/ogmrip/pkg-descr b/multimedia/ogmrip/pkg-descr
index 72ae21ae1dff..b97b09d217a6 100644
--- a/multimedia/ogmrip/pkg-descr
+++ b/multimedia/ogmrip/pkg-descr
@@ -4,5 +4,3 @@ mencoder, ogmtools, oggenc and lame to perform its tasks.
The GUI features a clean HIG-compliant GNOME 2 interface and tries to minimize
as much as possible esoteric settings.
-
-WWW: http://ogmrip.sourceforge.net/
diff --git a/multimedia/ogmrip/pkg-plist b/multimedia/ogmrip/pkg-plist
index 6e9b1dd24155..2ed636911bbf 100644
--- a/multimedia/ogmrip/pkg-plist
+++ b/multimedia/ogmrip/pkg-plist
@@ -1,30 +1,20 @@
bin/avibox
bin/dvdcpy
-%%GTK2%%bin/ogmrip
%%SRT%%bin/subp2pgm
%%SRT%%bin/subp2png
%%SRT%%bin/subp2tiff
%%SRT%%bin/subptools
%%THEORA%%bin/theoraenc
include/ogmdvd/ogmdvd-audio.h
-%%GTK2%%include/ogmdvd/ogmdvd-cell-renderer-language.h
-%%GTK2%%include/ogmdvd/ogmdvd-chapter-list.h
include/ogmdvd/ogmdvd-disc.h
-%%GTK2%%include/ogmdvd/ogmdvd-drive-chooser-dialog.h
-%%GTK2%%include/ogmdvd/ogmdvd-drive-chooser-widget.h
-%%GTK2%%include/ogmdvd/ogmdvd-drive-chooser.h
include/ogmdvd/ogmdvd-drive.h
include/ogmdvd/ogmdvd-enums.h
-%%GTK2%%include/ogmdvd/ogmdvd-gtk.h
include/ogmdvd/ogmdvd-labels.h
-%%GTK2%%include/ogmdvd/ogmdvd-marshal.h
include/ogmdvd/ogmdvd-monitor.h
include/ogmdvd/ogmdvd-parser.h
include/ogmdvd/ogmdvd-reader.h
include/ogmdvd/ogmdvd-stream.h
include/ogmdvd/ogmdvd-subp.h
-%%GTK2%%include/ogmdvd/ogmdvd-title-chooser-widget.h
-%%GTK2%%include/ogmdvd/ogmdvd-title-chooser.h
include/ogmdvd/ogmdvd-title.h
include/ogmdvd/ogmdvd-types.h
include/ogmdvd/ogmdvd.h
@@ -39,9 +29,7 @@ include/ogmjob/ogmjob-queue.h
include/ogmjob/ogmjob-spawn.h
include/ogmjob/ogmjob.h
include/ogmrip/ogmrip-audio-codec.h
-%%GTK2%%include/ogmrip/ogmrip-chapter-list.h
include/ogmrip/ogmrip-chapters.h
-%%GTK2%%include/ogmrip/ogmrip-chooser-list.h
include/ogmrip/ogmrip-codec.h
include/ogmrip/ogmrip-container.h
include/ogmrip/ogmrip-dvdcpy.h
@@ -51,29 +39,19 @@ include/ogmrip/ogmrip-encoding.h
include/ogmrip/ogmrip-enums.h
include/ogmrip/ogmrip-file.h
include/ogmrip/ogmrip-fs.h
-%%GTK2%%include/ogmrip/ogmrip-gconf-settings.h
-%%GTK2%%include/ogmrip/ogmrip-gtk.h
include/ogmrip/ogmrip-hardsub.h
-%%GTK2%%include/ogmrip/ogmrip-helper.h
include/ogmrip/ogmrip-keyfile-settings.h
include/ogmrip/ogmrip-lavc.h
include/ogmrip/ogmrip-mplayer.h
include/ogmrip/ogmrip-novideo.h
-%%GTK2%%include/ogmrip/ogmrip-options-plugin.h
include/ogmrip/ogmrip-options.h
include/ogmrip/ogmrip-player.h
include/ogmrip/ogmrip-plugin.h
include/ogmrip/ogmrip-settings.h
-%%GTK2%%include/ogmrip/ogmrip-source-chooser-widget.h
-%%GTK2%%include/ogmrip/ogmrip-source-chooser.h
include/ogmrip/ogmrip-subp-codec.h
include/ogmrip/ogmrip-version.h
include/ogmrip/ogmrip-video-codec.h
include/ogmrip/ogmrip.h
-%%GTK2%%lib/libogmdvd-gtk.a
-%%GTK2%%lib/libogmdvd-gtk.so
-%%GTK2%%lib/libogmdvd-gtk.so.1
-%%GTK2%%lib/libogmdvd-gtk.so.1.0.0
lib/libogmdvd.a
lib/libogmdvd.so
lib/libogmdvd.so.1
@@ -82,10 +60,6 @@ lib/libogmjob.a
lib/libogmjob.so
lib/libogmjob.so.1
lib/libogmjob.so.1.0.0
-%%GTK2%%lib/libogmrip-gtk.a
-%%GTK2%%lib/libogmrip-gtk.so
-%%GTK2%%lib/libogmrip-gtk.so.1
-%%GTK2%%lib/libogmrip-gtk.so.1.0.0
lib/libogmrip-lavc.a
lib/libogmrip-lavc.so
lib/libogmrip-lavc.so.1
@@ -118,12 +92,6 @@ lib/ogmrip/container-plugins/libogmrip-mov.so
@comment lib/ogmrip/container-plugins/libogmrip-mp4.so
lib/ogmrip/container-plugins/libogmrip-ogg.a
lib/ogmrip/container-plugins/libogmrip-ogg.so
-%%GTK2%%lib/ogmrip/options-plugins/libogmrip-lavc-options.a
-%%GTK2%%lib/ogmrip/options-plugins/libogmrip-lavc-options.so
-%%GTK2%%lib/ogmrip/options-plugins/libogmrip-x264-options.a
-%%GTK2%%lib/ogmrip/options-plugins/libogmrip-x264-options.so
-%%GTK2%%lib/ogmrip/options-plugins/libogmrip-xvid-options.a
-%%GTK2%%lib/ogmrip/options-plugins/libogmrip-xvid-options.so
%%SRT%%lib/ogmrip/subp-plugins/libogmrip-srt.a
%%SRT%%lib/ogmrip/subp-plugins/libogmrip-srt.so
lib/ogmrip/subp-plugins/libogmrip-vobsub.a
@@ -144,30 +112,13 @@ libdata/pkgconfig/ogmdvd.pc
libdata/pkgconfig/ogmjob.pc
libdata/pkgconfig/ogmrip-gtk.pc
libdata/pkgconfig/ogmrip.pc
-man/man1/dvdcpy.1.gz
-man/man1/avibox.1.gz
-%%SRT%%man/man1/subp2pgm.1.gz
-%%SRT%%man/man1/subptools.1.gz
-%%GTK2%%share/applications/ogmrip.desktop
+share/man/man1/dvdcpy.1.gz
+share/man/man1/avibox.1.gz
+%%SRT%%share/man/man1/subp2pgm.1.gz
+%%SRT%%share/man/man1/subptools.1.gz
%%NLS%%share/locale/cs/LC_MESSAGES/ogmrip.mo
%%NLS%%share/locale/de/LC_MESSAGES/ogmrip.mo
%%NLS%%share/locale/fr/LC_MESSAGES/ogmrip.mo
%%NLS%%share/locale/nb/LC_MESSAGES/ogmrip.mo
%%NLS%%share/locale/ru/LC_MESSAGES/ogmrip.mo
%%NLS%%share/locale/sk/LC_MESSAGES/ogmrip.mo
-%%GTK2%%%%DATADIR%%/ogmrip-crop.glade
-%%GTK2%%%%DATADIR%%/ogmrip-lavc.glade
-%%GTK2%%%%DATADIR%%/ogmrip-main.glade
-%%GTK2%%%%DATADIR%%/ogmrip-options.glade
-%%GTK2%%%%DATADIR%%/ogmrip-pref.glade
-%%GTK2%%%%DATADIR%%/ogmrip-profile-editor.glade
-%%GTK2%%%%DATADIR%%/ogmrip-profiles.glade
-%%GTK2%%%%DATADIR%%/ogmrip-progress.glade
-%%GTK2%%%%DATADIR%%/ogmrip-queue.glade
-%%GTK2%%%%DATADIR%%/ogmrip-spell.glade
-%%GTK2%%%%DATADIR%%/ogmrip-ui.xml
-%%GTK2%%%%DATADIR%%/ogmrip-update.glade
-%%GTK2%%%%DATADIR%%/ogmrip-x264.glade
-%%GTK2%%%%DATADIR%%/ogmrip-xvid.glade
-%%GTK2%%%%DATADIR%%/profiles/profiles.xml
-%%GTK2%%share/pixmaps/ogmrip.png
diff --git a/multimedia/ogmtools/Makefile b/multimedia/ogmtools/Makefile
index ea816756dfc2..a6c5c2ea90eb 100644
--- a/multimedia/ogmtools/Makefile
+++ b/multimedia/ogmtools/Makefile
@@ -1,52 +1,29 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= ogmtools
PORTVERSION= 1.5
-PORTREVISION= 16
+PORTREVISION= 18
CATEGORIES= multimedia audio
MASTER_SITES= http://www.bunkus.org/videotools/ogmtools/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Tools to extract from/get info about/create OGG media streams
+WWW= https://www.bunkus.org/videotools/ogmtools/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
-LIB_DEPENDS= libvorbis.so:audio/libvorbis
+LIB_DEPENDS= libogg.so:audio/libogg \
+ libvorbis.so:audio/libvorbis
-USES= tar:bzip2
+USES= autoreconf localbase:ldflags tar:bzip2
GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --with-ogg-prefix=${LOCALBASE} \
- --with-vorbis-prefix=${LOCALBASE}
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
OPTIONS_DEFINE= DVDREAD
-OPTIONS_DEFAULT= DVDREAD
+OPTIONS_DEFAULT=DVDREAD
+OPTIONS_SUB= yes
DVDREAD_DESC= DVD title chapter extraction via libdvdread
DVDREAD_LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
-DVDREAD_CONFIGURE_ON= --with-dvdread \
- --with-dvdread-includes=${LOCALBASE} \
- --with-dvdread-libs=${LOCALBASE}
-DVDREAD_CONFIGURE_OFF= --without-dvdread
-OPTIONS_SUB= yes
-
-post-patch:
-# disable GNU auto* tools
- @${FIND} ${WRKSRC} -type f -name "Makefile.in" | ${XARGS} \
- -n 10 ${REINPLACE_CMD} -E -e \
- 's!^(ACLOCAL|AUTOCONF|AUTOMAKE|AUTOHEADER).+$$!\1=${TRUE}!'
-# C{,XX}FLAGS safeness
- @${REINPLACE_CMD} -E -e \
- 's|^(CFLAGS).*(-DLINUX)|\1=${CFLAGS} \2|' \
- ${WRKSRC}/avilib/Makefile.in
- @${REINPLACE_CMD} -E -e \
- 's|^(CFLAGS[[:space:]]*)=|\1+=|; \
- s|^(CXXFLAGS[[:space:]]*)=|\1+=|' \
- ${WRKSRC}/Makefile.in
-
-post-configure:
-# malloc.h -> stdlib.h
-# stdint.h -> inttypes.h
- @${FIND} ${WRKSRC} -type f | ${XARGS} \
- -n 10 ${REINPLACE_CMD} -E -e \
- 's!malloc.h!stdlib.h!; \
- s|stdint.h|inttypes.h|'
+DVDREAD_CONFIGURE_WITH= dvdread
.include <bsd.port.mk>
diff --git a/multimedia/ogmtools/files/patch-avilib_avidump.c b/multimedia/ogmtools/files/patch-avilib_avidump.c
new file mode 100644
index 000000000000..870118a8abc5
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-avilib_avidump.c
@@ -0,0 +1,11 @@
+--- avilib/avidump.c.orig 2004-11-02 15:30:16 UTC
++++ avilib/avidump.c
+@@ -54,7 +54,7 @@
+ ((x<<8) & 0x00ff0000) |\
+ ((x<<24) & 0xff000000))
+ # define SWAP8(x) (((SWAP4(x)<<32) & 0xffffffff00000000ULL) |\
+- (SWAP4(x)))
++ SWAP4(x))
+ #else
+ # define SWAP2(a) (a)
+ # define SWAP4(a) (a)
diff --git a/multimedia/ogmtools/files/patch-configure.in b/multimedia/ogmtools/files/patch-configure.in
new file mode 100644
index 000000000000..d03a84a07f6a
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-configure.in
@@ -0,0 +1,12 @@
+--- configure.in.orig 2023-07-04 22:25:24 UTC
++++ configure.in
+@@ -31,7 +31,7 @@ fi
+ dnl Check for headers
+ AC_HEADER_STDC()
+
+-CFLAGS="-Wall -Wno-sign-compare @OGG_CFLAGS@ @VORBIS_CFLAGS@ @AVILIB_CFLAGS@ @DEBUG_CFLAGS@ @PROFILING_CFLAGS@"
+-CXXFLAGS="-Wall -Wno-sign-compare @OGG_CFLAGS@ @VORBIS_CFLAGS@ @AVILIB_CFLAGS@ @DEBUG_CFLAGS@ @PROFILING_CFLAGS@"
++CFLAGS="-Wall -Wno-sign-compare $OGG_CFLAGS $VORBIS_CFLAGS $AVILIB_CFLAGS $DEBUG_CFLAGS $PROFILING_CFLAGS $CFLAGS"
++CXXFLAGS="-Wall -Wno-sign-compare $OGG_CFLAGS $VORBIS_CFLAGS $AVILIB_CFLAGS $DEBUG_CFLAGS $PROFILING_CFLAGS $CXXFLAGS"
+
+ AC_OUTPUT(Makefile avilib/Makefile)
diff --git a/multimedia/ogmtools/files/patch-gcc11-compat b/multimedia/ogmtools/files/patch-gcc11-compat
new file mode 100644
index 000000000000..88e556a9bc91
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-gcc11-compat
@@ -0,0 +1,374 @@
+--- p_ac3.cpp
++++ p_ac3.cpp
+@@ -30,7 +30,7 @@
+ ac3_packetizer_c::ac3_packetizer_c(unsigned long nsamples_per_sec,
+ int nchannels, int nbitrate,
+ audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c) : q_c() {
++ char **ncomments) : q_c() {
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+ packetno = 0;
+--- p_ac3.h
++++ p_ac3.h
+@@ -40,7 +40,7 @@
+ public:
+ ac3_packetizer_c(unsigned long nsamples_per_sec, int nchannels,
+ int nbitrate, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c);
++ range_t *nrange, char **ncomments);
+ virtual ~ac3_packetizer_c();
+
+ virtual int process(char *buf, int size, int last_frame);
+--- p_index.cpp
++++ p_index.cpp
+@@ -28,7 +28,7 @@
+ #include "p_index.h"
+ #include "vorbis_header_utils.h"
+
+-index_packetizer_c::index_packetizer_c(int nserial) throw (error_c) : q_c() {
++index_packetizer_c::index_packetizer_c(int nserial) : q_c() {
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+ granulepos = 0;
+--- p_index.h
++++ p_index.h
+@@ -33,7 +33,7 @@
+ ogg_int64_t granulepos, packetno;
+ int serial;
+ public:
+- index_packetizer_c(int nserial) throw (error_c);
++ index_packetizer_c(int nserial);
+ virtual ~index_packetizer_c();
+
+ virtual int process(idx_entry *entries, int num);
+--- p_mp3.cpp
++++ p_mp3.cpp
+@@ -30,7 +30,7 @@
+ mp3_packetizer_c::mp3_packetizer_c(unsigned long nsamples_per_sec,
+ int nchannels, int nmp3rate,
+ audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c) : q_c() {
++ char **ncomments) : q_c() {
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+ packetno = 0;
+--- p_mp3.h
++++ p_mp3.h
+@@ -40,7 +40,7 @@
+ public:
+ mp3_packetizer_c(unsigned long nsamples_per_sec, int nchannels,
+ int nmp3rate, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c);
++ range_t *nrange, char **ncomments);
+ virtual ~mp3_packetizer_c();
+
+ virtual int process(char *buf, int size, int last_frame);
+--- p_pcm.cpp
++++ p_pcm.cpp
+@@ -29,7 +29,7 @@
+ pcm_packetizer_c::pcm_packetizer_c(unsigned long nsamples_per_sec,
+ int nchannels, int nbits_per_sample,
+ audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c) : q_c() {
++ char **ncomments) : q_c() {
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+ packetno = 0;
+--- p_pcm.h
++++ p_pcm.h
+@@ -37,7 +37,7 @@
+ public:
+ pcm_packetizer_c(unsigned long nsamples_per_sec, int nchannels,
+ int nbits_per_sample, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c);
++ range_t *nrange, char **ncomments);
+ virtual ~pcm_packetizer_c();
+
+ virtual int process(char *buf, int size, int last_frame);
+--- p_textsubs.cpp
++++ p_textsubs.cpp
+@@ -29,7 +29,7 @@
+
+ textsubs_packetizer_c::textsubs_packetizer_c(audio_sync_t *nasync,
+ range_t *nrange, char **ncomments)
+- throw (error_c) : q_c() {
++ : q_c() {
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+ packetno = 0;
+--- p_textsubs.h
++++ p_textsubs.h
+@@ -30,7 +30,7 @@
+
+ public:
+ textsubs_packetizer_c(audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~textsubs_packetizer_c();
+
+ virtual int process(ogg_int64_t start, ogg_int64_t end, char *_subs,
+--- p_video.cpp
++++ p_video.cpp
+@@ -31,7 +31,7 @@
+ int nheight, int nbpp,
+ int nmax_frame_size, audio_sync_t *as,
+ range_t *nrange, char **ncomments)
+- throw (error_c) : q_c() {
++ : q_c() {
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+ packetno = 0;
+--- p_video.h
++++ p_video.h
+@@ -35,7 +35,7 @@
+ range_t range;
+ public:
+ video_packetizer_c(char *, double, int, int, int, int, audio_sync_t *,
+- range_t *nrange, char **ncomments) throw (error_c);
++ range_t *nrange, char **ncomments);
+ virtual ~video_packetizer_c();
+
+ virtual int process(char *buf, int size, int num_frames, int key,
+--- p_vobsub.cpp
++++ p_vobsub.cpp
+@@ -34,7 +34,7 @@
+ char *nid, int nindex,
+ audio_sync_t *nasync,
+ range_t *nrange, char **ncomments)
+- throw (error_c) : q_c() {
++ : q_c() {
+ char buffer[50];
+ serialno = create_unique_serial();
+ ogg_stream_init(&os, serialno);
+--- p_vobsub.h
++++ p_vobsub.h
+@@ -43,7 +43,7 @@
+ vobsub_packetizer_c(int nwidth, int nheight, char *npalette,
+ int nlangidx, char *nid, int nindex,
+ audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~vobsub_packetizer_c();
+
+ virtual int process(ogg_int64_t start, ogg_int64_t end, char *subs,
+--- p_vorbis.cpp
++++ p_vorbis.cpp
+@@ -30,7 +30,7 @@
+ #include "vorbis_header_utils.h"
+
+ vorbis_packetizer_c::vorbis_packetizer_c(audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c)
++ char **ncomments)
+ : q_c() {
+ packetno = 0;
+ old_granulepos = 0;
+--- p_vorbis.h
++++ p_vorbis.h
+@@ -37,7 +37,7 @@
+
+ public:
+ vorbis_packetizer_c(audio_sync_t *nasync, range_t *nrange, char **ncomments)
+- throw (error_c);
++ ;
+ virtual ~vorbis_packetizer_c();
+
+ virtual int process(ogg_packet *op, ogg_int64_t gran);
+--- queue.cpp
++++ queue.cpp
+@@ -21,7 +21,7 @@
+ #include "ogmmerge.h"
+ #include "queue.h"
+
+-q_c::q_c() throw (error_c) : generic_packetizer_c() {
++q_c::q_c() : generic_packetizer_c() {
+ first = NULL;
+ current = NULL;
+ next_is_key = -1;
+--- queue.h
++++ queue.h
+@@ -36,7 +36,7 @@
+ ogg_stream_state os;
+
+ public:
+- q_c() throw (error_c);
++ q_c();
+ virtual ~q_c();
+
+ virtual int add_ogg_page(ogg_page *, int header_page,
+--- r_ac3.cpp
++++ r_ac3.cpp
+@@ -55,7 +55,7 @@
+ }
+
+ ac3_reader_c::ac3_reader_c(char *fname, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c) {
++ range_t *nrange, char **ncomments) {
+ int pos;
+ ac3_header_t ac3header;
+
+--- r_ac3.h
++++ r_ac3.h
+@@ -36,7 +36,7 @@
+
+ public:
+ ac3_reader_c(char *fname, audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~ac3_reader_c();
+
+ virtual int read();
+--- r_avi.cpp
++++ r_avi.cpp
+@@ -55,7 +55,7 @@
+ avi_reader_c::avi_reader_c(char *fname, unsigned char *astreams,
+ unsigned char *vstreams, audio_sync_t *nasync,
+ range_t *nrange, char **ncomments, char *nfourcc,
+- char* nav_seek) throw (error_c) {
++ char* nav_seek) {
+ int fsize, i;
+ off_t size;
+ FILE *f;
+--- r_avi.h
++++ r_avi.h
+@@ -67,7 +67,7 @@
+ avi_reader_c(char *fname, unsigned char *astreams,
+ unsigned char *vstreams, audio_sync_t *nasync,
+ range_t *nrange, char **ncomments, char *nfourcc,
+- char* nav_seek) throw (error_c);
++ char* nav_seek);
+ virtual ~avi_reader_c();
+
+ virtual int read();
+--- r_microdvd.cpp
++++ r_microdvd.cpp
+@@ -56,7 +56,7 @@
+
+ microdvd_reader_c::microdvd_reader_c(char *fname, audio_sync_t *nasync,
+ range_t *nrange, char **ncomments)
+- throw (error_c) {
++ {
+ if ((file = fopen(fname, "r")) == NULL)
+ throw error_c("microdvd_reader: Could not open source file.");
+ if (!microdvd_reader_c::probe_file(file, 0))
+--- r_microdvd.h
++++ r_microdvd.h
+@@ -35,7 +35,7 @@
+
+ public:
+ microdvd_reader_c(char *fname, audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~microdvd_reader_c();
+
+ virtual int read();
+--- r_mp3.cpp
++++ r_mp3.cpp
+@@ -60,7 +60,7 @@
+ }
+
+ mp3_reader_c::mp3_reader_c(char *fname, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c) {
++ range_t *nrange, char **ncomments) {
+ int pos;
+ unsigned long header;
+ mp3_header_t mp3header;
+--- r_mp3.h
++++ r_mp3.h
+@@ -40,7 +40,7 @@
+
+ public:
+ mp3_reader_c(char *fname, audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~mp3_reader_c();
+
+ virtual int read();
+--- r_ogm.cpp
++++ r_ogm.cpp
+@@ -60,7 +60,7 @@
+ ogm_reader_c::ogm_reader_c(char *fname, unsigned char *astreams,
+ unsigned char *vstreams, unsigned char *tstreams,
+ audio_sync_t *nasync, range_t *nrange,
+- char **ncomments, char *nfourcc) throw (error_c) {
++ char **ncomments, char *nfourcc) {
+ off_t size;
+
+ if ((file = fopen(fname, "r")) == NULL)
+--- r_ogm.h
++++ r_ogm.h
+@@ -62,7 +62,7 @@
+ ogm_reader_c(char *fname, unsigned char *astreams,
+ unsigned char *vstreams, unsigned char *tstreams,
+ audio_sync_t *nasync, range_t *nrange, char **ncomments,
+- char *nfourcc) throw (error_c);
++ char *nfourcc);
+ virtual ~ogm_reader_c();
+
+ virtual int read();
+--- r_srt.cpp
++++ r_srt.cpp
+@@ -62,7 +62,7 @@
+ }
+
+ srt_reader_c::srt_reader_c(char *fname, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c) {
++ range_t *nrange, char **ncomments) {
+ if ((file = fopen(fname, "r")) == NULL)
+ throw error_c("srt_reader: Could not open source file.");
+ if (!srt_reader_c::probe_file(file, 0))
+--- r_srt.h
++++ r_srt.h
+@@ -35,7 +35,7 @@
+
+ public:
+ srt_reader_c(char *fname, audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~srt_reader_c();
+
+ virtual int read();
+--- r_vobsub.cpp
++++ r_vobsub.cpp
+@@ -72,7 +72,7 @@
+
+ vobsub_reader_c::vobsub_reader_c(char *fname, audio_sync_t *nasync,
+ range_t *nrange, char **ncomments)
+- throw (error_c) {
++ {
+ char *name;
+
+ if ((file = fopen(fname, "r")) == NULL)
+--- r_vobsub.h
++++ r_vobsub.h
+@@ -42,7 +42,7 @@
+
+ public:
+ vobsub_reader_c(char *fname, audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~vobsub_reader_c();
+
+ virtual int read();
+--- r_wav.cpp
++++ r_wav.cpp
+@@ -50,7 +50,7 @@
+ }
+
+ wav_reader_c::wav_reader_c(char *fname, audio_sync_t *nasync,
+- range_t *nrange, char **ncomments) throw (error_c) {
++ range_t *nrange, char **ncomments) {
+ uint64_t size;
+ uint32_t samplerate;
+ uint16_t channels, bitdepth;
+--- r_wav.h
++++ r_wav.h
+@@ -41,7 +41,7 @@
+
+ public:
+ wav_reader_c(char *fname, audio_sync_t *nasync, range_t *nrange,
+- char **ncomments) throw (error_c);
++ char **ncomments);
+ virtual ~wav_reader_c();
+
+ virtual int read();
diff --git a/multimedia/ogmtools/files/patch-ogminfo.c b/multimedia/ogmtools/files/patch-ogminfo.c
new file mode 100644
index 000000000000..29c8c5f267b7
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-ogminfo.c
@@ -0,0 +1,149 @@
+--- ogminfo.c.orig 2003-11-20 22:21:36 UTC
++++ ogminfo.c
+@@ -51,7 +51,7 @@ ogg_int64_t pagebytesread = 0;
+
+ void add_stream(stream_t *ndmx) {
+ stream_t *cur = first;
+-
++
+ if (first == NULL) {
+ first = ndmx;
+ first->next = NULL;
+@@ -66,13 +66,13 @@ void add_stream(stream_t *ndmx) {
+
+ stream_t *find_stream(int fserial) {
+ stream_t *cur = first;
+-
++
+ while (cur != NULL) {
+ if (cur->serial == fserial)
+ break;
+ cur = cur->next;
+ }
+-
++
+ return cur;
+ }
+
+@@ -92,7 +92,7 @@ void usage(char *fname) {
+ " -V, --version Show version information.\n", fname);
+ }
+
+-#ifndef XIPHCORRECTINTERLEAVING
++#ifndef XIPHCORRECTINTERLEAVING
+ #define OUTOFSYNC ((((stream->stype == 't' ? end_pts : start_pts) \
+ - last_pts) < 0.0 ) ? "OUT_OF_SYNC " : "sync_ok ")
+ #else
+@@ -131,7 +131,7 @@ void dump_streamheader(stream_header *sth, char stype,
+
+ int all_header_packets_dumped() {
+ stream_t *stream = first;
+-
++
+ while (stream != NULL) {
+ if ((stream->stype == 'V') && (stream->header_packets < 3))
+ return 0;
+@@ -139,7 +139,7 @@ int all_header_packets_dumped() {
+ return 0;
+ stream = stream->next;
+ }
+-
++
+ return 1;
+ }
+
+@@ -172,7 +172,7 @@ void handle_packet(stream_t *stream, ogg_packet *pack,
+ vorbis_comment_init(&vc);
+ if (vorbis_unpack_comment(&vc, pack->packet, pack->bytes) != 0)
+ fprintf(stdout, "(%s) %c%d: comment packet, length %ld. This packet "
+- "does NOT contain a valid Vorbis comment packet!\n",
++ "does NOT contain a valid Vorbis comment packet!\n",
+ __FILE__, stream->stype, stream->sno, pack->bytes);
+ else {
+ fprintf(stdout, "(%s) %c%d: comment packet, length %ld,", __FILE__,
+@@ -194,9 +194,9 @@ void handle_packet(stream_t *stream, ogg_packet *pack,
+ __FILE__, stream->sno, pack->bytes, ogg_page_granulepos(page),
+ pack->packetno);
+ if (check_timing && (stream->sample_rate != -1)) {
+- end_pts = (double)ogg_page_granulepos(page) *
++ end_pts = (double)ogg_page_granulepos(page) *
+ (double)1000.0 / (double)stream->sample_rate;
+- start_pts = (double)stream->last_granulepos *
++ start_pts = (double)stream->last_granulepos *
+ (double)1000.0 / (double)stream->sample_rate;
+ fprintf(stdout, " start: % 13.2fms end: % 13.2fms %s",
+ start_pts, end_pts, OUTOFSYNC);
+@@ -224,9 +224,9 @@ void handle_packet(stream_t *stream, ogg_packet *pack,
+ "10lld ", __FILE__, stream->stype, stream->sno, n,
+ ogg_page_granulepos(page), pack->packetno);
+ if (check_timing && (stream->sample_rate != -1)) {
+- end_pts = (double)ogg_page_granulepos(page) *
++ end_pts = (double)ogg_page_granulepos(page) *
+ (double)1000.0 / (double)stream->sample_rate;
+- start_pts = (double)stream->last_granulepos *
++ start_pts = (double)stream->last_granulepos *
+ (double)1000.0 / (double)stream->sample_rate;
+ fprintf(stdout, " start: % 13.2fms end: % 13.2fms %s",
+ start_pts, end_pts, OUTOFSYNC);
+@@ -344,8 +344,8 @@ void process_ogm(int fdin)
+ copy_headers(&sth, (old_stream_header *)&pack.packet[1], pack.bytes);
+ if (!strncmp(sth.streamtype, "video", 5)) {
+ unsigned long codec;
+- codec = (sth.subtype[0] << 24) +
+- (sth.subtype[1] << 16) + (sth.subtype[2] << 8) + sth.subtype[3];
++ codec = (sth.subtype[0] << 24) +
++ (sth.subtype[1] << 16) + (sth.subtype[2] << 8) + sth.subtype[3];
+ fprintf(stdout, "(%s) (v%d/serial %d) fps: %.3f width height: %dx%d "
+ "codec: %p (%c%c%c%c)\n", __FILE__, nvstreams + 1,
+ serialnumber, (double)10000000 /
+@@ -450,7 +450,7 @@ void process_ogm(int fdin)
+ numstreams++;
+ }
+ }
+-
++
+ if ((verbose == 0) && !summary)
+ exit(0);
+
+@@ -500,7 +500,7 @@ void process_ogm(int fdin)
+ }
+ pagebytesread += pageseek;
+ }
+-
++
+ if (summary) {
+ stream = first;
+ while (stream != NULL) {
+@@ -513,7 +513,7 @@ void process_ogm(int fdin)
+ stream->serial, stream->size,
+ (stream->size * 8.0 / 1000.0) / now,
+ (stream->size / 1024.0) / now,
+- stream->num_packets, now * 1000.0);
++ stream->num_packets, now);
+ stream = stream->next;
+ }
+ }
+@@ -521,7 +521,7 @@ void process_ogm(int fdin)
+
+ int main(int argc, char *argv[]) {
+ int i, fdin = -1;
+-
++
+ nice(2);
+
+ for (i = 1; i < argc; i++)
+@@ -552,11 +552,11 @@ int main(int argc, char *argv[]) {
+ usage(argv[0]);
+ exit(1);
+ }
+-
++
+ if (verbose >= 2)
+ summary = 1;
+- process_ogm(fdin);
+-
++ process_ogm(fdin);
++
+ close(fdin);
+ return 0;
+ }
diff --git a/multimedia/ogmtools/files/patch-ogmmerge.1 b/multimedia/ogmtools/files/patch-ogmmerge.1
new file mode 100644
index 000000000000..137e837b1849
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-ogmmerge.1
@@ -0,0 +1,11 @@
+--- ogmmerge.1.orig 2004-11-07 10:01:34 UTC
++++ ogmmerge.1
+@@ -126,7 +126,7 @@ After a couple of minutes you can join video and audio
+ .LP
+ $ \fBogmmerge -o MyMovie-with-sound.ogm MyMovie.avi MyMovie.ogg\fP
+ .LP
+-If your AVI already contains an audio track then it will be copied aswell
++If your AVI already contains an audio track then it will be copied as well
+ (if \fBogmmerge\fR supports the audio format). To avoid that simply do
+ .LP
+ $ \fBogmmerge -o MyMovie-with-sound.ogm -A MyMovie.avi MyMovie.ogg\fP
diff --git a/multimedia/ogmtools/files/patch-ogmsplit.1 b/multimedia/ogmtools/files/patch-ogmsplit.1
new file mode 100644
index 000000000000..d39a2b0afd22
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-ogmsplit.1
@@ -0,0 +1,10 @@
+--- ogmsplit.1.orig 2004-11-07 10:01:34 UTC
++++ ogmsplit.1
+@@ -1,6 +1,6 @@
+ .TH OGMSPLIT "1" "November 2004" "ogmsplit v1.5" "User Commands"
+ .SH NAME
+-ogmsplit \- Split OGG/OGM files into sevaral smaller OGG/OGM files
++ogmsplit \- Split OGG/OGM files into several smaller OGG/OGM files
+ .SH SYNOPSIS
+ .B ogmsplit
+ [\fIoptions\fR] \fIinname\fR
diff --git a/multimedia/ogmtools/files/patch-os.h b/multimedia/ogmtools/files/patch-os.h
new file mode 100644
index 000000000000..35fac217459c
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-os.h
@@ -0,0 +1,11 @@
+--- os.h.orig 2023-07-05 18:10:28 UTC
++++ os.h
+@@ -40,7 +40,7 @@
+ #endif // COMP_MINGW || COMP_MSC
+
+ #if !defined(COMP_CYGWIN)
+-#include <stdint.h>
++#include <inttypes.h>
+ #endif // !COMP_CYGWIN
+
+ #if defined(SYS_WINDOWS)
diff --git a/multimedia/ogmtools/files/patch-vorbis__header__utils.c b/multimedia/ogmtools/files/patch-vorbis__header__utils.c
new file mode 100644
index 000000000000..99a4093c5a40
--- /dev/null
+++ b/multimedia/ogmtools/files/patch-vorbis__header__utils.c
@@ -0,0 +1,21 @@
+--- vorbis_header_utils.c.orig 2003-10-23 19:46:32 UTC
++++ vorbis_header_utils.c
+@@ -153,15 +153,15 @@ vorbis_comment *vorbis_comment_dup(vorbis_comment *vc)
+ die("malloc");
+
+ memcpy(new_vc, vc, sizeof(vorbis_comment));
+- new_vc->user_comments = (char **)malloc((vc->comments + 1) * sizeof(char *));
+- new_vc->comment_lengths = (int *)malloc((vc->comments + 1) * sizeof(int));
++ new_vc->user_comments = (char **)malloc((vc->comments + 1) * sizeof(*new_vc->user_comments));
++ new_vc->comment_lengths = (int *)malloc((vc->comments + 1) * sizeof(*new_vc->comment_lengths));
+ if ((new_vc->user_comments == NULL) || (new_vc->comment_lengths == NULL))
+ die("malloc");
+ for (i = 0; i < vc->comments; i++)
+ new_vc->user_comments[i] = strdup(vc->user_comments[i]);
+ new_vc->user_comments[vc->comments] = 0;
+ memcpy(new_vc->comment_lengths, vc->comment_lengths,
+- (vc->comments + 1) * sizeof(char *));
++ (vc->comments + 1) * sizeof(*new_vc->comment_lengths));
+ new_vc->vendor = strdup(vc->vendor);
+
+ return new_vc;
diff --git a/multimedia/ogmtools/pkg-descr b/multimedia/ogmtools/pkg-descr
index 9f56f9ca348a..426de3820615 100644
--- a/multimedia/ogmtools/pkg-descr
+++ b/multimedia/ogmtools/pkg-descr
@@ -8,5 +8,3 @@ Supported stream types include video streams from AVIs or Ogg files
and Vorbis audio from Ogg files. The resulting files can be played
back with mplayer or with the OggDS Direct Show filters under
Windows.
-
-WWW: http://www.bunkus.org/videotools/ogmtools/
diff --git a/multimedia/ogmtools/pkg-plist b/multimedia/ogmtools/pkg-plist
index cd00efbc61d8..30ed95f0ad6c 100644
--- a/multimedia/ogmtools/pkg-plist
+++ b/multimedia/ogmtools/pkg-plist
@@ -4,9 +4,9 @@ bin/ogmdemux
bin/ogminfo
bin/ogmmerge
bin/ogmsplit
-man/man1/ogmcat.1.gz
-man/man1/ogmdemux.1.gz
-man/man1/ogminfo.1.gz
-man/man1/ogmmerge.1.gz
-man/man1/ogmsplit.1.gz
-%%DVDREAD%%man/man1/dvdxchap.1.gz
+share/man/man1/ogmcat.1.gz
+share/man/man1/ogmdemux.1.gz
+share/man/man1/ogminfo.1.gz
+share/man/man1/ogmmerge.1.gz
+share/man/man1/ogmsplit.1.gz
+%%DVDREAD%%share/man/man1/dvdxchap.1.gz
diff --git a/multimedia/olive/Makefile b/multimedia/olive/Makefile
index 0d42fd97732a..4fa25929f7db 100644
--- a/multimedia/olive/Makefile
+++ b/multimedia/olive/Makefile
@@ -1,31 +1,39 @@
PORTNAME= olive
-DISTVERSION= 0.1.2
-PORTREVISION= 1
+DISTVERSION= 0.1.2-20230320
+PORTREVISION= 6
CATEGORIES= multimedia
PKGNAMESUFFIX= -video-editor
MAINTAINER= yuri@FreeBSD.org
-COMMENT= NLE (nonlinear) video editor
+COMMENT= Non-linear video editor
+WWW= https://olivevideoeditor.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= frei0r>0:graphics/frei0r
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
- libOpenColorIO.so:graphics/opencolorio
+ libImath-3_1.so:math/Imath \
+ libOpenColorIO.so:graphics/opencolorio \
+ libOpenEXR-3_2.so:graphics/openexr \
+ libOpenImageIO.so:graphics/openimageio \
+ libportaudio.so:audio/portaudio
RUN_DEPENDS= frei0r>0:graphics/frei0r
+# libopentimelineio.so:multimedia/opentimelineio
-USES= dos2unix qmake compiler:c++11-lang desktop-file-utils gl pkgconfig qt:5 shared-mime-info
-USE_GITHUB= yes
-GH_ACCOUNT= olive-editor
-DOS2UNIX_FILES= olive.pro \
- ui/graphview.cpp \
- ui/timelineheader.cpp
-USE_QT= core gui multimedia network opengl svg widgets buildtools_build linguisttools_build
+USES= cmake compiler:c++17-lang desktop-file-utils gl pkgconfig qt:5 shared-mime-info
+USE_QT= concurrent core dbus gui multimedia network opengl svg widgets x11extras \
+ buildtools:build linguisttools:build qmake:build testlib:build
USE_GL= gl
-DATADIR= ${PREFIX}/share/olive-editor
+USE_GITHUB= yes
+GH_ACCOUNT= olive-editor
+GH_TAGNAME= 8ca1672
+GH_TUPLE= olive-editor:core:2777928:core/ext/core \
+ KDAB:KDDockWidgets:8d2d0a5:KDDockWidgets/ext/KDDockWidgets
PORTSCOUT= limit:^.*[1-9]\..* # prevent tags like 20181223
+CONFLICTS_BUILD= opentimelineio # fails to build with the opentimelineio optional dependency, see https://github.com/olive-editor/olive/issues/2201
+
.include <bsd.port.mk>
diff --git a/multimedia/olive/distinfo b/multimedia/olive/distinfo
index 30d19a8b691b..f95606f19fe5 100644
--- a/multimedia/olive/distinfo
+++ b/multimedia/olive/distinfo
@@ -1,3 +1,7 @@
-TIMESTAMP = 1579423140
-SHA256 (olive-editor-olive-0.1.2_GH0.tar.gz) = cb9a5b109e67a47f03448633cbc7a257aa8e6c3c76a59c1fada77fd3d97875c1
-SIZE (olive-editor-olive-0.1.2_GH0.tar.gz) = 2174284
+TIMESTAMP = 1679768370
+SHA256 (olive-editor-olive-0.1.2-20230320-8ca1672_GH0.tar.gz) = 72321e63b48da8a40defc935d938f432f5692e65220406788b48ee6a1b1aa5ed
+SIZE (olive-editor-olive-0.1.2-20230320-8ca1672_GH0.tar.gz) = 8156522
+SHA256 (olive-editor-core-2777928_GH0.tar.gz) = 2a7f57fcf782d62d9a40a3c51a1cb7d5f87aaf20952402d9d52bdbafddbaec6c
+SIZE (olive-editor-core-2777928_GH0.tar.gz) = 76380
+SHA256 (KDAB-KDDockWidgets-8d2d0a5_GH0.tar.gz) = 5d6d40c8a3f128ce61769c2bcb01b89dfd92460779e63cde40d8068647157705
+SIZE (KDAB-KDDockWidgets-8d2d0a5_GH0.tar.gz) = 3930847
diff --git a/multimedia/olive/files/patch-effects_internal_texteffect.cpp b/multimedia/olive/files/patch-effects_internal_texteffect.cpp
deleted file mode 100644
index d736c6c638f5..000000000000
--- a/multimedia/olive/files/patch-effects_internal_texteffect.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- effects/internal/texteffect.cpp.orig 2020-05-21 12:06:43 UTC
-+++ effects/internal/texteffect.cpp
-@@ -25,6 +25,7 @@
- #include <QOpenGLTexture>
- #include <QTextEdit>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QPushButton>
- #include <QColorDialog>
- #include <QFontDatabase>
diff --git a/multimedia/olive/files/patch-effects_internal_timecodeeffect.cpp b/multimedia/olive/files/patch-effects_internal_timecodeeffect.cpp
deleted file mode 100644
index 7327a4cfada2..000000000000
--- a/multimedia/olive/files/patch-effects_internal_timecodeeffect.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- effects/internal/timecodeeffect.cpp.orig 2020-05-21 12:06:43 UTC
-+++ effects/internal/timecodeeffect.cpp
-@@ -25,6 +25,7 @@
- #include <QOpenGLTexture>
- #include <QTextEdit>
- #include <QPainter>
-+#include <QPainterPath>
- #include <QPushButton>
- #include <QColorDialog>
- #include <QFontDatabase>
diff --git a/multimedia/olive/files/patch-ext_core_src_util_timecodefunctions.cpp b/multimedia/olive/files/patch-ext_core_src_util_timecodefunctions.cpp
new file mode 100644
index 000000000000..f45e245afdbb
--- /dev/null
+++ b/multimedia/olive/files/patch-ext_core_src_util_timecodefunctions.cpp
@@ -0,0 +1,11 @@
+--- ext/core/src/util/timecodefunctions.cpp.orig 2023-03-25 20:23:08 UTC
++++ ext/core/src/util/timecodefunctions.cpp
+@@ -20,6 +20,8 @@
+
+ #include "util/timecodefunctions.h"
+
++#include <cmath>
++
+ extern "C" {
+ #include <libavutil/mathematics.h>
+ }
diff --git a/multimedia/olive/files/patch-olive.pro b/multimedia/olive/files/patch-olive.pro
deleted file mode 100644
index 2695965cda20..000000000000
--- a/multimedia/olive/files/patch-olive.pro
+++ /dev/null
@@ -1,43 +0,0 @@
---- olive.pro.orig 2019-11-11 06:05:02 UTC
-+++ olive.pro
-@@ -28,23 +28,23 @@ DEFINES += QT_DEPRECATED_WARNINGS
- #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
-
- # Tries to get the current Git short hash
--system("which git") {
-- GITPATH = $$PWD
--
-- win32 {
-- GITPATH = $$system(cygpath $$PWD)
-- }
--
-- GITHASHVAR = $$system(git --git-dir=\"$$GITPATH/.git\" --work-tree=\"$$GITPATH\" log -1 --format=%h)
--
-- # Fallback for Ubuntu/Launchpad (extracts Git hash from debian/changelog rather than Git repo)
-- # (see https://answers.launchpad.net/launchpad/+question/678556)
-- isEmpty(GITHASHVAR) {
-- GITHASHVAR = $$system(sh $$PWD/debian/gitfromlog.sh $$PWD/debian/changelog)
-- }
--
-- DEFINES += GITHASH=\\"\"$$GITHASHVAR\\"\"
--}
-+#system("which git") {
-+# GITPATH = $$PWD
-+#
-+# win32 {
-+# GITPATH = $$system(cygpath $$PWD)
-+# }
-+#
-+# GITHASHVAR = $$system(git --git-dir=\"$$GITPATH/.git\" --work-tree=\"$$GITPATH\" log -1 --format=%h)
-+#
-+# # Fallback for Ubuntu/Launchpad (extracts Git hash from debian/changelog rather than Git repo)
-+# # (see https://answers.launchpad.net/launchpad/+question/678556)
-+# isEmpty(GITHASHVAR) {
-+# GITHASHVAR = $$system(sh $$PWD/debian/gitfromlog.sh $$PWD/debian/changelog)
-+# }
-+#
-+# DEFINES += GITHASH=\\"\"$$GITHASHVAR\\"\"
-+#}
-
- CONFIG += c++11
-
diff --git a/multimedia/olive/files/patch-ui_graphview.cpp b/multimedia/olive/files/patch-ui_graphview.cpp
deleted file mode 100644
index ea1e420df65a..000000000000
--- a/multimedia/olive/files/patch-ui_graphview.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- ui/graphview.cpp.orig 2020-05-21 12:06:43 UTC
-+++ ui/graphview.cpp
-@@ -21,6 +21,7 @@
- #include "graphview.h"
-
- #include <QPainter>
-+#include <QPainterPath>
- #include <QMouseEvent>
- #include <QtMath>
- #include <cfloat>
diff --git a/multimedia/olive/files/patch-ui_timelineheader.cpp b/multimedia/olive/files/patch-ui_timelineheader.cpp
deleted file mode 100644
index e01b1dae1621..000000000000
--- a/multimedia/olive/files/patch-ui_timelineheader.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
---- ui/timelineheader.cpp.orig 2020-05-21 12:06:43 UTC
-+++ ui/timelineheader.cpp
-@@ -21,6 +21,7 @@
- #include "timelineheader.h"
-
- #include <QPainter>
-+#include <QPainterPath>
- #include <QMouseEvent>
- #include <QScrollBar>
- #include <QtMath>
diff --git a/multimedia/olive/pkg-descr b/multimedia/olive/pkg-descr
index 2dd96a5f6d60..b09dbdd5a8ca 100644
--- a/multimedia/olive/pkg-descr
+++ b/multimedia/olive/pkg-descr
@@ -1,4 +1,2 @@
Olive is a free non-linear video editor aiming to provide a fully-featured
alternative to high-end professional video editing software.
-
-WWW: https://www.olivevideoeditor.org/
diff --git a/multimedia/olive/pkg-plist b/multimedia/olive/pkg-plist
index e258c95f334e..ed3e1deea303 100644
--- a/multimedia/olive/pkg-plist
+++ b/multimedia/olive/pkg-plist
@@ -16,66 +16,3 @@ share/icons/hicolor/64x64/apps/org.olivevideoeditor.Olive.png
share/icons/hicolor/64x64/mimetypes/application-vnd.olive-project.png
share/metainfo/org.olivevideoeditor.Olive.appdata.xml
share/mime/packages/org.olivevideoeditor.Olive.xml
-%%DATADIR%%/effects/boxblur.frag
-%%DATADIR%%/effects/boxblur.xml
-%%DATADIR%%/effects/bulge.frag
-%%DATADIR%%/effects/bulge.xml
-%%DATADIR%%/effects/chromakey.frag
-%%DATADIR%%/effects/chromakey.xml
-%%DATADIR%%/effects/chromaticaberration.frag
-%%DATADIR%%/effects/chromaticaberration.xml
-%%DATADIR%%/effects/colorcorrection.frag
-%%DATADIR%%/effects/colorcorrection.xml
-%%DATADIR%%/effects/colorsel.frag
-%%DATADIR%%/effects/colorsel.xml
-%%DATADIR%%/effects/common.frag
-%%DATADIR%%/effects/common.vert
-%%DATADIR%%/effects/crop.frag
-%%DATADIR%%/effects/crop.xml
-%%DATADIR%%/effects/crossstitch.frag
-%%DATADIR%%/effects/crossstitch.xml
-%%DATADIR%%/effects/despill.frag
-%%DATADIR%%/effects/despill.xml
-%%DATADIR%%/effects/directionalblur.frag
-%%DATADIR%%/effects/directionalblur.xml
-%%DATADIR%%/effects/dropshadow.xml.disabled
-%%DATADIR%%/effects/emboss.frag
-%%DATADIR%%/effects/emboss.xml
-%%DATADIR%%/effects/findedges.frag
-%%DATADIR%%/effects/findedges.xml.disabled
-%%DATADIR%%/effects/fisheye.frag
-%%DATADIR%%/effects/fisheye.xml
-%%DATADIR%%/effects/flip.frag
-%%DATADIR%%/effects/flip.xml
-%%DATADIR%%/effects/gaussianblur.frag
-%%DATADIR%%/effects/gaussianblur.xml
-%%DATADIR%%/effects/huesatbri.frag
-%%DATADIR%%/effects/huesatbri.xml
-%%DATADIR%%/effects/invert.frag
-%%DATADIR%%/effects/invert.xml
-%%DATADIR%%/effects/lumakey.frag
-%%DATADIR%%/effects/lumakey.xml
-%%DATADIR%%/effects/noise.frag
-%%DATADIR%%/effects/noise.xml
-%%DATADIR%%/effects/pixelate.frag
-%%DATADIR%%/effects/pixelate.xml
-%%DATADIR%%/effects/posterize.frag
-%%DATADIR%%/effects/posterize.xml
-%%DATADIR%%/effects/radialblur.frag
-%%DATADIR%%/effects/radialblur.xml
-%%DATADIR%%/effects/ripple.frag
-%%DATADIR%%/effects/ripple.xml
-%%DATADIR%%/effects/sphere.frag
-%%DATADIR%%/effects/sphere.xml
-%%DATADIR%%/effects/swirl.frag
-%%DATADIR%%/effects/swirl.xml
-%%DATADIR%%/effects/tile.frag
-%%DATADIR%%/effects/tile.xml
-%%DATADIR%%/effects/toonify.frag
-%%DATADIR%%/effects/toonify.xml
-%%DATADIR%%/effects/vignette.frag
-%%DATADIR%%/effects/vignette.xml
-%%DATADIR%%/effects/volumetriclight.frag
-%%DATADIR%%/effects/volumetriclight.xml
-%%DATADIR%%/effects/wave.frag
-%%DATADIR%%/effects/wave.xml
diff --git a/multimedia/omxplayer/Makefile b/multimedia/omxplayer/Makefile
deleted file mode 100644
index 0f612f679f3d..000000000000
--- a/multimedia/omxplayer/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-# Created by: mikael.urankar@gmail.com
-
-PORTNAME= omxplayer
-PORTVERSION= 20161004
-PORTREVISION= 16
-CATEGORIES= multimedia
-
-PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
-PATCHFILES= 96800576209b.patch:-p1
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Raspberry Pi video player
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libasound.so:audio/alsa-lib \
- libboost_thread.so:devel/boost-libs \
- libdbus-1.so:devel/dbus \
- libpcre.so:devel/pcre \
- libEGL.so:misc/raspberrypi-userland \
- libavcodec.so:multimedia/ffmpeg \
- libfreetype.so:print/freetype2
-RUN_DEPENDS= bash:shells/bash \
- ${LOCALBASE}/share/fonts/freefont-ttf/FreeSans.ttf:x11-fonts/freefont-ttf
-
-ONLY_FOR_ARCHS= armv6 armv7
-
-CFLAGS+= -Dfopen64=fopen -Dfseeko64=fseeko -Dftello64=ftello
-ALL_TARGET= omxplayer.bin
-
-USE_GITHUB= yes
-GH_ACCOUNT= popcornmix
-GH_TAGNAME= 12b472e
-
-USES= gmake shebangfix
-SHEBANG_FILES= omxplayer
-
-PLIST_FILES= bin/omxplayer bin/omxplayer.bin
-PORTDOCS= README.md
-
-OPTIONS_DEFINE= DOCS
-
-post-patch:
- @${REINPLACE_CMD} -e \
- 's|LOCALBASE|${LOCALBASE}|g' ${WRKSRC}/omxplayer.cpp
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/omxplayer.bin ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_SCRIPT} ${WRKSRC}/omxplayer ${STAGEDIR}${PREFIX}/bin
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
-.for i in ${PORTDOCS}
- ${INSTALL_DATA} -p ${WRKSRC}/${i} ${STAGEDIR}${DOCSDIR}
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/omxplayer/distinfo b/multimedia/omxplayer/distinfo
deleted file mode 100644
index 91ea039be541..000000000000
--- a/multimedia/omxplayer/distinfo
+++ /dev/null
@@ -1,5 +0,0 @@
-TIMESTAMP = 1483038468
-SHA256 (popcornmix-omxplayer-20161004-12b472e_GH0.tar.gz) = 8aabcc8a1665686dfb72e74b30b6f755a72b5e5577e235dad6c1c6d28dc79637
-SIZE (popcornmix-omxplayer-20161004-12b472e_GH0.tar.gz) = 1218679
-SHA256 (96800576209b.patch) = d1bdcf27c4f4ab9b9d85ee26d126b3eb62af827498860d3e9c430f111708bb8e
-SIZE (96800576209b.patch) = 3484
diff --git a/multimedia/omxplayer/files/patch-Keyboard.cpp b/multimedia/omxplayer/files/patch-Keyboard.cpp
deleted file mode 100644
index c5d3de9204a3..000000000000
--- a/multimedia/omxplayer/files/patch-Keyboard.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
---- Keyboard.cpp.orig 2015-10-24 12:09:14 UTC
-+++ Keyboard.cpp
-@@ -23,7 +23,6 @@ Keyboard::Keyboard()
- new_termios = orig_termios;
- new_termios.c_lflag &= ~(ICANON | ECHO | ECHOCTL | ECHONL);
- new_termios.c_cflag |= HUPCL;
-- new_termios.c_cc[VMIN] = 0;
-
- tcsetattr(STDIN_FILENO, TCSANOW, &new_termios);
- }
-@@ -74,13 +73,20 @@ void Keyboard::restore_term()
- }
- }
-
--void Keyboard::Sleep(unsigned int dwMilliSeconds)
-+int Keyboard::Hit()
- {
-- struct timespec req;
-- req.tv_sec = dwMilliSeconds / 1000;
-- req.tv_nsec = (dwMilliSeconds % 1000) * 1000000;
-+ struct timeval timeo;
-+ fd_set fds;
-
-- while ( nanosleep(&req, &req) == -1 && errno == EINTR && (req.tv_nsec > 0 || req.tv_sec > 0));
-+ timeo.tv_sec = 0;
-+ timeo.tv_usec = 200000;
-+
-+ FD_ZERO(&fds);
-+ FD_SET(STDIN_FILENO, &fds);
-+
-+ select(FD_SETSIZE, &fds, NULL, NULL, &timeo);
-+
-+ return FD_ISSET(STDIN_FILENO, &fds);
- }
-
- void Keyboard::Process()
-@@ -90,9 +96,16 @@ void Keyboard::Process()
- if (conn)
- dbus_connection_read_write_dispatch(conn, 0);
- int ch[8];
-- int chnum = 0;
-+ int chnum, nb;
-
-- while ((ch[chnum] = getchar()) != EOF) chnum++;
-+ if (Hit() == 0)
-+ continue;
-+
-+ ioctl(STDIN_FILENO, FIONREAD, &nb);
-+
-+ for (chnum = 0; chnum < nb && chnum < 8; chnum++) {
-+ ch[chnum] = getchar();
-+ }
-
- if (chnum > 1) ch[0] = ch[chnum - 1] | (ch[chnum - 2] << 8);
-
-@@ -101,8 +114,6 @@ void Keyboard::Process()
-
- if (m_keymap[ch[0]] != 0)
- send_action(m_keymap[ch[0]]);
-- else
-- Sleep(20);
- }
- }
-
diff --git a/multimedia/omxplayer/files/patch-Keyboard.h b/multimedia/omxplayer/files/patch-Keyboard.h
deleted file mode 100644
index f1e97c42328c..000000000000
--- a/multimedia/omxplayer/files/patch-Keyboard.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- Keyboard.h.orig 2015-10-24 12:09:14 UTC
-+++ Keyboard.h
-@@ -21,7 +21,7 @@
- void Process();
- void setKeymap(std::map<int,int> keymap);
- void setDbusName(std::string dbus_name);
-- void Sleep(unsigned int dwMilliSeconds);
-+ int Hit();
- int getEvent();
- private:
- void restore_term();
diff --git a/multimedia/omxplayer/files/patch-Makefile b/multimedia/omxplayer/files/patch-Makefile
deleted file mode 100644
index 46eb1104e76c..000000000000
--- a/multimedia/omxplayer/files/patch-Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
---- Makefile.orig 2016-09-14 UTC
-+++ Makefile
-@@ -2,9 +2,9 @@ include Makefile.include
-
- CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
-
--LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound
-+LDFLAGS+=-L./ -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound
-
--INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include
-+INCLUDES+=-I./ -Ilinux -I$(LOCALBASE)/include/dbus-1.0 -I$(LOCALBASE)/include/dbus-1.0/include -I$(LOCALBASE)/include/freetype2 -I$(LOCALBASE)/include/ffmpeg
-
- DIST ?= omxplayer-dist
-
-@@ -49,11 +49,10 @@ all: dist
- omxplayer.o: help.h keys.h
-
- version:
-- bash gen_version.sh > version.h
-+ sh gen_version.sh > version.h
-
- omxplayer.bin: version $(OBJS)
-- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvchostif -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
-- $(STRIP) omxplayer.bin
-+ $(CXX) $(CFLAGS) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lthr -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
-
- help.h: README.md Makefile
- awk '/SYNOPSIS/{p=1;print;next} p&&/KEY BINDINGS/{p=0};p' $< \
diff --git a/multimedia/omxplayer/files/patch-Makefile.include b/multimedia/omxplayer/files/patch-Makefile.include
deleted file mode 100644
index 161cf0337962..000000000000
--- a/multimedia/omxplayer/files/patch-Makefile.include
+++ /dev/null
@@ -1,46 +0,0 @@
---- Makefile.include.orig 2017-01-03 14:55:21 UTC
-+++ Makefile.include
-@@ -1,40 +1,3 @@
--USE_BUILDROOT=0
--FLOAT=hard
--
--ifeq ($(USE_BUILDROOT), 1)
--BUILDROOT :=/opt/xbmc-bcm/buildroot
--SDKSTAGE :=$(BUILDROOT)/output/staging
--TARGETFS :=$(BUILDROOT)/output/target
--TOOLCHAIN :=$(BUILDROOT)/output/host/usr/
--HOST :=arm-unknown-linux-gnueabi
--SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot
--else
--BUILDROOT :=/opt/bcm-rootfs
--SDKSTAGE :=/opt/bcm-rootfs
--TARGETFS :=/opt/bcm-rootfs
--TOOLCHAIN :=/home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/
--HOST :=arm-linux-gnueabihf
--#SYSROOT :=$(TOOLCHAIN)/arm-bcm2708hardfp-linux-gnueabi/sysroot
--SYSROOT :=/opt/bcm-rootfs
--endif
--
--JOBS=7
--
--CFLAGS := -isystem$(PREFIX)/include
--CXXFLAGS := $(CFLAGS)
--CPPFLAGS := $(CFLAGS)
--LDFLAGS := -L$(BUILDROOT)/lib
--LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
--CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
--CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
--OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump
--RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib
--STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip
--AR := $(TOOLCHAIN)/bin/$(HOST)-ar
--CXXCP := $(CXX) -E
--PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
--
--CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog
--LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build
--#INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2
--INCLUDES += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include
-+CFLAGS += -fomit-frame-pointer
-+LDFLAGS += -L$(LOCALBASE)/lib -L$(LOCALBASE)/lib/ffmpeg
-+INCLUDES += -I$(LOCALBASE)/include -I$(LOCALBASE)/include/interface/vcos/pthreads -I$(LOCALBASE)/include/interface/vmcs_host/linux -I$(LOCALBASE)/lib/dbus-1.0/include
diff --git a/multimedia/omxplayer/files/patch-linux_PlatformDefs.h b/multimedia/omxplayer/files/patch-linux_PlatformDefs.h
deleted file mode 100644
index 90d1aceeb448..000000000000
--- a/multimedia/omxplayer/files/patch-linux_PlatformDefs.h
+++ /dev/null
@@ -1,29 +0,0 @@
---- linux/PlatformDefs.h.orig 2015-10-24 12:09:14 UTC
-+++ linux/PlatformDefs.h
-@@ -39,11 +39,11 @@
- #include <unistd.h>
- #include <pthread.h>
- #include <string.h>
--#ifdef __APPLE__
-+#if defined(__APPLE__)
- #include <stdio.h>
- #include <sys/sysctl.h>
- #include <mach/mach.h>
--#else
-+#elif defined(__linux__)
- #include <sys/sysinfo.h>
- #endif
- #include <sys/time.h>
-@@ -416,8 +416,12 @@ typedef struct _SECURITY_ATTRIBUTES {
- #define FILE_CURRENT 1
- #define FILE_END 2
-
-+#ifndef _S_IFREG
- #define _S_IFREG S_IFREG
-+#endif
-+#ifndef _S_IFDIR
- #define _S_IFDIR S_IFDIR
-+#endif
- #define MAX_PATH PATH_MAX
-
- #define _stat stat
diff --git a/multimedia/omxplayer/files/patch-omxplayer.cpp b/multimedia/omxplayer/files/patch-omxplayer.cpp
deleted file mode 100644
index 7970c3d1bb35..000000000000
--- a/multimedia/omxplayer/files/patch-omxplayer.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
---- omxplayer.cpp.orig 2015-10-24 12:09:14 UTC
-+++ omxplayer.cpp
-@@ -84,8 +86,8 @@ bool m_osd
- bool m_no_keys = false;
- std::string m_external_subtitles_path;
- bool m_has_external_subtitles = false;
--std::string m_font_path = "/usr/share/fonts/truetype/freefont/FreeSans.ttf";
--std::string m_italic_font_path = "/usr/share/fonts/truetype/freefont/FreeSansOblique.ttf";
-+std::string m_font_path = "LOCALBASE/share/fonts/freefont-ttf/FreeSans.ttf";
-+std::string m_italic_font_path = "LOCALBASE/share/fonts/freefont-ttf/FreeSansOblique.ttf";
- std::string m_dbus_name = "org.mpris.MediaPlayer2.omxplayer";
- bool m_asked_for_font = false;
- bool m_asked_for_italic_font = false;
diff --git a/multimedia/omxplayer/files/patch-utils_variant-impl.hpp b/multimedia/omxplayer/files/patch-utils_variant-impl.hpp
deleted file mode 100644
index f98dd32303f5..000000000000
--- a/multimedia/omxplayer/files/patch-utils_variant-impl.hpp
+++ /dev/null
@@ -1,27 +0,0 @@
---- utils/variant-impl.hpp.orig 2017-01-02 19:30:30 UTC
-+++ utils/variant-impl.hpp
-@@ -306,12 +306,12 @@ struct get_index<From, Checker, T, Rest.
-
- static const bool is_exact_match = is_same_upto_cv<T, From>();
- static const bool is_relaxed_match = relaxed_same<T, From>();
-- static const bool is_variant = is_variant<T>::value;
-+ static const bool is_variant_match = is_variant<T>::value;
- static const bool is_ud_match = Checker<T, From>::value;
-- static const bool is_strict_ud_match = is_ud_match && !is_variant;
-+ static const bool is_strict_ud_match = is_ud_match && !is_variant_match;
-
- typedef typename get_index_of_variant<From, T>::type variant_indices;
-- static const int var_quality = is_variant ? variant_indices::quality - 2 : 0;
-+ static const int var_quality = is_variant_match ? variant_indices::quality - 2 : 0;
-
- // Match quality:
- // exact > su > rel > strict_ud > ud
-@@ -335,7 +335,7 @@ struct get_index<From, Checker, T, Rest.
- sizeof...(Rest)+1, typeid(From).name(), typeid(T).name(),
- local_quality, var_quality, Tail::quality, quality, index, ambiguous);
-
-- if (is_variant)
-+ if (is_variant_match)
- {
- printf("<< var <<\n");
- variant_indices::debug();
diff --git a/multimedia/omxplayer/pkg-descr b/multimedia/omxplayer/pkg-descr
deleted file mode 100644
index 8e11a51a73c5..000000000000
--- a/multimedia/omxplayer/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-OMXPlayer is a commandline OMX player for the Raspberry Pi. It was developed
-as a testbed for the XBMC Raspberry PI implementation and is quite handy to
-use standalone.
-
-WWW: https://github.com/popcornmix/omxplayer
diff --git a/multimedia/onevpl/Makefile b/multimedia/onevpl/Makefile
index 9d62fdbe34d1..0d15f3394248 100644
--- a/multimedia/onevpl/Makefile
+++ b/multimedia/onevpl/Makefile
@@ -1,10 +1,11 @@
PORTNAME= oneVPL
DISTVERSIONPREFIX= v
-DISTVERSION= 2022.1.3
+DISTVERSION= 2022.1.5
CATEGORIES= multimedia
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= oneAPI Video Processing Library dispatcher, tools, and examples
+WWW= https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -12,24 +13,28 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= only Intel GPUs on x86 are supported
+BUILD_DEPENDS= wayland-protocols>0:graphics/wayland-protocols
LIB_DEPENDS= libdrm.so:graphics/libdrm \
- libwayland-client.so:graphics/wayland \
- libva.so:multimedia/libva
+ libva.so:multimedia/libva \
+ libwayland-client.so:graphics/wayland
-USES= cmake:testing compiler:c++17-lang localbase:ldflags pkgconfig xorg
+USES= cmake:testing compiler:c++14-lang localbase:ldflags pkgconfig \
+ xorg
+USE_CXXSTD= c++14
USE_GITHUB= yes
+GH_ACCOUNT= oneapi-src
USE_LDCONFIG= yes
USE_XORG= x11 xcb
-GH_ACCOUNT= oneapi-src
+
CMAKE_TESTING_ON= BUILD_TESTS
DATADIR= ${PREFIX}/share/vpl
-OPTIONS_DEFINE= PYTHON
-OPTIONS_DEFAULT=PYTHON
-OPTIONS_SUB= yes
+OPTIONS_DEFINE= PYTHON
+OPTIONS_DEFAULT= PYTHON
+OPTIONS_SUB= yes
-PYTHON_USES= python
PYTHON_BUILD_DEPENDS= pybind11>0:devel/pybind11
+PYTHON_USES= python
PYTHON_CMAKE_BOOL= BUILD_PYTHON_BINDING
PYTHON_CMAKE_ON= -DPython3_EXECUTABLE:FILEPATH="${PYTHON_CMD}"
diff --git a/multimedia/onevpl/distinfo b/multimedia/onevpl/distinfo
index 4834cd93b972..d7ef7e4e6bd9 100644
--- a/multimedia/onevpl/distinfo
+++ b/multimedia/onevpl/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652480904
-SHA256 (oneapi-src-oneVPL-v2022.1.3_GH0.tar.gz) = 283b92352fbf2dfe45afec8a1172226327cc2544a2c18eaa4bb62b6f53d9bdca
-SIZE (oneapi-src-oneVPL-v2022.1.3_GH0.tar.gz) = 5858956
+TIMESTAMP = 1654903919
+SHA256 (oneapi-src-oneVPL-v2022.1.5_GH0.tar.gz) = e43674d6d41f4d6f9218b5cbcfa1e1a3549185d0d7fe764f9e819a1cd9620832
+SIZE (oneapi-src-oneVPL-v2022.1.5_GH0.tar.gz) = 5864164
diff --git a/multimedia/onevpl/files/patch-unix b/multimedia/onevpl/files/patch-unix
index 776e4e19c84d..0df3b6b4a4f0 100644
--- a/multimedia/onevpl/files/patch-unix
+++ b/multimedia/onevpl/files/patch-unix
@@ -19,6 +19,17 @@ dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:583:43: error: use of undeclared id
if (libInfo->libNameFull.find(MSDK_LIB_NAME) != std::string::npos) {
^
+--- CMakeLists.txt.orig 2022-06-10 23:31:59 UTC
++++ CMakeLists.txt
+@@ -219,7 +219,7 @@ message(STATUS " BUILD_TOOLS
+ message(STATUS " BUILD_DEV : ${BUILD_DEV}")
+ message(STATUS " BUILD_DISPATCHER : ${BUILD_DISPATCHER}")
+ message(STATUS " BUILD_TOOLS : ${BUILD_TOOLS}")
+-if(CMAKE_SYSTEM_NAME MATCHES Linux)
++if(UNIX AND NOT APPLE)
+ message(STATUS " ENABLE_VA : ${ENABLE_VA}")
+ message(STATUS " ENABLE_DRM : ${ENABLE_DRM}")
+ message(STATUS " ENABLE_WAYLAND : ${ENABLE_WAYLAND}")
--- api/vpl/mfxdefs.h.orig 2021-12-07 00:05:44 UTC
+++ api/vpl/mfxdefs.h
@@ -64,7 +64,7 @@ extern "C"
@@ -39,6 +50,17 @@ dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:583:43: error: use of undeclared id
#define MFX_DEPRECATED __attribute__((deprecated))
#if defined(__cplusplus)
#define MFX_DEPRECATED_ENUM_FIELD_INSIDE(arg) arg __attribute__((deprecated))
+--- dispatcher/test/unit/src/dispatcher_enum_impls.cpp.orig 2022-05-27 22:25:48 UTC
++++ dispatcher/test/unit/src/dispatcher_enum_impls.cpp
+@@ -28,7 +28,7 @@ typedef enum {
+ #define STUB_RT "libvplstubrt64.dll"
+ #endif
+ #endif
+-#elif defined(__linux__)
++#elif defined(__unix__)
+ #define STUB_RT "libvplstubrt1x64.so"
+ #endif
+
--- dispatcher/vpl/mfx_dispatcher_vpl.h.orig 2022-01-21 23:15:32 UTC
+++ dispatcher/vpl/mfx_dispatcher_vpl.h
@@ -48,7 +48,7 @@ typedef char CHAR_TYPE;
@@ -351,58 +373,23 @@ dispatcher/vpl/mfx_dispatcher_vpl_loader.cpp:583:43: error: use of undeclared id
#ifdef LIBVA_SUPPORT
vaTerminate((VADisplay)accelHandle);
close(fd);
---- tools/legacy/sample_common/CMakeLists.txt.orig 2022-02-05 00:35:54 UTC
+--- tools/legacy/sample_common/CMakeLists.txt.orig 2022-06-10 23:31:59 UTC
+++ tools/legacy/sample_common/CMakeLists.txt
-@@ -63,7 +63,7 @@ find_package(VPL REQUIRED)
- target_link_libraries(sample_common PUBLIC VPL::dispatcher
- media_sdk_compatibility_headers)
-
--if(CMAKE_SYSTEM_NAME MATCHES Linux)
-+if(UNIX AND NOT APPLE)
-
- if(BUILD_TOOLS_ONEVPL_EXPERIMENTAL)
- add_definitions(-DONEVPL_EXPERIMENTAL)
---- tools/legacy/sample_decode/CMakeLists.txt.orig 2021-12-07 00:05:44 UTC
-+++ tools/legacy/sample_decode/CMakeLists.txt
-@@ -11,7 +11,7 @@ if(POLICY CMP0074)
- cmake_policy(SET CMP0074 OLD)
- endif()
-
--if(CMAKE_SYSTEM_NAME MATCHES Linux)
-+if(UNIX AND NOT APPLE)
- if(NOT
- (PKG_LIBVA_FOUND
- AND PKG_LIBVA_DRM_FOUND
---- tools/legacy/sample_encode/CMakeLists.txt.orig 2022-02-05 00:35:54 UTC
-+++ tools/legacy/sample_encode/CMakeLists.txt
-@@ -11,7 +11,7 @@ if(POLICY CMP0074)
- cmake_policy(SET CMP0074 OLD)
- endif()
-
+@@ -4,7 +4,7 @@ set(TOOLS_DEFAULT ON)
+ # SPDX-License-Identifier: MIT
+ # ##############################################################################
+ set(TOOLS_DEFAULT ON)
-if(CMAKE_SYSTEM_NAME MATCHES Linux)
+if(UNIX AND NOT APPLE)
- if(NOT
- (PKG_LIBDRM_FOUND
- AND PKG_LIBVA_FOUND
---- tools/legacy/sample_vpp/CMakeLists.txt.orig 2022-02-05 00:35:54 UTC
-+++ tools/legacy/sample_vpp/CMakeLists.txt
-@@ -25,7 +25,7 @@ if(POLICY CMP0074)
- cmake_policy(SET CMP0074 OLD)
+ # Check dependencies up-front so we can set option defaults
+ find_package(PkgConfig REQUIRED)
+ # note: pkg-config version for libva is *API* version
+@@ -161,7 +161,7 @@ endif()
+ target_compile_definitions(${TARGET} PUBLIC -DONEVPL_EXPERIMENTAL)
endif()
-if(CMAKE_SYSTEM_NAME MATCHES Linux)
+if(UNIX AND NOT APPLE)
- if(NOT
- (PKG_LIBDRM_FOUND
- AND PKG_LIBVA_FOUND
---- tools/legacy/sample_multi_transcode/CMakeLists.txt.orig 2021-12-07 00:05:44 UTC
-+++ tools/legacy/sample_multi_transcode/CMakeLists.txt
-@@ -11,7 +11,7 @@ endif()
-
- find_package(VPL REQUIRED)
+ target_compile_definitions(${TARGET} PUBLIC LINUX64)
--if(CMAKE_SYSTEM_NAME MATCHES Linux)
-+if(UNIX AND NOT APPLE)
- if(NOT
- (PKG_LIBVA_FOUND
- AND PKG_LIBVA_DRM_FOUND
+ if(NOT ENABLE_VA)
diff --git a/multimedia/onevpl/pkg-descr b/multimedia/onevpl/pkg-descr
index fd9414e21ef3..36b89a8b38a7 100644
--- a/multimedia/onevpl/pkg-descr
+++ b/multimedia/onevpl/pkg-descr
@@ -8,5 +8,3 @@ This package contains the following components of oneVPL:
- oneVPL dispatcher
- Examples demonstrating API usage
- oneVPL command line tools
-
-WWW: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html
diff --git a/multimedia/onevpl/pkg-plist b/multimedia/onevpl/pkg-plist
index a9b125bedc7f..0f8148480145 100644
--- a/multimedia/onevpl/pkg-plist
+++ b/multimedia/onevpl/pkg-plist
@@ -1,7 +1,4 @@
bin/decvpp_tool
-bin/hello-decode
-bin/hello-encode
-bin/hello-vpp
bin/sample_decode
bin/sample_encode
bin/sample_multi_transcode
diff --git a/multimedia/openh264/Makefile b/multimedia/openh264/Makefile
index 494ffc75d0b0..4d74de3308f0 100644
--- a/multimedia/openh264/Makefile
+++ b/multimedia/openh264/Makefile
@@ -1,11 +1,12 @@
PORTNAME= openh264
DISTVERSIONPREFIX=v
-DISTVERSION= 2.2.0
+DISTVERSION= 2.3.0
PORTEPOCH= 2
CATEGORIES= multimedia
MAINTAINER= gecko@FreeBSD.org
COMMENT= Cisco implementation of H.264 codec
+WWW= https://www.openh264.org/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/openh264/distinfo b/multimedia/openh264/distinfo
index 562046552f22..5545164a26a9 100644
--- a/multimedia/openh264/distinfo
+++ b/multimedia/openh264/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643345853
-SHA256 (cisco-openh264-v2.2.0_GH0.tar.gz) = e4e5c8ba48e64ba6ce61e8b6e2b76b2d870c74c270147649082feabb40f25905
-SIZE (cisco-openh264-v2.2.0_GH0.tar.gz) = 60275282
+TIMESTAMP = 1654825906
+SHA256 (cisco-openh264-v2.3.0_GH0.tar.gz) = 99b0695272bee73a3b3a5fcb1afef462c11a142d1dc35a2c61fef5a4b7d60bc0
+SIZE (cisco-openh264-v2.3.0_GH0.tar.gz) = 60290792
diff --git a/multimedia/openh264/pkg-descr b/multimedia/openh264/pkg-descr
index b8ab318bc4a6..cd9441b8d0df 100644
--- a/multimedia/openh264/pkg-descr
+++ b/multimedia/openh264/pkg-descr
@@ -1,4 +1,2 @@
OpenH264 is a codec library which supports H.264 encoding and decoding.
It is suitable for use in real time applications such as WebRTC.
-
-WWW: http://www.openh264.org/
diff --git a/multimedia/openshot/Makefile b/multimedia/openshot/Makefile
index 0a11c35dadaf..1bacbe08bc16 100644
--- a/multimedia/openshot/Makefile
+++ b/multimedia/openshot/Makefile
@@ -1,29 +1,28 @@
-# Created by: Charlie Kester <corky1951@comcast.net>
-
PORTNAME= openshot
DISTVERSIONPREFIX= v
-DISTVERSION= 2.6.1
+DISTVERSION= 3.1.1
PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= tatsuki_makino@hotmail.com
COMMENT= OpenShot Video Editor
+WWW= https://www.openshot.org/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${RUN_DEPENDS}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libopenshot>=0.2.7:multimedia/libopenshot@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}libopenshot>=0.3.2:multimedia/libopenshot@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sentry-sdk>=0:devel/py-sentry-sdk@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pyzmq>=0:net/py-pyzmq@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}distro>=0:sysutils/py-distro@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR}
-USES= desktop-file-utils pyqt:5 python:3.5+ shared-mime-info shebangfix
+USES= desktop-file-utils pyqt:5 python shared-mime-info shebangfix
USE_GITHUB= yes
GH_ACCOUNT= OpenShot
GH_PROJECT= ${PORTNAME}-qt
-USE_PYQT= pyqt5
+USE_PYQT= pyqt5 webengine
USE_PYTHON= distutils optsuffix
SHEBANG_FILES= src/language/generate_translations.py\
src/language/show_translations.py\
@@ -34,6 +33,7 @@ OPTIONS_DEFINE= DOCS
OPTIONS_DEFAULT=
DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>=0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
+DOCS_BINARY_ALIAS= sphinx-build=sphinx-build-${PYTHON_VER}
DOCS_PORTDOCS= *
do-build-DOCS-on:
@@ -44,6 +44,6 @@ do-build-DOCS-on:
do-install-DOCS-on:
@(cd ${INSTALL_WRKSRC}/doc/_build &&\
- ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR})
+ ${COPYTREE_SHARE} html ${STAGEDIR}${DOCSDIR} "-not -name \.*")
.include <bsd.port.mk>
diff --git a/multimedia/openshot/distinfo b/multimedia/openshot/distinfo
index a64d622d6f40..efef469bad4c 100644
--- a/multimedia/openshot/distinfo
+++ b/multimedia/openshot/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1633834800
-SHA256 (OpenShot-openshot-qt-v2.6.1_GH0.tar.gz) = 11651d5e7287da3c766ce6b447aef8da5cdadaf5626a2816e9025c831d0e1a66
-SIZE (OpenShot-openshot-qt-v2.6.1_GH0.tar.gz) = 68566443
+TIMESTAMP = 1682218800
+SHA256 (OpenShot-openshot-qt-v3.1.1_GH0.tar.gz) = 2b67cb4fc78863911b0263364240947b6331a976aad74943e8f6e46221b52e91
+SIZE (OpenShot-openshot-qt-v3.1.1_GH0.tar.gz) = 95843738
diff --git a/multimedia/openshot/files/patch-setup.py b/multimedia/openshot/files/patch-setup.py
index 66bea9fadd7d..3c42686cf9cf 100644
--- a/multimedia/openshot/files/patch-setup.py
+++ b/multimedia/openshot/files/patch-setup.py
@@ -1,4 +1,4 @@
---- setup.py.orig 2020-06-15 23:50:00 UTC
+--- setup.py.orig 2023-04-01 07:04:04 UTC
+++ setup.py
@@ -68,7 +68,7 @@ os_files = [
# AppStream metadata
@@ -18,30 +18,38 @@
]
# Find files matching patterns
-@@ -120,26 +120,6 @@ if os.path.exists(os.path.join(PATH, "src")):
- FAILED = 'Failed to update.\n'
-
+@@ -122,22 +122,28 @@ FAILED = 'Failed to update.\n'
if ROOT and dist != None:
-- # update the XDG Shared MIME-Info database cache
-- try:
+ # update the XDG Shared MIME-Info database cache
+ try:
- sys.stdout.write('Updating the Shared MIME-Info database cache.\n')
- subprocess.call(["update-mime-database", os.path.join(sys.prefix, "share/mime/")])
-- except:
-- sys.stderr.write(FAILED)
--
-- # update the mime.types database
-- try:
++ # It would be executed with a pkg trigger of USES=shared-mime-info
++ #sys.stdout.write('Updating the Shared MIME-Info database cache.\n')
++ #subprocess.call(["update-mime-database", os.path.join(sys.prefix, "share/mime/")])
++ pass
+ except:
+ sys.stderr.write(FAILED)
+
+ # update the mime.types database
+ try:
- sys.stdout.write('Updating the mime.types database\n')
- subprocess.call("update-mime")
-- except:
-- sys.stderr.write(FAILED)
--
-- # update the XDG .desktop file database
-- try:
++ # It is provided by mime-support:misc/mime-support but not installed
++ #sys.stdout.write('Updating the mime.types database\n')
++ #subprocess.call("update-mime")
++ pass
+ except:
+ sys.stderr.write(FAILED)
+
+ # update the XDG .desktop file database
+ try:
- sys.stdout.write('Updating the .desktop file database.\n')
- subprocess.call(["update-desktop-database"])
-- except:
-- sys.stderr.write(FAILED)
++ # It would be executed with a pkg trigger of USES=desktop-file-utils
++ #sys.stdout.write('Updating the .desktop file database.\n')
++ #subprocess.call(["update-desktop-database"])
++ pass
+ except:
+ sys.stderr.write(FAILED)
sys.stdout.write("\n-----------------------------------------------")
- sys.stdout.write("\nInstallation Finished!")
- sys.stdout.write("\nRun OpenShot by typing 'openshot-qt' or through the Applications menu.")
diff --git a/multimedia/openshot/files/patch-src_classes_info.py b/multimedia/openshot/files/patch-src_classes_info.py
index d9715beef0e0..b31381bede19 100644
--- a/multimedia/openshot/files/patch-src_classes_info.py
+++ b/multimedia/openshot/files/patch-src_classes_info.py
@@ -1,6 +1,6 @@
---- src/classes/info.py.orig 2021-08-24 18:04:45 UTC
+--- src/classes/info.py.orig 2022-12-08 21:31:12 UTC
+++ src/classes/info.py
-@@ -172,6 +172,7 @@ SETUP = {
+@@ -188,6 +188,7 @@ SETUP = {
"License :: OSI Approved :: GNU General Public License (GPL)",
"Operating System :: OS Independent",
"Operating System :: POSIX :: Linux",
diff --git a/multimedia/openshot/files/patch-src_classes_language.py b/multimedia/openshot/files/patch-src_classes_language.py
new file mode 100644
index 000000000000..04248014eb65
--- /dev/null
+++ b/multimedia/openshot/files/patch-src_classes_language.py
@@ -0,0 +1,14 @@
+--- src/classes/language.py.orig 2023-04-20 05:27:15 UTC
++++ src/classes/language.py
+@@ -101,7 +101,10 @@ def init_language():
+ log.info("Language overridden on command line, using: {}".format(info.CMDLINE_LANGUAGE))
+
+ # Default the locale to C, for number formatting
+- locale.setlocale(locale.LC_ALL, 'C')
++ if ".UTF-8" in locale.setlocale(locale.LC_ALL):
++ locale.setlocale(locale.LC_ALL, 'C.UTF-8')
++ else:
++ locale.setlocale(locale.LC_ALL, 'C')
+
+ # Loop through environment variables
+ found_language = False
diff --git a/multimedia/openshot/files/patch-src_classes_metrics.py b/multimedia/openshot/files/patch-src_classes_metrics.py
index 372c0ef274da..af42f48115ec 100644
--- a/multimedia/openshot/files/patch-src_classes_metrics.py
+++ b/multimedia/openshot/files/patch-src_classes_metrics.py
@@ -1,6 +1,6 @@
---- src/classes/metrics.py.orig 2021-08-24 18:04:45 UTC
+--- src/classes/metrics.py.orig 2022-12-08 21:31:12 UTC
+++ src/classes/metrics.py
-@@ -60,6 +60,11 @@ try:
+@@ -61,6 +61,11 @@ try:
os_version = "Macintosh; Intel Mac OS X %s" % v[0].replace(".", "_")
os_distro = "OS X %s" % v[0]
diff --git a/multimedia/openshot/files/patch-src_launch.py b/multimedia/openshot/files/patch-src_launch.py
deleted file mode 100644
index 323fc5ddbc78..000000000000
--- a/multimedia/openshot/files/patch-src_launch.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/launch.py.orig 2021-08-24 18:04:45 UTC
-+++ src/launch.py
-@@ -109,7 +109,7 @@ def main():
- '(requires Qt 5.11+)')
- parser.add_argument(
- '-b', '--web-backend', action='store',
-- choices=['auto', 'webkit', 'webengine'], default='auto',
-+ choices=['auto', 'webkit', 'webengine'], default='webkit',
- help="Web backend to use for Timeline")
- parser.add_argument(
- '-d', '--debug', action='store_true',
diff --git a/multimedia/openshot/files/patch-src_settings___default.settings b/multimedia/openshot/files/patch-src_settings___default.settings
index 176a803e5426..c2de8cac15a2 100644
--- a/multimedia/openshot/files/patch-src_settings___default.settings
+++ b/multimedia/openshot/files/patch-src_settings___default.settings
@@ -1,6 +1,6 @@
---- src/settings/_default.settings.orig 2020-06-15 23:50:00 UTC
+--- src/settings/_default.settings.orig 2022-12-08 21:31:12 UTC
+++ src/settings/_default.settings
-@@ -406,7 +406,7 @@
+@@ -451,7 +451,7 @@
"min": 0,
"setting": "graca_number_de",
"type": "dropdown",
@@ -9,12 +9,12 @@
"translate_values": true,
"values": [],
"restart": true
-@@ -418,7 +418,7 @@
+@@ -463,7 +463,7 @@
"min": 0,
"setting": "graca_number_en",
"type": "dropdown",
- "value": "0",
+ "value": 0,
"values": [],
- "restart": true
+ "restart": false
},
diff --git a/multimedia/openshot/files/patch-src_windows_preferences.py b/multimedia/openshot/files/patch-src_windows_preferences.py
index c74a2b06696b..c0dc577ef5cb 100644
--- a/multimedia/openshot/files/patch-src_windows_preferences.py
+++ b/multimedia/openshot/files/patch-src_windows_preferences.py
@@ -1,6 +1,6 @@
---- src/windows/preferences.py.orig 2021-01-30 23:50:27 UTC
+--- src/windows/preferences.py.orig 2023-04-20 05:27:15 UTC
+++ src/windows/preferences.py
-@@ -313,7 +313,7 @@ class Preferences(QDialog):
+@@ -325,7 +325,7 @@ class Preferences(QDialog):
value_list.remove(value_item)
elif os_platform == "Windows" and v not in ("0", "3", "4"):
value_list.remove(value_item)
@@ -8,12 +8,4 @@
+ elif (os_platform == "FreeBSD" or os_platform == "Linux") and v not in ("0", "1", "2", "6"):
value_list.remove(value_item)
- # Remove hardware mode items which cannot decode the example video
-@@ -327,6 +327,7 @@ class Preferences(QDialog):
-
- # Replace %s dropdown values for hardware acceleration
- if param["setting"] in ("graca_number_en", "graca_number_de"):
-+ value_list = []
- for card_index in range(0, 3):
- # Test each graphics card, and only include valid ones
- if card_index in self.hardware_tests_cards and self.hardware_tests_cards.get(card_index):
+ # Add test button
diff --git a/multimedia/openshot/pkg-descr b/multimedia/openshot/pkg-descr
index 4608675f0510..0766d8c7c067 100644
--- a/multimedia/openshot/pkg-descr
+++ b/multimedia/openshot/pkg-descr
@@ -1,5 +1,3 @@
OpenShot Video Editor is an award-winning free and open-source video editor for
Linux, Mac, and Windows, and is dedicated to delivering high quality video
editing and animation solutions to the world.
-
-WWW: https://www.openshot.org/
diff --git a/multimedia/openshot/pkg-plist b/multimedia/openshot/pkg-plist
index 1375d8bceb29..1778a4cbf66e 100644
--- a/multimedia/openshot/pkg-plist
+++ b/multimedia/openshot/pkg-plist
@@ -1,9 +1,9 @@
bin/openshot-qt
-%%PYTHON_SITELIBDIR%%/openshot_qt-2.6.1-py%%PYTHON_VER%%.egg-info/PKG-INFO
-%%PYTHON_SITELIBDIR%%/openshot_qt-2.6.1-py%%PYTHON_VER%%.egg-info/SOURCES.txt
-%%PYTHON_SITELIBDIR%%/openshot_qt-2.6.1-py%%PYTHON_VER%%.egg-info/dependency_links.txt
-%%PYTHON_SITELIBDIR%%/openshot_qt-2.6.1-py%%PYTHON_VER%%.egg-info/entry_points.txt
-%%PYTHON_SITELIBDIR%%/openshot_qt-2.6.1-py%%PYTHON_VER%%.egg-info/top_level.txt
+%%PYTHON_SITELIBDIR%%/openshot_qt-3.1.1-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%PYTHON_SITELIBDIR%%/openshot_qt-3.1.1-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%PYTHON_SITELIBDIR%%/openshot_qt-3.1.1-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%PYTHON_SITELIBDIR%%/openshot_qt-3.1.1-py%%PYTHON_VER%%.egg-info/entry_points.txt
+%%PYTHON_SITELIBDIR%%/openshot_qt-3.1.1-py%%PYTHON_VER%%.egg-info/top_level.txt
%%PYTHON_SITELIBDIR%%/openshot_qt/__init__.py
%%PYTHON_SITELIBDIR%%/openshot_qt/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -268,8 +268,8 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/noise@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/normalize.png
%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/normalize@2x.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/objectdetector.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/objectdetector@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/objectdetection.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/objectdetection@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/parametriceq.png
%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/parametriceq@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/effects/icons/pixelate.png
@@ -294,6 +294,8 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/__pycache__/optimize-emojis%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/__pycache__/optimize-emojis%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/00A9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/00AE.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F004.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F0CF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F300.svg
@@ -453,6 +455,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A3.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A4.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A6.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A7.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F3A9.svg
@@ -639,6 +642,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F49D.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F49E.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F49F.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4A0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4A1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4A2.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4A3.svg
@@ -654,6 +658,8 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4AE.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4AF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4B0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4B1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4B2.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4B3.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4B4.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4B5.svg
@@ -694,6 +700,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4D8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4D9.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4DA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4DB.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4DC.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4DD.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4DE.svg
@@ -717,6 +724,10 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F4.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F6.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F7.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4F9.svg
@@ -725,6 +736,13 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4FC.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4FD.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F4FF.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F500.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F501.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F502.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F503.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F504.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F505.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F506.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F507.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F508.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F509.svg
@@ -742,6 +760,13 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F515.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F516.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F517.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F518.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F519.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F51A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F51B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F51C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F51D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F51E.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F525.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F526.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F527.svg
@@ -752,10 +777,27 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F52C.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F52D.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F52E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F52F.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F530.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F531.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F532.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F533.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F534.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F535.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F536.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F537.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F538.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F539.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F53A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F53B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F53C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F53D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F549.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F54A.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F54B.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F54C.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F54D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F54E.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F550.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F551.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F552.svg
@@ -863,6 +905,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F62B.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F62C.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F62D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F62E-200D-1F4A8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F62E.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F62F.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F630.svg
@@ -870,7 +913,9 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F632.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F633.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F634.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F635-200D-1F4AB.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F635.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F636-200D-1F32B-FE0F.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F636.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F637.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F638.svg
@@ -930,8 +975,15 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6A7.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6A8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6AA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6AB.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6AC.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6AD.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6AF.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6B1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6B2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6B3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6B7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6B8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6BD.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6BF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6C1.svg
@@ -939,9 +991,15 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6CD.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6CE.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6CF.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6D0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6D1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6D2.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6D5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6D6.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6D7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6DD.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6DE.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6DF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6E0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6E1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6E2.svg
@@ -962,6 +1020,19 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6FA.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6FB.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F6FC.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E4.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E6.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E8.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7E9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7EA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7EB.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F7F0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F90D.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F90E.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F910.svg
@@ -1043,6 +1114,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F975.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F976.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F978.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F979.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F97A.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F97B.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F97C.svg
@@ -1084,12 +1156,17 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A4.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A5.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A6.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A7.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9A9.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9AA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9AB.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9AC.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9AD.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9AE.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9AF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9BA.svg
@@ -1106,6 +1183,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9C8.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9C9.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9CA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9CB.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9D0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9E1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1F9E2.svg
@@ -1146,9 +1224,12 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA78.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA79.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA7A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA7B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA7C.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA80.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA81.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA82.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA83.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA84.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA85.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA86.svg
@@ -1158,47 +1239,150 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA93.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA94.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA95.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA96.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA97.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA98.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA99.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA9A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA9B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA9C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA9D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA9E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FA9F.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA4.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA6.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA8.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAA9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAAA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAAB.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAAC.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB4.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB6.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB8.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAB9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FABA.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD2.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD3.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD4.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD6.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD8.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAD9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE2.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE4.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE5.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/1FAE7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/203C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2049.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2122.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2194.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2195.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2196.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2197.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2198.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2199.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/21A9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/21AA.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/231A.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/231B.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2328.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23CF.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23E9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23EA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23EB.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23EC.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23ED.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23EE.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23EF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23F0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23F1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23F2.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23F3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23F8.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23F9.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/23FA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25AA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25AB.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25B6.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25C0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25FB.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25FC.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25FD.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/25FE.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2600.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2601.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2602.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2603.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2604.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/260E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2611.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2614.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2615.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2618.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2620.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2622.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2623.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2626.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/262A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/262E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/262F.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2638.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2639.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/263A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2640.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2642.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2648.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2649.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/264A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/264B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/264C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/264D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/264E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/264F.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2650.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2651.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2652.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2653.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/265F.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2660.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2663.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2665.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2666.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2668.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/267B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/267E.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2692.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2693.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2694.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2695.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2696.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2697.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2699.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/269B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/269C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26A0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26A1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26A7.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26AA.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26AB.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26B0.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26B1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26BD.svg
@@ -1206,9 +1390,11 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26C4.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26C5.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26C8.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26CE.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26CF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26D1.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26D3.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26D4.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26E9.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26EA.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26F0.svg
@@ -1221,1463 +1407,3626 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26FA.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/26FD.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2702.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2705.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2708.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2709.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/270F.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2712.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2714.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2716.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/271D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2721.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2728.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2733.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2734.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2744.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2747.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/274C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/274E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2753.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2754.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2755.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2757.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2763.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2764-FE0F-200D-1F525.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2764-FE0F-200D-1FA79.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2764.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2795.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2796.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2797.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/27A1.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/27B0.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/27BF.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2934.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2935.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B05.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B06.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B07.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B1B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B1C.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B50.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/2B55.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/3030.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/303D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E040.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E041.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E042.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E043.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E044.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E045.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E046.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E047.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E048.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E049.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E04A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E04B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E050.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E051.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E052.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E053.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E054.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E055.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E056.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E057.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E058.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E059.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E05A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E05B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E05C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E05D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E0FF.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E100.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E101.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E102.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E103.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E104.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E105.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E106.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E107.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E108.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E109.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E10A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E10B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E10C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E10D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E240.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E241.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E242.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E243.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E244.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E245.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E246.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E247.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E248.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E249.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E24A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E24B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E24C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E24D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E24E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E24F.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E250.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E251.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E252.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E253.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E254.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E255.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E256.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E257.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E258.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E259.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E25A.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E25B.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E25C.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E25D.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E25E.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E25F.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E260.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E261.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E262.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E263.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E264.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E265.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E266.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E267.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E268.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/E269.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/F000.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/color/svg/F8FF.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/data/openmoji-optimized.json
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/data/openmoji.json
%%PYTHON_SITELIBDIR%%/openshot_qt/emojis/optimize-emojis.py
-%%PYTHON_SITELIBDIR%%/openshot_qt/images/AboutLogo.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/AudioThumbnail.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/00A9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/00A9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/00AE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/00AE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F004.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F004@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F0CF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F0CF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F300.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F300@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F301.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F301@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F302.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F302@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F303.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F303@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F304.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F304@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F305.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F305@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F306.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F306@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F307.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F307@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F308.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F308@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F309.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F309@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F30F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F310.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F310@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F311.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F311@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F312.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F312@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F313.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F313@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F314.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F314@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F315.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F315@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F316.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F316@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F317.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F317@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F318.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F318@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F319.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F319@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F31F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F320.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F320@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F321.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F321@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F324.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F324@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F325.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F325@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F326.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F326@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F327.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F327@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F328.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F328@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F329.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F329@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F32F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F330.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F330@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F331.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F331@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F332.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F332@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F333.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F333@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F334.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F334@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F335.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F335@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F336.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F336@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F337.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F337@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F338.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F338@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F339.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F339@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F33F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F340.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F340@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F341.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F341@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F342.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F342@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F343.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F343@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F344.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F344@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F345.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F345@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F346.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F346@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F347.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F347@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F348.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F348@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F349.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F349@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F34F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F350.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F350@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F351.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F351@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F352.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F352@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F353.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F353@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F354.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F354@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F355.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F355@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F356.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F356@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F357.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F357@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F358.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F358@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F359.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F359@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F35F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F360.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F360@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F361.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F361@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F362.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F362@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F363.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F363@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F364.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F364@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F365.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F365@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F366.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F366@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F367.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F367@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F368.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F368@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F369.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F369@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F36F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F370.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F370@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F371.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F371@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F372.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F372@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F373.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F373@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F374.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F374@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F375.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F375@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F376.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F376@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F377.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F377@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F378.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F378@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F379.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F379@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F37F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F380.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F380@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F381.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F381@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F382.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F382@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F383.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F383@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F384.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F384@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F386.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F386@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F387.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F387@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F388.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F388@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F389.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F389@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F38F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F390.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F390@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F391.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F391@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F392.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F392@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F393.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F393@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F396.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F396@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F397.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F397@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F399.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F399@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F39F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3A9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3AF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3B9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3BF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3C9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3CD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3CD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3CE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3CE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3CF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3CF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3D9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3DF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3E9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3ED.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3ED@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3EF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3F9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F3FA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F400.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F400@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F401.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F401@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F402.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F402@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F403.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F403@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F404.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F404@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F405.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F405@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F406.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F406@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F407.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F407@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F408-200D-2B1B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F408-200D-2B1B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F408.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F408@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F409.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F409@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F40F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F410.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F410@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F411.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F411@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F412.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F412@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F413.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F413@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F414.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F414@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F415-200D-1F9BA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F415-200D-1F9BA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F415.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F415@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F416.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F416@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F417.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F417@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F418.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F418@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F419.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F419@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F41F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F420.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F420@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F421.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F421@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F422.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F422@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F423.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F423@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F424.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F424@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F425.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F425@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F426.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F426@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F427.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F427@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F428.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F428@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F429.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F429@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F42F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F430.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F430@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F431.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F431@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F432.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F432@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F433.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F433@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F434.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F434@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F435.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F435@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F436.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F436@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F437.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F437@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F438.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F438@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F439.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F439@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43B-200D-2744-FE0F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43B-200D-2744-FE0F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F43F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F441-FE0F-200D-1F5E8-FE0F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F441-FE0F-200D-1F5E8-FE0F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F451.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F451@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F452.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F452@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F453.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F453@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F454.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F454@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F455.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F455@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F456.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F456@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F457.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F457@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F458.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F458@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F459.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F459@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F45F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F460.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F460@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F461.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F461@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F462.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F462@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F479.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F479@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F47F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F480.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F480@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F484.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F484@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F488.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F488@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F489.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F489@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F48E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F490.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F490@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F492.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F492@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F493.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F493@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F494.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F494@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F495.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F495@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F496.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F496@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F497.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F497@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F498.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F498@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F499.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F499@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F49F@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4A9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4AF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4B9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4BF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4C9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4CF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4D9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4DF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4E9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4ED.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4ED@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4EF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F4@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4F9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F4FF@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F500.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F500@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F501.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F501@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F502.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F502@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F503.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F503@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F504.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F504@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F505.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F505@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F506.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F506@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F507.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F507@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F508.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F508@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F509.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F509@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F50F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F510.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F510@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F511.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F511@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F512.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F512@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F513.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F513@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F514.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F514@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F515.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F515@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F516.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F516@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F517.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F517@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F518.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F518@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F519.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F519@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F51E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F525.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F525@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F526.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F526@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F527.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F527@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F528.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F528@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F529.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F529@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F52F@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F530.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F530@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F531.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F531@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F532.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F532@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F533.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F533@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F534.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F534@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F535.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F535@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F536.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F536@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F537.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F537@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F538.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F538@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F539.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F539@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F53D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F549.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F549@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F54E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F550.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F550@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F551.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F551@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F552.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F552@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F553.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F553@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F554.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F554@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F555.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F555@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F556.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F556@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F557.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F557@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F558.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F558@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F559.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F559@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F55F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F560.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F560@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F561.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F561@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F562.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F562@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F563.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F563@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F564.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F564@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F565.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F565@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F566.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F566@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F567.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F567@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F56F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F56F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F570.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F570@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F573.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F573@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F576.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F576@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F577.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F577@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F578.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F578@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F579.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F579@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F587.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F587@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F58D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5A4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5A4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5A5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5A5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5A8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5A8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5B1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5B1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5B2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5B2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5BC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5BC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5C2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5C2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5C3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5C3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5C4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5C4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5D1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5D1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5D2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5D2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5D3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5D3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5DC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5DC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5DD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5DD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5DE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5DE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5E1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5E1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5E8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5E8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5EF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5EF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5F3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5F3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F5FF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F600.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F600@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F601.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F601@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F602.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F602@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F603.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F603@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F604.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F604@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F605.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F605@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F606.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F606@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F607.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F607@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F608.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F608@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F609.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F609@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F60F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F610.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F610@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F611.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F611@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F612.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F612@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F613.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F613@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F614.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F614@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F615.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F615@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F616.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F616@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F617.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F617@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F618.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F618@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F619.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F619@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F61F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F620.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F620@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F621.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F621@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F622.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F622@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F623.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F623@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F624.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F624@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F625.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F625@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F626.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F626@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F627.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F627@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F628.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F628@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F629.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F629@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62E-200D-1F4A8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62E-200D-1F4A8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F62F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F630.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F630@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F631.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F631@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F632.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F632@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F633.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F633@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F634.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F634@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F635-200D-1F4AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F635-200D-1F4AB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F635.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F635@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F636-200D-1F32B-FE0F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F636-200D-1F32B-FE0F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F636.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F636@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F637.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F637@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F638.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F638@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F639.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F639@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F63F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F640.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F640@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F641.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F641@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F642.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F642@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F643.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F643@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F644.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F644@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F648.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F648@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F649.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F649@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F64A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F64A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F680.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F680@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F681.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F681@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F682.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F682@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F683.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F683@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F684.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F684@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F685.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F685@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F686.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F686@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F687.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F687@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F688.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F688@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F689.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F689@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F68F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F690.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F690@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F691.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F691@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F692.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F692@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F693.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F693@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F694.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F694@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F695.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F695@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F696.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F696@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F697.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F697@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F698.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F698@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F699.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F699@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F69F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6A8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AC@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AD@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6AF@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6B8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6BD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6BD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6BF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6BF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6C1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6C1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6CF@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D6@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6D7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6DD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6DD@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6DE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6DE@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6DF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6DF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6E9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6EB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6EB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6EC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6EC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6F9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6FA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6FB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6FB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6FC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F6FC@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E4@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E6@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E8@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7E9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7EA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7EA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7EB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7EB@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F7F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F90D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F90D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F90E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F90E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F910.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F910@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F911.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F911@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F912.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F912@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F913.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F913@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F914.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F914@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F915.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F915@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F916.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F916@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F917.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F917@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F920.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F920@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F921.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F921@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F922.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F922@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F923.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F923@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F924.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F924@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F925.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F925@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F927.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F927@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F928.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F928@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F929.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F929@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F92F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F93F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F93F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F940.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F940@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F941.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F941@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F942.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F942@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F943.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F943@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F944.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F944@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F945.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F945@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F947.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F947@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F948.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F948@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F949.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F949@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F94F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F950.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F950@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F951.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F951@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F952.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F952@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F953.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F953@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F954.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F954@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F955.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F955@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F956.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F956@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F957.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F957@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F958.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F958@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F959.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F959@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F95F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F960.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F960@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F961.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F961@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F962.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F962@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F963.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F963@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F964.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F964@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F965.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F965@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F966.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F966@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F967.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F967@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F968.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F968@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F969.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F969@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F96F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F970.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F970@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F971.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F971@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F972.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F972@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F973.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F973@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F974.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F974@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F975.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F975@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F976.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F976@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F978.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F978@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F979.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F979@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F97F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F980.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F980@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F981.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F981@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F982.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F982@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F983.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F983@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F984.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F984@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F985.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F985@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F986.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F986@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F987.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F987@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F988.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F988@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F989.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F989@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F98F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F990.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F990@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F991.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F991@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F992.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F992@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F993.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F993@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F994.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F994@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F995.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F995@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F996.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F996@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F997.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F997@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F998.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F998@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F999.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F999@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F99F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9A9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AB@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AC@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9AF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9BA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9BA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9BC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9BC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9BD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9BD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9C9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9CA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9CA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9CB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9CB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9D0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9D0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9E9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9ED.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9ED@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9EF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9F9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1F9FF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA70.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA70@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA71.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA71@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA72.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA72@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA73.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA73@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA74.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA74@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA78.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA78@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA79.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA79@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA7A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA7A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA7B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA7B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA7C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA7C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA80.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA80@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA81.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA81@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA82.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA82@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA83.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA83@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA84.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA84@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA85.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA85@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA86.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA86@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA90.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA90@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA91.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA91@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA92.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA92@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA93.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA93@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA94.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA94@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA95.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA95@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA96.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA96@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA97.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA97@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA98.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA98@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA99.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA99@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FA9F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA6@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA8@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAA9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAAA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAAA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAAB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAAB@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAAC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAAC@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB4@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB6@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB8@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAB9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FABA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FABA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD4@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD6@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD8@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAD9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE4@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE5@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/1FAE7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/203C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/203C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2049.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2049@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2122.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2122@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2194.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2194@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2195.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2195@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2196.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2196@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2197.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2197@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2198.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2198@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2199.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2199@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/21A9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/21A9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/21AA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/21AA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/231A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/231A@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/231B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/231B@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2328.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2328@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23CF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23CF@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23E9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EB@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EC@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23ED.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23ED@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EE@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23EF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F8@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23F9@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/23FA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25AA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25AA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25AB@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25B6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25B6@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25C0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25C0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FB@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FC.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FC@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FD@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/25FE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2600.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2600@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2601.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2601@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2602.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2602@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2603.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2603@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2604.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2604@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/260E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/260E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2611.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2611@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2614.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2614@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2615.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2615@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2618.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2618@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2620.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2620@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2622.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2622@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2623.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2623@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2626.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2626@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/262A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/262A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/262E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/262E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/262F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/262F@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2638.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2638@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2639.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2639@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/263A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/263A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2640.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2640@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2642.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2642@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2648.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2648@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2649.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2649@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/264F@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2650.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2650@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2651.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2651@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2652.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2652@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2653.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2653@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/265F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/265F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2660.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2660@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2663.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2663@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2665.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2665@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2666.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2666@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2668.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2668@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/267B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/267B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/267E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/267E@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2692.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2692@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2693.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2693@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2694.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2694@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2695.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2695@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2696.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2696@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2697.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2697@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2699.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2699@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/269B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/269B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/269C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/269C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26A0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26A0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26A1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26A1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26A7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26A7@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26AA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26AA@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26AB.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26AB@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26B0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26B0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26B1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26B1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26BD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26BD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26BE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26BE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26C4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26C4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26C5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26C5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26C8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26C8@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26CE.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26CE@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26CF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26CF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26D1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26D1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26D3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26D3@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26D4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26D4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26E9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26E9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26EA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26EA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F0@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26F8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26FA.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26FA@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26FD.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/26FD@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2702.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2702@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2705.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2705@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2708.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2708@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2709.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2709@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/270F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/270F@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2712.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2712@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2714.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2714@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2716.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2716@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/271D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/271D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2721.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2721@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2728.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2728@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2733.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2733@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2734.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2734@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2744.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2744@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2747.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2747@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/274C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/274C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/274E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/274E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2753.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2753@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2754.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2754@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2755.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2755@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2757.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2757@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2763.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2763@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2764-FE0F-200D-1F525.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2764-FE0F-200D-1F525@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2764-FE0F-200D-1FA79.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2764-FE0F-200D-1FA79@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2764.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2764@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2795.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2795@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2796.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2796@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2797.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2797@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/27A1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/27A1@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/27B0.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/27B0@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/27BF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/27BF@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2934.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2934@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2935.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2935@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B05.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B05@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B06.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B06@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B07.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B07@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B1B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B1B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B1C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B1C@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B50.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B50@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B55.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/2B55@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/3030.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/3030@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/303D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/303D@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/4_squares_leftt_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/4_squares_leftt_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/4_squares_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/4_squares_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bar_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bar_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bar_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bar_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bar_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bar_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bubbles_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bubbles_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bubbles_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Bubbles_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Camera_Border.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Camera_Border@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Cloud_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Cloud_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Cloud_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Cloud_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Creative_Commons_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Creative_Commons_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Creative_Commons_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Creative_Commons_2@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E040.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E040@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E041.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E041@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E042.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E042@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E043.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E043@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E044.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E044@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E045.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E045@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E046.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E046@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E047.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E047@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E048.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E048@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E049.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E049@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E04A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E04A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E04B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E04B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E050.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E050@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E051.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E051@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E052.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E052@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E053.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E053@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E054.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E054@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E055.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E055@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E056.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E056@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E057.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E057@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E058.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E058@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E059.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E059@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E05D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E0FF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E0FF@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E100.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E100@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E101.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E101@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E102.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E102@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E103.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E103@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E104.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E104@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E105.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E105@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E106.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E106@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E107.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E107@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E108.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E108@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E109.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E109@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E10D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E240.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E240@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E241.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E241@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E242.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E242@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E243.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E243@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E244.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E244@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E245.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E245@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E246.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E246@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E247.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E247@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E248.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E248@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E249.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E249@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E24F@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E250.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E250@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E251.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E251@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E252.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E252@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E253.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E253@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E254.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E254@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E255.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E255@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E256.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E256@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E257.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E257@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E258.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E258@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E259.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E259@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25A.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25A@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25B.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25B@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25C.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25C@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25D.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25D@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25E.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25E@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25F.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E25F@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E260.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E260@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E261.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E261@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E262.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E262@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E263.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E263@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E264.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E264@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E265.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E265@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E266.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E266@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E267.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E267@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E268.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E268@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E269.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/E269@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/F000.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/F000@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/F8FF.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/F8FF@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Film_Rating_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Flames.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Flames@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Footer_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Footer_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Footer_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Footer_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Footer_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Footer_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_Bottom.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_Bottom@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_Top.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gold_Top@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Gray_Box_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Header_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Header_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Header_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Header_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Header_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Header_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Oval_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Post_it.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Post_it@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Ribbon_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Ribbon_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Ribbon_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Ribbon_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Ribbon_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Ribbon_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Smoke_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Smoke_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Smoke_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Smoke_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Smoke_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Smoke_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Solid_Color.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Solid_Color@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Standard_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Sunset.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/Sunset@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/TV_Rating.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/TV_Rating@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_13@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/barr_ripple_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/bars.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/bars@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_barr_shaking2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_barr_shaking2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_barr_shaking_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_barr_shaking_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_cross_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_cross_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_cross_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_cross_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_losange.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/big_losange@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_blinds.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_blinds@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_blur.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_blur@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_colors.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_colors@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_dissolve.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_dissolve@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_earth.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_earth@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_explode.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_explode@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_fly_by_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_fly_by_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_fly_by_two_titles.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_fly_by_two_titles@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_glare.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_glare@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_glass_slider.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_glass_slider@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_lens_flare.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_lens_flare@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_magic_wand.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_magic_wand@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_neon_curves.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_neon_curves@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_picture_frames_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_picture_frames_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_rotate_360.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_rotate_360@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_slide_left_to_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_slide_left_to_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_snow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_snow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_spacemovie_intro.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_spacemovie_intro@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_wireframe_text.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_wireframe_text@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_zoom_clapboard.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blender_zoom_clapboard@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blinds_in_to_out.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blinds_in_to_out@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blinds_in_to_out_big.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blinds_in_to_out_big@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blinds_sliding.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blinds_sliding@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_ray_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_ray_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_ray_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_ray_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/blur_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_14@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/board_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_13@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/boxes_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/brightness.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/brightness@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/bubbles.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/bubbles@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/caption.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/caption@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/central_mozaic.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/central_mozaic@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/checked_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/checked_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/checked_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/checked_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/chromakey.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/chromakey@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/circle_in_to_out.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/circle_in_to_out@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/circle_out_to_in.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/circle_out_to_in@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clock_left_to_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clock_left_to_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clock_right_to_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clock_right_to_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clouds.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clouds@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clouds_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/clouds_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/colorshift.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/colorshift@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/compressor.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/compressor@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/crop.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/crop@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_14@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_15.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_15@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_16.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_16@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_17.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_17@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/cross_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/crossed_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/crossed_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_14@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_15.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_15@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_2.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_25.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_25@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_26.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_26@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_27.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_27@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deform_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deinterlace.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/deinterlace@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/delay.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/delay@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/dissolve.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/dissolve@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_14@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_15.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_15@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_16.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_16@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_17.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_17@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_18.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_18@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_19.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_19@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_2.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_20.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_20@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_21.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_21@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_22.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_22@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_23.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_23@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_24.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_24@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_9.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/drawing-2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/distortion_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/echo.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/echo@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/expander.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/expander@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fade.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fade@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_10@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fish-eyes_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_10@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/flower_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fogg_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/foggy_spiral_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/foggy_spiral_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/fractal_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_barr_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_barr_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_barr_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_barr_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_cross_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/frame_cross_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/free_inspiration_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/free_inspiration_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/free_left_inspiration.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/free_left_inspiration@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_11@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/future_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hatched_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hatched_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hatched_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hatched_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hatched_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hatched_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/horizontal_barr_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/horizontal_barr_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hourglass_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hue.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/hue@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/lateral_left_triangle.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/lateral_left_triangle@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/lateral_right_triangle.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/lateral_right_triangle@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/left_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/left_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/left_mozaic.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/left_mozaic@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_left_inspiration.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_left_inspiration@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_right_inspiration.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_right_inspiration@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_rippling_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_rippling_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_rippling_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/little_rippling_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_14@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_15.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_15@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_16.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_16@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_17.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_17@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_18.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_18@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_19.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_19@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_2.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_20.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_20@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_21.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_21@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_22.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_22@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_boxes_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_frame_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_11@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/luminous_spiral_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mask.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mask@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_barr_ripple_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_barr_ripple_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_barr_ripple_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_barr_ripple_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_black_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_black_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_cross_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_cross_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_cross_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_cross_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_left_inspiration.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_left_inspiration@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_losange.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_losange@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_low_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_low_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_right_inspiration.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_right_inspiration@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_top_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/middle_top_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mosaic_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mountains.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mountains@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_barr_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_barr_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_barr_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/mozaic_barr_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/negate.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/negate@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/noise.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/objectdetector.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/noise@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/objectdetection.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/objectdetection@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ondulation_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ondulation_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/openshot_logo.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/openshot_logo@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/parametriceq.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/parametriceq@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/pixelate.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/pixelate@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/postime_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/puzzle.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/puzzle@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_14@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_15.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_15@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_16.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_16@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_17.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_17@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_18.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_18@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_19.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_19@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_2.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_20.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_20@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_left_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_left_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_right_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ray_light_right_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/rectangle_in_to_out.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/rectangle_in_to_out@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/rectangle_out_to_in.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/rectangle_out_to_in@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/right_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/right_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/right_mozaic.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/right_mozaic@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/right_mozaic_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/right_mozaic_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_low_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_low_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_luminous_low_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_luminous_low_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_luminous_top_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_luminous_top_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_top_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/ripple_top_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/robotization.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/robotization@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/saturation.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/saturation@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/shift.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/shift@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_cross_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_cross_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_cross_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_cross_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_losange.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_losange@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_low_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_low_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_top_arrow.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/small_top_arrow@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sphere.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sphere@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sphere_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sphere_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_abstract_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_abstract_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_abstract_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_abstract_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_big.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_big@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_big_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_big_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_medium.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_medium@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_small.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_small@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_small_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spiral_small_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spots.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/spots@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_middle_left_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_middle_left_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_middle_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_middle_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_right_barr.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/square_right_barr@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stabilizer.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stabilizer@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stain_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stain_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stain_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stain_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/star_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/star_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/star_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/star_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/strange_barr_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/strange_barr_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/strange_barr_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/strange_barr_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/stretched_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sun_shaking.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sun_shaking@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/sunlight_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/tracker.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/tracker@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/triangle_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/triangle_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/triangle_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/triangle_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/triangle_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/triangle_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_12@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_13.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_13@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_14.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_14@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_15.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_15@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_16.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_16@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_17.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_17@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_18.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_18@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_19.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_19@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_2.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_20.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_20@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_21.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_21@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_22.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_22@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_23.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_23@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_24.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_24@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_25.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_25@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_26.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_26@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_27.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_27@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_28.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_28@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_29.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_29@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_3.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_30.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_30@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_31.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_31@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_32.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_32@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_33.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_33@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_34.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_34@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_35.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_35@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_36.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_36@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_37.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_37@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_38.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_38@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_39.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_39@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/twirl_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/vertical_bars.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/vertical_bars@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/vertical_blinds_in_to_out.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/vertical_blinds_in_to_out@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/vertical_blinds_in_to_out_big.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/vertical_blinds_in_to_out_big@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_1.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_10.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_10@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_11.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_11@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_12.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_12@2x.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_5.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_5@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_6.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_6@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_7.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_7@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_8.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_8@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_9.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wandering_9@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_left_down.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_left_down@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_left_up.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_left_up@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_right_down.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_right_down@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_right_up.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wave_right_up@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whirpool_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whisperization.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/whisperization@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_bottom_to_top.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_bottom_to_top@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_1.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_1@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_2.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_2@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_3.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_3@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_4.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_diagonal_4@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_left_to_right.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_left_to_right@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_right_to_left.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_right_to_left@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_top_to_bottom.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/images/cache/wipe_top_to_bottom@2x.png
%%PYTHON_SITELIBDIR%%/openshot_qt/images/cursors.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/images/fonts/Ubuntu-R.ttf
%%PYTHON_SITELIBDIR%%/openshot_qt/images/mask.png
@@ -2722,7 +5071,9 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_fo.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_fr.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_fr_CA.qm
+%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_frc.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_fy.qm
+%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_ga.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_gaa.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_gd.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_gl.qm
@@ -2758,12 +5109,14 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_nl.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_nn.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_oc.qm
+%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_or.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_pa.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_pl.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_pt.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_pt_BR.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_ro.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_ru.qm
+%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_sat.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_se.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_shn.qm
%%PYTHON_SITELIBDIR%%/openshot_qt/language/OpenShot_si.qm
@@ -2815,12 +5168,18 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_avi_mp4.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_avi_mpeg2.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_avi_x264.xml
-%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_flv_x264.xml
-%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_libaom.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_gif.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x264.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x264_dx.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x264_hw.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x264_nv.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x264_qsv.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x264_vtb.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mkv_x265.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mov_mpeg2.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mov_mpeg4.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mov_x264.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mp3.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mp4_hevc_hw.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mp4_librav1e.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mp4_libsvtav1.xml
@@ -2836,7 +5195,6 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_mpeg_mpeg2.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_ogg_flac.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_ogg_libvorbis.xml
-%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_webm_libav1.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_webm_libvp9.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_webm_libvp9_lossless.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/format_webm_libvpx.xml
@@ -2851,82 +5209,537 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/wikipedia.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/xbox360.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/youtube.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/youtube_2K.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/youtube_4K.xml
+%%PYTHON_SITELIBDIR%%/openshot_qt/presets/youtube_8K.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/presets/youtube_HD.xml
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080i_50
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080i_5994
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080i_60
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_2398
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_24
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_25
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_2997
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_30
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_50
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_5994
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_1080p_60
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_2398
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_24
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_25
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_2997
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_30
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_50
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_5994
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/atsc_720p_60
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/cif_15
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/cif_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/cif_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/cvd_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/cvd_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/dv_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/dv_ntsc_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/dv_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/dv_pal_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/dv_pal_wide_anamorphic
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_1080_25i_1920x1080
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_1080_25p
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_1080_25p_1920x1080
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_1080_30p
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_1080_50i
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_1080_60i
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/hdv_720_24p
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/mobile_360p
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qcif_15
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qcif_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qcif_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_2398
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_24
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_25
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_2997
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_30
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_50
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_5994
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/qhd_1440p_60
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/quarter_15
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/quarter_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/quarter_ntsc_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/quarter_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/quarter_pal_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/sdi_486i_5994
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/sdi_486p_2398
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/square_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/square_ntsc_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/square_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/square_pal_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/svcd_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/svcd_ntsc_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/svcd_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/svcd_pal_wide
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_2398
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_24
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_25
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_2997
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_30
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_50
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_5994
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/uhd_2160p_60
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/vcd_ntsc
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/vcd_pal
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/vertical_1080p_30
-%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/vertical_720p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00128x0096p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00128x0096p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00128x0096p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00160x0120p5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00176x0120p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00176x0120p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00176x0144p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00176x0144p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00176x0144p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p0015_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p0024_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p0025_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p0030_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p0050_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p0060_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p2398_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p2997_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00240x0160p5994_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p0015_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p0024_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p0025_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p0030_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p0050_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p0060_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p2398_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p2997_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00256x0160p5994_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00320x0240p5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0240i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0240p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0240p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0240p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0240p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0288i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0288i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0288p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0288p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0288p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0288p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0480i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0480p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0480p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0480p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0576i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0576i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0576p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00352x0576p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p0015_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p0024_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p0025_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p0030_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p0050_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p0060_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p2398_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p2997_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00360x0240p5994_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p0015_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p0024_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p0025_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p0030_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p0050_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p0060_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p2398_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p2997_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0240p5994_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00384x0288p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p0015_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p0024_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p0025_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p0030_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p0050_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p0060_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p2398_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p2997_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00400x0240p5994_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00427x0240p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p0015_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p0024_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p0025_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p0030_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p0050_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p0060_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p2398_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p2997_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0320p5994_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0480i0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0480i2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0480i2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0480i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0576i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0576i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0576p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00480x0576p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00512x0288p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00528x0480i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00528x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00528x0480p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00528x0480p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0480i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0480p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0480p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0576i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0576i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0576p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00544x0576p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0360p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480i0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480i0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480i2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00640x0480p5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480i0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480i0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0480p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0576i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0576i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0576p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0576p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00704x0576p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480i5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0015_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0024_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0025_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0030_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0050_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0060_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p2398_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p2997_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p5994_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0480p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0486i2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0486i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0486p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0486p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0576i0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0576i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0576p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0576p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0576p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x0576p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p0024_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p0025_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p0030_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p0050_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p0060_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p2398_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p2997_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00720x1280p5994_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p0015_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p0024_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p0025_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p0030_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p0050_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p0060_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p2398_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p2997_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0480p5994_16-10
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00768x0576p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p0015_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p0024_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p0025_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p0030_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p0050_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p0060_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p2398_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p2997_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0480p5994_05-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p0024_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p0030_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p0050_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p0060_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p2398_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00800x0600p5994_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p0015_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00854x0480p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0540p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p0015_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p0024_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p0025_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p0030_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p0050_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p0060_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p2398_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p2997_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/00960x0640p5994_03-02
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p0015_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0576p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p0015_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p0024_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p0025_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p0030_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p0050_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p0060_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p2398_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p2997_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01024x0600p5994_128-75
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1080p0024_01-01
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1080p0025_01-01
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1080p0030_01-01
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1080p0050_01-01
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1080p0060_01-01
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1350p0024_04-05
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1350p0025_04-05
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1350p0030_04-05
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1350p0050_04-05
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1350p0060_04-05
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p0024_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p0025_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p0030_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p0050_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p0060_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p2398_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p2997_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01080x1920p5994_09-16
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01280x0720p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01408x1152p0015_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01408x1152p0025_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01408x1152p2997_04-03
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080i0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1080p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01440x1152i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01600x0900p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1035i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1035i0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1035i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080i0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080i0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080i2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/01920x1080p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/02560x1440p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03200x1800p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/03840x2160p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/05120x2880p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/07680x4320p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p0024_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p0025_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p0030_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p0050_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p0060_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p2398_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p2997_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/15360x8640p5994_16-09
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/ATSC.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/BD.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/CIF.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/D1.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/DVB.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/DVD.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/FB.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/HDV.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/NTSC.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/PAL.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/SVCD.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/VCD.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/VGA.json
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/__pycache__/manage%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/__pycache__/manage%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/definitions/manage.py
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080i_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080i_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080i_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_1080p_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/atsc_720p_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/cif_15
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/cif_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/cif_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/cvd_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/cvd_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/dv_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/dv_ntsc_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/dv_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/dv_pal_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/dv_pal_wide_anamorphic
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_1080_25i_1920x1080
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_1080_25p
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_1080_25p_1920x1080
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_1080_30p
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_1080_50i
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_1080_60i
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/hdv_720_24p
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/mobile_240p
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qcif_15
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qcif_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qcif_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/qhd_1440p_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/quarter_15
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/quarter_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/quarter_ntsc_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/quarter_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/quarter_pal_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/sdi_486i_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/sdi_486p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/square_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/square_ntsc_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/square_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/square_pal_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/svcd_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/svcd_ntsc_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/svcd_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/svcd_pal_wide
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_2160p_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/uhd_4320p_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vcd_ntsc
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vcd_pal
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_1080p_60
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_2398
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_24
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_25
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_2997
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_30
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_50
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_5994
+%%PYTHON_SITELIBDIR%%/openshot_qt/profiles/legacy/vertical_720p_60
%%PYTHON_SITELIBDIR%%/openshot_qt/resources/contributors.json
%%PYTHON_SITELIBDIR%%/openshot_qt/resources/export-clip-audio-template.xml
%%PYTHON_SITELIBDIR%%/openshot_qt/resources/export-clip-video-template.xml
@@ -2986,18 +5799,21 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/clip_images/8.png
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/clip_images/9.png
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/gear.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/lock.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/markers/blue.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/keyframe-bezier.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/keyframe-constant.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/keyframe-linear.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/lock.svg
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/markers/blue.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/markers/green.png
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/markers/purple.png
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/markers/red.png
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/markers/yellow.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/menu.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/menu_hover.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/menu.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/play_head.png
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/razor_line_with_razor.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/razor_line_with_razor.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/thumbnail.png
-%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/transition.png
+%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/images/transition.svg
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/js/angular-animate.min.js
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/js/angular-animate.min.js.map
%%PYTHON_SITELIBDIR%%/openshot_qt/timeline/media/js/angular.min.js
@@ -3481,6 +6297,8 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/cutting%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/export%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/export%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/export_clips%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/export_clips%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/file_properties%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/file_properties%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/__pycache__/main_window%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -3506,6 +6324,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/color_picker.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/cutting.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/export.py
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/export_clips.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/file_properties.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/main_window.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__init__.py
@@ -3525,6 +6344,8 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/emoji_model%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/files_model%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/files_model%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/profiles_model%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/profiles_model%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/properties_model%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/properties_model%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/__pycache__/titles_model%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -3538,6 +6359,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/effects_model.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/emoji_model.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/files_model.py
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/profiles_model.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/properties_model.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/titles_model.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/models/transition_model.py
@@ -3554,6 +6376,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/changelog.ui
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/credits.ui
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/cutting.ui
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/export-clips.ui
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/export.ui
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/file-properties.ui
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/ui/license.ui
@@ -3587,6 +6410,8 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/files_treeview%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/find_file%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/find_file%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/profiles_treeview%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/profiles_treeview%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/properties_tableview%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/properties_tableview%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/__pycache__/timeline_mixins%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -3613,6 +6438,7 @@ bin/openshot-qt
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/files_listview.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/files_treeview.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/find_file.py
+%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/profiles_treeview.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/properties_tableview.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/timeline_mixins.py
%%PYTHON_SITELIBDIR%%/openshot_qt/windows/views/titles_listview.py
diff --git a/multimedia/opentimelineio/Makefile b/multimedia/opentimelineio/Makefile
index 25059fb786ed..799f0e68118a 100644
--- a/multimedia/opentimelineio/Makefile
+++ b/multimedia/opentimelineio/Makefile
@@ -1,27 +1,28 @@
PORTNAME= opentimelineio
DISTVERSIONPREFIX= v
-DISTVERSION= 0.14.1
+DISTVERSION= 0.16.0
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= API and interchange format for editorial timeline information
+WWW= https://github.com/PixarAnimationStudios/OpenTimelineIO
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-USES= cmake compiler:c++14-lang
+LIB_DEPENDS= libImath-3_1.so:math/Imath
+
+USES= cmake:testing compiler:c++14-lang
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= PixarAnimationStudios
GH_PROJECT= OpenTimelineIO
-GH_TUPLE= google:googletest:ba96d0b1161f540656efdaed035b3c062b60e006:google_googletest/src/deps/rapidjson/thirdparty/gtest \
- martinmoene:optional-lite:a006f229a77b3b2dacf927e4029b8c1c60c86b52:martinmoene_optional_lite/src/deps/optional-lite \
- pybind:pybind11:e7e2c79f3f520f78ffc39fcb34f7919003102733:pybind_pybind11/src/deps/pybind11 \
- Tencent:rapidjson:4d6cb08189cf7336821f04090b612baa2ca6a90d:Tencent_rapidjson/src/deps/rapidjson \
- thelink2012:any:f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb:thelink2012_any/src/deps/any
+GH_TUPLE= Tencent:rapidjson:06d58b9e848c650114556a23294d0b6440078c61:Tencent_rapidjson/src/deps/rapidjson
+
+CMAKE_ON= OTIO_FIND_IMATH
-PORTSCOUT= ignore:v0.91 # erroneously labeled tag
+PORTSCOUT= limit:^.*[0-9]$$ # should end with a digit to prevent tags like last_pure_python
.include <bsd.port.mk>
diff --git a/multimedia/opentimelineio/distinfo b/multimedia/opentimelineio/distinfo
index 5a2dc0308a27..56ae2e9a66d4 100644
--- a/multimedia/opentimelineio/distinfo
+++ b/multimedia/opentimelineio/distinfo
@@ -1,13 +1,5 @@
-TIMESTAMP = 1643482587
-SHA256 (PixarAnimationStudios-OpenTimelineIO-v0.14.1_GH0.tar.gz) = 04c0a5c2f0639a0a1e9745d40cdb9e86f966c85f19880e8ca614699175a93554
-SIZE (PixarAnimationStudios-OpenTimelineIO-v0.14.1_GH0.tar.gz) = 4484522
-SHA256 (google-googletest-ba96d0b1161f540656efdaed035b3c062b60e006_GH0.tar.gz) = 949c556896cf31ed52e53449e17a1276b8b26d3ee5932f5ca49ee929f4b35c51
-SIZE (google-googletest-ba96d0b1161f540656efdaed035b3c062b60e006_GH0.tar.gz) = 987370
-SHA256 (martinmoene-optional-lite-a006f229a77b3b2dacf927e4029b8c1c60c86b52_GH0.tar.gz) = de62d23971dd9c4ba77c633559f9e3840f6a57c39b81306b89395f917e71ccc4
-SIZE (martinmoene-optional-lite-a006f229a77b3b2dacf927e4029b8c1c60c86b52_GH0.tar.gz) = 52439
-SHA256 (pybind-pybind11-e7e2c79f3f520f78ffc39fcb34f7919003102733_GH0.tar.gz) = 87de6f079bed8e74e1a5baa8dbc03c8f12367ab9bb4f32a98ee15a15255accdb
-SIZE (pybind-pybind11-e7e2c79f3f520f78ffc39fcb34f7919003102733_GH0.tar.gz) = 693012
-SHA256 (Tencent-rapidjson-4d6cb08189cf7336821f04090b612baa2ca6a90d_GH0.tar.gz) = 6d5547998e51a6f8a7fb261ee7ff1551b833968e8b855c22c662705c2dc9ccac
-SIZE (Tencent-rapidjson-4d6cb08189cf7336821f04090b612baa2ca6a90d_GH0.tar.gz) = 1107475
-SHA256 (thelink2012-any-f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb_GH0.tar.gz) = 1cd121a2fb27936213397ff4ff94fe4d6d4e28cabc13894cc4512eb046d71be8
-SIZE (thelink2012-any-f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb_GH0.tar.gz) = 9123
+TIMESTAMP = 1712300018
+SHA256 (PixarAnimationStudios-OpenTimelineIO-v0.16.0_GH0.tar.gz) = 8cb9467db25bc34c7ee2db89ea90b7bab88ade999e8e2858b825dfbaa8db0f62
+SIZE (PixarAnimationStudios-OpenTimelineIO-v0.16.0_GH0.tar.gz) = 4750923
+SHA256 (Tencent-rapidjson-06d58b9e848c650114556a23294d0b6440078c61_GH0.tar.gz) = 30d28bbe0bfff9d8dc5d3cf62799b6ee550499cc1520e44bdece81e002480d19
+SIZE (Tencent-rapidjson-06d58b9e848c650114556a23294d0b6440078c61_GH0.tar.gz) = 1107982
diff --git a/multimedia/opentimelineio/files/patch-src_deps_any_any.hpp b/multimedia/opentimelineio/files/patch-src_deps_any_any.hpp
deleted file mode 100644
index 3490b84676c2..000000000000
--- a/multimedia/opentimelineio/files/patch-src_deps_any_any.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-- workaround for https://github.com/thelink2012/any/issues/16
-
---- src/deps/any/any.hpp.orig 2022-01-31 22:48:38 UTC
-+++ src/deps/any/any.hpp
-@@ -19,6 +19,7 @@
- #include <typeinfo>
- #include <type_traits>
- #include <stdexcept>
-+#include <utility>
-
-
- #if defined(PARTICLE)
diff --git a/multimedia/opentimelineio/pkg-descr b/multimedia/opentimelineio/pkg-descr
index 3849d715ef9f..461f38bc82a4 100644
--- a/multimedia/opentimelineio/pkg-descr
+++ b/multimedia/opentimelineio/pkg-descr
@@ -2,5 +2,3 @@ OpenTimelineIO is an interchange format and API for editorial cut
information. OTIO is not a container format for media, rather it
contains information about the order and length of cuts and references
to external media.
-
-WWW: https://github.com/PixarAnimationStudios/OpenTimelineIO
diff --git a/multimedia/opentimelineio/pkg-plist b/multimedia/opentimelineio/pkg-plist
index 833bdee1b4ee..ef9aa0d99e40 100644
--- a/multimedia/opentimelineio/pkg-plist
+++ b/multimedia/opentimelineio/pkg-plist
@@ -4,15 +4,13 @@ include/opentime/stringPrintf.h
include/opentime/timeRange.h
include/opentime/timeTransform.h
include/opentime/version.h
-include/opentimelineio/any.h
include/opentimelineio/anyDictionary.h
include/opentimelineio/anyVector.h
include/opentimelineio/clip.h
include/opentimelineio/composable.h
include/opentimelineio/composition.h
-include/opentimelineio/deps/any/any.hpp
-include/opentimelineio/deps/nonstd/optional.hpp
include/opentimelineio/deserialization.h
+include/opentimelineio/editAlgorithm.h
include/opentimelineio/effect.h
include/opentimelineio/errorStatus.h
include/opentimelineio/externalReference.h
@@ -25,7 +23,6 @@ include/opentimelineio/linearTimeWarp.h
include/opentimelineio/marker.h
include/opentimelineio/mediaReference.h
include/opentimelineio/missingReference.h
-include/opentimelineio/optional.h
include/opentimelineio/safely_typed_any.h
include/opentimelineio/serializableCollection.h
include/opentimelineio/serializableObject.h
@@ -44,7 +41,9 @@ include/opentimelineio/vectorIndexing.h
include/opentimelineio/version.h
lib/libopentime.so
lib/libopentimelineio.so
-share/opentime/OpenTimeConfig-%%CMAKE_BUILD_TYPE%%.cmake
share/opentime/OpenTimeConfig.cmake
-%%DATADIR%%/OpenTimelineIOConfig-%%CMAKE_BUILD_TYPE%%.cmake
+share/opentime/OpenTimeTargets-%%CMAKE_BUILD_TYPE%%.cmake
+share/opentime/OpenTimeTargets.cmake
%%DATADIR%%/OpenTimelineIOConfig.cmake
+%%DATADIR%%/OpenTimelineIOTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%DATADIR%%/OpenTimelineIOTargets.cmake
diff --git a/multimedia/opentoonz/Makefile b/multimedia/opentoonz/Makefile
index e37eeb69bcbc..fa65703e24e8 100644
--- a/multimedia/opentoonz/Makefile
+++ b/multimedia/opentoonz/Makefile
@@ -1,11 +1,12 @@
PORTNAME= opentoonz
DISTVERSIONPREFIX= v
DISTVERSION= 1.5.0
-PORTREVISION= 1
+PORTREVISION= 7
CATEGORIES= multimedia
MAINTAINER= rozhuk.im@gmail.com
COMMENT= Open-source full-featured 2D animation creation software
+WWW= https://opentoonz.github.io/e/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -27,7 +28,7 @@ USE_GITHUB= yes
USE_GL= gl glew glu glut
USE_QT= core gui multimedia network opengl printsupport \
script serialport svg widgets xml \
- buildtools_build linguisttools_build qmake_build
+ buildtools:build linguisttools:build qmake:build
CMAKE_ARGS= -DWITH_SYSTEM_LZO:BOOL=ON \
-DWITH_SYSTEM_SUPERLU:BOOL=ON
CMAKE_SOURCE_PATH= ${WRKSRC}/toonz/sources
diff --git a/multimedia/opentoonz/pkg-descr b/multimedia/opentoonz/pkg-descr
index f3e84cc04aec..81084fef86fe 100644
--- a/multimedia/opentoonz/pkg-descr
+++ b/multimedia/opentoonz/pkg-descr
@@ -2,5 +2,3 @@ OpenToonz is a 2D animation software published by DWANGO.
It is based on Toonz Studio Ghibli Version, originally developed in
Italy by Digital Video, Inc., and customized by Studio Ghibli over
many years of production.
-
-WWW: https://opentoonz.github.io/e/
diff --git a/multimedia/oscam/Makefile b/multimedia/oscam/Makefile
index 1e9aed95a78c..635c69dbe49a 100644
--- a/multimedia/oscam/Makefile
+++ b/multimedia/oscam/Makefile
@@ -1,12 +1,12 @@
-# Created by: Franz Bettag <franz@bett.ag>
-
PORTNAME= oscam
PORTVERSION= 1.20.20210729
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= https://repo.or.cz/oscam.git/snapshot/ef7f844739120f6119d7197e7be9c9b8a8da0b5f.tar.gz?/
MAINTAINER= franz@bett.ag
COMMENT= Softcam software to decrypt digital TV channels
+WWW= https://www.streamboard.tv/oscam/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -34,8 +34,8 @@ USE_GCC= yes
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/Distribution/oscam ${STAGEDIR}${PREFIX}/bin/
- ${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.1 ${STAGEDIR}${PREFIX}/man/man1/
- ${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.5 ${STAGEDIR}${PREFIX}/man/man5/
+ ${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.1 ${STAGEDIR}${PREFIX}/share/man/man1/
+ ${INSTALL_MAN} ${WRKSRC}/Distribution/doc/man/*.5 ${STAGEDIR}${PREFIX}/share/man/man5/
do-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/
diff --git a/multimedia/oscam/files/patch-config.h b/multimedia/oscam/files/patch-config.h
index 0fdea68c5732..a8b8a7c0e27b 100644
--- a/multimedia/oscam/files/patch-config.h
+++ b/multimedia/oscam/files/patch-config.h
@@ -1,6 +1,6 @@
---- config.h.orig 2020-03-14 17:14:49 UTC
+--- config.h.orig 2021-07-28 22:04:49 UTC
+++ config.h
-@@ -34,7 +34,7 @@
+@@ -35,7 +35,7 @@
//#define MODULE_SERIAL 1
//#define MODULE_CONSTCW 1
//#define MODULE_PANDORA 1
diff --git a/multimedia/oscam/files/patch-oscam.c b/multimedia/oscam/files/patch-oscam.c
new file mode 100644
index 000000000000..b4571e7ccfe8
--- /dev/null
+++ b/multimedia/oscam/files/patch-oscam.c
@@ -0,0 +1,30 @@
+--- oscam.c.orig 2023-08-06 18:22:04 UTC
++++ oscam.c
+@@ -49,7 +49,9 @@
+ static void ssl_init(void)
+ {
+ SSL_load_error_strings();
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
+ ERR_load_BIO_strings();
++#endif
+ ERR_load_SSL_strings();
+ SSL_library_init();
+ }
+@@ -1807,7 +1809,7 @@ int32_t main(int32_t argc, char *argv[])
+ #ifdef CS_CACHEEX_AIO
+ init_cw_cache();
+ init_ecm_cache();
+-#endif
++#endif
+ cs_init_log();
+ init_machine_info();
+ init_check();
+@@ -1899,7 +1901,7 @@ int32_t main(int32_t argc, char *argv[])
+ led_status_starting();
+
+ ac_init();
+-
++
+ gbox_send_init_hello();
+
+ start_thread("card poll", (void *) &card_poll, NULL, NULL, 1, 1);
diff --git a/multimedia/oscam/pkg-descr b/multimedia/oscam/pkg-descr
index fc5722747e5b..cca7f6e8f01b 100644
--- a/multimedia/oscam/pkg-descr
+++ b/multimedia/oscam/pkg-descr
@@ -1,5 +1,3 @@
OSCam is a softcam, software to be used to decrypt digital television channels
on a set-top box (receiver), as an alternative for a conditional access module
(CAM). OSCam is, compared with other softcams (CCcam, mgcamd, etc.), open source
-
-WWW: http://www.streamboard.tv/oscam/
diff --git a/multimedia/oscam/pkg-plist b/multimedia/oscam/pkg-plist
index 75e1977991a3..2f17cfa3985f 100644
--- a/multimedia/oscam/pkg-plist
+++ b/multimedia/oscam/pkg-plist
@@ -1,22 +1,22 @@
bin/oscam
-man/man1/list_smargo.1.gz
-man/man1/oscam.1.gz
-man/man5/oscam.ac.5.gz
-man/man5/oscam.cacheex.5.gz
-man/man5/oscam.cert.5.gz
-man/man5/oscam.conf.5.gz
-man/man5/oscam.dvbapi.5.gz
-man/man5/oscam.guess.5.gz
-man/man5/oscam.ird.5.gz
-man/man5/oscam.provid.5.gz
-man/man5/oscam.ratelimit.5.gz
-man/man5/oscam.server.5.gz
-man/man5/oscam.services.5.gz
-man/man5/oscam.srvid.5.gz
-man/man5/oscam.srvid2.5.gz
-man/man5/oscam.tiers.5.gz
-man/man5/oscam.user.5.gz
-man/man5/oscam.whitelist.5.gz
+share/man/man1/list_smargo.1.gz
+share/man/man1/oscam.1.gz
+share/man/man5/oscam.ac.5.gz
+share/man/man5/oscam.cacheex.5.gz
+share/man/man5/oscam.cert.5.gz
+share/man/man5/oscam.conf.5.gz
+share/man/man5/oscam.dvbapi.5.gz
+share/man/man5/oscam.guess.5.gz
+share/man/man5/oscam.ird.5.gz
+share/man/man5/oscam.provid.5.gz
+share/man/man5/oscam.ratelimit.5.gz
+share/man/man5/oscam.server.5.gz
+share/man/man5/oscam.services.5.gz
+share/man/man5/oscam.srvid.5.gz
+share/man/man5/oscam.srvid2.5.gz
+share/man/man5/oscam.tiers.5.gz
+share/man/man5/oscam.user.5.gz
+share/man/man5/oscam.whitelist.5.gz
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/oscam.ac
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/oscam.cacheex
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/oscam.cert
diff --git a/multimedia/p5-Audio-M4P/Makefile b/multimedia/p5-Audio-M4P/Makefile
index 16702667e4c6..8fc0e05ed374 100644
--- a/multimedia/p5-Audio-M4P/Makefile
+++ b/multimedia/p5-Audio-M4P/Makefile
@@ -1,5 +1,3 @@
-# Created by: Christopher Key <cjk32@cam.ac.uk>
-
PORTNAME= Audio-M4P
PORTVERSION= 0.57
CATEGORIES= multimedia perl5
@@ -8,6 +6,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= bofh@FreeBSD.org
COMMENT= M4P / MP4 / m4a Quicktime audio and video tools
+WWW= https://metacpan.org/release/Audio-M4P
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/multimedia/p5-Audio-M4P/pkg-descr b/multimedia/p5-Audio-M4P/pkg-descr
index 5db275c4d8d5..d96fb949973e 100644
--- a/multimedia/p5-Audio-M4P/pkg-descr
+++ b/multimedia/p5-Audio-M4P/pkg-descr
@@ -1,4 +1,2 @@
Slice, dice, deconstruct, markup, and decrypt
MP4 / M4P / M4V / M4A (Apple Quicktime) audio and video.
-
-WWW: https://metacpan.org/release/Audio-M4P
diff --git a/multimedia/p5-FFmpeg-Command/Makefile b/multimedia/p5-FFmpeg-Command/Makefile
index b1b9cbce6020..a01a965d1cdc 100644
--- a/multimedia/p5-FFmpeg-Command/Makefile
+++ b/multimedia/p5-FFmpeg-Command/Makefile
@@ -1,8 +1,6 @@
-# Created by: sumikawa
-
PORTNAME= FFmpeg-Command
PORTVERSION= 0.19
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= multimedia perl5
MASTER_SITES= CPAN
MASTER_SITE_SUBDIR= CPAN:MIZZY
@@ -10,6 +8,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Wrapper class for ffmpeg command line utility
+WWW= https://metacpan.org/release/FFmpeg-Command
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-Class-Accessor>=0:devel/p5-Class-Accessor \
diff --git a/multimedia/p5-FFmpeg-Command/pkg-descr b/multimedia/p5-FFmpeg-Command/pkg-descr
index bc6b381f5740..8aff9e6563bc 100644
--- a/multimedia/p5-FFmpeg-Command/pkg-descr
+++ b/multimedia/p5-FFmpeg-Command/pkg-descr
@@ -1,3 +1 @@
A wrapper class for ffmpeg command line utility.
-
-WWW: https://metacpan.org/release/FFmpeg-Command
diff --git a/multimedia/p5-FLV-Info/Makefile b/multimedia/p5-FLV-Info/Makefile
index 9bcd1772a9f2..59ffc7344672 100644
--- a/multimedia/p5-FLV-Info/Makefile
+++ b/multimedia/p5-FLV-Info/Makefile
@@ -1,5 +1,3 @@
-# Created by: Gea-Suan Lin <gslin@gslin.org>
-
PORTNAME= FLV-Info
PORTVERSION= 0.24
PORTREVISION= 1
@@ -10,6 +8,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Extract metadata from Flash Video files
+WWW= https://metacpan.org/release/FLV-Info
BUILD_DEPENDS= ${RUN_DEPENDS}
RUN_DEPENDS= p5-AMF-Perl>=0.15:www/p5-AMF-Perl \
diff --git a/multimedia/p5-FLV-Info/pkg-descr b/multimedia/p5-FLV-Info/pkg-descr
index d06ecd699bc4..5eef312d54de 100644
--- a/multimedia/p5-FLV-Info/pkg-descr
+++ b/multimedia/p5-FLV-Info/pkg-descr
@@ -1,4 +1,2 @@
This module reads Macromedia FLV files and reports metadata about
those files.
-
-WWW: https://metacpan.org/release/FLV-Info
diff --git a/multimedia/p5-File-Format-RIFF/Makefile b/multimedia/p5-File-Format-RIFF/Makefile
index 2cc644941032..94598dfd0a8b 100644
--- a/multimedia/p5-File-Format-RIFF/Makefile
+++ b/multimedia/p5-File-Format-RIFF/Makefile
@@ -1,5 +1,3 @@
-# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
-
PORTNAME= File-Format-RIFF
DISTVERSION= 1.0.1
PORTREVISION= 1
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= bofh@FreeBSD.org
COMMENT= Read, manipulate, and write RIFF files
+WWW= https://metacpan.org/release/File-Format-RIFF
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/multimedia/p5-File-Format-RIFF/pkg-descr b/multimedia/p5-File-Format-RIFF/pkg-descr
index 295fa97a9d06..785133ad1f38 100644
--- a/multimedia/p5-File-Format-RIFF/pkg-descr
+++ b/multimedia/p5-File-Format-RIFF/pkg-descr
@@ -1,5 +1,3 @@
File::Format::RIFF provides an implementation of the Resource
Interchange File Format. You can read, manipulate, and write
RIFF files.
-
-WWW: https://metacpan.org/release/File-Format-RIFF
diff --git a/multimedia/p5-MP4-Info/Makefile b/multimedia/p5-MP4-Info/Makefile
index 7b8f38f5b396..be356da9137b 100644
--- a/multimedia/p5-MP4-Info/Makefile
+++ b/multimedia/p5-MP4-Info/Makefile
@@ -1,5 +1,3 @@
-# Created by: Lars Eggert <lars.eggert@gmx.net>
-
PORTNAME= MP4-Info
PORTVERSION= 1.13
PORTREVISION= 2
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Fetch info from MPEG-4 files
+WWW= https://metacpan.org/release/MP4-Info
LICENSE= ART10 GPLv1+
LICENSE_COMB= dual
diff --git a/multimedia/p5-MP4-Info/pkg-descr b/multimedia/p5-MP4-Info/pkg-descr
index dfef210ebe50..f98d2e645e3e 100644
--- a/multimedia/p5-MP4-Info/pkg-descr
+++ b/multimedia/p5-MP4-Info/pkg-descr
@@ -4,5 +4,3 @@ replacement for MP3::Info.
Note that this module does not allow you to update the information
in MPEG-4 files.
-
-WWW: https://metacpan.org/release/MP4-Info
diff --git a/multimedia/p5-Net-UPnP/Makefile b/multimedia/p5-Net-UPnP/Makefile
index dcd1bbe51233..364f17218e24 100644
--- a/multimedia/p5-Net-UPnP/Makefile
+++ b/multimedia/p5-Net-UPnP/Makefile
@@ -6,6 +6,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= perl@FreeBSD.org
COMMENT= Perl extension for UPnP
+WWW= https://metacpan.org/release/Net-UPnP
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/README
diff --git a/multimedia/p5-Net-UPnP/pkg-descr b/multimedia/p5-Net-UPnP/pkg-descr
index ffcd43930255..9eb5acd332d1 100644
--- a/multimedia/p5-Net-UPnP/pkg-descr
+++ b/multimedia/p5-Net-UPnP/pkg-descr
@@ -1,3 +1 @@
This package provides some functions to control UPnP devices
-
-WWW: https://metacpan.org/release/Net-UPnP
diff --git a/multimedia/p5-Subtitles/Makefile b/multimedia/p5-Subtitles/Makefile
index 8e600ff78b21..0a6726c6d0ab 100644
--- a/multimedia/p5-Subtitles/Makefile
+++ b/multimedia/p5-Subtitles/Makefile
@@ -1,5 +1,3 @@
-# Created by: osa
-
PORTNAME= Subtitles
PORTVERSION= 1.04
PORTREVISION= 1
@@ -9,6 +7,7 @@ PKGNAMEPREFIX= p5-
MAINTAINER= osa@FreeBSD.org
COMMENT= Perl5 backend for fix subtitles timing
+WWW= https://metacpan.org/release/Subtitles
NO_ARCH= yes
USES= perl5
diff --git a/multimedia/p5-Subtitles/pkg-descr b/multimedia/p5-Subtitles/pkg-descr
index 58d2f95db5e4..1038320a6bdb 100644
--- a/multimedia/p5-Subtitles/pkg-descr
+++ b/multimedia/p5-Subtitles/pkg-descr
@@ -7,5 +7,3 @@ interface is included in the distribution.
The module supports srt, sub, smi subtitle formats.
Time values are floats, in seconds with millisecond precision.
-
-WWW: https://metacpan.org/release/Subtitles
diff --git a/multimedia/p5-Umph-Prompt/Makefile b/multimedia/p5-Umph-Prompt/Makefile
deleted file mode 100644
index 159ca5298c41..000000000000
--- a/multimedia/p5-Umph-Prompt/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: Sunpoet Po-Chuan Hsieh <sunpoet@FreeBSD.org>
-
-PORTNAME= Umph-Prompt
-PORTVERSION= 0.1.0
-PORTREVISION= 1
-CATEGORIES= multimedia perl5
-MASTER_SITES= LOCAL/sunpoet
-PKGNAMEPREFIX= p5-
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Interactive prompt module for umph and similar programs
-
-LICENSE= LGPL21
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Last release in 2011 and abandoned upstream
-EXPIRATION_DATE=2022-06-30
-
-USES= perl5
-USE_PERL5= configure
-
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/multimedia/p5-Umph-Prompt/distinfo b/multimedia/p5-Umph-Prompt/distinfo
deleted file mode 100644
index 1556aeaa1ce0..000000000000
--- a/multimedia/p5-Umph-Prompt/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (Umph-Prompt-0.1.0.tar.gz) = 8c528506eb446429efe351359e2040fceba7bf99b6c8d26cd8808732a0ccaf47
-SIZE (Umph-Prompt-0.1.0.tar.gz) = 15505
diff --git a/multimedia/p5-Umph-Prompt/pkg-descr b/multimedia/p5-Umph-Prompt/pkg-descr
deleted file mode 100644
index 0acefe69c533..000000000000
--- a/multimedia/p5-Umph-Prompt/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Umph::Prompt is an interactive prompt module for umph and similar programs.
-
-WWW: http://code.google.com/p/umph/
-WWW: http://repo.or.cz/w/umph-prompt.git
diff --git a/multimedia/p5-Umph-Prompt/pkg-plist b/multimedia/p5-Umph-Prompt/pkg-plist
deleted file mode 100644
index 71f0cd3f610a..000000000000
--- a/multimedia/p5-Umph-Prompt/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-%%SITE_PERL%%/Umph/Prompt.pm
-%%PERL5_MAN3%%/Umph::Prompt.3.gz
diff --git a/multimedia/pHash/Makefile b/multimedia/pHash/Makefile
deleted file mode 100644
index 346e0734c3e4..000000000000
--- a/multimedia/pHash/Makefile
+++ /dev/null
@@ -1,60 +0,0 @@
-# Created by: Naram Qashat <cyberbotx@cyberbotx.com>
-
-PORTNAME= pHash
-PORTVERSION= 0.9.6
-PORTREVISION= 15
-CATEGORIES= multimedia devel
-MASTER_SITES= http://phash.org/releases/ \
- http://www.cyberbotx.com/pHash/
-
-MAINTAINER= cyberbotx@cyberbotx.com
-COMMENT= Open source perceptual hash library
-
-LICENSE= GPLv3+
-
-USES= compiler:c11 gmake libtool pathfix
-GNU_CONFIGURE= yes
-CONFIGURE_ENV= PTHREAD_LIBS="-lpthread"
-INSTALL_TARGET= install-strip
-USE_LDCONFIG= yes
-
-OPTIONS_DEFINE= DEBUG FFTW JPEG OPENMP PNG
-OPTIONS_MULTI= HASHING
-OPTIONS_MULTI_HASHING= AUDIO IMAGE VIDEO
-OPTIONS_DEFAULT= FFTW JPEG PNG AUDIO IMAGE VIDEO
-AUDIO_DESC= Enable audio hashing
-IMAGE_DESC= Enable image hashing
-VIDEO_DESC= Enable video hashing
-
-DEBUG_CONFIGURE_ENABLE= debug
-
-FFTW_CONFIGURE_WITH= fftw
-FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3
-
-JPEG_CONFIGURE_WITH= libjpeg
-JPEG_USES= jpeg
-
-OPENMP_CONFIGURE_ENABLE=openmp
-
-PNG_CONFIGURE_WITH= libpng
-PNG_LIB_DEPENDS= libpng.so:graphics/png
-
-AUDIO_CONFIGURE_ENABLE= audio-hash
-AUDIO_LIB_DEPENDS= libsndfile.so:audio/libsndfile \
- libsamplerate.so:audio/libsamplerate \
- libmpg123.so:audio/mpg123
-
-IMAGE_CONFIGURE_ENABLE= image-hash
-IMAGE_BUILD_DEPENDS= ${LOCALBASE}/include/CImg.h:graphics/cimg
-IMAGE_RUN_DEPENDS= ${LOCALBASE}/include/CImg.h:graphics/cimg
-
-VIDEO_CONFIGURE_ENABLE= video-hash
-VIDEO_BUILD_DEPENDS= ${LOCALBASE}/include/CImg.h:graphics/cimg
-VIDEO_RUN_DEPENDS= ${LOCALBASE}/include/CImg.h:graphics/cimg
-VIDEO_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-
-post-patch:
-# Avoid USES=autoreconf while keeping configure.ac patch for reference
- @${TOUCH} -r ${WRKSRC}/aclocal.m4 ${WRKSRC}/configure.ac
-
-.include <bsd.port.mk>
diff --git a/multimedia/pHash/distinfo b/multimedia/pHash/distinfo
deleted file mode 100644
index ccda48e78c3e..000000000000
--- a/multimedia/pHash/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pHash-0.9.6.tar.gz) = 3c8258a014f9c2491fb1153010984606805638a45d00498864968a9a30102935
-SIZE (pHash-0.9.6.tar.gz) = 1315965
diff --git a/multimedia/pHash/files/patch-configure b/multimedia/pHash/files/patch-configure
deleted file mode 100644
index 9d869267f69c..000000000000
--- a/multimedia/pHash/files/patch-configure
+++ /dev/null
@@ -1,20 +0,0 @@
---- configure.orig 2013-04-23 18:48:24 UTC
-+++ configure
-@@ -16584,7 +16584,7 @@ if ${ac_cv_lib_fftw3_fftw_plan_dft_r2c_1d+:} false; th
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
--LIBS="-lfftw3 $LIBS"
-+LIBS="-lfftw3 -lfftw3_threads $LIBS"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
-
-@@ -16615,7 +16615,7 @@ fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fftw3_fftw_plan_dft_r2c_1d" >&5
- $as_echo "$ac_cv_lib_fftw3_fftw_plan_dft_r2c_1d" >&6; }
- if test "x$ac_cv_lib_fftw3_fftw_plan_dft_r2c_1d" = xyes; then :
-- CPPFLAGS="$CPPFLAGS -Dcimg_use_fftw3" LIBS="$LIBS -lfftw3"
-+ CPPFLAGS="$CPPFLAGS -Dcimg_use_fftw3" LIBS="$LIBS -lfftw3 -lfftw3_threads"
- else
- if test "x$with_fftw" = "xyes"; then :
- as_fn_error $? "FFTW support requested but library not found" "$LINENO" 5
diff --git a/multimedia/pHash/files/patch-ffmpeg30 b/multimedia/pHash/files/patch-ffmpeg30
deleted file mode 100644
index d2e1ba48908b..000000000000
--- a/multimedia/pHash/files/patch-ffmpeg30
+++ /dev/null
@@ -1,139 +0,0 @@
---- configure.orig 2013-04-23 18:48:24 UTC
-+++ configure
-@@ -16009,9 +16009,9 @@ if test "x$enable_video_hash" != "xno";
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether FFmpeg is present" >&5
- $as_echo_n "checking whether FFmpeg is present... " >&6; }
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcodec_alloc_frame in -lavcodec" >&5
--$as_echo_n "checking for avcodec_alloc_frame in -lavcodec... " >&6; }
--if ${ac_cv_lib_avcodec_avcodec_alloc_frame+:} false; then :
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for avcodec_decode_video2 in -lavcodec" >&5
-+$as_echo_n "checking for avcodec_decode_video2 in -lavcodec... " >&6; }
-+if ${ac_cv_lib_avcodec_avcodec_decode_video2+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- ac_check_lib_save_LIBS=$LIBS
-@@ -16025,27 +16025,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_
- #ifdef __cplusplus
- extern "C"
- #endif
--char avcodec_alloc_frame ();
-+char avcodec_decode_video2 ();
- int
- main ()
- {
--return avcodec_alloc_frame ();
-+return avcodec_decode_video2 ();
- ;
- return 0;
- }
- _ACEOF
- if ac_fn_cxx_try_link "$LINENO"; then :
-- ac_cv_lib_avcodec_avcodec_alloc_frame=yes
-+ ac_cv_lib_avcodec_avcodec_decode_video2=yes
- else
-- ac_cv_lib_avcodec_avcodec_alloc_frame=no
-+ ac_cv_lib_avcodec_avcodec_decode_video2=no
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- LIBS=$ac_check_lib_save_LIBS
- fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avcodec_avcodec_alloc_frame" >&5
--$as_echo "$ac_cv_lib_avcodec_avcodec_alloc_frame" >&6; }
--if test "x$ac_cv_lib_avcodec_avcodec_alloc_frame" = xyes; then :
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_avcodec_avcodec_decode_video2" >&5
-+$as_echo "$ac_cv_lib_avcodec_avcodec_decode_video2" >&6; }
-+if test "x$ac_cv_lib_avcodec_avcodec_decode_video2" = xyes; then :
- cat >>confdefs.h <<_ACEOF
- #define HAVE_LIBAVCODEC 1
- _ACEOF
---- configure.ac.orig 2013-04-23 18:47:49 UTC
-+++ configure.ac
-@@ -122,7 +122,7 @@ fi])
- AC_DEFUN([AC_CHECK_FFMPEG],
- [
- AC_MSG_CHECKING([whether FFmpeg is present])
--AC_CHECK_LIB([avcodec], [avcodec_alloc_frame], [], [AC_MSG_ERROR([
-+AC_CHECK_LIB([avcodec], [avcodec_decode_video2], [], [AC_MSG_ERROR([
-
- *** libavcodec not found.
- You need FFmpeg. Get it at <http://ffmpeg.org/>])])
---- src/cimgffmpeg.cpp.orig 2012-11-23 20:58:01 UTC
-+++ src/cimgffmpeg.cpp
-@@ -39,11 +39,11 @@ void vfinfo_close(VFInfo *vfinfo){
- int ReadFrames(VFInfo *st_info, CImgList<uint8_t> *pFrameList, unsigned int low_index, unsigned int hi_index)
- {
- //target pixel format
-- PixelFormat ffmpeg_pixfmt;
-+ AVPixelFormat ffmpeg_pixfmt;
- if (st_info->pixelformat == 0)
-- ffmpeg_pixfmt = PIX_FMT_GRAY8;
-+ ffmpeg_pixfmt = AV_PIX_FMT_GRAY8;
- else
-- ffmpeg_pixfmt = PIX_FMT_RGB24;
-+ ffmpeg_pixfmt = AV_PIX_FMT_RGB24;
-
- st_info->next_index = low_index;
-
-@@ -100,12 +100,12 @@ int ReadFrames(VFInfo *st_info, CImgList
- AVFrame *pFrame;
-
- // Allocate video frame
-- pFrame=avcodec_alloc_frame();
-+ pFrame=av_frame_alloc();
- if (pFrame==NULL)
- return -1;
-
- // Allocate an AVFrame structure
-- AVFrame *pConvertedFrame = avcodec_alloc_frame();
-+ AVFrame *pConvertedFrame = av_frame_alloc();
- if(pConvertedFrame==NULL)
- return -1;
-
-@@ -123,7 +123,7 @@ int ReadFrames(VFInfo *st_info, CImgList
- int size = 0;
-
-
-- int channels = ffmpeg_pixfmt == PIX_FMT_GRAY8 ? 1 : 3;
-+ int channels = ffmpeg_pixfmt == AV_PIX_FMT_GRAY8 ? 1 : 3;
-
- AVPacket packet;
- int result = 1;
-@@ -189,11 +189,11 @@ int ReadFrames(VFInfo *st_info, CImgList
-
- int NextFrames(VFInfo *st_info, CImgList<uint8_t> *pFrameList)
- {
-- PixelFormat ffmpeg_pixfmt;
-+ AVPixelFormat ffmpeg_pixfmt;
- if (st_info->pixelformat == 0)
-- ffmpeg_pixfmt = PIX_FMT_GRAY8;
-+ ffmpeg_pixfmt = AV_PIX_FMT_GRAY8;
- else
-- ffmpeg_pixfmt = PIX_FMT_RGB24;
-+ ffmpeg_pixfmt = AV_PIX_FMT_RGB24;
-
- if (st_info->pFormatCtx == NULL)
- {
-@@ -254,10 +254,10 @@ int NextFrames(VFInfo *st_info, CImgList
- AVFrame *pFrame;
-
- // Allocate video frame
-- pFrame=avcodec_alloc_frame();
-+ pFrame=av_frame_alloc();
-
- // Allocate an AVFrame structure
-- AVFrame *pConvertedFrame = avcodec_alloc_frame();
-+ AVFrame *pConvertedFrame = av_frame_alloc();
- if(pConvertedFrame==NULL){
- return -1;
- }
-@@ -287,7 +287,7 @@ int NextFrames(VFInfo *st_info, CImgList
- break;
- if(packet.stream_index == st_info->videoStream) {
-
-- int channels = ffmpeg_pixfmt == PIX_FMT_GRAY8 ? 1 : 3;
-+ int channels = ffmpeg_pixfmt == AV_PIX_FMT_GRAY8 ? 1 : 3;
- AVPacket avpkt;
- av_init_packet(&avpkt);
- avpkt.data = packet.data;
diff --git a/multimedia/pHash/files/patch-src_pHash.cpp b/multimedia/pHash/files/patch-src_pHash.cpp
deleted file mode 100644
index 5528ff0e505f..000000000000
--- a/multimedia/pHash/files/patch-src_pHash.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
---- src/pHash.cpp.orig 2013-04-13 17:23:12 UTC
-+++ src/pHash.cpp
-@@ -34,14 +34,18 @@
- int ph_num_threads()
- {
- int numCPU = 1;
--#ifdef __GLIBC__
-+#ifdef _SC_NPROCESSORS_ONLN
- numCPU = sysconf( _SC_NPROCESSORS_ONLN );
- #else
- int mib[2];
- size_t len;
-
- mib[0] = CTL_HW;
-+#ifdef HW_AVAILCPU
- mib[1] = HW_AVAILCPU;
-+#else
-+ mib[1] = HW_NCPU;
-+#endif
-
- sysctl(mib, 2, &numCPU, &len, NULL, 0);
-
diff --git a/multimedia/pHash/pkg-descr b/multimedia/pHash/pkg-descr
deleted file mode 100644
index f7373cd7321e..000000000000
--- a/multimedia/pHash/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-pHash is an open source software library released under the GPLv3 license that
-implements several perceptual hashing algorithms, and provides a C-like API to
-use those functions in your own programs. pHash itself is written in C++.
-
-WWW: http://phash.org/
diff --git a/multimedia/pHash/pkg-plist b/multimedia/pHash/pkg-plist
deleted file mode 100644
index 13814d437c3a..000000000000
--- a/multimedia/pHash/pkg-plist
+++ /dev/null
@@ -1,9 +0,0 @@
-include/audiophash.h
-include/pHash-config.h
-include/pHash.h
-include/ph_fft.h
-lib/libpHash.a
-lib/libpHash.so
-lib/libpHash.so.0
-lib/libpHash.so.0.0.0
-libdata/pkgconfig/pHash.pc
diff --git a/multimedia/peek/Makefile b/multimedia/peek/Makefile
index cfc5c8621ddd..27a212897e3e 100644
--- a/multimedia/peek/Makefile
+++ b/multimedia/peek/Makefile
@@ -1,18 +1,19 @@
PORTNAME= peek
DISTVERSION= 1.5.1
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= Simple animated GIF screen recorder with an easy to use interface
+WWW= https://github.com/phw/peek
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= valac:lang/vala
LIB_DEPENDS= libkeybinder-3.0.so:x11/keybinder-gtk3
RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
-USES= gettext-tools gnome meson pkgconfig python:build
+USES= gettext-tools gnome meson pkgconfig python:build vala:build
USE_GITHUB= yes
GH_ACCOUNT= phw
USE_GNOME= cairo glib20 gtk30 pango
diff --git a/multimedia/peek/pkg-descr b/multimedia/peek/pkg-descr
index 436db8458209..200b2ffe343d 100644
--- a/multimedia/peek/pkg-descr
+++ b/multimedia/peek/pkg-descr
@@ -11,5 +11,3 @@ the screen for creating GIF animations or silent WebM or MP4 videos.
Peek runs on X11 or inside a GNOME Shell Wayland session using XWayland. Support
for more Wayland desktops might be added in the future (see FAQs below).
-
-WWW: https://github.com/phw/peek
diff --git a/multimedia/phonon-designerplugin/Makefile b/multimedia/phonon-designerplugin/Makefile
index 0d50f1db50f7..efe794e3b343 100644
--- a/multimedia/phonon-designerplugin/Makefile
+++ b/multimedia/phonon-designerplugin/Makefile
@@ -1,5 +1,5 @@
PORTNAME= phonon
-DISTVERSION= 4.11.1
+DISTVERSION= 4.12.0
CATEGORIES= multimedia kde
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION}
DIST_SUBDIR= KDE/phonon
@@ -7,19 +7,19 @@ PKGNAMESUFFIX= -designerplugin-qt5
MAINTAINER= kde@FreeBSD.org
COMMENT= Qt Designer plugin for Phonon
+WWW= https://userbase.kde.org/Phonon
LICENSE= LGPL21
USES= cmake:insource compiler:c++11-lang kde:5 qt:5 tar:xz
-USE_KDE= ecm
-USE_QT= core designer gui phonon4 widgets xml \
- buildtools_build qmake_build
-CMAKE_ON= PHONON_BUILD_PHONON4QT5
-PLIST_FILES= ${QT_PLUGINDIR_REL}/designer/phononwidgets.so
+USE_KDE= phonon ecm:build
+USE_QT= core designer gui uiplugin widgets xml \
+ buildtools:build qmake:build
+CMAKE_ON= PHONON_BUILD_QT5
+CMAKE_OFF= PHONON_BUILD_QT6
+PLIST_FILES= ${QT_PLUGINDIR_REL}/designer/phonon4qt5widgets.so
-CMAKE_ARGS= -DPHONON_QT_PLUGIN_INSTALL_DIR=${PREFIX}/${QT_PLUGINDIR_REL}/designer
-
-BUILD_WRKSRC= ${WRKSRC}/designer
+BUILD_WRKSRC= ${WRKSRC}/designer5
INSTALL_WRKSRC= ${BUILD_WRKSRC}
DISTINFO_FILE= ${.CURDIR:H}/phonon/distinfo
diff --git a/multimedia/phonon-designerplugin/files/patch-designer_CMakeLists.txt b/multimedia/phonon-designerplugin/files/patch-designer_CMakeLists.txt
new file mode 100644
index 000000000000..ccf0608be24f
--- /dev/null
+++ b/multimedia/phonon-designerplugin/files/patch-designer_CMakeLists.txt
@@ -0,0 +1,11 @@
+Find installed Phonon library and link to it instead of building
+another internal copy and linking to that.
+
+--- designer/CMakeLists.txt.orig 2023-11-03 23:37:02 UTC
++++ designer/CMakeLists.txt
+@@ -1,3 +1,5 @@
++find_package(Phonon4Qt5 ${PROJECT_VERSION} EXACT REQUIRED)
++
+ set(phononwidgetsplugin_SRCS
+ phononcollection.cpp
+ seeksliderplugin.cpp
diff --git a/multimedia/phonon-designerplugin/pkg-descr b/multimedia/phonon-designerplugin/pkg-descr
index f060aee2af45..8493e996332d 100644
--- a/multimedia/phonon-designerplugin/pkg-descr
+++ b/multimedia/phonon-designerplugin/pkg-descr
@@ -1,5 +1,3 @@
Phonon is the framework responsible for an ubiquitous multimedia
experience in KDE Software Compilation 4 and Plasma Desktop.
This port installs Qt Designer plugin for Phonon.
-
-WWW: http://phonon.kde.org
diff --git a/multimedia/phonon-gstreamer/Makefile b/multimedia/phonon-gstreamer/Makefile
deleted file mode 100644
index 8b95d560720b..000000000000
--- a/multimedia/phonon-gstreamer/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Created by: Martin Wilke <miwi@FreeBSD.org>
-
-PORTNAME= phonon
-DISTVERSION= 4.10.0
-PORTREVISION= 4
-CATEGORIES= multimedia kde
-MASTER_SITES= KDE/stable/${PORTNAME}/${PORTNAME}-backend-${PHONON_PLUGIN}/${DISTVERSION}
-DISTNAME= ${PORTNAME}-backend-${PHONON_PLUGIN}-${DISTVERSION}
-DIST_SUBDIR= KDE/phonon
-PKGNAMESUFFIX= -${PHONON_PLUGIN}-qt5
-
-MAINTAINER= kde@FreeBSD.org
-COMMENT= GStreamer backend for Phonon
-
-LICENSE= LGPL21
-
-USES= cmake compiler:c++11-lang gl gnome gstreamer kde:5 pkgconfig qt:5 tar:xz xorg
-USE_GL= gl
-USE_GNOME= glib20 libxml2
-USE_KDE= ecm
-USE_QT= core gui opengl phonon4 widgets x11extras \
- buildtools_build qmake_build
-USE_XORG= x11
-
-CMAKE_ON= PHONON_BUILD_PHONON4QT5
-
-SUB_FILES= pkg-message
-
-OPTIONS_DEFINE= GST_PLUGINS
-GST_PLUGINS_DESC= Install GStreamer plugins
-GST_PLUGINS_USE= GSTREAMER=bad,good,ugly
-
-PHONON_PLUGIN= gstreamer
-WRKSRC= ${WRKDIR}/${PORTNAME}-backend-${PHONON_PLUGIN}-${DISTVERSION}
-
-.include <bsd.port.mk>
diff --git a/multimedia/phonon-gstreamer/distinfo b/multimedia/phonon-gstreamer/distinfo
deleted file mode 100644
index 68a0be9a6e5e..000000000000
--- a/multimedia/phonon-gstreamer/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1567018553
-SHA256 (KDE/phonon/phonon-backend-gstreamer-4.10.0.tar.xz) = c5871835521d015ef2ad1276b1f58340d946c2903466337f3170bac3c58d61f2
-SIZE (KDE/phonon/phonon-backend-gstreamer-4.10.0.tar.xz) = 98532
diff --git a/multimedia/phonon-gstreamer/files/pkg-message.in b/multimedia/phonon-gstreamer/files/pkg-message.in
deleted file mode 100644
index 31778b632ace..000000000000
--- a/multimedia/phonon-gstreamer/files/pkg-message.in
+++ /dev/null
@@ -1,9 +0,0 @@
-[
-{ type: install
- message: <<EOM
-You'll need to install some GStreamer plugins to make Phonon able to
-play something via this backend: multimedia/gstreamer1-plugins-all
-will let you choose among all of them.
-EOM
-}
-]
diff --git a/multimedia/phonon-gstreamer/pkg-descr b/multimedia/phonon-gstreamer/pkg-descr
deleted file mode 100644
index 5a9b35d670d3..000000000000
--- a/multimedia/phonon-gstreamer/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Phonon is the multimedia framework for KDE Software Compilation.
-This port provides the GStreamer backend.
-
-WWW: http://phonon.kde.org
diff --git a/multimedia/phonon-gstreamer/pkg-plist b/multimedia/phonon-gstreamer/pkg-plist
deleted file mode 100644
index 5ba84176f9d8..000000000000
--- a/multimedia/phonon-gstreamer/pkg-plist
+++ /dev/null
@@ -1,65 +0,0 @@
-%%QT_PLUGINDIR%%/phonon4qt5_backend/phonon_gstreamer.so
-share/icons/hicolor/128x128/apps/phonon-gstreamer.png
-share/icons/hicolor/16x16/apps/phonon-gstreamer.png
-share/icons/hicolor/22x22/apps/phonon-gstreamer.png
-share/icons/hicolor/48x48/apps/phonon-gstreamer.png
-share/icons/hicolor/64x64/apps/phonon-gstreamer.png
-share/icons/hicolor/scalable/apps/phonon-gstreamer.svg
-share/locale/ar/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ast/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/bg/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/bs/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ca/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ca@valencia/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/cs/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/da/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/de/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/el/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/en_GB/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/eo/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/es/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/et/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/eu/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/fi/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/fr/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ga/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/gl/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/he/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/hr/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/hsb/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/hu/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/id/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/is/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/it/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ja/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/kk/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ko/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/lt/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/lv/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/mai/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/mr/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/nb/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/nds/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/nl/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/nn/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/pa/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/pl/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/pt/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/pt_BR/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ro/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ru/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/se/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sk/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sl/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sq/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sr/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sr@ijekavian/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sr@ijekavianlatin/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sr@latin/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/sv/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/th/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/tr/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/ug/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/uk/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/zh_CN/LC_MESSAGES/phonon_gstreamer_qt.qm
-share/locale/zh_TW/LC_MESSAGES/phonon_gstreamer_qt.qm
diff --git a/multimedia/phonon-vlc/Makefile b/multimedia/phonon-vlc/Makefile
index dae79973df4a..c1196ab69ca2 100644
--- a/multimedia/phonon-vlc/Makefile
+++ b/multimedia/phonon-vlc/Makefile
@@ -1,26 +1,44 @@
PORTNAME= phonon
-DISTVERSION= 0.11.3
+DISTVERSION= 0.12.0
+PORTREVISION= 1
CATEGORIES= multimedia kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTNAME}-backend-${PHONON_PLUGIN}/${DISTVERSION}
-PKGNAMESUFFIX= -${PHONON_PLUGIN}
+PKGNAMESUFFIX= -${PHONON_PLUGIN}-${FLAVOR}
DISTNAME= ${PORTNAME}-backend-${PHONON_PLUGIN}-${DISTVERSION}
DIST_SUBDIR= KDE/phonon
MAINTAINER= kde@FreeBSD.org
COMMENT= VLC backend for Phonon
+WWW= https://userbase.kde.org/Phonon
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING.LIB
+FLAVORS= qt5 qt6
+FLAVOR?= qt5
+
LIB_DEPENDS= libvlc.so:multimedia/vlc
-USES= cmake pkgconfig tar:xz
+USES= cmake compiler:c++11-lang kde:${FLAVOR:S/qt//} pkgconfig \
+ qt:${FLAVOR:S/qt//} tar:xz
+USE_KDE= phonon ecm:build
+USE_QT= ${_USE_QT_${FLAVOR}}
+
+CMAKE_ON= ${_CMAKE_ON_${FLAVOR}}
+CMAKE_OFF= ${_CMAKE_OFF_${FLAVOR}}
+
+_CMAKE_ON_qt5= PHONON_BUILD_QT5
+_CMAKE_ON_qt6= PHONON_BUILD_QT6
+_CMAKE_OFF_qt5= PHONON_BUILD_QT6
+_CMAKE_OFF_qt6= PHONON_BUILD_QT5
+
+_USE_QT_qt5= core gui widgets buildtools:build qmake:build
+_USE_QT_qt6= base 5compat tools
-USES+= compiler:c++11-lang kde:5 qt:5
-USE_KDE= ecm
-USE_QT= core gui widgets phonon4 \
- buildtools_build qmake_build
-CMAKE_ON= PHONON_BUILD_PHONON4QT5
+_QT5_ONLY_qt5= #
+_QT5_ONLY_qt6= "@comment "
+PLIST_SUB= QT5_ONLY=${_QT5_ONLY_${FLAVOR}} \
+ QT_VER=${FLAVOR:S/qt//} \
PHONON_PLUGIN= vlc
diff --git a/multimedia/phonon-vlc/distinfo b/multimedia/phonon-vlc/distinfo
index 1d641405bf70..b4028a1e4d31 100644
--- a/multimedia/phonon-vlc/distinfo
+++ b/multimedia/phonon-vlc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1620553703
-SHA256 (KDE/phonon/phonon-backend-vlc-0.11.3.tar.xz) = 5e69fdeccb060c7e6b5924cef2e65bee5a08ace4127005b95344ed3077dc6397
-SIZE (KDE/phonon/phonon-backend-vlc-0.11.3.tar.xz) = 67196
+TIMESTAMP = 1699056494
+SHA256 (KDE/phonon/phonon-backend-vlc-0.12.0.tar.xz) = 338479dc451e4b94b3ca5b578def741dcf82f5c626a2807d36235be2dce7c9a5
+SIZE (KDE/phonon/phonon-backend-vlc-0.12.0.tar.xz) = 71664
diff --git a/multimedia/phonon-vlc/pkg-descr b/multimedia/phonon-vlc/pkg-descr
index 3baa54c10511..69923584f473 100644
--- a/multimedia/phonon-vlc/pkg-descr
+++ b/multimedia/phonon-vlc/pkg-descr
@@ -1,4 +1,2 @@
Phonon is the multimedia framework for KDE Software Compilation.
This port provides the VLC backend.
-
-WWW: https://invent.kde.org/libraries/phonon-vlc
diff --git a/multimedia/phonon-vlc/pkg-plist b/multimedia/phonon-vlc/pkg-plist
index 215a721c3275..24ca1b52dc7e 100644
--- a/multimedia/phonon-vlc/pkg-plist
+++ b/multimedia/phonon-vlc/pkg-plist
@@ -1,30 +1,55 @@
-%%QT_PLUGINDIR%%/phonon4qt5_backend/phonon_vlc.so
-share/locale/ca/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/ca@valencia/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/cs/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/da/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/de/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/en_GB/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/es/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/et/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/eu/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/fi/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/fr/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/gl/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/hu/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/id/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/it/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/ko/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/nl/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/nn/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/pl/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/pt/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/pt_BR/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/ro/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/ru/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/sk/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/sl/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/sv/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/uk/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/zh_CN/LC_MESSAGES/phonon_vlc_qt.qm
-share/locale/zh_TW/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT_PLUGINDIR%%/phonon4qt%%QT_VER%%_backend/phonon_vlc_qt%%QT_VER%%.so
+%%QT5_ONLY%%share/locale/az/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/bg/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/bs/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ca/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ca@valencia/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/cs/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/da/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/de/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/el/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/en_GB/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/eo/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/es/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/et/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/eu/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/fi/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/fr/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ga/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/gl/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/hi/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/hu/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ia/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/id/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/is/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/it/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ja/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ka/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/kk/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ko/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/lt/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/mr/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/nb/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/nds/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/nl/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/nn/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/pa/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/pl/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/pt/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/pt_BR/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ro/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ru/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sk/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sl/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sr/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sr@ijekavian/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sr@ijekavianlatin/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sr@latin/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/sv/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/tg/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/tr/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/ug/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/uk/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/vi/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/zh_CN/LC_MESSAGES/phonon_vlc_qt.qm
+%%QT5_ONLY%%share/locale/zh_TW/LC_MESSAGES/phonon_vlc_qt.qm
diff --git a/multimedia/phonon/Makefile b/multimedia/phonon/Makefile
index 2b4f20b5a882..93c6dd01ab92 100644
--- a/multimedia/phonon/Makefile
+++ b/multimedia/phonon/Makefile
@@ -1,36 +1,49 @@
-# Created by: Martin Wilke <miwi@FreeBSD.org>
-
PORTNAME= phonon
-DISTVERSION= 4.11.1
+DISTVERSION= 4.12.0
+PORTREVISION= 2
CATEGORIES= multimedia kde
MASTER_SITES= KDE/stable/${PORTNAME}/${DISTVERSION}
DIST_SUBDIR= KDE/phonon
-PKGNAMESUFFIX= -qt5
+PKGNAMESUFFIX= -${FLAVOR}
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE multimedia framework
+WWW= https://userbase.kde.org/Phonon
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING.LIB
-USES= cmake compiler:c++11-lang kde:5 pathfix qt:5 tar:xz
-CMAKE_ON= PHONON_INSTALL_QT_EXTENSIONS_INTO_SYSTEM_QT \
- PHONON_NO_PLATFORMPLUGIN \
- PHONON_BUILD_PHONON4QT5
-CMAKE_OFF= PHONON_BUILD_DESIGNER_PLUGIN \
- PHONON_BUILD_DECLARATIVE_PLUGIN
+FLAVORS= qt5 qt6
+FLAVOR?= qt5
+
+USES= cmake compiler:c++11-lang kde:${FLAVOR:S/qt//} pathfix \
+ qt:${FLAVOR:S/qt//} tar:xz
+CMAKE_ON= ${_CMAKE_ON_${FLAVOR}} PHONON_NO_PLATFORMPLUGIN
+CMAKE_OFF= ${_CMAKE_OFF_${FLAVOR}} PHONON_BUILD_DESIGNER_PLUGIN
USE_LDCONFIG= yes
-USE_KDE= ecm
-USE_QT= core dbus gui opengl widgets \
- buildtools_build qmake_build
+USE_KDE= ecm:build
+USE_QT= ${_USE_QT_${FLAVOR}}
+
+_USE_QT_qt5= core gui widgets buildtools:build qmake:build
+_USE_QT_qt6= 5compat base tools
+_CMAKE_ON_qt5= PHONON_BUILD_QT5
+_CMAKE_ON_qt6= PHONON_BUILD_QT6
+_CMAKE_OFF_qt5= PHONON_BUILD_QT6
+_CMAKE_OFF_qt6= PHONON_BUILD_QT5 PHONON_BUILD_SETTINGS
+
+_QT5_ONLY_qt5= #
+_QT5_ONLY_qt6= "@comment "
-PLIST_SUB= SHLIB_VER=${DISTVERSION}
+PLIST= ${.CURDIR}/pkg-plist.${FLAVOR}
+PLIST_SUB= QT5_ONLY=${_QT5_ONLY_${FLAVOR}} \
+ QT_VER=${FLAVOR:S/qt//} \
+ SHLIB_VER=${DISTVERSION}
OPTIONS_DEFINE= PULSEAUDIO
-PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
-PULSEAUDIO_USES= gnome
-PULSEAUDIO_USE= GNOME=glib20
-PULSEAUDIO_CMAKE_BOOL= WITH_PulseAudio
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_USES= gnome
+PULSEAUDIO_USE= GNOME=glib20
+PULSEAUDIO_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_PulseAudio
.include <bsd.port.mk>
diff --git a/multimedia/phonon/distinfo b/multimedia/phonon/distinfo
index 6048159a51a5..a207d6a876c6 100644
--- a/multimedia/phonon/distinfo
+++ b/multimedia/phonon/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1571221035
-SHA256 (KDE/phonon/phonon-4.11.1.tar.xz) = b4431ea2600df8137a717741ad9ebc7f7ec1649fa3e138541d8f42597144de2d
-SIZE (KDE/phonon/phonon-4.11.1.tar.xz) = 314732
+TIMESTAMP = 1699049736
+SHA256 (KDE/phonon/phonon-4.12.0.tar.xz) = 3287ffe0fbcc2d4aa1363f9e15747302d0b080090fe76e5f211d809ecb43f39a
+SIZE (KDE/phonon/phonon-4.12.0.tar.xz) = 408996
diff --git a/multimedia/phonon/pkg-descr b/multimedia/phonon/pkg-descr
index cf63a3a9fb80..b6dc96c81257 100644
--- a/multimedia/phonon/pkg-descr
+++ b/multimedia/phonon/pkg-descr
@@ -1,4 +1,2 @@
Phonon is the framework responsible for an ubiquitous multimedia
experience in KDE Software Compilation 4 and KDe Plasma Desktop.
-
-WWW: https://phonon.kde.org/
diff --git a/multimedia/phonon/pkg-message b/multimedia/phonon/pkg-message
index bb82939373ee..b220b1f3ca39 100644
--- a/multimedia/phonon/pkg-message
+++ b/multimedia/phonon/pkg-message
@@ -2,7 +2,6 @@
{ type: install
message: <<EOM
Please, consider installing backends for Phonon:
-- multimedia/phonon-gstreamer GStreamer backend
- multimedia/phonon-vlc VLC backend
EOM
}
diff --git a/multimedia/phonon/pkg-plist b/multimedia/phonon/pkg-plist
deleted file mode 100644
index 6a1993112d05..000000000000
--- a/multimedia/phonon/pkg-plist
+++ /dev/null
@@ -1,222 +0,0 @@
-bin/phononsettings
-include/phonon4qt5/KDE/Phonon/AbstractAudioOutput
-include/phonon4qt5/KDE/Phonon/AbstractMediaStream
-include/phonon4qt5/KDE/Phonon/AbstractVideoOutput
-include/phonon4qt5/KDE/Phonon/AddonInterface
-include/phonon4qt5/KDE/Phonon/AudioDevice
-include/phonon4qt5/KDE/Phonon/AudioDeviceEnumerator
-include/phonon4qt5/KDE/Phonon/AudioOutput
-include/phonon4qt5/KDE/Phonon/AudioOutputDevice
-include/phonon4qt5/KDE/Phonon/AudioOutputDeviceModel
-include/phonon4qt5/KDE/Phonon/AudioOutputInterface
-include/phonon4qt5/KDE/Phonon/BackendCapabilities
-include/phonon4qt5/KDE/Phonon/BackendInterface
-include/phonon4qt5/KDE/Phonon/Effect
-include/phonon4qt5/KDE/Phonon/EffectDescription
-include/phonon4qt5/KDE/Phonon/EffectDescriptionModel
-include/phonon4qt5/KDE/Phonon/EffectInterface
-include/phonon4qt5/KDE/Phonon/EffectParameter
-include/phonon4qt5/KDE/Phonon/EffectWidget
-include/phonon4qt5/KDE/Phonon/Experimental/AbstractVideoDataOutput
-include/phonon4qt5/KDE/Phonon/Experimental/AudioDataOutput
-include/phonon4qt5/KDE/Phonon/Experimental/SnapshotInterface
-include/phonon4qt5/KDE/Phonon/Experimental/VideoDataOutput
-include/phonon4qt5/KDE/Phonon/Experimental/VideoDataOutputInterface
-include/phonon4qt5/KDE/Phonon/Experimental/VideoFrame
-include/phonon4qt5/KDE/Phonon/Experimental/VideoFrame2
-include/phonon4qt5/KDE/Phonon/Experimental/Visualization
-include/phonon4qt5/KDE/Phonon/Global
-include/phonon4qt5/KDE/Phonon/MediaController
-include/phonon4qt5/KDE/Phonon/MediaNode
-include/phonon4qt5/KDE/Phonon/MediaObject
-include/phonon4qt5/KDE/Phonon/MediaObjectInterface
-include/phonon4qt5/KDE/Phonon/MediaSource
-include/phonon4qt5/KDE/Phonon/ObjectDescription
-include/phonon4qt5/KDE/Phonon/ObjectDescriptionModel
-include/phonon4qt5/KDE/Phonon/Path
-include/phonon4qt5/KDE/Phonon/PlatformPlugin
-include/phonon4qt5/KDE/Phonon/SeekSlider
-include/phonon4qt5/KDE/Phonon/StreamInterface
-include/phonon4qt5/KDE/Phonon/VideoPlayer
-include/phonon4qt5/KDE/Phonon/VideoWidget
-include/phonon4qt5/KDE/Phonon/VideoWidgetInterface
-include/phonon4qt5/KDE/Phonon/VolumeFaderEffect
-include/phonon4qt5/KDE/Phonon/VolumeFaderInterface
-include/phonon4qt5/KDE/Phonon/VolumeSlider
-include/phonon4qt5/phonon/AbstractAudioOutput
-include/phonon4qt5/phonon/AbstractMediaStream
-include/phonon4qt5/phonon/AbstractVideoOutput
-include/phonon4qt5/phonon/AddonInterface
-include/phonon4qt5/phonon/AudioCaptureDevice
-include/phonon4qt5/phonon/AudioCaptureDeviceModel
-include/phonon4qt5/phonon/AudioChannelDescription
-include/phonon4qt5/phonon/AudioChannelDescriptionModel
-include/phonon4qt5/phonon/AudioDataOutput
-include/phonon4qt5/phonon/AudioOutput
-include/phonon4qt5/phonon/AudioOutputDevice
-include/phonon4qt5/phonon/AudioOutputDeviceModel
-include/phonon4qt5/phonon/AudioOutputInterface
-include/phonon4qt5/phonon/AudioOutputInterface40
-include/phonon4qt5/phonon/AudioOutputInterface42
-include/phonon4qt5/phonon/AvCapture
-include/phonon4qt5/phonon/BackendCapabilities
-include/phonon4qt5/phonon/BackendInterface
-include/phonon4qt5/phonon/Effect
-include/phonon4qt5/phonon/EffectDescription
-include/phonon4qt5/phonon/EffectDescriptionModel
-include/phonon4qt5/phonon/EffectInterface
-include/phonon4qt5/phonon/EffectParameter
-include/phonon4qt5/phonon/EffectWidget
-include/phonon4qt5/phonon/Global
-include/phonon4qt5/phonon/GlobalDescriptionContainer
-include/phonon4qt5/phonon/MediaController
-include/phonon4qt5/phonon/MediaNode
-include/phonon4qt5/phonon/MediaObject
-include/phonon4qt5/phonon/MediaObjectInterface
-include/phonon4qt5/phonon/MediaSource
-include/phonon4qt5/phonon/Mrl
-include/phonon4qt5/phonon/ObjectDescription
-include/phonon4qt5/phonon/ObjectDescriptionData
-include/phonon4qt5/phonon/ObjectDescriptionModel
-include/phonon4qt5/phonon/ObjectDescriptionModelData
-include/phonon4qt5/phonon/Path
-include/phonon4qt5/phonon/PlatformPlugin
-include/phonon4qt5/phonon/SeekSlider
-include/phonon4qt5/phonon/StreamInterface
-include/phonon4qt5/phonon/SubtitleDescription
-include/phonon4qt5/phonon/SubtitleDescriptionModel
-include/phonon4qt5/phonon/VideoCaptureDevice
-include/phonon4qt5/phonon/VideoCaptureDeviceModel
-include/phonon4qt5/phonon/VideoPlayer
-include/phonon4qt5/phonon/VideoWidget
-include/phonon4qt5/phonon/VideoWidgetInterface
-include/phonon4qt5/phonon/VideoWidgetInterface44
-include/phonon4qt5/phonon/VideoWidgetInterfaceLatest
-include/phonon4qt5/phonon/VolumeFaderEffect
-include/phonon4qt5/phonon/VolumeFaderInterface
-include/phonon4qt5/phonon/VolumeSlider
-include/phonon4qt5/phonon/abstractaudiooutput.h
-include/phonon4qt5/phonon/abstractmediastream.h
-include/phonon4qt5/phonon/abstractvideooutput.h
-include/phonon4qt5/phonon/addoninterface.h
-include/phonon4qt5/phonon/audiodataoutput.h
-include/phonon4qt5/phonon/audiodataoutputinterface.h
-include/phonon4qt5/phonon/audiooutput.h
-include/phonon4qt5/phonon/audiooutputinterface.h
-include/phonon4qt5/phonon/backendcapabilities.h
-include/phonon4qt5/phonon/backendinterface.h
-include/phonon4qt5/phonon/effect.h
-include/phonon4qt5/phonon/effectinterface.h
-include/phonon4qt5/phonon/effectparameter.h
-include/phonon4qt5/phonon/effectwidget.h
-include/phonon4qt5/phonon/experimental/abstractaudiodataoutput.h
-include/phonon4qt5/phonon/experimental/abstractvideodataoutput.h
-include/phonon4qt5/phonon/experimental/audiodataoutput.h
-include/phonon4qt5/phonon/experimental/audiodataoutputinterface.h
-include/phonon4qt5/phonon/experimental/audioformat.h
-include/phonon4qt5/phonon/experimental/avcapture.h
-include/phonon4qt5/phonon/experimental/avcaptureinterface.h
-include/phonon4qt5/phonon/experimental/backendcapabilities.h
-include/phonon4qt5/phonon/experimental/backendinterface.h
-include/phonon4qt5/phonon/experimental/export.h
-include/phonon4qt5/phonon/experimental/globalconfig.h
-include/phonon4qt5/phonon/experimental/mediasource.h
-include/phonon4qt5/phonon/experimental/objectdescription.h
-include/phonon4qt5/phonon/experimental/packet.h
-include/phonon4qt5/phonon/experimental/packetpool.h
-include/phonon4qt5/phonon/experimental/phononnamespace.h
-include/phonon4qt5/phonon/experimental/snapshotinterface.h
-include/phonon4qt5/phonon/experimental/videodataoutput.h
-include/phonon4qt5/phonon/experimental/videodataoutput2.h
-include/phonon4qt5/phonon/experimental/videodataoutputinterface.h
-include/phonon4qt5/phonon/experimental/videoframe.h
-include/phonon4qt5/phonon/experimental/videoframe2.h
-include/phonon4qt5/phonon/experimental/videowidget.h
-include/phonon4qt5/phonon/experimental/visualization.h
-include/phonon4qt5/phonon/globalconfig.h
-include/phonon4qt5/phonon/globaldescriptioncontainer.h
-include/phonon4qt5/phonon/mediacontroller.h
-include/phonon4qt5/phonon/medianode.h
-include/phonon4qt5/phonon/mediaobject.h
-include/phonon4qt5/phonon/mediaobjectinterface.h
-include/phonon4qt5/phonon/mediasource.h
-include/phonon4qt5/phonon/mrl.h
-include/phonon4qt5/phonon/objectdescription.h
-include/phonon4qt5/phonon/objectdescriptionmodel.h
-include/phonon4qt5/phonon/path.h
-include/phonon4qt5/phonon/phonon_export.h
-include/phonon4qt5/phonon/phonon_version.h
-include/phonon4qt5/phonon/phonondefs.h
-include/phonon4qt5/phonon/phononnamespace.h
-include/phonon4qt5/phonon/platformplugin.h
-include/phonon4qt5/phonon/pulsesupport.h
-include/phonon4qt5/phonon/seekslider.h
-include/phonon4qt5/phonon/streaminterface.h
-include/phonon4qt5/phonon/videoplayer.h
-include/phonon4qt5/phonon/videowidget.h
-include/phonon4qt5/phonon/videowidgetinterface.h
-include/phonon4qt5/phonon/volumefadereffect.h
-include/phonon4qt5/phonon/volumefaderinterface.h
-include/phonon4qt5/phonon/volumeslider.h
-lib/cmake/phonon4qt5/Phonon4Qt5Config.cmake
-lib/cmake/phonon4qt5/Phonon4Qt5ConfigVersion.cmake
-lib/cmake/phonon4qt5/Phonon4Qt5ExperimentalConfig.cmake
-lib/cmake/phonon4qt5/Phonon4Qt5ExperimentalConfigVersion.cmake
-lib/cmake/phonon4qt5/PhononExperimentalTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/phonon4qt5/PhononExperimentalTargets.cmake
-lib/cmake/phonon4qt5/PhononTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/phonon4qt5/PhononTargets.cmake
-lib/libphonon4qt5.so
-lib/libphonon4qt5.so.4
-lib/libphonon4qt5.so.%%SHLIB_VER%%
-lib/libphonon4qt5experimental.so
-lib/libphonon4qt5experimental.so.4
-lib/libphonon4qt5experimental.so.%%SHLIB_VER%%
-%%QT_MKSPECDIR%%/modules/qt_phonon4qt5.pri
-libdata/pkgconfig/phonon4qt5.pc
-share/locale/ca/LC_MESSAGES/libphonon_qt.qm
-share/locale/ca/LC_MESSAGES/phononsettings_qt.qm
-share/locale/cs/LC_MESSAGES/libphonon_qt.qm
-share/locale/cs/LC_MESSAGES/phononsettings_qt.qm
-share/locale/de/LC_MESSAGES/libphonon_qt.qm
-share/locale/de/LC_MESSAGES/phononsettings_qt.qm
-share/locale/en_GB/LC_MESSAGES/libphonon_qt.qm
-share/locale/en_GB/LC_MESSAGES/phononsettings_qt.qm
-share/locale/es/LC_MESSAGES/libphonon_qt.qm
-share/locale/es/LC_MESSAGES/phononsettings_qt.qm
-share/locale/eu/LC_MESSAGES/libphonon_qt.qm
-share/locale/eu/LC_MESSAGES/phononsettings_qt.qm
-share/locale/fi/LC_MESSAGES/libphonon_qt.qm
-share/locale/fi/LC_MESSAGES/phononsettings_qt.qm
-share/locale/fr/LC_MESSAGES/libphonon_qt.qm
-share/locale/fr/LC_MESSAGES/phononsettings_qt.qm
-share/locale/gl/LC_MESSAGES/libphonon_qt.qm
-share/locale/id/LC_MESSAGES/libphonon_qt.qm
-share/locale/id/LC_MESSAGES/phononsettings_qt.qm
-share/locale/it/LC_MESSAGES/libphonon_qt.qm
-share/locale/it/LC_MESSAGES/phononsettings_qt.qm
-share/locale/ko/LC_MESSAGES/libphonon_qt.qm
-share/locale/ko/LC_MESSAGES/phononsettings_qt.qm
-share/locale/nl/LC_MESSAGES/libphonon_qt.qm
-share/locale/nl/LC_MESSAGES/phononsettings_qt.qm
-share/locale/nn/LC_MESSAGES/libphonon_qt.qm
-share/locale/nn/LC_MESSAGES/phononsettings_qt.qm
-share/locale/pl/LC_MESSAGES/libphonon_qt.qm
-share/locale/pl/LC_MESSAGES/phononsettings_qt.qm
-share/locale/pt/LC_MESSAGES/libphonon_qt.qm
-share/locale/pt/LC_MESSAGES/phononsettings_qt.qm
-share/locale/pt_BR/LC_MESSAGES/libphonon_qt.qm
-share/locale/pt_BR/LC_MESSAGES/phononsettings_qt.qm
-share/locale/sk/LC_MESSAGES/libphonon_qt.qm
-share/locale/sk/LC_MESSAGES/phononsettings_qt.qm
-share/locale/sr/LC_MESSAGES/libphonon_qt.qm
-share/locale/sr@ijekavian/LC_MESSAGES/libphonon_qt.qm
-share/locale/sr@ijekavianlatin/LC_MESSAGES/libphonon_qt.qm
-share/locale/sr@latin/LC_MESSAGES/libphonon_qt.qm
-share/locale/sv/LC_MESSAGES/libphonon_qt.qm
-share/locale/sv/LC_MESSAGES/phononsettings_qt.qm
-share/locale/uk/LC_MESSAGES/libphonon_qt.qm
-share/locale/uk/LC_MESSAGES/phononsettings_qt.qm
-share/locale/zh_CN/LC_MESSAGES/libphonon_qt.qm
-share/locale/zh_CN/LC_MESSAGES/phononsettings_qt.qm
-share/phonon4qt5/buildsystem/FindPhononInternal.cmake
diff --git a/multimedia/phonon/pkg-plist.qt5 b/multimedia/phonon/pkg-plist.qt5
new file mode 100644
index 000000000000..b52fb5a72fe3
--- /dev/null
+++ b/multimedia/phonon/pkg-plist.qt5
@@ -0,0 +1,336 @@
+bin/phononsettings
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AbstractAudioOutput
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AbstractMediaStream
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AbstractVideoOutput
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AddonInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AudioDevice
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AudioDeviceEnumerator
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AudioOutput
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AudioOutputDevice
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AudioOutputDeviceModel
+include/phonon4qt%%QT_VER%%/KDE/Phonon/AudioOutputInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/BackendCapabilities
+include/phonon4qt%%QT_VER%%/KDE/Phonon/BackendInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Effect
+include/phonon4qt%%QT_VER%%/KDE/Phonon/EffectDescription
+include/phonon4qt%%QT_VER%%/KDE/Phonon/EffectDescriptionModel
+include/phonon4qt%%QT_VER%%/KDE/Phonon/EffectInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/EffectParameter
+include/phonon4qt%%QT_VER%%/KDE/Phonon/EffectWidget
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/AbstractVideoDataOutput
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/AudioDataOutput
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/SnapshotInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/VideoDataOutput
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/VideoDataOutputInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/VideoFrame
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/VideoFrame2
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Experimental/Visualization
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Global
+include/phonon4qt%%QT_VER%%/KDE/Phonon/MediaController
+include/phonon4qt%%QT_VER%%/KDE/Phonon/MediaNode
+include/phonon4qt%%QT_VER%%/KDE/Phonon/MediaObject
+include/phonon4qt%%QT_VER%%/KDE/Phonon/MediaObjectInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/MediaSource
+include/phonon4qt%%QT_VER%%/KDE/Phonon/ObjectDescription
+include/phonon4qt%%QT_VER%%/KDE/Phonon/ObjectDescriptionModel
+include/phonon4qt%%QT_VER%%/KDE/Phonon/Path
+include/phonon4qt%%QT_VER%%/KDE/Phonon/PlatformPlugin
+include/phonon4qt%%QT_VER%%/KDE/Phonon/SeekSlider
+include/phonon4qt%%QT_VER%%/KDE/Phonon/StreamInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/VideoPlayer
+include/phonon4qt%%QT_VER%%/KDE/Phonon/VideoWidget
+include/phonon4qt%%QT_VER%%/KDE/Phonon/VideoWidgetInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/VolumeFaderEffect
+include/phonon4qt%%QT_VER%%/KDE/Phonon/VolumeFaderInterface
+include/phonon4qt%%QT_VER%%/KDE/Phonon/VolumeSlider
+include/phonon4qt%%QT_VER%%/phonon/AbstractAudioOutput
+include/phonon4qt%%QT_VER%%/phonon/AbstractMediaStream
+include/phonon4qt%%QT_VER%%/phonon/AbstractVideoOutput
+include/phonon4qt%%QT_VER%%/phonon/AddonInterface
+include/phonon4qt%%QT_VER%%/phonon/AudioCaptureDevice
+include/phonon4qt%%QT_VER%%/phonon/AudioCaptureDeviceModel
+include/phonon4qt%%QT_VER%%/phonon/AudioChannelDescription
+include/phonon4qt%%QT_VER%%/phonon/AudioChannelDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/AudioDataOutput
+include/phonon4qt%%QT_VER%%/phonon/AudioOutput
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputDevice
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputDeviceModel
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputInterface
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputInterface40
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputInterface42
+include/phonon4qt%%QT_VER%%/phonon/AvCapture
+include/phonon4qt%%QT_VER%%/phonon/BackendCapabilities
+include/phonon4qt%%QT_VER%%/phonon/BackendInterface
+include/phonon4qt%%QT_VER%%/phonon/Effect
+include/phonon4qt%%QT_VER%%/phonon/EffectDescription
+include/phonon4qt%%QT_VER%%/phonon/EffectDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/EffectInterface
+include/phonon4qt%%QT_VER%%/phonon/EffectParameter
+include/phonon4qt%%QT_VER%%/phonon/EffectWidget
+include/phonon4qt%%QT_VER%%/phonon/Global
+include/phonon4qt%%QT_VER%%/phonon/GlobalDescriptionContainer
+include/phonon4qt%%QT_VER%%/phonon/MediaController
+include/phonon4qt%%QT_VER%%/phonon/MediaNode
+include/phonon4qt%%QT_VER%%/phonon/MediaObject
+include/phonon4qt%%QT_VER%%/phonon/MediaObjectInterface
+include/phonon4qt%%QT_VER%%/phonon/MediaSource
+include/phonon4qt%%QT_VER%%/phonon/Mrl
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescription
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescriptionData
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescriptionModelData
+include/phonon4qt%%QT_VER%%/phonon/Path
+include/phonon4qt%%QT_VER%%/phonon/PlatformPlugin
+include/phonon4qt%%QT_VER%%/phonon/SeekSlider
+include/phonon4qt%%QT_VER%%/phonon/StreamInterface
+include/phonon4qt%%QT_VER%%/phonon/SubtitleDescription
+include/phonon4qt%%QT_VER%%/phonon/SubtitleDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/VideoCaptureDevice
+include/phonon4qt%%QT_VER%%/phonon/VideoCaptureDeviceModel
+include/phonon4qt%%QT_VER%%/phonon/VideoPlayer
+include/phonon4qt%%QT_VER%%/phonon/VideoWidget
+include/phonon4qt%%QT_VER%%/phonon/VideoWidgetInterface
+include/phonon4qt%%QT_VER%%/phonon/VideoWidgetInterface44
+include/phonon4qt%%QT_VER%%/phonon/VideoWidgetInterfaceLatest
+include/phonon4qt%%QT_VER%%/phonon/VolumeFaderEffect
+include/phonon4qt%%QT_VER%%/phonon/VolumeFaderInterface
+include/phonon4qt%%QT_VER%%/phonon/VolumeSlider
+include/phonon4qt%%QT_VER%%/phonon/abstractaudiooutput.h
+include/phonon4qt%%QT_VER%%/phonon/abstractmediastream.h
+include/phonon4qt%%QT_VER%%/phonon/abstractvideooutput.h
+include/phonon4qt%%QT_VER%%/phonon/addoninterface.h
+include/phonon4qt%%QT_VER%%/phonon/audiodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/audiodataoutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/audiooutput.h
+include/phonon4qt%%QT_VER%%/phonon/audiooutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/backendcapabilities.h
+include/phonon4qt%%QT_VER%%/phonon/backendinterface.h
+include/phonon4qt%%QT_VER%%/phonon/effect.h
+include/phonon4qt%%QT_VER%%/phonon/effectinterface.h
+include/phonon4qt%%QT_VER%%/phonon/effectparameter.h
+include/phonon4qt%%QT_VER%%/phonon/effectwidget.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/abstractaudiodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/abstractvideodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/audiodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/audiodataoutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/audioformat.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/avcapture.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/avcaptureinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/backendcapabilities.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/backendinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/export.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/globalconfig.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/mediasource.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/objectdescription.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/packet.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/packetpool.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/phononnamespace.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/snapshotinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videodataoutput2.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videodataoutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videoframe.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videoframe2.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videowidget.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/visualization.h
+include/phonon4qt%%QT_VER%%/phonon/globalconfig.h
+include/phonon4qt%%QT_VER%%/phonon/globaldescriptioncontainer.h
+include/phonon4qt%%QT_VER%%/phonon/mediacontroller.h
+include/phonon4qt%%QT_VER%%/phonon/medianode.h
+include/phonon4qt%%QT_VER%%/phonon/mediaobject.h
+include/phonon4qt%%QT_VER%%/phonon/mediaobjectinterface.h
+include/phonon4qt%%QT_VER%%/phonon/mediasource.h
+include/phonon4qt%%QT_VER%%/phonon/mrl.h
+include/phonon4qt%%QT_VER%%/phonon/objectdescription.h
+include/phonon4qt%%QT_VER%%/phonon/objectdescriptionmodel.h
+include/phonon4qt%%QT_VER%%/phonon/path.h
+include/phonon4qt%%QT_VER%%/phonon/phonon_export.h
+include/phonon4qt%%QT_VER%%/phonon/phonon_version.h
+include/phonon4qt%%QT_VER%%/phonon/phonondefs.h
+include/phonon4qt%%QT_VER%%/phonon/phononnamespace.h
+include/phonon4qt%%QT_VER%%/phonon/platformplugin.h
+include/phonon4qt%%QT_VER%%/phonon/pulsesupport.h
+include/phonon4qt%%QT_VER%%/phonon/seekslider.h
+include/phonon4qt%%QT_VER%%/phonon/streaminterface.h
+include/phonon4qt%%QT_VER%%/phonon/videoplayer.h
+include/phonon4qt%%QT_VER%%/phonon/videowidget.h
+include/phonon4qt%%QT_VER%%/phonon/videowidgetinterface.h
+include/phonon4qt%%QT_VER%%/phonon/volumefadereffect.h
+include/phonon4qt%%QT_VER%%/phonon/volumefaderinterface.h
+include/phonon4qt%%QT_VER%%/phonon/volumeslider.h
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%Config.cmake
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%ConfigVersion.cmake
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%ExperimentalConfig.cmake
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%ExperimentalConfigVersion.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononExperimentalTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononExperimentalTargets.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononTargets.cmake
+lib/libphonon4qt%%QT_VER%%.so
+lib/libphonon4qt%%QT_VER%%.so.4
+lib/libphonon4qt%%QT_VER%%.so.%%SHLIB_VER%%
+lib/libphonon4qt%%QT_VER%%experimental.so
+lib/libphonon4qt%%QT_VER%%experimental.so.4
+lib/libphonon4qt%%QT_VER%%experimental.so.%%SHLIB_VER%%
+%%QT_MKSPECDIR%%/modules/qt_phonon4qt%%QT_VER%%.pri
+libdata/pkgconfig/phonon4qt%%QT_VER%%.pc
+share/locale/ar/LC_MESSAGES/libphonon_qt.qm
+share/locale/ar/LC_MESSAGES/phononsettings_qt.qm
+share/locale/az/LC_MESSAGES/libphonon_qt.qm
+share/locale/az/LC_MESSAGES/phononsettings_qt.qm
+share/locale/be/LC_MESSAGES/libphonon_qt.qm
+share/locale/be/LC_MESSAGES/phononsettings_qt.qm
+share/locale/be@latin/LC_MESSAGES/phononsettings_qt.qm
+share/locale/bg/LC_MESSAGES/libphonon_qt.qm
+share/locale/bg/LC_MESSAGES/phononsettings_qt.qm
+share/locale/bn/LC_MESSAGES/phononsettings_qt.qm
+share/locale/bn_IN/LC_MESSAGES/phononsettings_qt.qm
+share/locale/bs/LC_MESSAGES/libphonon_qt.qm
+share/locale/bs/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ca/LC_MESSAGES/libphonon_qt.qm
+share/locale/ca/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ca@valencia/LC_MESSAGES/libphonon_qt.qm
+share/locale/ca@valencia/LC_MESSAGES/phononsettings_qt.qm
+share/locale/cs/LC_MESSAGES/libphonon_qt.qm
+share/locale/cs/LC_MESSAGES/phononsettings_qt.qm
+share/locale/csb/LC_MESSAGES/libphonon_qt.qm
+share/locale/csb/LC_MESSAGES/phononsettings_qt.qm
+share/locale/da/LC_MESSAGES/libphonon_qt.qm
+share/locale/da/LC_MESSAGES/phononsettings_qt.qm
+share/locale/de/LC_MESSAGES/libphonon_qt.qm
+share/locale/de/LC_MESSAGES/phononsettings_qt.qm
+share/locale/el/LC_MESSAGES/libphonon_qt.qm
+share/locale/el/LC_MESSAGES/phononsettings_qt.qm
+share/locale/en_GB/LC_MESSAGES/libphonon_qt.qm
+share/locale/en_GB/LC_MESSAGES/phononsettings_qt.qm
+share/locale/eo/LC_MESSAGES/libphonon_qt.qm
+share/locale/eo/LC_MESSAGES/phononsettings_qt.qm
+share/locale/es/LC_MESSAGES/libphonon_qt.qm
+share/locale/es/LC_MESSAGES/phononsettings_qt.qm
+share/locale/et/LC_MESSAGES/libphonon_qt.qm
+share/locale/et/LC_MESSAGES/phononsettings_qt.qm
+share/locale/eu/LC_MESSAGES/libphonon_qt.qm
+share/locale/eu/LC_MESSAGES/phononsettings_qt.qm
+share/locale/fa/LC_MESSAGES/libphonon_qt.qm
+share/locale/fa/LC_MESSAGES/phononsettings_qt.qm
+share/locale/fi/LC_MESSAGES/libphonon_qt.qm
+share/locale/fi/LC_MESSAGES/phononsettings_qt.qm
+share/locale/fr/LC_MESSAGES/libphonon_qt.qm
+share/locale/fr/LC_MESSAGES/phononsettings_qt.qm
+share/locale/fy/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ga/LC_MESSAGES/libphonon_qt.qm
+share/locale/ga/LC_MESSAGES/phononsettings_qt.qm
+share/locale/gl/LC_MESSAGES/libphonon_qt.qm
+share/locale/gl/LC_MESSAGES/phononsettings_qt.qm
+share/locale/gu/LC_MESSAGES/libphonon_qt.qm
+share/locale/gu/LC_MESSAGES/phononsettings_qt.qm
+share/locale/he/LC_MESSAGES/libphonon_qt.qm
+share/locale/he/LC_MESSAGES/phononsettings_qt.qm
+share/locale/hi/LC_MESSAGES/libphonon_qt.qm
+share/locale/hi/LC_MESSAGES/phononsettings_qt.qm
+share/locale/hne/LC_MESSAGES/libphonon_qt.qm
+share/locale/hne/LC_MESSAGES/phononsettings_qt.qm
+share/locale/hr/LC_MESSAGES/libphonon_qt.qm
+share/locale/hr/LC_MESSAGES/phononsettings_qt.qm
+share/locale/hsb/LC_MESSAGES/libphonon_qt.qm
+share/locale/hsb/LC_MESSAGES/phononsettings_qt.qm
+share/locale/hu/LC_MESSAGES/libphonon_qt.qm
+share/locale/hu/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ia/LC_MESSAGES/libphonon_qt.qm
+share/locale/ia/LC_MESSAGES/phononsettings_qt.qm
+share/locale/id/LC_MESSAGES/libphonon_qt.qm
+share/locale/id/LC_MESSAGES/phononsettings_qt.qm
+share/locale/is/LC_MESSAGES/libphonon_qt.qm
+share/locale/is/LC_MESSAGES/phononsettings_qt.qm
+share/locale/it/LC_MESSAGES/libphonon_qt.qm
+share/locale/it/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ja/LC_MESSAGES/libphonon_qt.qm
+share/locale/ja/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ka/LC_MESSAGES/libphonon_qt.qm
+share/locale/ka/LC_MESSAGES/phononsettings_qt.qm
+share/locale/kk/LC_MESSAGES/libphonon_qt.qm
+share/locale/kk/LC_MESSAGES/phononsettings_qt.qm
+share/locale/km/LC_MESSAGES/libphonon_qt.qm
+share/locale/km/LC_MESSAGES/phononsettings_qt.qm
+share/locale/kn/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ko/LC_MESSAGES/libphonon_qt.qm
+share/locale/ko/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ku/LC_MESSAGES/libphonon_qt.qm
+share/locale/ku/LC_MESSAGES/phononsettings_qt.qm
+share/locale/lt/LC_MESSAGES/libphonon_qt.qm
+share/locale/lt/LC_MESSAGES/phononsettings_qt.qm
+share/locale/lv/LC_MESSAGES/libphonon_qt.qm
+share/locale/lv/LC_MESSAGES/phononsettings_qt.qm
+share/locale/mai/LC_MESSAGES/libphonon_qt.qm
+share/locale/mai/LC_MESSAGES/phononsettings_qt.qm
+share/locale/mk/LC_MESSAGES/libphonon_qt.qm
+share/locale/mk/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ml/LC_MESSAGES/libphonon_qt.qm
+share/locale/ml/LC_MESSAGES/phononsettings_qt.qm
+share/locale/mr/LC_MESSAGES/libphonon_qt.qm
+share/locale/mr/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ms/LC_MESSAGES/phononsettings_qt.qm
+share/locale/nb/LC_MESSAGES/libphonon_qt.qm
+share/locale/nb/LC_MESSAGES/phononsettings_qt.qm
+share/locale/nds/LC_MESSAGES/libphonon_qt.qm
+share/locale/nds/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ne/LC_MESSAGES/libphonon_qt.qm
+share/locale/ne/LC_MESSAGES/phononsettings_qt.qm
+share/locale/nl/LC_MESSAGES/libphonon_qt.qm
+share/locale/nl/LC_MESSAGES/phononsettings_qt.qm
+share/locale/nn/LC_MESSAGES/libphonon_qt.qm
+share/locale/nn/LC_MESSAGES/phononsettings_qt.qm
+share/locale/oc/LC_MESSAGES/libphonon_qt.qm
+share/locale/oc/LC_MESSAGES/phononsettings_qt.qm
+share/locale/or/LC_MESSAGES/phononsettings_qt.qm
+share/locale/pa/LC_MESSAGES/libphonon_qt.qm
+share/locale/pa/LC_MESSAGES/phononsettings_qt.qm
+share/locale/pl/LC_MESSAGES/libphonon_qt.qm
+share/locale/pl/LC_MESSAGES/phononsettings_qt.qm
+share/locale/pt/LC_MESSAGES/libphonon_qt.qm
+share/locale/pt/LC_MESSAGES/phononsettings_qt.qm
+share/locale/pt_BR/LC_MESSAGES/libphonon_qt.qm
+share/locale/pt_BR/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ro/LC_MESSAGES/libphonon_qt.qm
+share/locale/ro/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ru/LC_MESSAGES/libphonon_qt.qm
+share/locale/ru/LC_MESSAGES/phononsettings_qt.qm
+share/locale/se/LC_MESSAGES/libphonon_qt.qm
+share/locale/se/LC_MESSAGES/phononsettings_qt.qm
+share/locale/si/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sk/LC_MESSAGES/libphonon_qt.qm
+share/locale/sk/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sl/LC_MESSAGES/libphonon_qt.qm
+share/locale/sl/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sq/LC_MESSAGES/libphonon_qt.qm
+share/locale/sq/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sr/LC_MESSAGES/libphonon_qt.qm
+share/locale/sr/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sr@ijekavian/LC_MESSAGES/libphonon_qt.qm
+share/locale/sr@ijekavian/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sr@ijekavianlatin/LC_MESSAGES/libphonon_qt.qm
+share/locale/sr@ijekavianlatin/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sr@latin/LC_MESSAGES/libphonon_qt.qm
+share/locale/sr@latin/LC_MESSAGES/phononsettings_qt.qm
+share/locale/sv/LC_MESSAGES/libphonon_qt.qm
+share/locale/sv/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ta/LC_MESSAGES/libphonon_qt.qm
+share/locale/ta/LC_MESSAGES/phononsettings_qt.qm
+share/locale/te/LC_MESSAGES/phononsettings_qt.qm
+share/locale/tg/LC_MESSAGES/phononsettings_qt.qm
+share/locale/th/LC_MESSAGES/libphonon_qt.qm
+share/locale/th/LC_MESSAGES/phononsettings_qt.qm
+share/locale/tr/LC_MESSAGES/libphonon_qt.qm
+share/locale/tr/LC_MESSAGES/phononsettings_qt.qm
+share/locale/ug/LC_MESSAGES/libphonon_qt.qm
+share/locale/ug/LC_MESSAGES/phononsettings_qt.qm
+share/locale/uk/LC_MESSAGES/libphonon_qt.qm
+share/locale/uk/LC_MESSAGES/phononsettings_qt.qm
+share/locale/vi/LC_MESSAGES/libphonon_qt.qm
+share/locale/vi/LC_MESSAGES/phononsettings_qt.qm
+share/locale/wa/LC_MESSAGES/libphonon_qt.qm
+share/locale/wa/LC_MESSAGES/phononsettings_qt.qm
+share/locale/zh_CN/LC_MESSAGES/libphonon_qt.qm
+share/locale/zh_CN/LC_MESSAGES/phononsettings_qt.qm
+share/locale/zh_TW/LC_MESSAGES/libphonon_qt.qm
+share/locale/zh_TW/LC_MESSAGES/phononsettings_qt.qm
diff --git a/multimedia/phonon/pkg-plist.qt6 b/multimedia/phonon/pkg-plist.qt6
new file mode 100644
index 000000000000..8c4a828a1b1b
--- /dev/null
+++ b/multimedia/phonon/pkg-plist.qt6
@@ -0,0 +1,291 @@
+%%QT5_ONLY%%bin/phononsettings
+include/phonon4qt%%QT_VER%%/phonon/AbstractAudioOutput
+include/phonon4qt%%QT_VER%%/phonon/AbstractMediaStream
+include/phonon4qt%%QT_VER%%/phonon/AbstractVideoOutput
+include/phonon4qt%%QT_VER%%/phonon/AddonInterface
+include/phonon4qt%%QT_VER%%/phonon/AudioCaptureDevice
+include/phonon4qt%%QT_VER%%/phonon/AudioCaptureDeviceModel
+include/phonon4qt%%QT_VER%%/phonon/AudioChannelDescription
+include/phonon4qt%%QT_VER%%/phonon/AudioChannelDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/AudioDataOutput
+include/phonon4qt%%QT_VER%%/phonon/AudioOutput
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputDevice
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputDeviceModel
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputInterface
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputInterface40
+include/phonon4qt%%QT_VER%%/phonon/AudioOutputInterface42
+include/phonon4qt%%QT_VER%%/phonon/AvCapture
+include/phonon4qt%%QT_VER%%/phonon/BackendCapabilities
+include/phonon4qt%%QT_VER%%/phonon/BackendInterface
+include/phonon4qt%%QT_VER%%/phonon/Effect
+include/phonon4qt%%QT_VER%%/phonon/EffectDescription
+include/phonon4qt%%QT_VER%%/phonon/EffectDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/EffectInterface
+include/phonon4qt%%QT_VER%%/phonon/EffectParameter
+include/phonon4qt%%QT_VER%%/phonon/EffectWidget
+include/phonon4qt%%QT_VER%%/phonon/Global
+include/phonon4qt%%QT_VER%%/phonon/GlobalDescriptionContainer
+include/phonon4qt%%QT_VER%%/phonon/MediaController
+include/phonon4qt%%QT_VER%%/phonon/MediaNode
+include/phonon4qt%%QT_VER%%/phonon/MediaObject
+include/phonon4qt%%QT_VER%%/phonon/MediaObjectInterface
+include/phonon4qt%%QT_VER%%/phonon/MediaSource
+include/phonon4qt%%QT_VER%%/phonon/Mrl
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescription
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescriptionData
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/ObjectDescriptionModelData
+include/phonon4qt%%QT_VER%%/phonon/Path
+include/phonon4qt%%QT_VER%%/phonon/PlatformPlugin
+include/phonon4qt%%QT_VER%%/phonon/SeekSlider
+include/phonon4qt%%QT_VER%%/phonon/StreamInterface
+include/phonon4qt%%QT_VER%%/phonon/SubtitleDescription
+include/phonon4qt%%QT_VER%%/phonon/SubtitleDescriptionModel
+include/phonon4qt%%QT_VER%%/phonon/VideoCaptureDevice
+include/phonon4qt%%QT_VER%%/phonon/VideoCaptureDeviceModel
+include/phonon4qt%%QT_VER%%/phonon/VideoPlayer
+include/phonon4qt%%QT_VER%%/phonon/VideoWidget
+include/phonon4qt%%QT_VER%%/phonon/VideoWidgetInterface
+include/phonon4qt%%QT_VER%%/phonon/VideoWidgetInterface44
+include/phonon4qt%%QT_VER%%/phonon/VideoWidgetInterfaceLatest
+include/phonon4qt%%QT_VER%%/phonon/VolumeFaderEffect
+include/phonon4qt%%QT_VER%%/phonon/VolumeFaderInterface
+include/phonon4qt%%QT_VER%%/phonon/VolumeSlider
+include/phonon4qt%%QT_VER%%/phonon/abstractaudiooutput.h
+include/phonon4qt%%QT_VER%%/phonon/abstractmediastream.h
+include/phonon4qt%%QT_VER%%/phonon/abstractvideooutput.h
+include/phonon4qt%%QT_VER%%/phonon/addoninterface.h
+include/phonon4qt%%QT_VER%%/phonon/audiodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/audiodataoutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/audiooutput.h
+include/phonon4qt%%QT_VER%%/phonon/audiooutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/backendcapabilities.h
+include/phonon4qt%%QT_VER%%/phonon/backendinterface.h
+include/phonon4qt%%QT_VER%%/phonon/effect.h
+include/phonon4qt%%QT_VER%%/phonon/effectinterface.h
+include/phonon4qt%%QT_VER%%/phonon/effectparameter.h
+include/phonon4qt%%QT_VER%%/phonon/effectwidget.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/abstractaudiodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/abstractvideodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/audiodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/audiodataoutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/audioformat.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/avcapture.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/avcaptureinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/backendcapabilities.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/backendinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/export.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/globalconfig.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/mediasource.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/objectdescription.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/packet.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/packetpool.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/phononnamespace.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/snapshotinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videodataoutput.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videodataoutput2.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videodataoutputinterface.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videoframe.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videoframe2.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/videowidget.h
+include/phonon4qt%%QT_VER%%/phonon/experimental/visualization.h
+include/phonon4qt%%QT_VER%%/phonon/globalconfig.h
+include/phonon4qt%%QT_VER%%/phonon/globaldescriptioncontainer.h
+include/phonon4qt%%QT_VER%%/phonon/mediacontroller.h
+include/phonon4qt%%QT_VER%%/phonon/medianode.h
+include/phonon4qt%%QT_VER%%/phonon/mediaobject.h
+include/phonon4qt%%QT_VER%%/phonon/mediaobjectinterface.h
+include/phonon4qt%%QT_VER%%/phonon/mediasource.h
+include/phonon4qt%%QT_VER%%/phonon/mrl.h
+include/phonon4qt%%QT_VER%%/phonon/objectdescription.h
+include/phonon4qt%%QT_VER%%/phonon/objectdescriptionmodel.h
+include/phonon4qt%%QT_VER%%/phonon/path.h
+include/phonon4qt%%QT_VER%%/phonon/phonon_export.h
+include/phonon4qt%%QT_VER%%/phonon/phonon_version.h
+include/phonon4qt%%QT_VER%%/phonon/phonondefs.h
+include/phonon4qt%%QT_VER%%/phonon/phononnamespace.h
+include/phonon4qt%%QT_VER%%/phonon/platformplugin.h
+include/phonon4qt%%QT_VER%%/phonon/pulsesupport.h
+include/phonon4qt%%QT_VER%%/phonon/seekslider.h
+include/phonon4qt%%QT_VER%%/phonon/streaminterface.h
+include/phonon4qt%%QT_VER%%/phonon/videoplayer.h
+include/phonon4qt%%QT_VER%%/phonon/videowidget.h
+include/phonon4qt%%QT_VER%%/phonon/videowidgetinterface.h
+include/phonon4qt%%QT_VER%%/phonon/volumefadereffect.h
+include/phonon4qt%%QT_VER%%/phonon/volumefaderinterface.h
+include/phonon4qt%%QT_VER%%/phonon/volumeslider.h
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%Config.cmake
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%ConfigVersion.cmake
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%ExperimentalConfig.cmake
+lib/cmake/phonon4qt%%QT_VER%%/Phonon4Qt%%QT_VER%%ExperimentalConfigVersion.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononExperimentalTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononExperimentalTargets.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/phonon4qt%%QT_VER%%/PhononTargets.cmake
+lib/libphonon4qt%%QT_VER%%.so
+lib/libphonon4qt%%QT_VER%%.so.4
+lib/libphonon4qt%%QT_VER%%.so.%%SHLIB_VER%%
+lib/libphonon4qt%%QT_VER%%experimental.so
+lib/libphonon4qt%%QT_VER%%experimental.so.4
+lib/libphonon4qt%%QT_VER%%experimental.so.%%SHLIB_VER%%
+libdata/pkgconfig/phonon4qt%%QT_VER%%.pc
+%%QT5_ONLY%%share/locale/ar/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ar/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/az/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/az/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/be/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/be/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/be@latin/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/bg/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/bg/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/bn/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/bn_IN/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/bs/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/bs/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ca/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ca/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ca@valencia/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ca@valencia/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/cs/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/cs/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/csb/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/csb/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/da/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/da/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/de/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/de/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/el/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/el/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/en_GB/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/en_GB/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/eo/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/eo/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/es/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/es/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/et/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/et/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/eu/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/eu/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/fa/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/fa/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/fi/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/fi/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/fr/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/fr/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/fy/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ga/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ga/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/gl/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/gl/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/gu/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/gu/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/he/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/he/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/hi/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/hi/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/hne/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/hne/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/hr/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/hr/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/hsb/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/hsb/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/hu/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/hu/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ia/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ia/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/id/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/id/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/is/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/is/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/it/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/it/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ja/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ja/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ka/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ka/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/kk/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/kk/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/km/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/km/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/kn/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ko/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ko/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ku/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ku/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/lt/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/lt/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/lv/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/lv/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/mai/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/mai/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/mk/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/mk/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ml/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ml/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/mr/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/mr/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ms/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/nb/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/nb/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/nds/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/nds/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ne/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ne/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/nl/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/nl/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/nn/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/nn/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/oc/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/oc/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/or/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/pa/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/pa/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/pl/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/pl/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/pt/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/pt/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/pt_BR/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/pt_BR/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ro/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ro/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ru/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ru/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/se/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/se/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/si/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sk/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sk/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sl/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sl/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sq/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sq/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sr/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sr/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sr@ijekavian/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sr@ijekavian/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sr@ijekavianlatin/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sr@ijekavianlatin/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sr@latin/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sr@latin/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/sv/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/sv/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ta/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ta/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/te/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/tg/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/th/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/th/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/tr/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/tr/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/ug/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/ug/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/uk/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/uk/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/vi/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/vi/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/wa/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/wa/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/zh_CN/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/zh_CN/LC_MESSAGES/phononsettings_qt.qm
+%%QT5_ONLY%%share/locale/zh_TW/LC_MESSAGES/libphonon_qt.qm
+%%QT5_ONLY%%share/locale/zh_TW/LC_MESSAGES/phononsettings_qt.qm
diff --git a/multimedia/photofilmstrip/Makefile b/multimedia/photofilmstrip/Makefile
index da7e28ba75d2..a72a89aee270 100644
--- a/multimedia/photofilmstrip/Makefile
+++ b/multimedia/photofilmstrip/Makefile
@@ -1,14 +1,13 @@
-# Created by: Charlie Kester <corky1951@comcast.net>
-
PORTNAME= photofilmstrip
PORTVERSION= 3.7.0
-PORTREVISION= 3
+PORTREVISION= 6
CATEGORIES= multimedia python
MASTER_SITES= SF/photostoryx/${PORTNAME}/${PORTVERSION}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= bofh@FreeBSD.org
COMMENT= Creates movies out of your pictures
+WWW= https://www.photofilmstrip.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,10 +17,10 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR
RUN_DEPENDS= mencoder:multimedia/mencoder \
mplayer:multimedia/mplayer
-USES= python:3.6+ gettext gstreamer
+USES= python gettext gstreamer
USE_GSTREAMER= jpeg
USE_PYTHON= distutils
-USE_WX= 3.1
+USE_WX= 3.2
WX_COMPS= python:lib
ALL_TARGET= compile
NO_ARCH= yes
diff --git a/multimedia/photofilmstrip/pkg-descr b/multimedia/photofilmstrip/pkg-descr
index d62d5a2866ca..ba7f5af552e0 100644
--- a/multimedia/photofilmstrip/pkg-descr
+++ b/multimedia/photofilmstrip/pkg-descr
@@ -7,5 +7,3 @@ The effect of the slideshow is known as "Ken Burns". Comments of
the pictures are generated into a subtitle file. Furthermore an
audio file can be specified to setup the background musice for the
slide show.
-
-WWW: http://www.photofilmstrip.org/
diff --git a/multimedia/php-pHash/Makefile b/multimedia/php-pHash/Makefile
deleted file mode 100644
index 82b59e0b9354..000000000000
--- a/multimedia/php-pHash/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Created by: Naram Qashat <cyberbotx@cyberbotx.com>
-
-PORTNAME= pHash
-PORTVERSION= 0.9.6
-PORTREVISION= 5
-CATEGORIES= multimedia devel
-MASTER_SITES= http://phash.org/releases/ \
- http://www.cyberbotx.com/pHash/
-PKGNAMEPREFIX= ${PHP_PKGNAMEPREFIX}
-
-MAINTAINER= cyberbotx@cyberbotx.com
-COMMENT= PHP extension for the pHash perceptual hash library
-
-LICENSE= PHP30
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-DEPRECATED=Requires php 7.4 which is set to expire on 2022-11-29
-EXPIRATION_DATE=2022-11-28
-
-LIB_DEPENDS= libpHash.so:multimedia/pHash
-
-USES= compiler:c++11-lang php:ext
-# Does not build for PHP 8.0 and later
-IGNORE_WITH_PHP= 80 81
-
-WRKSRC_SUBDIR= bindings/php
-
-# The tarball contains stale pre-built files that interfere with building this
-# ourselves.
-post-configure:
- @(cd ${WRKSRC} && ${MAKE_CMD} clean)
-
-.include <bsd.port.mk>
diff --git a/multimedia/php-pHash/distinfo b/multimedia/php-pHash/distinfo
deleted file mode 100644
index ccda48e78c3e..000000000000
--- a/multimedia/php-pHash/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (pHash-0.9.6.tar.gz) = 3c8258a014f9c2491fb1153010984606805638a45d00498864968a9a30102935
-SIZE (pHash-0.9.6.tar.gz) = 1315965
diff --git a/multimedia/php-pHash/files/patch-pHash.cpp b/multimedia/php-pHash/files/patch-pHash.cpp
deleted file mode 100644
index ac8f638e0110..000000000000
--- a/multimedia/php-pHash/files/patch-pHash.cpp
+++ /dev/null
@@ -1,312 +0,0 @@
---- pHash.cpp.orig 2013-04-23 18:54:02 UTC
-+++ pHash.cpp
-@@ -36,17 +36,23 @@ struct ph_text_hash
-
- /* {{{ phpinfo logo definitions */
-
-+#if PHP_VERSION_ID < 50500
- #include "php_logos.h"
-
-
- static unsigned char pHash_logo[] = {
- #include "pHash_logos.h"
- };
-+#endif
- /* }}} */
-
- /* {{{ Resource destructors */
- int le_ph_video_hash;
-+#if PHP_VERSION_ID >= 70000
-+extern "C" void ph_video_hash_dtor(zend_resource *rsrc TSRMLS_DC)
-+#else
- extern "C" void ph_video_hash_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+#endif
- {
- ph_video_hash * resource = (ph_video_hash *)(rsrc->ptr);
-
-@@ -58,7 +64,11 @@ extern "C" void ph_video_hash_dtor(zend_
- }
-
- int le_ph_image_hash;
-+#if PHP_VERSION_ID >= 70000
-+extern "C" void ph_image_hash_dtor(zend_resource *rsrc TSRMLS_DC)
-+#else
- extern "C" void ph_image_hash_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+#endif
- {
- ulong64 * resource = (ulong64 *)(rsrc->ptr);
-
-@@ -67,7 +77,11 @@ extern "C" void ph_image_hash_dtor(zend_
- }
-
- int le_ph_audio_hash;
-+#if PHP_VERSION_ID >= 70000
-+extern "C" void ph_audio_hash_dtor(zend_resource *rsrc TSRMLS_DC)
-+#else
- extern "C" void ph_audio_hash_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+#endif
- {
- ph_audio_hash * resource = (ph_audio_hash *)(rsrc->ptr);
-
-@@ -79,7 +93,11 @@ extern "C" void ph_audio_hash_dtor(zend_
- }
-
- int le_ph_txt_hash;
-+#if PHP_VERSION_ID >= 70000
-+extern "C" void ph_txt_hash_dtor(zend_resource *rsrc TSRMLS_DC)
-+#else
- extern "C" void ph_txt_hash_dtor(zend_rsrc_list_entry *rsrc TSRMLS_DC)
-+#endif
- {
- ph_text_hash * resource = (ph_text_hash *)(rsrc->ptr);
-
-@@ -145,7 +163,9 @@ ZEND_GET_MODULE(pHash)
- /* {{{ PHP_MINIT_FUNCTION */
- PHP_MINIT_FUNCTION(pHash)
- {
-+#if PHP_VERSION_ID < 50500
- php_register_info_logo("PHASH_LOGO_ID", "", pHash_logo, 49651);
-+#endif
- le_ph_video_hash = zend_register_list_destructors_ex(ph_video_hash_dtor,
- NULL, "ph_video_hash", module_number);
- le_ph_image_hash = zend_register_list_destructors_ex(ph_image_hash_dtor,
-@@ -165,7 +185,9 @@ PHP_MINIT_FUNCTION(pHash)
- /* {{{ PHP_MSHUTDOWN_FUNCTION */
- PHP_MSHUTDOWN_FUNCTION(pHash)
- {
-+#if PHP_VERSION_ID < 50500
- php_unregister_info_logo("PHASH_LOGO_ID");
-+#endif
-
- /* add your stuff here */
-
-@@ -203,7 +225,9 @@ PHP_MINFO_FUNCTION(pHash)
- if (SG(request_info).request_uri) {
- php_printf("%s", (SG(request_info).request_uri));
- }
-+#if PHP_VERSION_ID < 50500
- php_printf("?=%s", "PHASH_LOGO_ID");
-+#endif
- php_printf("' align='right' alt='image' border='0'>\n");
-
- php_printf("pHash\n");
-@@ -225,10 +249,12 @@ PHP_MINFO_FUNCTION(pHash)
- PHP_FUNCTION(ph_dct_videohash)
- {
- ph_video_hash * return_res;
-+#if PHP_VERSION_ID < 70000
- long return_res_id = -1;
-+#endif
-
- const char * file = NULL;
-- int file_len = 0;
-+ SIZETorINT file_len = 0;
-
-
-
-@@ -249,7 +275,11 @@ PHP_FUNCTION(ph_dct_videohash)
- else
- RETURN_FALSE;
-
-+#if PHP_VERSION_ID >= 70000
-+ RETURN_RES(zend_register_resource(return_res, le_ph_video_hash));
-+#else
- return_res_id = ZEND_REGISTER_RESOURCE(return_value, return_res, le_ph_video_hash);
-+#endif
- }
- /* }}} ph_dct_videohash */
-
-@@ -261,10 +291,12 @@ PHP_FUNCTION(ph_dct_videohash)
- PHP_FUNCTION(ph_dct_imagehash)
- {
- ulong64 * return_res;
-+#if PHP_VERSION_ID < 70000
- long return_res_id = -1;
-+#endif
-
- const char * file = NULL;
-- int file_len = 0;
-+ SIZETorINT file_len = 0;
-
-
-
-@@ -282,7 +314,11 @@ PHP_FUNCTION(ph_dct_imagehash)
- else
- return_res = hash;
-
-+#if PHP_VERSION_ID >= 70000
-+ RETURN_RES(zend_register_resource(return_res, le_ph_image_hash));
-+#else
- return_res_id = ZEND_REGISTER_RESOURCE(return_value, return_res, le_ph_image_hash);
-+#endif
- }
- /* }}} ph_dct_imagehash */
-
-@@ -293,10 +329,12 @@ PHP_FUNCTION(ph_dct_imagehash)
- PHP_FUNCTION(ph_texthash)
- {
- ph_text_hash * return_res;
-+#if PHP_VERSION_ID < 70000
- long return_res_id = -1;
-+#endif
-
- const char * file = NULL;
-- int file_len = 0;
-+ SIZETorINT file_len = 0;
-
-
-
-@@ -316,7 +354,11 @@ PHP_FUNCTION(ph_texthash)
- else
- RETURN_FALSE;
-
-+#if PHP_VERSION_ID >= 70000
-+ RETURN_RES(zend_register_resource(return_res, le_ph_txt_hash));
-+#else
- return_res_id = ZEND_REGISTER_RESOURCE(return_value, return_res, le_ph_txt_hash);
-+#endif
- }
- /* }}} ph_texthash */
-
-@@ -327,12 +369,14 @@ PHP_FUNCTION(ph_texthash)
- PHP_FUNCTION(ph_audiohash)
- {
- ph_audio_hash * return_res;
-+#if PHP_VERSION_ID < 70000
- long return_res_id = -1;
-+#endif
-
- const char * file = NULL;
-- int file_len = 0;
-- long sample_rate = 5512;
-- long channels = 1;
-+ SIZETorINT file_len = 0;
-+ zppLONG sample_rate = 5512;
-+ zppLONG channels = 1;
-
-
-
-@@ -362,7 +406,11 @@ PHP_FUNCTION(ph_audiohash)
- else
- RETURN_FALSE;
-
-+#if PHP_VERSION_ID >= 70000
-+ RETURN_RES(zend_register_resource(return_res, le_ph_audio_hash));
-+#else
- return_res_id = ZEND_REGISTER_RESOURCE(return_value, return_res, le_ph_audio_hash);
-+#endif
- }
- /* }}} ph_audiohash */
-
-@@ -386,8 +434,17 @@ PHP_FUNCTION(ph_image_dist)
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr", &h1_res, &h2_res) == FAILURE) {
- return;
- }
-+#if PHP_VERSION_ID >= 70000
-+ if ((h1 = (ulong64 *)zend_fetch_resource2(Z_RES_P(h1_res), "ph_image_hash", h1_resid, le_ph_image_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+ if ((h2 = (ulong64 *)zend_fetch_resource2(Z_RES_P(h2_res), "ph_image_hash", h2_resid, le_ph_image_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+#else
- ZEND_FETCH_RESOURCE(h1, ulong64 *, &h1_res, h1_resid, "ph_image_hash", le_ph_image_hash);
- ZEND_FETCH_RESOURCE(h2, ulong64 *, &h2_res, h2_resid, "ph_image_hash", le_ph_image_hash);
-+#endif
-
-
-
-@@ -415,15 +472,24 @@ PHP_FUNCTION(ph_video_dist)
- int h2_resid = -1;
- ph_video_hash * h2;
-
-- long thresh = 21;
-+ zppLONG thresh = 21;
-
-
-
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|l", &h1_res, &h2_res, &thresh) == FAILURE) {
- return;
- }
-+#if PHP_VERSION_ID >= 70000
-+ if ((h1 = (ph_video_hash *)zend_fetch_resource2(Z_RES_P(h1_res), "ph_video_hash", h1_resid, le_ph_video_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+ if ((h2 = (ph_video_hash *)zend_fetch_resource2(Z_RES_P(h2_res), "ph_video_hash", h2_resid, le_ph_video_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+#else
- ZEND_FETCH_RESOURCE(h1, ph_video_hash *, &h1_res, h1_resid, "ph_video_hash", le_ph_video_hash);
- ZEND_FETCH_RESOURCE(h2, ph_video_hash *, &h2_res, h2_resid, "ph_video_hash", le_ph_video_hash);
-+#endif
-
-
-
-@@ -452,7 +518,7 @@ PHP_FUNCTION(ph_audio_dist)
- int h2_resid = -1;
- ph_audio_hash * h2;
-
-- long block_size = 256;
-+ zppLONG block_size = 256;
- double thresh = 0.30;
-
-
-@@ -460,8 +526,17 @@ PHP_FUNCTION(ph_audio_dist)
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr|ld", &h1_res, &h2_res, &block_size, &thresh) == FAILURE) {
- return;
- }
-+#if PHP_VERSION_ID >= 70000
-+ if ((h1 = (ph_audio_hash *)zend_fetch_resource2(Z_RES_P(h1_res), "ph_audio_hash", h1_resid, le_ph_audio_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+ if ((h2 = (ph_audio_hash *)zend_fetch_resource2(Z_RES_P(h2_res), "ph_audio_hash", h2_resid, le_ph_audio_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+#else
- ZEND_FETCH_RESOURCE(h1, ph_audio_hash *, &h1_res, h1_resid, "ph_audio_hash", le_ph_audio_hash);
- ZEND_FETCH_RESOURCE(h2, ph_audio_hash *, &h2_res, h2_resid, "ph_audio_hash", le_ph_audio_hash);
-+#endif
-
-
-
-@@ -510,8 +585,17 @@ PHP_FUNCTION(ph_compare_text_hashes)
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rr", &h1_res, &h2_res) == FAILURE) {
- return;
- }
-+#if PHP_VERSION_ID >= 70000
-+ if ((h1 = (ph_text_hash *)zend_fetch_resource2(Z_RES_P(h1_res), "ph_txt_hash", h1_resid, le_ph_txt_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+ if ((h2 = (ph_text_hash *)zend_fetch_resource2(Z_RES_P(h2_res), "ph_txt_hash", h2_resid, le_ph_txt_hash)) == NULL) {
-+ RETURN_FALSE;
-+ }
-+#else
- ZEND_FETCH_RESOURCE(h1, ph_text_hash *, &h1_res, h1_resid, "ph_txt_hash", le_ph_txt_hash);
- ZEND_FETCH_RESOURCE(h2, ph_text_hash *, &h2_res, h2_resid, "ph_txt_hash", le_ph_txt_hash);
-+#endif
-
-
-
-@@ -525,6 +609,14 @@ PHP_FUNCTION(ph_compare_text_hashes)
- {
- for(int i = 0; i < count; ++i)
- {
-+#if PHP_VERSION_ID >= 70000
-+ zval array;
-+ array_init(&array);
-+ add_assoc_long(&array, "begin", m[i].first_index);
-+ add_assoc_long(&array, "end", m[i].second_index);
-+ add_assoc_long(&array, "length", m[i].length);
-+ add_next_index_zval(return_value, &array);
-+#else
- zval *array;
- MAKE_STD_ZVAL(array);
- array_init(array);
-@@ -532,6 +624,7 @@ PHP_FUNCTION(ph_compare_text_hashes)
- add_assoc_long(array, "end", m[i].second_index);
- add_assoc_long(array, "length", m[i].length);
- add_next_index_zval(return_value, array);
-+#endif
- }
- free(m);
- }
diff --git a/multimedia/php-pHash/files/patch-php__pHash.h b/multimedia/php-pHash/files/patch-php__pHash.h
deleted file mode 100644
index 0496e40fb6f9..000000000000
--- a/multimedia/php-pHash/files/patch-php__pHash.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- php_pHash.h.orig 2013-04-23 18:53:42 UTC
-+++ php_pHash.h
-@@ -170,6 +170,14 @@ ZEND_END_ARG_INFO()
- #define ph_compare_text_hashes_arg_info NULL
- #endif
-
-+#if PHP_VERSION_ID >= 70000
-+#define SIZETorINT size_t
-+#define zppLONG zend_long
-+#else
-+#define SIZETorINT int
-+#define zppLONG long
-+#endif
-+
- #ifdef __cplusplus
- } // extern "C"
- #endif
diff --git a/multimedia/php-pHash/pkg-descr b/multimedia/php-pHash/pkg-descr
deleted file mode 100644
index a7756b4059d3..000000000000
--- a/multimedia/php-pHash/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-This is the PHP extension of the pHash library, which is an open source software
-library released under the GPLv3 license that implements several perceptual
-hashing algorithms, and provides a C-like API to use those functions in your own
-programs. pHash itself is written in C++.
-
-WWW: http://phash.org/
diff --git a/multimedia/pipe-viewer/Makefile b/multimedia/pipe-viewer/Makefile
new file mode 100644
index 000000000000..bc42abb936ab
--- /dev/null
+++ b/multimedia/pipe-viewer/Makefile
@@ -0,0 +1,66 @@
+PORTNAME= pipe-viewer
+PORTVERSION= 0.4.8
+CATEGORIES= multimedia perl5
+
+MAINTAINER?= DtxdF@disroot.org
+COMMENT?= Application for searching and playing videos from YouTube
+WWW= https://github.com/trizen/pipe-viewer
+
+LICENSE= ART20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= p5-Data-Dump>0:devel/p5-Data-Dump \
+ p5-IO-Compress-Brotli>0:archivers/p5-IO-Compress-Brotli \
+ p5-JSON>0:converters/p5-JSON \
+ p5-libwww>0:www/p5-libwww \
+ p5-LWP-Protocol-https>0:www/p5-LWP-Protocol-https
+
+USES= perl5
+USE_GITHUB= yes
+GH_ACCOUNT= trizen
+USE_PERL5= modbuild
+
+NO_ARCH= yes
+
+CONFLICTS_INSTALL?= multimedia/gtk-pipe-viewer
+
+OPTIONS_DEFINE= FORK_MANAGER GTK3 JSON_XS LOCAL_CACHE READLINE \
+ SHARE_DIR
+OPTIONS_DEFAULT?= FORK_MANAGER JSON_XS LINE_BREAK LOCAL_CACHE \
+ READLINE YT_DLP
+OPTIONS_RADIO= FIXED_WIDTH YOUTUBE
+OPTIONS_RADIO_FIXED_WIDTH= CHAR_WIDTH LINE_BREAK
+OPTIONS_RADIO_YOUTUBE= YOUTUBE_DL YT_DLP
+
+OPTIONS_SUB= yes
+
+CHAR_WIDTH_DESC= Install with p5-Unicode-LineBreak
+FIXED_WIDTH_DESC= Fixed-width formatting
+FORK_MANAGER_DESC= Enable *_parallel config-options support
+JSON_XS_DESC= Faster JSON deserialization
+LINE_BREAK_DESC= Install with p5-Text-CharWidth
+LOCAL_CACHE_DESC= Local cache support
+SHARE_DIR_DESC= Install with p5-File-ShareDir
+YOUTUBE_DESC= Youtube support
+YOUTUBE_DL_DESC= Enable Youtube support with youtube_dl
+YT_DLP_DESC= Enable Youtube support with yt-dlp
+
+CHAR_WIDTH_RUN_DEPENDS= p5-Text-CharWidth>0:textproc/p5-Text-CharWidth
+FORK_MANAGER_RUN_DEPENDS= p5-Parallel-ForkManager>0:devel/p5-Parallel-ForkManager
+GTK3_RUN_DEPENDS= p5-Gtk3>0:x11-toolkits/p5-Gtk3
+GTK3_CONFIGURE_ON= --gtk
+JSON_XS_RUN_DEPENDS= p5-JSON-XS>0:converters/p5-JSON-XS
+LINE_BREAK_RUN_DEPENDS= p5-Unicode-LineBreak>0:textproc/p5-Unicode-LineBreak
+LOCAL_CACHE_RUN_DEPENDS= p5-LWP-UserAgent-Cached>0:www/p5-LWP-UserAgent-Cached
+READLINE_RUN_DEPENDS= p5-Term-ReadLine-Gnu>0:devel/p5-Term-ReadLine-Gnu
+SHARE_DIR_RUN_DEPENDS= p5-File-ShareDir>0:devel/p5-File-ShareDir
+YOUTUBE_DL_RUN_DEPENDS= youtube_dl>0:www/youtube_dl
+YT_DLP_RUN_DEPENDS= yt-dlp>0:www/yt-dlp
+
+post-install-GTK3-on:
+ (cd ${STAGEDIR}${DESKTOPDIR} && ${LN} -sf \
+ ../../${SITE_PERL_REL}/auto/share/dist/WWW-PipeViewer/gtk-pipe-viewer.desktop)
+ (cd ${STAGEDIR}${PREFIX}/share/pixmaps && ${LN} -sf \
+ ../../${SITE_PERL_REL}/auto/share/dist/WWW-PipeViewer/icons/gtk-pipe-viewer.png)
+
+.include <bsd.port.mk>
diff --git a/multimedia/pipe-viewer/distinfo b/multimedia/pipe-viewer/distinfo
new file mode 100644
index 000000000000..c36811e35455
--- /dev/null
+++ b/multimedia/pipe-viewer/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1690887269
+SHA256 (trizen-pipe-viewer-0.4.8_GH0.tar.gz) = cb41d3c6e520b4d80e5bb12c5a9fce2f07592a3d26c47e3b7bba1d31f85e9417
+SIZE (trizen-pipe-viewer-0.4.8_GH0.tar.gz) = 268549
diff --git a/multimedia/pipe-viewer/pkg-descr b/multimedia/pipe-viewer/pkg-descr
new file mode 100644
index 000000000000..1af7a9ac7d93
--- /dev/null
+++ b/multimedia/pipe-viewer/pkg-descr
@@ -0,0 +1,5 @@
+pipe-viewer is a lightweight application (fork of straw-viewer) for
+searching and playing videos from YouTube.
+
+This fork parses the YouTube website directly and relies on the
+invidious instances only as a fallback method.
diff --git a/multimedia/pipe-viewer/pkg-plist b/multimedia/pipe-viewer/pkg-plist
new file mode 100644
index 000000000000..69321474c62c
--- /dev/null
+++ b/multimedia/pipe-viewer/pkg-plist
@@ -0,0 +1,46 @@
+bin/pipe-viewer
+%%SITE_PERL%%/WWW/PipeViewer.pm
+%%SITE_PERL%%/WWW/PipeViewer/Channels.pm
+%%SITE_PERL%%/WWW/PipeViewer/CommentThreads.pm
+%%SITE_PERL%%/WWW/PipeViewer/GetCaption.pm
+%%SITE_PERL%%/WWW/PipeViewer/InitialData.pm
+%%SITE_PERL%%/WWW/PipeViewer/Itags.pm
+%%SITE_PERL%%/WWW/PipeViewer/ParseJSON.pm
+%%SITE_PERL%%/WWW/PipeViewer/ParseXML.pm
+%%SITE_PERL%%/WWW/PipeViewer/PlaylistItems.pm
+%%SITE_PERL%%/WWW/PipeViewer/Playlists.pm
+%%SITE_PERL%%/WWW/PipeViewer/Proto.pm
+%%SITE_PERL%%/WWW/PipeViewer/RegularExpressions.pm
+%%SITE_PERL%%/WWW/PipeViewer/Search.pm
+%%SITE_PERL%%/WWW/PipeViewer/Utils.pm
+%%SITE_PERL%%/WWW/PipeViewer/VideoCategories.pm
+%%SITE_PERL%%/WWW/PipeViewer/Videos.pm
+%%PERL5_MAN1%%/pipe-viewer.1.gz
+%%PERL5_MAN3%%/WWW::PipeViewer.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::Channels.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::CommentThreads.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::GetCaption.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::InitialData.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::Itags.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::ParseJSON.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::ParseXML.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::PlaylistItems.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::Playlists.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::RegularExpressions.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::Search.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::Utils.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::VideoCategories.3.gz
+%%PERL5_MAN3%%/WWW::PipeViewer::Videos.3.gz
+%%GTK3%%bin/gtk-pipe-viewer
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/gtk-pipe-viewer.desktop
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/gtk-pipe-viewer.glade
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/icons/default_thumb.jpg
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/icons/feed.png
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/icons/feed_gray.png
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/icons/gtk-pipe-viewer.png
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/icons/spinner.gif
+%%GTK3%%%%SITE_PERL%%/auto/share/dist/WWW-PipeViewer/icons/user.png
+%%GTK3%%share/applications/gtk-pipe-viewer.desktop
+%%GTK3%%share/pixmaps/gtk-pipe-viewer.png
+%%SITE_PERL%%/WWW/PipeViewer/DiskCache.pm
+%%SITE_PERL%%/WWW/PipeViewer/Worker.pm
diff --git a/multimedia/pipewire/Makefile b/multimedia/pipewire/Makefile
index 16bbf701cc16..2d42d72416a1 100644
--- a/multimedia/pipewire/Makefile
+++ b/multimedia/pipewire/Makefile
@@ -1,51 +1,53 @@
PORTNAME= pipewire
-DISTVERSION= 0.3.51
+DISTVERSION= 1.0.4
CATEGORIES= multimedia
-MASTER_SITES= https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${MEDIA_SESSION_VERSION}/:media_session
-DISTFILES= media-session-${MEDIA_SESSION_VERSION}${EXTRACT_SUFX}:media_session
MAINTAINER= arrowd@FreeBSD.org
COMMENT= Server and user space API to deal with multimedia pipelines
+WWW= https://pipewire.org/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
-LIB_DEPENDS= libasound.so:audio/alsa-lib \
- libdbus-1.so:devel/dbus \
+LIB_DEPENDS= libdbus-1.so:devel/dbus \
libinotify.so:devel/libinotify \
libepoll-shim.so:devel/libepoll-shim \
+ libopus.so:audio/opus \
libsndfile.so:audio/libsndfile \
libudev.so:devel/libudev-devd \
libwebrtc_audio_processing.so:audio/webrtc-audio-processing0
USES= compiler:c11 gettext-tools gnome localbase:ldflags meson \
- ncurses pkgconfig python:3.6+,build readline ssl
+ ncurses pkgconfig python:build shebangfix ssl
USE_GNOME= glib20
USE_LDCONFIG= yes
-USE_GITHUB= yes
-GH_ACCOUNT= PipeWire
+USE_GITLAB= yes
+GL_SITE= https://gitlab.freedesktop.org
-OPTIONS_DEFINE= GSTREAMER PIPEWIRE_JACK MANPAGES MEDIASESSION PULSEAUDIO SDL VULKAN
-OPTIONS_DEFAULT= GSTREAMER PIPEWIRE_JACK MANPAGES MEDIASESSION
-OPTIONS_SUB= yes
+SHEBANG_FILES= doc/*.py
+PORTDOCS= *
-GSTREAMER_USES= gstreamer
-GSTREAMER_MESON_ENABLED=gstreamer
+OPTIONS_DEFINE= DOCS DOXYGEN GSTREAMER JACK LV2 PULSEAUDIO SDL VULKAN X11_BELL
+OPTIONS_DEFAULT= GSTREAMER JACK
+OPTIONS_SUB= yes
+
+DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
+DOXYGEN_MESON_ENABLED= docs
+DOXYGEN_IMPLIES= DOCS
-PIPEWIRE_JACK_DESC= Build pipewire-jack
-PIPEWIRE_JACK_MESON_ENABLED= pipewire-jack
+GSTREAMER_USES= gstreamer
+GSTREAMER_MESON_ENABLED=gstreamer gstreamer-device-provider
-MANPAGES_BUILD_DEPENDS= rst2man:textproc/py-docutils
-MANPAGES_MESON_ENABLED= man
+JACK_LIB_DEPENDS= libjack.so:audio/jack
+JACK_MESON_ENABLED= jack pipewire-jack
-MEDIASESSION_DESC= Session manager support
-MEDIASESSION_MESON_ENABLED= alsa pipewire-alsa
-MEDIASESSION_MESON_ON= -Dsession-managers=media-session
-MEDIASESSION_MESON_OFF= -Dsession-managers=''
+LV2_DESC= Support lv2-based audio plugins via lilv
+LV2_LIB_DEPENDS= liblilv-0.so:audio/lilv
+LV2_MESON_ENABLED= lv2
-PULSEAUDIO_MESON_ENABLED= libpulse
+PULSEAUDIO_MESON_ENABLED= avahi libpulse
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio \
libavahi-common.so:net/avahi-app \
libavahi-client.so:net/avahi-app
@@ -57,17 +59,30 @@ SDL_USE= sdl=sdl2
VULKAN_DESC= Enable Vulkan integration
VULKAN_MESON_ENABLED= vulkan
VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers
-VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
+VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader \
+ libdrm.so:graphics/libdrm
-MEDIA_SESSION_VERSION= 0.4.1
+X11_BELL_DESC= Support for X11 bell via libcanberra
+X11_BELL_LIB_DEPENDS= libcanberra.so:audio/libcanberra
+X11_BELL_USE= xorg=x11,xfixes
+X11_BELL_MESON_ENABLED= libcanberra x11 x11-xfixes
MESON_ARGS= -D pw-cat=enabled \
-D v4l2=enabled \
-D raop=enabled \
+ -Dsession-managers='[]' \
+ -D alsa=disabled \
+ -D pipewire-alsa=disabled \
+ -D avb=disabled \
-D bluez5=disabled \
- -D jack=disabled \
+ -D man=disabled \
+ -D libcamera=disabled \
+ -D roc=disabled \
+ -Dselinux=disabled \
-D systemd=disabled \
-D pipewire-v4l2=disabled \
+ -D libmysofa=disabled \
+ -D libffado=disabled \
-D udevrulesdir="${LOCALBASE}/lib/udev/rules.d"
# Fake pkg-config support before https://cgit.freebsd.org/src/commit/?id=396851c20aeb
@@ -76,15 +91,8 @@ MESON_ARGS= -D pw-cat=enabled \
CONFIGURE_ENV+= ${ncurses_ARGS:Mbase:C/.+/PKG_CONFIG_PATH="${FILESDIR}"/}
.endif
-post-extract:
- ${LN} -s ${WRKDIR}/media-session-${MEDIA_SESSION_VERSION} ${WRKSRC}/subprojects/media-session
-
-post-patch-MEDIASESSION-on:
-# alsa-seq is not supported & causes SIGSEGV with media session
- @${REINPLACE_CMD} 's| alsa-seq|\ #alsa-seq|g' \
- ${WRKDIR}/media-session-${MEDIA_SESSION_VERSION}/media-session.d/media-session.conf
-# start media session by default
- @${REINPLACE_CMD} '/manager_args/ s/@sm_comment@//g' \
- ${WRKSRC}/src/daemon/pipewire.conf.in
+post-patch:
+ ${REINPLACE_CMD} -e "s|find_installation('python3'|find_installation('python${PYTHON_VER}'|" \
+ ${WRKSRC}/meson.build
.include <bsd.port.mk>
diff --git a/multimedia/pipewire/distinfo b/multimedia/pipewire/distinfo
index 8dea6a720eb2..be6e7b5e0a4d 100644
--- a/multimedia/pipewire/distinfo
+++ b/multimedia/pipewire/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1651152242
-SHA256 (media-session-0.4.1.tar.gz) = 119c9216070b54018217552c7924f9888da270c3c4647c5e2b85ffa6b1574975
-SIZE (media-session-0.4.1.tar.gz) = 123224
-SHA256 (PipeWire-pipewire-0.3.51_GH0.tar.gz) = f18e7a2cd2fcd75482c3df4e736e01435bd20779ddf63da63b0a086d3a9735ac
-SIZE (PipeWire-pipewire-0.3.51_GH0.tar.gz) = 1789070
+TIMESTAMP = 1710526199
+SHA256 (pipewire-1.0.4.tar.bz2) = acd317cabb73e975d40e03f86e7aecbb5df1fd261d7536a40cdbc6a2c2d4690a
+SIZE (pipewire-1.0.4.tar.bz2) = 1698660
diff --git a/multimedia/pipewire/files/patch-spa_plugins_meson.build b/multimedia/pipewire/files/patch-spa_plugins_meson.build
new file mode 100644
index 000000000000..45a68c3c3101
--- /dev/null
+++ b/multimedia/pipewire/files/patch-spa_plugins_meson.build
@@ -0,0 +1,8 @@
+--- spa/plugins/meson.build.orig 2023-10-06 09:37:06 UTC
++++ spa/plugins/meson.build
+@@ -1,4 +1,4 @@
+-if alsa_dep.found() and host_machine.system() == 'linux'
++if alsa_dep.found()
+ subdir('alsa')
+ endif
+ if get_option('avb').require(host_machine.system() == 'linux', error_message: 'AVB support is only available on Linux').allowed()
diff --git a/multimedia/pipewire/files/patch-spa_plugins_vulkan_dmabuf__fallback.c b/multimedia/pipewire/files/patch-spa_plugins_vulkan_dmabuf__fallback.c
new file mode 100644
index 000000000000..7ab5e81f13b3
--- /dev/null
+++ b/multimedia/pipewire/files/patch-spa_plugins_vulkan_dmabuf__fallback.c
@@ -0,0 +1,16 @@
+--- spa/plugins/vulkan/dmabuf_fallback.c.orig 2023-10-06 09:37:06 UTC
++++ spa/plugins/vulkan/dmabuf_fallback.c
+@@ -32,11 +32,11 @@ bool dmabuf_import_sync_file(struct spa_log *log, int
+ }
+
+ bool dmabuf_import_sync_file(struct spa_log *log, int dmabuf_fd, uint32_t flags, int sync_file_fd) {
+- spa_log_error("DMA-BUF sync_file import IOCTL not available on this system");
++ spa_log_error(log, "DMA-BUF sync_file import IOCTL not available on this system");
+ return false;
+ }
+
+ int dmabuf_export_sync_file(struct spa_log *log, int dmabuf_fd, uint32_t flags) {
+- spa_log_error("DMA-BUF sync_file export IOCTL not available on this system");
++ spa_log_error(log, "DMA-BUF sync_file export IOCTL not available on this system");
+ return false;
+ }
diff --git a/multimedia/pipewire/files/patch-test_test-functional.c b/multimedia/pipewire/files/patch-test_test-functional.c
index 4ce37f2cb4ce..23d9c2919445 100644
--- a/multimedia/pipewire/files/patch-test_test-functional.c
+++ b/multimedia/pipewire/files/patch-test_test-functional.c
@@ -1,10 +1,11 @@
---- test/test-functional.c.orig 2022-04-27 17:59:21 UTC
+--- test/test-functional.c.orig 2023-10-06 09:37:06 UTC
+++ test/test-functional.c
-@@ -22,6 +22,7 @@
- * DEALINGS IN THE SOFTWARE.
- */
-
-+#include <sys/wait.h>
+@@ -4,6 +4,8 @@
#include "config.h"
++#include <sys/wait.h>
++
+ #include "pwtest.h"
+
+ PWTEST(openal_info_test)
diff --git a/multimedia/pipewire/pkg-descr b/multimedia/pipewire/pkg-descr
index 230036578b31..3553797bc3ac 100644
--- a/multimedia/pipewire/pkg-descr
+++ b/multimedia/pipewire/pkg-descr
@@ -4,5 +4,3 @@ includes:
application provided streams) and multiplexing this with clients.
- Accessing sources of video for consumption.
- Generating graphs for audio and video processing.
-
-WWW: https://pipewire.org/
diff --git a/multimedia/pipewire/pkg-plist b/multimedia/pipewire/pkg-plist
index 19692e87f767..82b2175ce53d 100644
--- a/multimedia/pipewire/pkg-plist
+++ b/multimedia/pipewire/pkg-plist
@@ -1,12 +1,16 @@
bin/pipewire
-%%MEDIASESSION%%bin/pipewire-media-session
+bin/pipewire-aes67
+bin/pipewire-avb
bin/pipewire-pulse
+%%VULKAN%%bin/pipewire-vulkan
bin/pw-cat
bin/pw-cli
+bin/pw-config
bin/pw-dot
bin/pw-dsdplay
bin/pw-dump
-%%PIPEWIRE_JACK%%bin/pw-jack
+bin/pw-encplay
+%%JACK%%bin/pw-jack
bin/pw-link
bin/pw-loopback
bin/pw-metadata
@@ -19,11 +23,11 @@ bin/pw-profiler
bin/pw-record
bin/pw-reserve
bin/pw-top
-%%MEDIASESSION%%bin/spa-acp-tool
bin/spa-inspect
bin/spa-json-dump
bin/spa-monitor
bin/spa-resample
+etc/security/limits.d/25-pw-rlimits.conf
include/pipewire-0.3/pipewire/array.h
include/pipewire-0.3/pipewire/buffers.h
include/pipewire-0.3/pipewire/client.h
@@ -87,6 +91,7 @@ include/spa-0.2/spa/buffer/type-info.h
include/spa-0.2/spa/control/control.h
include/spa-0.2/spa/control/type-info.h
include/spa-0.2/spa/debug/buffer.h
+include/spa-0.2/spa/debug/context.h
include/spa-0.2/spa/debug/dict.h
include/spa-0.2/spa/debug/format.h
include/spa-0.2/spa/debug/log.h
@@ -107,28 +112,84 @@ include/spa-0.2/spa/node/keys.h
include/spa-0.2/spa/node/node.h
include/spa-0.2/spa/node/type-info.h
include/spa-0.2/spa/node/utils.h
+include/spa-0.2/spa/param/audio/aac-types.h
+include/spa-0.2/spa/param/audio/aac-utils.h
+include/spa-0.2/spa/param/audio/aac.h
+include/spa-0.2/spa/param/audio/alac-utils.h
+include/spa-0.2/spa/param/audio/alac.h
+include/spa-0.2/spa/param/audio/amr-types.h
+include/spa-0.2/spa/param/audio/amr-utils.h
+include/spa-0.2/spa/param/audio/amr.h
+include/spa-0.2/spa/param/audio/ape-utils.h
+include/spa-0.2/spa/param/audio/ape.h
+include/spa-0.2/spa/param/audio/compressed.h
+include/spa-0.2/spa/param/audio/dsd-utils.h
include/spa-0.2/spa/param/audio/dsd.h
+include/spa-0.2/spa/param/audio/dsp-utils.h
+include/spa-0.2/spa/param/audio/dsp.h
+include/spa-0.2/spa/param/audio/flac-utils.h
+include/spa-0.2/spa/param/audio/flac.h
include/spa-0.2/spa/param/audio/format-utils.h
include/spa-0.2/spa/param/audio/format.h
+include/spa-0.2/spa/param/audio/iec958-types.h
+include/spa-0.2/spa/param/audio/iec958-utils.h
include/spa-0.2/spa/param/audio/iec958.h
include/spa-0.2/spa/param/audio/layout.h
+include/spa-0.2/spa/param/audio/mp3-types.h
+include/spa-0.2/spa/param/audio/mp3-utils.h
+include/spa-0.2/spa/param/audio/mp3.h
+include/spa-0.2/spa/param/audio/opus.h
+include/spa-0.2/spa/param/audio/ra-utils.h
+include/spa-0.2/spa/param/audio/ra.h
+include/spa-0.2/spa/param/audio/raw-types.h
+include/spa-0.2/spa/param/audio/raw-utils.h
include/spa-0.2/spa/param/audio/raw.h
include/spa-0.2/spa/param/audio/type-info.h
+include/spa-0.2/spa/param/audio/vorbis-utils.h
+include/spa-0.2/spa/param/audio/vorbis.h
+include/spa-0.2/spa/param/audio/wma-types.h
+include/spa-0.2/spa/param/audio/wma-utils.h
+include/spa-0.2/spa/param/audio/wma.h
include/spa-0.2/spa/param/bluetooth/audio.h
include/spa-0.2/spa/param/bluetooth/type-info.h
+include/spa-0.2/spa/param/buffers-types.h
+include/spa-0.2/spa/param/buffers.h
+include/spa-0.2/spa/param/format-types.h
include/spa-0.2/spa/param/format-utils.h
include/spa-0.2/spa/param/format.h
+include/spa-0.2/spa/param/latency-types.h
include/spa-0.2/spa/param/latency-utils.h
+include/spa-0.2/spa/param/latency.h
+include/spa-0.2/spa/param/param-types.h
include/spa-0.2/spa/param/param.h
+include/spa-0.2/spa/param/port-config-types.h
+include/spa-0.2/spa/param/port-config.h
+include/spa-0.2/spa/param/profile-types.h
+include/spa-0.2/spa/param/profile.h
+include/spa-0.2/spa/param/profiler-types.h
include/spa-0.2/spa/param/profiler.h
+include/spa-0.2/spa/param/props-types.h
include/spa-0.2/spa/param/props.h
+include/spa-0.2/spa/param/route-types.h
+include/spa-0.2/spa/param/route.h
+include/spa-0.2/spa/param/tag-types.h
+include/spa-0.2/spa/param/tag-utils.h
+include/spa-0.2/spa/param/tag.h
include/spa-0.2/spa/param/type-info.h
include/spa-0.2/spa/param/video/chroma.h
include/spa-0.2/spa/param/video/color.h
+include/spa-0.2/spa/param/video/dsp-utils.h
+include/spa-0.2/spa/param/video/dsp.h
include/spa-0.2/spa/param/video/encoded.h
include/spa-0.2/spa/param/video/format-utils.h
include/spa-0.2/spa/param/video/format.h
+include/spa-0.2/spa/param/video/h264-utils.h
+include/spa-0.2/spa/param/video/h264.h
+include/spa-0.2/spa/param/video/mjpg-utils.h
+include/spa-0.2/spa/param/video/mjpg.h
include/spa-0.2/spa/param/video/multiview.h
+include/spa-0.2/spa/param/video/raw-types.h
+include/spa-0.2/spa/param/video/raw-utils.h
include/spa-0.2/spa/param/video/raw.h
include/spa-0.2/spa/param/video/type-info.h
include/spa-0.2/spa/pod/builder.h
@@ -152,45 +213,54 @@ include/spa-0.2/spa/support/plugin.h
include/spa-0.2/spa/support/system.h
include/spa-0.2/spa/support/thread.h
include/spa-0.2/spa/utils/ansi.h
+include/spa-0.2/spa/utils/atomic.h
+include/spa-0.2/spa/utils/cleanup.h
include/spa-0.2/spa/utils/defs.h
include/spa-0.2/spa/utils/dict.h
include/spa-0.2/spa/utils/dll.h
+include/spa-0.2/spa/utils/enum-types.h
include/spa-0.2/spa/utils/hook.h
include/spa-0.2/spa/utils/json-pod.h
include/spa-0.2/spa/utils/json.h
include/spa-0.2/spa/utils/keys.h
include/spa-0.2/spa/utils/list.h
include/spa-0.2/spa/utils/names.h
+include/spa-0.2/spa/utils/ratelimit.h
include/spa-0.2/spa/utils/result.h
include/spa-0.2/spa/utils/ringbuffer.h
include/spa-0.2/spa/utils/string.h
include/spa-0.2/spa/utils/type-info.h
include/spa-0.2/spa/utils/type.h
-%%MEDIASESSION%%lib/alsa-lib/libasound_module_ctl_pipewire.so
-%%MEDIASESSION%%lib/alsa-lib/libasound_module_pcm_pipewire.so
%%GSTREAMER%%lib/gstreamer-1.0/libgstpipewire.so
lib/libpipewire-0.3.so
lib/libpipewire-0.3.so.0
-lib/libpipewire-0.3.so.0.351.0
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjack.so
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjack.so.0
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjack.so.0.351.0
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjacknet.so
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjacknet.so.0
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjacknet.so.0.351.0
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjackserver.so
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjackserver.so.0
-%%PIPEWIRE_JACK%%lib/pipewire-0.3/jack/libjackserver.so.0.351.0
+lib/libpipewire-0.3.so.0.1004.0
+%%JACK%%lib/pipewire-0.3/jack/libjack.so
+%%JACK%%lib/pipewire-0.3/jack/libjack.so.0
+%%JACK%%lib/pipewire-0.3/jack/libjack.so.0.3.1004
+%%JACK%%lib/pipewire-0.3/jack/libjacknet.so
+%%JACK%%lib/pipewire-0.3/jack/libjacknet.so.0
+%%JACK%%lib/pipewire-0.3/jack/libjacknet.so.0.3.1004
+%%JACK%%lib/pipewire-0.3/jack/libjackserver.so
+%%JACK%%lib/pipewire-0.3/jack/libjackserver.so.0
+%%JACK%%lib/pipewire-0.3/jack/libjackserver.so.0.3.1004
lib/pipewire-0.3/libpipewire-module-access.so
lib/pipewire-0.3/libpipewire-module-adapter.so
lib/pipewire-0.3/libpipewire-module-client-device.so
lib/pipewire-0.3/libpipewire-module-client-node.so
+lib/pipewire-0.3/libpipewire-module-combine-stream.so
lib/pipewire-0.3/libpipewire-module-echo-cancel.so
lib/pipewire-0.3/libpipewire-module-fallback-sink.so
+%%LV2%%lib/pipewire-0.3/libpipewire-module-filter-chain-lv2.so
lib/pipewire-0.3/libpipewire-module-filter-chain.so
+%%JACK%%lib/pipewire-0.3/libpipewire-module-jack-tunnel.so
+%%JACK%%lib/pipewire-0.3/libpipewire-module-jackdbus-detect.so
lib/pipewire-0.3/libpipewire-module-link-factory.so
lib/pipewire-0.3/libpipewire-module-loopback.so
lib/pipewire-0.3/libpipewire-module-metadata.so
+lib/pipewire-0.3/libpipewire-module-netjack2-driver.so
+lib/pipewire-0.3/libpipewire-module-netjack2-manager.so
+lib/pipewire-0.3/libpipewire-module-pipe-tunnel.so
lib/pipewire-0.3/libpipewire-module-portal.so
lib/pipewire-0.3/libpipewire-module-profiler.so
lib/pipewire-0.3/libpipewire-module-protocol-native.so
@@ -201,233 +271,109 @@ lib/pipewire-0.3/libpipewire-module-protocol-simple.so
lib/pipewire-0.3/libpipewire-module-raop-sink.so
lib/pipewire-0.3/libpipewire-module-rt.so
lib/pipewire-0.3/libpipewire-module-rtkit.so
+lib/pipewire-0.3/libpipewire-module-rtp-sap.so
+%%PULSEAUDIO%%lib/pipewire-0.3/libpipewire-module-rtp-session.so
+lib/pipewire-0.3/libpipewire-module-rtp-sink.so
+lib/pipewire-0.3/libpipewire-module-rtp-source.so
lib/pipewire-0.3/libpipewire-module-session-manager.so
lib/pipewire-0.3/libpipewire-module-spa-device-factory.so
lib/pipewire-0.3/libpipewire-module-spa-device.so
lib/pipewire-0.3/libpipewire-module-spa-node-factory.so
lib/pipewire-0.3/libpipewire-module-spa-node.so
+lib/pipewire-0.3/libpipewire-module-vban-recv.so
+lib/pipewire-0.3/libpipewire-module-vban-send.so
+%%X11_BELL%%lib/pipewire-0.3/libpipewire-module-x11-bell.so
%%PULSEAUDIO%%lib/pipewire-0.3/libpipewire-module-zeroconf-discover.so
lib/spa-0.2/aec/libspa-aec-null.so
lib/spa-0.2/aec/libspa-aec-webrtc.so
-%%MEDIASESSION%%lib/spa-0.2/alsa/libspa-alsa.so
lib/spa-0.2/audioconvert/libspa-audioconvert.so
lib/spa-0.2/audiomixer/libspa-audiomixer.so
lib/spa-0.2/audiotestsrc/libspa-audiotestsrc.so
lib/spa-0.2/control/libspa-control.so
+%%JACK%%lib/spa-0.2/jack/libspa-jack.so
lib/spa-0.2/support/libspa-dbus.so
lib/spa-0.2/support/libspa-support.so
lib/spa-0.2/v4l2/libspa-v4l2.so
lib/spa-0.2/videoconvert/libspa-videoconvert.so
lib/spa-0.2/videotestsrc/libspa-videotestsrc.so
-lib/spa-0.2/volume/libspa-volume.so
%%VULKAN%%lib/spa-0.2/vulkan/libspa-vulkan.so
-@comment lib/udev/rules.d/90-pipewire-alsa.rules
libdata/pkgconfig/libpipewire-0.3.pc
libdata/pkgconfig/libspa-0.2.pc
-%%MANPAGES%%man/man1/pipewire-pulse.1.gz
-%%MANPAGES%%man/man1/pipewire.1.gz
-%%MANPAGES%%man/man1/pw-cat.1.gz
-%%MANPAGES%%man/man1/pw-cli.1.gz
-%%MANPAGES%%man/man1/pw-dot.1.gz
-%%MANPAGES%%%%PIPEWIRE_JACK%%man/man1/pw-jack.1.gz
-%%MANPAGES%%man/man1/pw-link.1.gz
-%%MANPAGES%%man/man1/pw-metadata.1.gz
-%%MANPAGES%%man/man1/pw-mididump.1.gz
-%%MANPAGES%%man/man1/pw-mon.1.gz
-%%MANPAGES%%man/man1/pw-profiler.1.gz
-%%MANPAGES%%man/man1/pw-top.1.gz
-%%MANPAGES%%man/man5/pipewire.conf.5.gz
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-aux.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-dock-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-fm.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-front-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-headphone-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-headset-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-internal-mic-always.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-internal-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-linein.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-mic-line.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-mic.conf.common
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-rear-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-tvtuner.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input-video.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-input.conf.common
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-chat.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-headphones-2.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-headphones.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-lineout.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-mono.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-speaker-always.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output-speaker.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/analog-output.conf.common
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-0.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-1.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-10.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-2.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-3.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-4.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-5.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-6.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-7.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-8.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/hdmi-output-9.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/iec958-stereo-input.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/iec958-stereo-output.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/steelseries-arctis-output-chat-common.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/steelseries-arctis-output-game-common.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/usb-gaming-headset-input.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/usb-gaming-headset-output-mono.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/usb-gaming-headset-output-stereo.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/paths/virtual-surround-7.1.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/audigy.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/cmedia-high-speed-true-hdaudio.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/default.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/dell-dock-tb16-usb-audio.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/force-speaker-and-int-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/force-speaker.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/hp-tbt-dock-120w-g2.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/hp-tbt-dock-audio-module.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/kinect-audio.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/maudio-fasttrack-pro.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-audio4dj.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-audio8dj.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-komplete-audio6.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-korecontroller.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-traktor-audio10.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-traktor-audio2.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-traktor-audio6.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/native-instruments-traktorkontrol-s4.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/sb-omni-surround-5.1.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/sennheiser-gsx.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/simple-headphones-mic.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/steelseries-arctis-common-usb-audio.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/texas-instruments-pcm2902.conf
-%%MEDIASESSION%%share/alsa-card-profile/mixer/profile-sets/usb-gaming-headset.conf
-%%MEDIASESSION%%share/alsa/alsa.conf.d/50-pipewire.conf
-%%MEDIASESSION%%share/alsa/alsa.conf.d/99-pipewire-default.conf
-%%MEDIASESSION%%share/locale/af/LC_MESSAGES/media-session.mo
share/locale/af/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/as/LC_MESSAGES/media-session.mo
share/locale/as/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/be/LC_MESSAGES/media-session.mo
share/locale/be/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/bg/LC_MESSAGES/media-session.mo
share/locale/bg/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/bn_IN/LC_MESSAGES/media-session.mo
share/locale/bn_IN/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/ca/LC_MESSAGES/media-session.mo
share/locale/ca/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/cs/LC_MESSAGES/media-session.mo
share/locale/cs/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/da/LC_MESSAGES/media-session.mo
share/locale/da/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/de/LC_MESSAGES/media-session.mo
share/locale/de/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/de_CH/LC_MESSAGES/media-session.mo
share/locale/de_CH/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/el/LC_MESSAGES/media-session.mo
share/locale/el/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/eo/LC_MESSAGES/media-session.mo
share/locale/eo/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/es/LC_MESSAGES/media-session.mo
share/locale/es/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/fi/LC_MESSAGES/media-session.mo
share/locale/fi/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/fr/LC_MESSAGES/media-session.mo
share/locale/fr/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/gl/LC_MESSAGES/media-session.mo
share/locale/gl/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/gu/LC_MESSAGES/media-session.mo
share/locale/gu/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/he/LC_MESSAGES/media-session.mo
share/locale/he/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/hi/LC_MESSAGES/media-session.mo
share/locale/hi/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/hr/LC_MESSAGES/media-session.mo
share/locale/hr/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/hu/LC_MESSAGES/media-session.mo
share/locale/hu/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/id/LC_MESSAGES/media-session.mo
share/locale/id/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/it/LC_MESSAGES/media-session.mo
share/locale/it/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/ja/LC_MESSAGES/media-session.mo
share/locale/ja/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/kk/LC_MESSAGES/media-session.mo
+share/locale/ka/LC_MESSAGES/pipewire.mo
share/locale/kk/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/kn/LC_MESSAGES/media-session.mo
share/locale/kn/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/ko/LC_MESSAGES/media-session.mo
share/locale/ko/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/lt/LC_MESSAGES/media-session.mo
share/locale/lt/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/ml/LC_MESSAGES/media-session.mo
share/locale/ml/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/mr/LC_MESSAGES/media-session.mo
share/locale/mr/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/my/LC_MESSAGES/media-session.mo
share/locale/my/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/nl/LC_MESSAGES/media-session.mo
share/locale/nl/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/nn/LC_MESSAGES/media-session.mo
share/locale/nn/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/oc/LC_MESSAGES/media-session.mo
share/locale/oc/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/or/LC_MESSAGES/media-session.mo
share/locale/or/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/pa/LC_MESSAGES/media-session.mo
share/locale/pa/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/pl/LC_MESSAGES/media-session.mo
share/locale/pl/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/pt/LC_MESSAGES/media-session.mo
share/locale/pt/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/pt_BR/LC_MESSAGES/media-session.mo
share/locale/pt_BR/LC_MESSAGES/pipewire.mo
share/locale/ro/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/ru/LC_MESSAGES/media-session.mo
share/locale/ru/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/si/LC_MESSAGES/media-session.mo
share/locale/si/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/sk/LC_MESSAGES/media-session.mo
share/locale/sk/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/sr/LC_MESSAGES/media-session.mo
share/locale/sr/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/sr@latin/LC_MESSAGES/media-session.mo
share/locale/sr@latin/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/sv/LC_MESSAGES/media-session.mo
share/locale/sv/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/ta/LC_MESSAGES/media-session.mo
share/locale/ta/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/te/LC_MESSAGES/media-session.mo
share/locale/te/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/tr/LC_MESSAGES/media-session.mo
share/locale/tr/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/uk/LC_MESSAGES/media-session.mo
share/locale/uk/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/zh_CN/LC_MESSAGES/media-session.mo
share/locale/zh_CN/LC_MESSAGES/pipewire.mo
-%%MEDIASESSION%%share/locale/zh_TW/LC_MESSAGES/media-session.mo
share/locale/zh_TW/LC_MESSAGES/pipewire.mo
%%DATADIR%%/client-rt.conf
+%%DATADIR%%/client-rt.conf.avail/20-upmix.conf
%%DATADIR%%/client.conf
+%%DATADIR%%/client.conf.avail/20-upmix.conf
+%%DATADIR%%/filter-chain.conf
%%DATADIR%%/filter-chain/demonic.conf
-%%DATADIR%%/filter-chain/duplicate-FL.conf
%%DATADIR%%/filter-chain/sink-dolby-surround.conf
%%DATADIR%%/filter-chain/sink-eq6.conf
+%%DATADIR%%/filter-chain/sink-make-LFE.conf
%%DATADIR%%/filter-chain/sink-matrix-spatialiser.conf
+%%DATADIR%%/filter-chain/sink-mix-FL-FR.conf
%%DATADIR%%/filter-chain/sink-virtual-surround-5.1-kemar.conf
%%DATADIR%%/filter-chain/sink-virtual-surround-7.1-hesuvi.conf
+%%DATADIR%%/filter-chain/source-duplicate-FL.conf
%%DATADIR%%/filter-chain/source-rnnoise.conf
%%DATADIR%%/jack.conf
-%%MEDIASESSION%%%%DATADIR%%/media-session.d/alsa-monitor.conf
-%%MEDIASESSION%%%%DATADIR%%/media-session.d/bluez-monitor.conf
-%%MEDIASESSION%%%%DATADIR%%/media-session.d/media-session.conf
-%%MEDIASESSION%%%%DATADIR%%/media-session.d/v4l2-monitor.conf
-%%MEDIASESSION%%%%DATADIR%%/media-session.d/with-jack
-%%MEDIASESSION%%%%DATADIR%%/media-session.d/with-pulseaudio
%%DATADIR%%/minimal.conf
+%%DATADIR%%/pipewire-aes67.conf
+%%DATADIR%%/pipewire-avb.conf
%%DATADIR%%/pipewire-pulse.conf
+%%DATADIR%%/pipewire-pulse.conf.avail/20-upmix.conf
+%%VULKAN%%%%DATADIR%%/pipewire-vulkan.conf
%%DATADIR%%/pipewire.conf
+%%DATADIR%%/pipewire.conf.avail/10-rates.conf
+%%DATADIR%%/pipewire.conf.avail/20-upmix.conf
diff --git a/multimedia/pitivi/Makefile b/multimedia/pitivi/Makefile
index 84fdbde4d163..1d3284e36c79 100644
--- a/multimedia/pitivi/Makefile
+++ b/multimedia/pitivi/Makefile
@@ -1,39 +1,35 @@
-# Created by: Koop Mast <kwm@FreeBSD.org>
-
PORTNAME= pitivi
-PORTVERSION= 0.999
-PORTREVISION= 2
+PORTVERSION= 2022.06
+PORTREVISION= 3
CATEGORIES= multimedia
-MASTER_SITES= GNOME
+MASTER_SITES= GNOME/sources/${PORTNAME}/${PORTVERSION:R}
MAINTAINER= kwm@FreeBSD.org
COMMENT= Gstreamer based non-linear audio/video editor
+WWW= https://www.pitivi.org
LICENSE= LGPL21+
BUILD_DEPENDS= gst-validate-launcher:multimedia/gstreamer1-validate \
itstool:textproc/itstool
-LIB_DEPENDS= libgsttranscoder-1.0.so:multimedia/gstreamer1-transcoder
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gstreamer1>=1.14.0:multimedia/py-gstreamer1@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}cairo>=0:graphics/py-cairo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}matplotlib>=1.4:math/py-matplotlib@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
${PYNUMPY}
-USES= cpe desktop-file-utils gettext gnome gstreamer meson pkgconfig python:3.7+ shebangfix tar:xz
+USES= cpe desktop-file-utils gettext gnome gstreamer meson pkgconfig python \
+ shared-mime-info shebangfix tar:xz
SHEBANG_FILES= bin/pitivi.in \
getenvvar.py \
tests/__init__.py \
tests/validate-tests/manager.py \
tests/validate-tests/runtests
USE_GNOME= cairo intltool gdkpixbuf2 gsound gtk30 pygobject3
-USE_GSTREAMER= editing-services gdkpixbuf good gtk
+USE_GSTREAMER= bad editing-services gdkpixbuf good gtk
USE_LDCONFIG= yes
MESON_ARGS= -Db_lundef=false
-post-patch:
- ${REINPLACE_CMD} -e "/find_program/s|'python3'|'${PYTHON_VERSION}'|" \
- -e "/dependency/s|'python3'|'python-${PYTHON_VER}'|" \
- ${WRKSRC}/meson.build
+BINARY_ALIAS= python3=${PYTHON_VERSION}
.include <bsd.port.mk>
diff --git a/multimedia/pitivi/distinfo b/multimedia/pitivi/distinfo
index 409104e94c53..9afc62bbac94 100644
--- a/multimedia/pitivi/distinfo
+++ b/multimedia/pitivi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1541918642
-SHA256 (pitivi-0.999.tar.xz) = cb6f8a831383e698c2117ca7caec77b8167a6b2e2b0fb9c375e6a4f7c815b757
-SIZE (pitivi-0.999.tar.xz) = 12296928
+TIMESTAMP = 1664712154
+SHA256 (pitivi-2022.06.tar.xz) = 533d38e3c6d211c2bd0e95e2b96b0f0833bdf0d5d477ace07df611583506c838
+SIZE (pitivi-2022.06.tar.xz) = 11352412
diff --git a/multimedia/pitivi/pkg-descr b/multimedia/pitivi/pkg-descr
index 7730529a7068..56352233a386 100644
--- a/multimedia/pitivi/pkg-descr
+++ b/multimedia/pitivi/pkg-descr
@@ -6,5 +6,3 @@ the process of being corrected.
This means that it is not guaranteed that all codecs, containers or effects
work properly with PiTiVi.
-
-WWW: http://www.pitivi.org
diff --git a/multimedia/pitivi/pkg-plist b/multimedia/pitivi/pkg-plist
index ec41942bc4ea..4c8d73d3f279 100644
--- a/multimedia/pitivi/pkg-plist
+++ b/multimedia/pitivi/pkg-plist
@@ -1,46 +1,74 @@
bin/pitivi
lib/pitivi/python/pitivi/__init__.py
-lib/pitivi/python/pitivi/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/application.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/autoaligner.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/check.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/clipproperties.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/effects.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/mainwindow.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/mediafilespreviewer.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/medialibrary.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/preset.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/project.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/render.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/shortcuts.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/tabsmanager.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/titleeditor.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/__pycache__/transitions.cpython-%%PYTHON_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/action_search_bar%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/application%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/autoaligner%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/check%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/clipproperties%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/editorperspective%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/editorstate%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/effects%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/greeterperspective%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/interactiveintro%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/mainwindow%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/mediafilespreviewer%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/medialibrary%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/perspective%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/pluginmanager%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/preset%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/project%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/render%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/settings%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/shortcuts%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/tabsmanager%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/trackerperspective%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/__pycache__/transitions%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/action_search_bar.py
lib/pitivi/python/pitivi/application.py
lib/pitivi/python/pitivi/autoaligner.py
lib/pitivi/python/pitivi/check.py
lib/pitivi/python/pitivi/check.py.orig
+lib/pitivi/python/pitivi/clip_properties/__pycache__/alignment%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/clip_properties/__pycache__/color%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/clip_properties/__pycache__/compositing%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/clip_properties/__pycache__/markers%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/clip_properties/__pycache__/title%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/clip_properties/alignment.py
+lib/pitivi/python/pitivi/clip_properties/color.py
+lib/pitivi/python/pitivi/clip_properties/compositing.py
+lib/pitivi/python/pitivi/clip_properties/markers.py
+lib/pitivi/python/pitivi/clip_properties/title.py
lib/pitivi/python/pitivi/clipproperties.py
lib/pitivi/python/pitivi/configure.py
lib/pitivi/python/pitivi/configure.py.in
lib/pitivi/python/pitivi/coptimizations/renderer.c
lib/pitivi/python/pitivi/dialogs/__init__.py
-lib/pitivi/python/pitivi/dialogs/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/dialogs/__pycache__/clipmediaprops.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/dialogs/__pycache__/depsmanager.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/dialogs/__pycache__/filelisterrordialog.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/dialogs/__pycache__/prefs.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/dialogs/__pycache__/startupwizard.cpython-%%PYTHON_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/about%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/browseprojects%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/clipmediaprops%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/filelisterrordialog%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/missingasset%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/prefs%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/__pycache__/projectsettings%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/dialogs/about.py
+lib/pitivi/python/pitivi/dialogs/browseprojects.py
lib/pitivi/python/pitivi/dialogs/clipmediaprops.py
-lib/pitivi/python/pitivi/dialogs/depsmanager.py
lib/pitivi/python/pitivi/dialogs/filelisterrordialog.py
+lib/pitivi/python/pitivi/dialogs/missingasset.py
lib/pitivi/python/pitivi/dialogs/prefs.py
-lib/pitivi/python/pitivi/dialogs/startupwizard.py
+lib/pitivi/python/pitivi/dialogs/projectsettings.py
+lib/pitivi/python/pitivi/editorperspective.py
+lib/pitivi/python/pitivi/editorstate.py
lib/pitivi/python/pitivi/effects.py
+lib/pitivi/python/pitivi/greeterperspective.py
+lib/pitivi/python/pitivi/interactiveintro.py
lib/pitivi/python/pitivi/mainwindow.py
lib/pitivi/python/pitivi/mediafilespreviewer.py
lib/pitivi/python/pitivi/medialibrary.py
+lib/pitivi/python/pitivi/perspective.py
+lib/pitivi/python/pitivi/pluginmanager.py
lib/pitivi/python/pitivi/preset.py
lib/pitivi/python/pitivi/project.py
lib/pitivi/python/pitivi/render.py
@@ -48,44 +76,58 @@ lib/pitivi/python/pitivi/settings.py
lib/pitivi/python/pitivi/shortcuts.py
lib/pitivi/python/pitivi/tabsmanager.py
lib/pitivi/python/pitivi/timeline/__init__.py
-lib/pitivi/python/pitivi/timeline/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/timeline/__pycache__/elements.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/timeline/__pycache__/layer.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/timeline/__pycache__/previewers.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/timeline/__pycache__/ruler.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/timeline/__pycache__/timeline.cpython-%%PYTHON_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/elements%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/layer%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/markers%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/previewers%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/ruler%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/timeline/__pycache__/timeline%%PYTHON_EXT_SUFFIX%%.pyc
lib/pitivi/python/pitivi/timeline/elements.py
lib/pitivi/python/pitivi/timeline/layer.py
+lib/pitivi/python/pitivi/timeline/markers.py
lib/pitivi/python/pitivi/timeline/previewers.py
lib/pitivi/python/pitivi/timeline/renderer.so
lib/pitivi/python/pitivi/timeline/ruler.py
lib/pitivi/python/pitivi/timeline/timeline.py
-lib/pitivi/python/pitivi/titleeditor.py
+lib/pitivi/python/pitivi/trackerperspective.py
lib/pitivi/python/pitivi/transitions.py
lib/pitivi/python/pitivi/undo/__init__.py
-lib/pitivi/python/pitivi/undo/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/undo/__pycache__/project.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/undo/__pycache__/timeline.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/undo/__pycache__/undo.cpython-%%PYTHON_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/__pycache__/base%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/__pycache__/markers%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/__pycache__/project%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/__pycache__/timeline%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/__pycache__/undo%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/undo/base.py
+lib/pitivi/python/pitivi/undo/markers.py
lib/pitivi/python/pitivi/undo/project.py
lib/pitivi/python/pitivi/undo/timeline.py
lib/pitivi/python/pitivi/undo/undo.py
lib/pitivi/python/pitivi/utils/__init__.py
-lib/pitivi/python/pitivi/utils/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/extract.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/loggable.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/misc.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/pipeline.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/proxy.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/ripple_update_group.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/system.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/threads.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/timeline.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/ui.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/validate.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/utils/__pycache__/widgets.cpython-%%PYTHON_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/beat_detection%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/check_pipeline%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/custom_effect_widgets%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/extract%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/loggable%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/markers%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/misc%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/pipeline%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/proxy%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/ripple_update_group%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/system%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/threads%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/timeline%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/ui%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/validate%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/__pycache__/widgets%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/utils/beat_detection.py
+lib/pitivi/python/pitivi/utils/check_pipeline.py
+lib/pitivi/python/pitivi/utils/custom_effect_widgets.py
lib/pitivi/python/pitivi/utils/extract.py
lib/pitivi/python/pitivi/utils/loggable.py
+lib/pitivi/python/pitivi/utils/markers.py
lib/pitivi/python/pitivi/utils/misc.py
lib/pitivi/python/pitivi/utils/pipeline.py
lib/pitivi/python/pitivi/utils/proxy.py
@@ -97,18 +139,23 @@ lib/pitivi/python/pitivi/utils/ui.py
lib/pitivi/python/pitivi/utils/validate.py
lib/pitivi/python/pitivi/utils/widgets.py
lib/pitivi/python/pitivi/viewer/__init__.py
-lib/pitivi/python/pitivi/viewer/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/viewer/__pycache__/move_scale_overlay.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/viewer/__pycache__/overlay.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/viewer/__pycache__/overlay_stack.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/viewer/__pycache__/title_overlay.cpython-%%PYTHON_SUFFIX%%.pyc
-lib/pitivi/python/pitivi/viewer/__pycache__/viewer.cpython-%%PYTHON_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/guidelines%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/move_scale_overlay%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/overlay%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/overlay_stack%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/peak_meter%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/safe_areas_overlay%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/title_overlay%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/__pycache__/viewer%%PYTHON_EXT_SUFFIX%%.pyc
+lib/pitivi/python/pitivi/viewer/guidelines.py
lib/pitivi/python/pitivi/viewer/move_scale_overlay.py
lib/pitivi/python/pitivi/viewer/overlay.py
lib/pitivi/python/pitivi/viewer/overlay_stack.py
+lib/pitivi/python/pitivi/viewer/peak_meter.py
+lib/pitivi/python/pitivi/viewer/safe_areas_overlay.py
lib/pitivi/python/pitivi/viewer/title_overlay.py
lib/pitivi/python/pitivi/viewer/viewer.py
-share/appdata/org.pitivi.Pitivi.appdata.xml
share/applications/org.pitivi.Pitivi.desktop
share/help/C/pitivi/about.page
share/help/C/pitivi/cheatsheet.page
@@ -148,8 +195,46 @@ share/help/C/pitivi/transitions.page
share/help/C/pitivi/trimming.page
share/help/C/pitivi/usingclips.page
share/help/C/pitivi/usingeffects.page
-share/help/C/pitivi/welcomedialog.page
share/help/C/pitivi/workwithprojects.page
+share/help/ca/pitivi/about.page
+share/help/ca/pitivi/cheatsheet.page
+share/help/ca/pitivi/codecscontainers.page
+share/help/ca/pitivi/effects.page
+share/help/ca/pitivi/figures/codecscontainers.jpg
+share/help/ca/pitivi/figures/fadestep1.png
+share/help/ca/pitivi/figures/fadestep2.png
+share/help/ca/pitivi/figures/fadestep3.png
+share/help/ca/pitivi/figures/keyframecurves.png
+share/help/ca/pitivi/figures/layers.png
+share/help/ca/pitivi/figures/logo.png
+share/help/ca/pitivi/figures/mainwindow.jpg
+share/help/ca/pitivi/figures/ripple-after.png
+share/help/ca/pitivi/figures/ripple-before.png
+share/help/ca/pitivi/figures/roll-after.png
+share/help/ca/pitivi/figures/roll-before.png
+share/help/ca/pitivi/figures/ruler.png
+share/help/ca/pitivi/figures/trimming-individual.png
+share/help/ca/pitivi/gstreamer.page
+share/help/ca/pitivi/importing.page
+share/help/ca/pitivi/importingmpegts.page
+share/help/ca/pitivi/index.page
+share/help/ca/pitivi/keyframecurves.page
+share/help/ca/pitivi/layers.page
+share/help/ca/pitivi/license.page
+share/help/ca/pitivi/mainwindow.page
+share/help/ca/pitivi/medialibrary.page
+share/help/ca/pitivi/movearoundtimeline.page
+share/help/ca/pitivi/presets.page
+share/help/ca/pitivi/rendering.page
+share/help/ca/pitivi/savescreenshot.page
+share/help/ca/pitivi/selectiongrouping.page
+share/help/ca/pitivi/splitting.page
+share/help/ca/pitivi/sysreq.page
+share/help/ca/pitivi/transitions.page
+share/help/ca/pitivi/trimming.page
+share/help/ca/pitivi/usingclips.page
+share/help/ca/pitivi/usingeffects.page
+share/help/ca/pitivi/workwithprojects.page
share/help/cs/pitivi/about.page
share/help/cs/pitivi/cheatsheet.page
share/help/cs/pitivi/codecscontainers.page
@@ -188,7 +273,6 @@ share/help/cs/pitivi/transitions.page
share/help/cs/pitivi/trimming.page
share/help/cs/pitivi/usingclips.page
share/help/cs/pitivi/usingeffects.page
-share/help/cs/pitivi/welcomedialog.page
share/help/cs/pitivi/workwithprojects.page
share/help/de/pitivi/about.page
share/help/de/pitivi/cheatsheet.page
@@ -228,7 +312,6 @@ share/help/de/pitivi/transitions.page
share/help/de/pitivi/trimming.page
share/help/de/pitivi/usingclips.page
share/help/de/pitivi/usingeffects.page
-share/help/de/pitivi/welcomedialog.page
share/help/de/pitivi/workwithprojects.page
share/help/el/pitivi/about.page
share/help/el/pitivi/cheatsheet.page
@@ -268,7 +351,6 @@ share/help/el/pitivi/transitions.page
share/help/el/pitivi/trimming.page
share/help/el/pitivi/usingclips.page
share/help/el/pitivi/usingeffects.page
-share/help/el/pitivi/welcomedialog.page
share/help/el/pitivi/workwithprojects.page
share/help/es/pitivi/about.page
share/help/es/pitivi/cheatsheet.page
@@ -308,7 +390,6 @@ share/help/es/pitivi/transitions.page
share/help/es/pitivi/trimming.page
share/help/es/pitivi/usingclips.page
share/help/es/pitivi/usingeffects.page
-share/help/es/pitivi/welcomedialog.page
share/help/es/pitivi/workwithprojects.page
share/help/fr/pitivi/about.page
share/help/fr/pitivi/cheatsheet.page
@@ -348,7 +429,6 @@ share/help/fr/pitivi/transitions.page
share/help/fr/pitivi/trimming.page
share/help/fr/pitivi/usingclips.page
share/help/fr/pitivi/usingeffects.page
-share/help/fr/pitivi/welcomedialog.page
share/help/fr/pitivi/workwithprojects.page
share/help/sl/pitivi/about.page
share/help/sl/pitivi/cheatsheet.page
@@ -388,7 +468,6 @@ share/help/sl/pitivi/transitions.page
share/help/sl/pitivi/trimming.page
share/help/sl/pitivi/usingclips.page
share/help/sl/pitivi/usingeffects.page
-share/help/sl/pitivi/welcomedialog.page
share/help/sl/pitivi/workwithprojects.page
share/help/sv/pitivi/about.page
share/help/sv/pitivi/cheatsheet.page
@@ -428,7 +507,6 @@ share/help/sv/pitivi/transitions.page
share/help/sv/pitivi/trimming.page
share/help/sv/pitivi/usingclips.page
share/help/sv/pitivi/usingeffects.page
-share/help/sv/pitivi/welcomedialog.page
share/help/sv/pitivi/workwithprojects.page
share/help/uk/pitivi/about.page
share/help/uk/pitivi/cheatsheet.page
@@ -468,20 +546,9 @@ share/help/uk/pitivi/transitions.page
share/help/uk/pitivi/trimming.page
share/help/uk/pitivi/usingclips.page
share/help/uk/pitivi/usingeffects.page
-share/help/uk/pitivi/welcomedialog.page
share/help/uk/pitivi/workwithprojects.page
-share/icons/hicolor/16x16/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/16x16/mimetypes/text-x-xges.png
-share/icons/hicolor/22x22/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/24x24/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/24x24/mimetypes/text-x-xges.png
-share/icons/hicolor/256x256/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/32x32/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/32x32/mimetypes/text-x-xges.png
-share/icons/hicolor/48x48/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/48x48/mimetypes/text-x-xges.png
-share/icons/hicolor/512x512/apps/org.pitivi.Pitivi.png
-share/icons/hicolor/512x512/mimetypes/text-x-xges.png
+share/icons/hicolor/scalable/apps/org.pitivi.Pitivi.svg
+share/icons/hicolor/scalable/mimetypes/text-x-xges.svg
share/icons/hicolor/symbolic/apps/org.pitivi.Pitivi-symbolic.svg
share/locale/ar/LC_MESSAGES/pitivi.mo
share/locale/ast/LC_MESSAGES/pitivi.mo
@@ -535,16 +602,31 @@ share/locale/vi/LC_MESSAGES/pitivi.mo
share/locale/zh_CN/LC_MESSAGES/pitivi.mo
share/locale/zh_HK/LC_MESSAGES/pitivi.mo
share/locale/zh_TW/LC_MESSAGES/pitivi.mo
+share/metainfo/org.pitivi.Pitivi.appdata.xml
share/mime/packages/org.pitivi.Pitivi-mime.xml
%%DATADIR%%/audiopresets/iPod.json
%%DATADIR%%/gstpresets/GstJpegEnc.prs
%%DATADIR%%/gstpresets/jpeg-flac-in-matroska.gep
%%DATADIR%%/gstpresets/jpeg-opus-in-matroska.gep
+%%DATADIR%%/gstpresets/jpeg-raw-in-matroska.gep
+%%DATADIR%%/gstpresets/jpeg-raw-in-qt.gep
%%DATADIR%%/gstpresets/prores-flac-in-matroska.gep
%%DATADIR%%/gstpresets/prores-opus-in-matroska.gep
+%%DATADIR%%/gstpresets/prores-raw-in-matroska.gep
+%%DATADIR%%/gstpresets/prores-raw-in-qt.gep
+%%DATADIR%%/pixmaps/align-tool-symbolic.svg
%%DATADIR%%/pixmaps/asset-proxied.svg
%%DATADIR%%/pixmaps/asset-proxy-in-progress.svg
%%DATADIR%%/pixmaps/asset-proxying-error.svg
+%%DATADIR%%/pixmaps/asset-scaled.svg
+%%DATADIR%%/pixmaps/asset-unsupported.svg
+%%DATADIR%%/pixmaps/attach-audio-symbolic.svg
+%%DATADIR%%/pixmaps/chain-broken-symbolic.svg
+%%DATADIR%%/pixmaps/chain-connected-symbolic.svg
+%%DATADIR%%/pixmaps/clip-marker-hover.png
+%%DATADIR%%/pixmaps/clip-marker-select.png
+%%DATADIR%%/pixmaps/clip-marker.png
+%%DATADIR%%/pixmaps/detach-audio-symbolic.svg
%%DATADIR%%/pixmaps/effects/agingtv.png
%%DATADIR%%/pixmaps/effects/bulge.png
%%DATADIR%%/pixmaps/effects/burn.png
@@ -614,6 +696,12 @@ share/mime/packages/org.pitivi.Pitivi-mime.xml
%%DATADIR%%/pixmaps/effects/videocrop.png
%%DATADIR%%/pixmaps/effects/warptv.png
%%DATADIR%%/pixmaps/effects/waterripple.png
+%%DATADIR%%/pixmaps/eye-not-looking-symbolic.svg
+%%DATADIR%%/pixmaps/eye-open-negative-filled-symbolic.svg
+%%DATADIR%%/pixmaps/grip-lines-solid.svg
+%%DATADIR%%/pixmaps/marker-hover.png
+%%DATADIR%%/pixmaps/marker-unselect.png
+%%DATADIR%%/pixmaps/marker.png
%%DATADIR%%/pixmaps/pitivi-advanced-16.png
%%DATADIR%%/pixmaps/pitivi-advanced-22.png
%%DATADIR%%/pixmaps/pitivi-advanced-24.png
@@ -625,8 +713,15 @@ share/mime/packages/org.pitivi.Pitivi-mime.xml
%%DATADIR%%/pixmaps/pitivi-split.svg
%%DATADIR%%/pixmaps/pitivi-ungroup.svg
%%DATADIR%%/pixmaps/pitivi-unlink.svg
+%%DATADIR%%/pixmaps/presets/youtube.png
%%DATADIR%%/pixmaps/processing-clip.png
%%DATADIR%%/pixmaps/processing-clip.svg
+%%DATADIR%%/pixmaps/question-round-symbolic.svg
+%%DATADIR%%/pixmaps/scissors-symbolic.svg
+%%DATADIR%%/pixmaps/star-regular.svg
+%%DATADIR%%/pixmaps/star-solid.svg
+%%DATADIR%%/pixmaps/stopwatch-symbolic.svg
+%%DATADIR%%/pixmaps/tag-symbolic.svg
%%DATADIR%%/pixmaps/transitions/bar-wipe-lr.png
%%DATADIR%%/pixmaps/transitions/bar-wipe-lr.svg
%%DATADIR%%/pixmaps/transitions/bar-wipe-tb.png
@@ -772,22 +867,33 @@ share/mime/packages/org.pitivi.Pitivi-mime.xml
%%DATADIR%%/pixmaps/transitions/windshield-v.svg
%%DATADIR%%/pixmaps/trimbar-focused.png
%%DATADIR%%/pixmaps/trimbar-normal.png
+%%DATADIR%%/pixmaps/warning-symbolic.svg
%%DATADIR%%/ui/alignmentprogress.ui
+%%DATADIR%%/ui/beatdetection.ui
+%%DATADIR%%/ui/clipcolor.ui
+%%DATADIR%%/ui/clipcompositing.ui
%%DATADIR%%/ui/clipmediaprops.ui
%%DATADIR%%/ui/cliptransformation.ui
-%%DATADIR%%/ui/depsmanager.ui
+%%DATADIR%%/ui/customwidgets/alpha.ui
+%%DATADIR%%/ui/customwidgets/frei0r-filter-3-point-color-balance.ui
+%%DATADIR%%/ui/customwidgets/frei0r-filter-alphaspot.ui
+%%DATADIR%%/ui/customwidgets/pitivi:object_effect.ui
%%DATADIR%%/ui/effectslibrary.ui
%%DATADIR%%/ui/elementsettingsdialog.ui
%%DATADIR%%/ui/filelisterrordialog.ui
+%%DATADIR%%/ui/greeter.ui
%%DATADIR%%/ui/mainmenubutton.ui
+%%DATADIR%%/ui/markerpopover.ui
%%DATADIR%%/ui/medialibrary.ui
+%%DATADIR%%/ui/pluginpreferencesrow.ui
%%DATADIR%%/ui/preferences.ui
+%%DATADIR%%/ui/project_info.ui
%%DATADIR%%/ui/projectsettings.ui
%%DATADIR%%/ui/renderingdialog.ui
%%DATADIR%%/ui/renderingprogress.ui
-%%DATADIR%%/ui/startupwizard.ui
%%DATADIR%%/ui/timelinetoolbar.ui
%%DATADIR%%/ui/titleeditor.ui
+%%DATADIR%%/ui/trackerperspective.ui
%%DATADIR%%/videopresets/1080SDp24.json
%%DATADIR%%/videopresets/1080SDp30.json
%%DATADIR%%/videopresets/1080p24.json
diff --git a/multimedia/plasma5-plank-player/Makefile b/multimedia/plasma5-plank-player/Makefile
new file mode 100644
index 000000000000..946d03d3615b
--- /dev/null
+++ b/multimedia/plasma5-plank-player/Makefile
@@ -0,0 +1,16 @@
+PORTNAME= plank-player
+DISTVERSION= ${KDE_PLASMA_VERSION}
+CATEGORIES= multimedia kde kde-plasma
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= Plasma5 Bigscreen Multimedia Player
+WWW= https://www.kde.org/plasma-desktop
+
+USES= cmake compiler:c++11-lib desktop-file-utils gettext kde:5 \
+ pkgconfig qt:5 shebangfix tar:xz
+USE_KDE= i18n kirigami2 \
+ ecm:build
+USE_QT= core declarative gui multimedia network quickcontrols2 \
+ buildtools:build qmake:build
+
+.include <bsd.port.mk>
diff --git a/multimedia/plasma5-plank-player/distinfo b/multimedia/plasma5-plank-player/distinfo
new file mode 100644
index 000000000000..49cee59ec13e
--- /dev/null
+++ b/multimedia/plasma5-plank-player/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709790866
+SHA256 (KDE/plasma/5.27.11/plank-player-5.27.11.tar.xz) = 6cea475c8fac1a6028e99861201d330aaa028fc0864edf7eac972b7cd2fce6e9
+SIZE (KDE/plasma/5.27.11/plank-player-5.27.11.tar.xz) = 159384
diff --git a/multimedia/plasma5-plank-player/pkg-descr b/multimedia/plasma5-plank-player/pkg-descr
new file mode 100644
index 000000000000..13bfbe54e6e0
--- /dev/null
+++ b/multimedia/plasma5-plank-player/pkg-descr
@@ -0,0 +1,3 @@
+Plasma applet for audio volume management using PulseAudio
+
+For users of pulseaudio, this provides extended mixer applet.
diff --git a/multimedia/plasma5-plank-player/pkg-plist b/multimedia/plasma5-plank-player/pkg-plist
new file mode 100644
index 000000000000..562dde455101
--- /dev/null
+++ b/multimedia/plasma5-plank-player/pkg-plist
@@ -0,0 +1,33 @@
+bin/plank-player
+share/applications/org.plank.player.desktop
+share/icons/hicolor/128x128/apps/plank-player.png
+share/icons/hicolor/256x256/apps/plank-player.png
+share/locale/ca/LC_MESSAGES/plank-player.mo
+share/locale/ca@valencia/LC_MESSAGES/plank-player.mo
+share/locale/cs/LC_MESSAGES/plank-player.mo
+share/locale/de/LC_MESSAGES/plank-player.mo
+share/locale/en_GB/LC_MESSAGES/plank-player.mo
+share/locale/eo/LC_MESSAGES/plank-player.mo
+share/locale/es/LC_MESSAGES/plank-player.mo
+share/locale/eu/LC_MESSAGES/plank-player.mo
+share/locale/fi/LC_MESSAGES/plank-player.mo
+share/locale/fr/LC_MESSAGES/plank-player.mo
+share/locale/gl/LC_MESSAGES/plank-player.mo
+share/locale/it/LC_MESSAGES/plank-player.mo
+share/locale/ja/LC_MESSAGES/plank-player.mo
+share/locale/ka/LC_MESSAGES/plank-player.mo
+share/locale/ko/LC_MESSAGES/plank-player.mo
+share/locale/nl/LC_MESSAGES/plank-player.mo
+share/locale/nn/LC_MESSAGES/plank-player.mo
+share/locale/pl/LC_MESSAGES/plank-player.mo
+share/locale/pt/LC_MESSAGES/plank-player.mo
+share/locale/pt_BR/LC_MESSAGES/plank-player.mo
+share/locale/ro/LC_MESSAGES/plank-player.mo
+share/locale/ru/LC_MESSAGES/plank-player.mo
+share/locale/sk/LC_MESSAGES/plank-player.mo
+share/locale/sl/LC_MESSAGES/plank-player.mo
+share/locale/sv/LC_MESSAGES/plank-player.mo
+share/locale/tr/LC_MESSAGES/plank-player.mo
+share/locale/uk/LC_MESSAGES/plank-player.mo
+share/locale/zh_CN/LC_MESSAGES/plank-player.mo
+share/metainfo/org.kde.invent.plank_player.metainfo.xml
diff --git a/multimedia/plasmatube/Makefile b/multimedia/plasmatube/Makefile
new file mode 100644
index 000000000000..9e9c84e5e62e
--- /dev/null
+++ b/multimedia/plasmatube/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= plasmatube
+DISTVERSION= ${KDE_APPLICATIONS_VERSION}
+CATEGORIES= multimedia kde kde-applications
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= Elegant user interface for YouTube
+WWW= https://apps.kde.org/plasmatube/
+
+LIB_DEPENDS= libmpv.so:multimedia/mpv
+
+USES= cmake kde:5 localbase:ldflags pkgconfig qt:5 tar:xz
+USE_KDE= config coreaddons i18n kirigami2 \
+ ecm:build
+USE_QT= core declarative gui network quickcontrols2 svg \
+ widgets xml \
+ buildtools:build qmake:build testlib:build
+
+# Replace default Invidious instance with one that currently works
+post-patch:
+ @${REINPLACE_CMD} -e 's|https://inv.riverside.rocks|https://vid.puffyan.us|' \
+ ${WRKSRC}/src/PlasmaTubeSettings.kcfg
+
+.include <bsd.port.mk>
diff --git a/multimedia/plasmatube/distinfo b/multimedia/plasmatube/distinfo
new file mode 100644
index 000000000000..68d503f425a2
--- /dev/null
+++ b/multimedia/plasmatube/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1707889322
+SHA256 (KDE/release-service/23.08.5/plasmatube-23.08.5.tar.xz) = 66ca4fdc2059d72651d6be5264860ba66af90e0be10af80c2ea30859727c1b9d
+SIZE (KDE/release-service/23.08.5/plasmatube-23.08.5.tar.xz) = 84224
diff --git a/multimedia/plasmatube/pkg-descr b/multimedia/plasmatube/pkg-descr
new file mode 100644
index 000000000000..e1cf4f073fa7
--- /dev/null
+++ b/multimedia/plasmatube/pkg-descr
@@ -0,0 +1,2 @@
+PlasmaTube allows you to watch YouTube videos on your phone or desktop using a
+elegant user interface integrated with the rest of Plasma.
diff --git a/multimedia/plasmatube/pkg-plist b/multimedia/plasmatube/pkg-plist
new file mode 100644
index 000000000000..35aeea7a4b8b
--- /dev/null
+++ b/multimedia/plasmatube/pkg-plist
@@ -0,0 +1,41 @@
+bin/plasmatube
+share/applications/org.kde.plasmatube.desktop
+share/icons/hicolor/scalable/apps/org.kde.plasmatube.svg
+share/locale/ar/LC_MESSAGES/plasmatube.mo
+share/locale/ast/LC_MESSAGES/plasmatube.mo
+share/locale/az/LC_MESSAGES/plasmatube.mo
+share/locale/be/LC_MESSAGES/plasmatube.mo
+share/locale/ca/LC_MESSAGES/plasmatube.mo
+share/locale/ca@valencia/LC_MESSAGES/plasmatube.mo
+share/locale/cs/LC_MESSAGES/plasmatube.mo
+share/locale/de/LC_MESSAGES/plasmatube.mo
+share/locale/en_GB/LC_MESSAGES/plasmatube.mo
+share/locale/es/LC_MESSAGES/plasmatube.mo
+share/locale/eu/LC_MESSAGES/plasmatube.mo
+share/locale/fi/LC_MESSAGES/plasmatube.mo
+share/locale/fr/LC_MESSAGES/plasmatube.mo
+share/locale/gl/LC_MESSAGES/plasmatube.mo
+share/locale/hi/LC_MESSAGES/plasmatube.mo
+share/locale/hu/LC_MESSAGES/plasmatube.mo
+share/locale/ia/LC_MESSAGES/plasmatube.mo
+share/locale/id/LC_MESSAGES/plasmatube.mo
+share/locale/it/LC_MESSAGES/plasmatube.mo
+share/locale/ja/LC_MESSAGES/plasmatube.mo
+share/locale/ka/LC_MESSAGES/plasmatube.mo
+share/locale/ko/LC_MESSAGES/plasmatube.mo
+share/locale/lt/LC_MESSAGES/plasmatube.mo
+share/locale/nl/LC_MESSAGES/plasmatube.mo
+share/locale/nn/LC_MESSAGES/plasmatube.mo
+share/locale/pa/LC_MESSAGES/plasmatube.mo
+share/locale/pl/LC_MESSAGES/plasmatube.mo
+share/locale/pt/LC_MESSAGES/plasmatube.mo
+share/locale/pt_BR/LC_MESSAGES/plasmatube.mo
+share/locale/ru/LC_MESSAGES/plasmatube.mo
+share/locale/sk/LC_MESSAGES/plasmatube.mo
+share/locale/sl/LC_MESSAGES/plasmatube.mo
+share/locale/sv/LC_MESSAGES/plasmatube.mo
+share/locale/tr/LC_MESSAGES/plasmatube.mo
+share/locale/uk/LC_MESSAGES/plasmatube.mo
+share/locale/zh_CN/LC_MESSAGES/plasmatube.mo
+share/locale/zh_TW/LC_MESSAGES/plasmatube.mo
+share/metainfo/org.kde.plasmatube.appdata.xml
diff --git a/multimedia/playerctl/Makefile b/multimedia/playerctl/Makefile
index 11c57fcf7c9d..92c7d675c6ae 100644
--- a/multimedia/playerctl/Makefile
+++ b/multimedia/playerctl/Makefile
@@ -1,13 +1,12 @@
-# Created by: Aaron LI <aly@aaronly.me>
-
PORTNAME= playerctl
DISTVERSION= 2.3.1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia audio
MASTER_SITES= https://github.com/altdesktop/${PORTNAME}/releases/download/v${DISTVERSION}/
MAINTAINER= aly@aaronly.me
COMMENT= MPRIS command-line controller and library
+WWW= https://github.com/altdesktop/playerctl
LICENSE= LGPL3+
LICENSE_FILE= ${WRKSRC}/COPYING
diff --git a/multimedia/playerctl/pkg-descr b/multimedia/playerctl/pkg-descr
index c5637ceb26c7..b24e3ee9fb23 100644
--- a/multimedia/playerctl/pkg-descr
+++ b/multimedia/playerctl/pkg-descr
@@ -8,5 +8,3 @@ For more advanced users, Playerctl provides an introspectable library available
in your favorite scripting language that allows more detailed control like the
ability to subscribe to media player events or get metadata such as artist and
title for the playing track.
-
-WWW: https://github.com/altdesktop/playerctl
diff --git a/multimedia/playerctl/pkg-plist b/multimedia/playerctl/pkg-plist
index 92191d5f577d..d1d791fbe238 100644
--- a/multimedia/playerctl/pkg-plist
+++ b/multimedia/playerctl/pkg-plist
@@ -12,7 +12,7 @@ lib/libplayerctl.so
lib/libplayerctl.so.2
lib/libplayerctl.so.%%VERSION%%
libdata/pkgconfig/playerctl.pc
-man/man1/playerctl.1.gz
+share/man/man1/playerctl.1.gz
share/bash-completion/completions/playerctl.bash
share/dbus-1/services/org.mpris.MediaPlayer2.playerctld.service
%%INTROSPECTION%%share/gir-1.0/Playerctl-2.0.gir
diff --git a/multimedia/plexmediaserver-plexpass/Makefile b/multimedia/plexmediaserver-plexpass/Makefile
index f99301d89e71..4d3b6ccc0cd8 100644
--- a/multimedia/plexmediaserver-plexpass/Makefile
+++ b/multimedia/plexmediaserver-plexpass/Makefile
@@ -1,7 +1,5 @@
-# Created by: KalleDK <plexmaintainer@k-moeller.dk>
-
-PORTVERSION= 1.26.2.5797
-DISTVERSIONSUFFIX=5bd057d2b
+DISTVERSION= 1.40.1.8120
+DISTVERSIONSUFFIX=6dc7f7fd8
MASTER_SITES= https://downloads.plex.tv/plex-media-server-new/${DISTVERSION}-${DISTVERSIONSUFFIX}/freebsd/
PKGNAMESUFFIX= -plexpass
DISTNAME= PlexMediaServer-${DISTVERSION}-${DISTVERSIONSUFFIX}-FreeBSD-${ARCH}
@@ -10,12 +8,13 @@ MAINTAINER= b.shertenlieb@yahoo.com
USE_RC_SUBR= ${PORTNAME}_plexpass
-MASTERDIR=${.CURDIR}/../plexmediaserver
-
-DISTINFO_FILE= ${.CURDIR}/distinfo
-FILESDIR= ${.CURDIR}/files
DATADIR= ${PREFIX}/share/${PORTNAME}${PKGNAMESUFFIX}
+FILESDIR= ${.CURDIR}/files
+
+MASTERDIR= ${.CURDIR}/../plexmediaserver
SUB_LIST= PORTNAME=${PORTNAME}_plexpass DATADIR=${DATADIR} USERS=${USERS} GROUPS=${GROUPS}
+DISTINFO_FILE= ${.CURDIR}/distinfo
+
.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/plexmediaserver-plexpass/distinfo b/multimedia/plexmediaserver-plexpass/distinfo
index f2e9e63b923c..2f87dccece1d 100644
--- a/multimedia/plexmediaserver-plexpass/distinfo
+++ b/multimedia/plexmediaserver-plexpass/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652812842
-SHA256 (PlexMediaServer-1.26.2.5797-5bd057d2b-FreeBSD-amd64.tar.bz2) = 27c490606278e0fff0e14008cc3d8de85cb5aab3e57058c8e478a3c889e99ded
-SIZE (PlexMediaServer-1.26.2.5797-5bd057d2b-FreeBSD-amd64.tar.bz2) = 99123381
+TIMESTAMP = 1709392851
+SHA256 (PlexMediaServer-1.40.1.8120-6dc7f7fd8-FreeBSD-amd64.tar.bz2) = 632e3d54874ae97e813ec38cba9239df04f2f5165d23c9c2b9398ccddc10aa06
+SIZE (PlexMediaServer-1.40.1.8120-6dc7f7fd8-FreeBSD-amd64.tar.bz2) = 88982677
diff --git a/multimedia/plexmediaserver/Makefile b/multimedia/plexmediaserver/Makefile
index 0a9301e38132..52c868a10a1f 100644
--- a/multimedia/plexmediaserver/Makefile
+++ b/multimedia/plexmediaserver/Makefile
@@ -1,25 +1,24 @@
-# Created by: KalleDK <plexmaintainer@k-moeller.dk>
-
PORTNAME= plexmediaserver
-PORTVERSION?= 1.26.2.5797
-DISTVERSIONSUFFIX?=5bd057d2b
+DISTVERSION?= 1.40.0.7998
+DISTVERSIONSUFFIX?=c29d4c0c8
CATEGORIES= multimedia
MASTER_SITES?= https://downloads.plex.tv/plex-media-server-new/${DISTVERSION}-${DISTVERSIONSUFFIX}/freebsd/
DISTNAME?= PlexMediaServer-${DISTVERSION}-${DISTVERSIONSUFFIX}-FreeBSD-${ARCH}
-MAINTAINER?= b.shertenlieb@yahoo.com
+MAINTAINER= b.shertenlieb@yahoo.com
COMMENT= Plex Media Server component
+WWW= https://plex.tv
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= binary-only program, source code not available
USES= cpe tar:bzip2
NO_BUILD= yes
-WRKSRC= ${WRKDIR}/PlexMediaServer-${PORTVERSION}-${DISTVERSIONSUFFIX}
+WRKSRC= ${WRKDIR}/PlexMediaServer-${DISTVERSION}-${DISTVERSIONSUFFIX}
CPE_VENDOR= plex
CPE_PRODUCT= media_server
-CPE_VERSION= ${PORTVERSION:R}
+CPE_VERSION= ${DISTVERSION:R}
USE_RC_SUBR?= ${PORTNAME}
diff --git a/multimedia/plexmediaserver/distinfo b/multimedia/plexmediaserver/distinfo
index da35130afae2..157e13f9e605 100644
--- a/multimedia/plexmediaserver/distinfo
+++ b/multimedia/plexmediaserver/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1653425917
-SHA256 (PlexMediaServer-1.26.2.5797-5bd057d2b-FreeBSD-amd64.tar.bz2) = 27c490606278e0fff0e14008cc3d8de85cb5aab3e57058c8e478a3c889e99ded
-SIZE (PlexMediaServer-1.26.2.5797-5bd057d2b-FreeBSD-amd64.tar.bz2) = 99123381
+TIMESTAMP = 1708679749
+SHA256 (PlexMediaServer-1.40.0.7998-c29d4c0c8-FreeBSD-amd64.tar.bz2) = 274da1dea6e6136d048246daf3f201f2a30669087e931f33eae0f55c7479c90e
+SIZE (PlexMediaServer-1.40.0.7998-c29d4c0c8-FreeBSD-amd64.tar.bz2) = 88926193
diff --git a/multimedia/plexmediaserver/pkg-descr b/multimedia/plexmediaserver/pkg-descr
index 293ccbd39362..24ecc3f05ae2 100644
--- a/multimedia/plexmediaserver/pkg-descr
+++ b/multimedia/plexmediaserver/pkg-descr
@@ -4,5 +4,3 @@ same machine, the same local area network, or over the Internet. Content
may be transcoded by the server before it's streamed in order to reduce
bandwidth requirements, or for compatibility with the device being
streamed to.
-
-WWW: https://plex.tv
diff --git a/multimedia/podcastdl/Makefile b/multimedia/podcastdl/Makefile
index 0a87ff128a4f..a69316d90f34 100644
--- a/multimedia/podcastdl/Makefile
+++ b/multimedia/podcastdl/Makefile
@@ -1,5 +1,3 @@
-# Created by: Rodrigo OSORIO <rodrigo@FreeBSD.org>
-
PORTNAME= podcastdl
PORTVERSION= 0.3.3
CATEGORIES= multimedia
@@ -8,6 +6,7 @@ MASTER_SITES= http://rodrigo.osorio.free.fr/freebsd/distfiles/ \
MAINTAINER= rodrigo@FreeBSD.org
COMMENT= Simple command line podcast client written in plain C
+WWW= https://www.osorio.me/projects/dev/podcastdl/
LICENSE= ISCL
diff --git a/multimedia/podcastdl/pkg-descr b/multimedia/podcastdl/pkg-descr
index 9a9d8b708710..859f731c0642 100644
--- a/multimedia/podcastdl/pkg-descr
+++ b/multimedia/podcastdl/pkg-descr
@@ -1,4 +1,2 @@
Podcastdl is a simple podcast download application written in plain C and
designed to work in the console or from the crontab.
-
-WWW: https://www.osorio.me/projects/dev/podcastdl/
diff --git a/multimedia/poe/Makefile b/multimedia/poe/Makefile
index 8c67f1e9be96..6ba26979d9fd 100644
--- a/multimedia/poe/Makefile
+++ b/multimedia/poe/Makefile
@@ -1,12 +1,13 @@
PORTNAME= poe
PORTVERSION= 0.5.1
-PORTREVISION= 14
+PORTREVISION= 15
CATEGORIES= multimedia gnustep
MASTER_SITES= http://www.eskimo.com/~pburns/Poe/files/
DISTNAME= Poe-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Vorbis comment editor for GNUstep
+WWW= https://www.eskimo.com/~pburns/Poe/
LICENSE= GPLv2+
diff --git a/multimedia/poe/pkg-descr b/multimedia/poe/pkg-descr
index 750487001f3e..c62c5ed16fb4 100644
--- a/multimedia/poe/pkg-descr
+++ b/multimedia/poe/pkg-descr
@@ -6,5 +6,3 @@ Poe: A Pugnacious Ogg Editor. Poe is a vorbis comment editor. It tries to
ogg file you are editing.
LICENSE: GPL2 or later
-
-WWW: http://www.eskimo.com/~pburns/Poe/
diff --git a/multimedia/ppm2fli/Makefile b/multimedia/ppm2fli/Makefile
deleted file mode 100644
index 97d353bbf058..000000000000
--- a/multimedia/ppm2fli/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# Created by: giffunip@asme.org
-
-PORTNAME= ppm2fli
-PORTVERSION= 2.1
-CATEGORIES= multimedia graphics
-MASTER_SITES= http://vento.pi.tu-berlin.de/ppm2fli/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Utilities to merge PPM files into animated FLI and backwards
-
-BROKEN_FreeBSD_13= ld: error: duplicate symbol: Xorigin
-BROKEN_FreeBSD_14= ld: error: duplicate symbol: Xorigin
-
-pre-patch:
- @${REINPLACE_CMD} -e 's|^C|#C|g ; \
- s|gcc |\$${CC} |g' ${WRKSRC}/Makefile
-
-do-install:
-.for f in ppm2fli unflick
- ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/${f}.1 ${STAGEDIR}${MANPREFIX}/man/man1
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/ppm2fli/distinfo b/multimedia/ppm2fli/distinfo
deleted file mode 100644
index 16018d23e4fb..000000000000
--- a/multimedia/ppm2fli/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (ppm2fli-2.1.tar.gz) = 7c4e9ed288a5be356c272f5c81e1106f26c7e06965371bb434fdb02e30ce4a1c
-SIZE (ppm2fli-2.1.tar.gz) = 46888
diff --git a/multimedia/ppm2fli/pkg-descr b/multimedia/ppm2fli/pkg-descr
deleted file mode 100644
index e44fbf37c8de..000000000000
--- a/multimedia/ppm2fli/pkg-descr
+++ /dev/null
@@ -1,19 +0,0 @@
-PPM2FLI can read directly PPM,PGM,PBM and FBM files. If necessary it
-performs a quantization. The filters of the NETPBM, PBMPLUS and FBM package
-can be used as read filters. Together with one of this packages
-a large number of image formats can be handled.
-
-UNFLICK writes images in PPM or FBM format.
-
-In contrast to FBM2FLI no additional package is required to build
-PPM2FLI and UNFLICK. So it can be used without any of the above mentioned
-packages, if another source of PPM,PGM,PBM or FBM images is available.
-For example, PS images can be animated using ghostscript.
-
-The current version is call `beta' because some parts are relative new
-and not totally tested. I made tests on SUN sparc-stations (various versions
-of SUN-OS), on PC running LINUX and under MSDOS using the DJGPP DOS-extender.
-In all cases the GCC compiler was used. Under MSDOS I used a modified
-makefile. Anyway, in some environments changes in the makefile are necessary.
-
-WWW: http://vento.pi.tu-berlin.de/ppm2fli/main.html
diff --git a/multimedia/ppm2fli/pkg-plist b/multimedia/ppm2fli/pkg-plist
deleted file mode 100644
index 729157bda847..000000000000
--- a/multimedia/ppm2fli/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-bin/ppm2fli
-bin/unflick
-man/man1/ppm2fli.1.gz
-man/man1/unflick.1.gz
diff --git a/multimedia/projectx/Makefile b/multimedia/projectx/Makefile
index 1eb2228f192f..fe7a58a4b29d 100644
--- a/multimedia/projectx/Makefile
+++ b/multimedia/projectx/Makefile
@@ -1,5 +1,3 @@
-# Created by: Juergen Lock <nox@jelal.kn-bremen.de>
-
PORTNAME= projectx
PORTVERSION= 0.91.0
PORTREVISION= 1
@@ -9,6 +7,7 @@ DISTNAME= ProjectX_${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= DVB (mpeg) cutting/demux tool
+WWW= https://sourceforge.net/projects/project-x/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/Copying
diff --git a/multimedia/projectx/pkg-descr b/multimedia/projectx/pkg-descr
index cd2e75745af4..f2d56252fc8b 100644
--- a/multimedia/projectx/pkg-descr
+++ b/multimedia/projectx/pkg-descr
@@ -7,5 +7,3 @@ to handle & repair many stream types and shows what went wrong on reception.
It is intended for educational purposes only, as a non-commercial test project.
It may not be used otherwise. Most parts are only experimental.
-
-WWW: https://sourceforge.net/projects/project-x/
diff --git a/multimedia/ptx-kmod/Makefile b/multimedia/ptx-kmod/Makefile
index dc4da169dc18..571b5e0db812 100644
--- a/multimedia/ptx-kmod/Makefile
+++ b/multimedia/ptx-kmod/Makefile
@@ -8,6 +8,7 @@ DISTNAME= ${PORTNAME}-${PORTVERSION:S,0.0.,,}
MAINTAINER= hrs@FreeBSD.org
COMMENT= Device driver for PT1/PT2 ISDB-S/T tuner cards
+WWW= https://d.hatena.ne.jp/bsdaemon/20100429/1272556078
LICENSE= GPLv3
diff --git a/multimedia/ptx-kmod/files/patch-dev_ptx_ptx.c b/multimedia/ptx-kmod/files/patch-dev_ptx_ptx.c
new file mode 100644
index 000000000000..808b7fcbd066
--- /dev/null
+++ b/multimedia/ptx-kmod/files/patch-dev_ptx_ptx.c
@@ -0,0 +1,25 @@
+--- dev/ptx/ptx.c.orig 2022-05-19 22:24:39 UTC
++++ dev/ptx/ptx.c
+@@ -25,8 +25,6 @@ __FBSDID("$FreeBSD$");
+ #include "ptx_sysctl.h"
+
+
+-static devclass_t ptx_devclass;
+-
+ /*
+ ***************************************
+ * PCI Attachment structures and code
+@@ -52,7 +50,13 @@ static driver_t ptx_driver = {
+ sizeof(struct ptx_softc),
+ };
+
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(ptx, pci, ptx_driver, 0, 0);
++#else
++static devclass_t ptx_devclass;
++
+ DRIVER_MODULE(ptx, pci, ptx_driver, ptx_devclass, 0, 0);
++#endif
+ MODULE_VERSION(ptx, 1);
+
+ #define VENDOR_XILINX 0x10ee
diff --git a/multimedia/ptx-kmod/files/patch-dev_ptx_ptx__proc.c b/multimedia/ptx-kmod/files/patch-dev_ptx_ptx__proc.c
new file mode 100644
index 000000000000..3faa4c5fc310
--- /dev/null
+++ b/multimedia/ptx-kmod/files/patch-dev_ptx_ptx__proc.c
@@ -0,0 +1,19 @@
+--- dev/ptx/ptx_proc.c.orig 2022-05-19 22:27:03 UTC
++++ dev/ptx/ptx_proc.c
+@@ -108,7 +108,6 @@ read_dmabuf(struct ptx_softc *scp, uint32_t *dataptr)
+ } micro;
+
+ uint8_t id;
+- uint8_t count;
+ uint8_t st;
+ uint8_t er;
+
+@@ -116,7 +115,7 @@ read_dmabuf(struct ptx_softc *scp, uint32_t *dataptr)
+ micro.val = *dataptr;
+
+ id = (micro.packet.head >> 5) & 0x7;
+- count = (micro.packet.head >> 2) & 0x7;
++ // count = (micro.packet.head >> 2) & 0x7;
+ st = (micro.packet.head >> 1) & 0x1;
+ er = (micro.packet.head >> 0) & 0x1;
+
diff --git a/multimedia/ptx-kmod/pkg-descr b/multimedia/ptx-kmod/pkg-descr
index bcc5abf1492d..49a87fe7b30b 100644
--- a/multimedia/ptx-kmod/pkg-descr
+++ b/multimedia/ptx-kmod/pkg-descr
@@ -1,5 +1,4 @@
A device driver for PT1 and PT2, ISDB-S/ISDB-T tuner cards from Earth Soft.
This version is written by bsdaemon based on recpt1 utility for Linux.
-WWW: http://earthsoft.jp/PT1_PT2/index.html
-WWW: http://d.hatena.ne.jp/bsdaemon/20100429/1272556078
+See also: https://earthsoft.jp/PT1_PT2/index.html
diff --git a/multimedia/pwcbsd/Makefile b/multimedia/pwcbsd/Makefile
index df9bebb51aef..f1b2b735b70a 100644
--- a/multimedia/pwcbsd/Makefile
+++ b/multimedia/pwcbsd/Makefile
@@ -1,8 +1,6 @@
-# Created by: Raaf <freebsd@luna.afraid.org>
-
PORTNAME= pwcbsd
PORTVERSION= 1.4.1
-PORTREVISION= 12
+PORTREVISION= 14
CATEGORIES= multimedia sysutils
MASTER_SITES= http://raaf.atspace.org/ \
http://www.bsd-geek.de/FreeBSD/distfiles/ \
@@ -10,6 +8,7 @@ MASTER_SITES= http://raaf.atspace.org/ \
MAINTAINER= ports@FreeBSD.org
COMMENT= The Linux pwc webcam driver ported to FreeBSD
+WWW= http://raaf.atspace.org/
LICENSE= GPLv2
@@ -26,13 +25,9 @@ OPTIONS_DEFAULT= PROGRAMS
PROGRAMS_DESC= Build the programs
MMAP_DESC= Enable mmap support (MAY CRASH YOUR SYSTEM)
-.include <bsd.port.options.mk>
+CFLAGS+= -Wno-error
-EXTRA_PATCHES= ${FILESDIR}/extra-patch-Makefile.kld \
- ${FILESDIR}/extra-patch-pwc-ctrl.c \
- ${FILESDIR}/extra-patch-pwc-v4l.c \
- ${FILESDIR}/extra-patch-pwc.c \
- ${FILESDIR}/extra-patch-pwc.h
+.include <bsd.port.options.mk>
.if !exists(${SRC_BASE}/sys/Makefile)
IGNORE= requires kernel source files
@@ -61,10 +56,10 @@ post-patch:
do-install:
${MKDIR} ${STAGEDIR}${KMODDIR}
${INSTALL_KLD} ${WRKSRC}/pwc.ko ${STAGEDIR}${KMODDIR}
- ${INSTALL_MAN} ${WRKSRC}/pwc.4 ${STAGEDIR}${PREFIX}/man/man4
+ ${INSTALL_MAN} ${WRKSRC}/pwc.4 ${STAGEDIR}${PREFIX}/share/man/man4
.if ${PORT_OPTIONS:MPROGRAMS}
${INSTALL_PROGRAM} ${PROGRAMS:S|^|${WRKSRC}/|} ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${PROGRAMS:S|^|${WRKSRC}/|}.1 ${STAGEDIR}${PREFIX}/man/man1
+ ${INSTALL_MAN} ${PROGRAMS:S|^|${WRKSRC}/|}.1 ${STAGEDIR}${PREFIX}/share/man/man1
.endif
.include <bsd.port.mk>
diff --git a/multimedia/pwcbsd/files/extra-patch-Makefile.kld b/multimedia/pwcbsd/files/extra-patch-Makefile.kld
deleted file mode 100644
index b614f0bb891f..000000000000
--- a/multimedia/pwcbsd/files/extra-patch-Makefile.kld
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.kld.orig 2006-02-17 00:18:15.000000000 +0100
-+++ Makefile.kld 2009-05-27 20:22:49.137318240 +0200
-@@ -1,6 +1,7 @@
- SRCS=bus_if.h device_if.h opt_usb.h pwc.c pwc-ctrl.c \
- pwc-dec1.c pwc-dec23.c pwc-kiara.c pwc-misc.c \
-- pwc-timon.c pwc-uncompress.c pwc-v4l.c
-+ pwc-timon.c pwc-uncompress.c pwc-v4l.c opt_bus.h \
-+ usb_if.h
- KMOD=pwc
- KMODDIR?=/boot/modules
- #DEBUG_FLAGS=-g
diff --git a/multimedia/pwcbsd/files/extra-patch-pwc-ctrl.c b/multimedia/pwcbsd/files/extra-patch-pwc-ctrl.c
deleted file mode 100644
index fa8e27e62701..000000000000
--- a/multimedia/pwcbsd/files/extra-patch-pwc-ctrl.c
+++ /dev/null
@@ -1,50 +0,0 @@
---- pwc-ctrl.c.orig 2007-07-02 08:54:19.000000000 +0200
-+++ pwc-ctrl.c 2009-09-09 10:34:41.000000000 +0200
-@@ -130,7 +130,7 @@
- static void pwc_set_image_buffer_size(struct pwc_softc *pdev);
-
- /****************************************************************************/
--static int usb_control_msg(usbd_device_handle udev,u_int pipe,u_int8_t request,u_int8_t requesttype,
-+static int usb_control_msg(struct usb_device *udev,u_int pipe,u_int8_t request,u_int8_t requesttype,
- u_int16_t value, u_int16_t index, void *data, u_int16_t size,int timeout)
- {
- usb_device_request_t req;
-@@ -139,9 +139,9 @@
- USETW(req.wValue, value);
- USETW(req.wIndex, index);
- USETW(req.wLength,size);
-- return -usbd_do_request(udev, &req, data);
-+ return -usbd_do_request(udev, NULL, &req, data);
- }
--
-+
-
- #define SendControlMsg(request, value, buflen) \
- usb_control_msg(pdev->udev, 0, \
-@@ -159,7 +159,7 @@
- pdev->vcinterface, \
- &buf, buflen, 500)
-
--static int send_video_command(usbd_device_handle udev, int index, void *buf, int buflen)
-+static int send_video_command(struct usb_device *udev, int index, void *buf, int buflen)
- {
- return usb_control_msg(udev,
- 0,
-@@ -1150,7 +1150,7 @@
- pdev->pan_angle += pan;
- pdev->tilt_angle += tilt;
- }
-- if (ret == -USBD_STALLED) /* stall -> out of range */
-+ if (ret == -USB_ERR_STALLED) /* stall -> out of range */
- ret = -ERANGE;
- return ret;
- }
-@@ -1284,7 +1284,7 @@
- {
- ARG_DEF(struct pwc_probe, probe)
-
-- strncpy(ARGR(probe).name, pdev->name,sizeof(ARGR(probe).name) - 1);
-+ strncpy(ARGR(probe).name,device_get_desc(pdev->sc_dev),sizeof(ARGR(probe).name) - 1);
- ARGR(probe).name[sizeof(ARGR(probe).name) - 1] = '\0';
- ARGR(probe).type = pdev->type;
- ARG_OUT(probe)
diff --git a/multimedia/pwcbsd/files/extra-patch-pwc-v4l.c b/multimedia/pwcbsd/files/extra-patch-pwc-v4l.c
deleted file mode 100644
index 35ae7c2dfa31..000000000000
--- a/multimedia/pwcbsd/files/extra-patch-pwc-v4l.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- pwc-v4l.c.orig 2006-06-07 22:15:52.000000000 +0200
-+++ pwc-v4l.c 2009-05-27 20:22:49.137318240 +0200
-@@ -67,7 +67,7 @@
- {
- struct video_capability *caps = arg;
-
-- strncpy(caps->name, pdev->name, sizeof(caps->name) - 1);
-+ strncpy(caps->name, device_get_desc(pdev->sc_dev), sizeof(caps->name) - 1);
- caps->name[sizeof(caps->name) - 1] = '\0';
- caps->type = VID_TYPE_CAPTURE;
- caps->channels = 1;
diff --git a/multimedia/pwcbsd/files/extra-patch-pwc.c b/multimedia/pwcbsd/files/extra-patch-pwc.c
deleted file mode 100644
index 528a40db0068..000000000000
--- a/multimedia/pwcbsd/files/extra-patch-pwc.c
+++ /dev/null
@@ -1,654 +0,0 @@
---- ./pwc.c.orig 2007-10-09 09:14:01.000000000 +0200
-+++ ./pwc.c 2010-10-01 23:03:54.190935331 +0200
-@@ -28,7 +28,8 @@
- #include "pwc-dec1.h"
- #include "pwc-dec23.h"
-
--static void pwc_isoc_handler(usbd_xfer_handle xfer, usbd_private_handle addr,usbd_status status);
-+static void pwc_isoc_rx_callback(struct usb_xfer *xfer, usb_error_t err);
-+static void pwc_isoc_handler(struct usb_xfer *xfer, void *addr);
- static void pwc_reset_buffers(struct pwc_softc *sc);
- static void pwc_free_buffers(struct pwc_softc *sc, int detach);
-
-@@ -57,55 +58,70 @@
- .d_mmap = pwc_mmap,
- .d_name = "pwc",
- };
--
--struct pwc_info {
-- struct usb_devno devno;
-- int type;
-- char *name;
-+
-+static const struct usb_config pwc_config[MAX_ISO_BUFS] = {
-+ [0] = {
-+ .type = UE_ISOCHRONOUS,
-+ .endpoint = UE_ADDR_ANY,
-+ .direction = UE_DIR_IN,
-+ .bufsize = 0, /* use "wMaxPacketSize * frames" */
-+ .frames = ISO_FRAMES_PER_DESC,
-+ .flags = {.short_xfer_ok = 1,},
-+ .callback = &pwc_isoc_rx_callback,
-+ },
-+
-+ [1] = {
-+ .type = UE_ISOCHRONOUS,
-+ .endpoint = UE_ADDR_ANY,
-+ .direction = UE_DIR_IN,
-+ .bufsize = 0, /* use "wMaxPacketSize * frames" */
-+ .frames = ISO_FRAMES_PER_DESC,
-+ .flags = {.short_xfer_ok = 1,},
-+ .callback = &pwc_isoc_rx_callback,
-+ },
- };
--static const struct pwc_info pwc_devs[] = {
-- {{ 0x0471, 0x0302 }, 645, "Philips PCA645VC" },
-- {{ 0x0471, 0x0303 }, 646, "Philips PCA646VC" },
-- {{ 0x0471, 0x0304 }, 646, "Askey VC010 type 2" },
-- {{ 0x0471, 0x0307 }, 675, "Philips PCVC675K (Vesta)" },
-- {{ 0x0471, 0x0308 }, 680, "Philips PCVC680K (Vesta Pro)" },
-- {{ 0x0471, 0x030C }, 690, "Philips PCVC690K (Vesta Pro Scan)" },
-- {{ 0x0471, 0x0310 }, 730, "Philips PCVC730K (ToUCam Fun)/PCVC830 (ToUCam II)" },
-- {{ 0x0471, 0x0311 }, 740, "Philips PCVC740K (ToUCam Pro)/PCVC840 (ToUCam II)" },
-- {{ 0x0471, 0x0312 }, 750, "Philips PCVC750K (ToUCam Pro Scan)" },
-- {{ 0x0471, 0x0313 }, 720, "Philips PCVC720K/40 (ToUCam XS)" },
-- {{ 0x0471, 0x0329 }, 740, "Philips SPC900NC" },
-- {{ 0x069A, 0x0001 }, 645, "Askey VC010 type 1" },
-- {{ 0x046D, 0x08B0 }, 740, "Logitech QuickCam Pro 3000" },
-- {{ 0x046D, 0x08B1 }, 740, "Logitech QuickCam Notebook Pro" },
-- {{ 0x046D, 0x08B2 }, 740, "Logitech QuickCam Pro 4000" },
-- {{ 0x046D, 0x08B3 }, 740, "Logitech QuickCam Zoom" },
-- {{ 0x046D, 0x08B4 }, 740, "Logitech QuickCam Zoom (new model)" },
-- {{ 0x046D, 0x08B5 }, 740, "Logitech QuickCam Orbit/Sphere" },
-- {{ 0x046D, 0x08B6 }, 730, "Logitech QuickCam (reserved ID)" },
-- {{ 0x046D, 0x08B7 }, 730, "Logitech QuickCam (reserved ID)" },
-- {{ 0x046D, 0x08B8 }, 730, "Logitech QuickCam (reserved ID)" },
-- {{ 0x055D, 0x9000 }, 675, "Samsung MPC-C10" },
-- {{ 0x055D, 0x9001 }, 675, "Samsung MPC-C30" },
-- {{ 0x055D, 0x9002 }, 740, "Samsung SNC-35E" },
-- {{ 0x041E, 0x400C }, 730, "Creative Labs Webcam 5" },
-- {{ 0x041E, 0x4011 }, 740, "Creative Labs Webcam Pro Ex" },
-- {{ 0x04CC, 0x8116 }, 730, "Sotec Afina Eye" },
-- {{ 0x06BE, 0x8116 }, 750, "AME Co. Afina Eye" },
-- {{ 0x0d81, 0x1910 }, 740, "Visionite VCS-UC300" },
-- {{ 0x0d81, 0x1900 }, 730, "Visionite VCS-UM100" },
-+
-+static const struct usb_device_id pwc_devs[] = {
-+ {USB_VPI(0x0471, 0x0302, 645)}, /* Philips PCA645VC */
-+ {USB_VPI(0x0471, 0x0303, 646)}, /* Philips PCA646VC */
-+ {USB_VPI(0x0471, 0x0304, 646)}, /* Askey VC010 type 2 */
-+ {USB_VPI(0x0471, 0x0307, 675)}, /* Philips PCVC675K (Vesta) */
-+ {USB_VPI(0x0471, 0x0308, 680)}, /* Philips PCVC680K (Vesta Pro) */
-+ {USB_VPI(0x0471, 0x030C, 690)}, /* Philips PCVC690K (Vesta Pro Scan) */
-+ {USB_VPI(0x0471, 0x0310, 730)}, /* Philips PCVC730K (ToUCam Fun)/PCVC830 (ToUCam II) */
-+ {USB_VPI(0x0471, 0x0311, 740)}, /* Philips PCVC740K (ToUCam Pro)/PCVC840 (ToUCam II) */
-+ {USB_VPI(0x0471, 0x0312, 750)}, /* Philips PCVC750K (ToUCam Pro Scan) */
-+ {USB_VPI(0x0471, 0x0313, 720)}, /* Philips PCVC720K/40 (ToUCam XS) */
-+ {USB_VPI(0x0471, 0x0329, 740)}, /* Philips SPC900NC */
-+ {USB_VPI(0x069A, 0x0001, 645)}, /* Askey VC010 type 1 */
-+ {USB_VPI(0x046D, 0x08B0, 740)}, /* Logitech QuickCam Pro 3000 */
-+ {USB_VPI(0x046D, 0x08B1, 740)}, /* Logitech QuickCam Notebook Pro */
-+ {USB_VPI(0x046D, 0x08B2, 740)}, /* Logitech QuickCam Pro 4000 */
-+ {USB_VPI(0x046D, 0x08B3, 740)}, /* Logitech QuickCam Zoom */
-+ {USB_VPI(0x046D, 0x08B4, 740)}, /* Logitech QuickCam Zoom (new model) */
-+ {USB_VPI(0x046D, 0x08B5, 740)}, /* Logitech QuickCam Orbit/Sphere */
-+ {USB_VPI(0x046D, 0x08B6, 730)}, /* Logitech QuickCam (reserved ID) */
-+ {USB_VPI(0x046D, 0x08B7, 730)}, /* Logitech QuickCam (reserved ID) */
-+ {USB_VPI(0x046D, 0x08B8, 730)}, /* Logitech QuickCam (reserved ID) */
-+ {USB_VPI(0x055D, 0x9000, 675)}, /* Samsung MPC-C10 */
-+ {USB_VPI(0x055D, 0x9001, 675)}, /* Samsung MPC-C30 */
-+ {USB_VPI(0x055D, 0x9002, 740)}, /* Samsung SNC-35E */
-+ {USB_VPI(0x041E, 0x400C, 730)}, /* Creative Labs Webcam 5 */
-+ {USB_VPI(0x041E, 0x4011, 740)}, /* Creative Labs Webcam Pro Ex */
-+ {USB_VPI(0x04CC, 0x8116, 730)}, /* Sotec Afina Eye */
-+ {USB_VPI(0x06BE, 0x8116, 750)}, /* AME Co. Afina Eye */
-+ {USB_VPI(0x0d81, 0x1910, 740)}, /* Visionite VCS-UC300 */
-+ {USB_VPI(0x0d81, 0x1900, 730)}, /* Visionite VCS-UM100 */
- };
--#define pwc_lookup(v, p) ((const struct pwc_info *)usb_lookup(pwc_devs, v, p))
--#define PWCUNIT(n) (minor(n))
-
--static device_probe_t pwc_match;
-+static device_probe_t pwc_probe;
- static device_attach_t pwc_attach;
- static device_detach_t pwc_detach;
-
- static devclass_t pwc_devclass;
-
- static device_method_t pwc_methods[] = {
-- DEVMETHOD(device_probe, pwc_match),
-+ DEVMETHOD(device_probe, pwc_probe),
- DEVMETHOD(device_attach, pwc_attach),
- DEVMETHOD(device_detach, pwc_detach),
- {0,0},
-@@ -120,41 +136,25 @@
- MODULE_DEPEND(pwc, usb, 1, 1, 1);
-
- static int
--pwc_match(device_t self)
-+pwc_probe(device_t self)
- {
-- struct usb_attach_arg *uaa = device_get_ivars(self);
-- usb_interface_descriptor_t *id;
-+ struct usb_attach_arg *uaa = device_get_ivars(self);
-
-- Trace(TRACE_PROBE,"pwc_match: vendor=0x%x, product=0x%x release=%04x\n",uaa->vendor, uaa->product,uaa->release);
--
-- if(pwc_lookup(uaa->vendor, uaa->product) == NULL)
-- return UMATCH_NONE;
-+ Trace(TRACE_PROBE,"pwc_probe:\n");
-+
-+ if (uaa->usb_mode != USB_MODE_HOST)
-+ return (ENXIO);
-
-- /* Driver loaded when device was already plugged in, we have to claim all interfaces or get none... */
-- if(uaa->usegeneric)
-- return UMATCH_VENDOR_PRODUCT;
--
-- /* We don't want all interfaces */
-- if(uaa->iface == NULL)
-- return UMATCH_NONE;
--
-- id = usbd_get_interface_descriptor(uaa->iface);
-- if(id == NULL) {
-- printf("pwc: failed to get interface descriptor\n");
-- return UMATCH_NONE;
-- }
--
-- Trace(TRACE_PROBE,"pwc_match: iface=%d\n",id->bInterfaceNumber);
--
- /* Interface 0 is the video interface
- * Interface 1 is supposed to be audiocontrol
- * Interface 2 is supposed to be audio
- */
-- if(id->bInterfaceNumber != 0)
-- return UMATCH_NONE;
--
-- return UMATCH_VENDOR_PRODUCT;
--
-+ if (uaa->info.bIfaceIndex != 0)
-+ return (ENXIO);
-+
-+ return (usbd_lookup_id_by_uaa(pwc_devs, sizeof(pwc_devs), uaa));
-+
-+ return (0); /* success */
- }
-
- static int
-@@ -162,43 +162,26 @@
- {
- struct pwc_softc *sc = device_get_softc(self);
- struct usb_attach_arg *uaa = device_get_ivars(self);
-- char devinfo[1024];
-- const char *tmpstr;
-- const struct pwc_info *info;
- char *sizenames[PSZ_MAX] = { "sqcif", "qsif", "qcif", "sif", "cif", "vga" };
-- int i, err;
-+ const char *tmpstr;
-+ int i;
-
-- info = pwc_lookup(uaa->vendor, uaa->product);
-- if(info == NULL) {
-- printf("%s: attach error vendor/product mismatch (vendor=0x%x product=0x%x)\n",
-- device_get_nameunit(sc->sc_dev),uaa->vendor,uaa->product);
-- return ENXIO;
-- }
-+ device_set_usb_desc(self);
-
-- usbd_devinfo(uaa->device, 0, devinfo);
- sc->sc_dev = self;
-- device_set_desc_copy(self, devinfo);
-- device_printf(self, "%s\n", devinfo);
--
-- err = usbd_device2interface_handle(uaa->device,0,&sc->sc_iface);
-- if(err) {
-- printf("%s: failed to get interface handle\n",device_get_nameunit(sc->sc_dev));
-- return ENXIO;
-- }
-
- sc->udev = uaa->device;
-- sc->type = info->type;
-- sc->name = info->name;
-- sc->release = uaa->release;
-+ sc->type = USB_GET_DRIVER_INFO(uaa);
-+ sc->release = uaa->info.bcdDevice;
- sc->power_save = 0;
--
-+
- strcpy(sc->serial,"000-000-000-000");
-
-- if(uaa->vendor == 0x046D) {
-- if(uaa->product == 0x08B4) {
-+ if(uaa->info.idVendor == 0x046D) {
-+ if(uaa->info.idProduct == 0x08B4) {
- sc->power_save = 1;
- }
-- else if(uaa->product == 0x08B5) {
-+ else if(uaa->info.idProduct == 0x08B5) {
-
- /* Logitech QuickCam Orbit */
- sc->features |= FEATURE_MOTOR_PANTILT;
-@@ -215,6 +198,8 @@
- resource_string_value("pwc",device_get_unit(self),"devname",&tmpstr);
- sc->sc_dev_t = make_dev(&pwc_cdevsw, device_get_unit(self),UID_ROOT, GID_OPERATOR,
- 0666, "%s%d",tmpstr,device_get_unit(self));
-+ if (sc->sc_dev_t != NULL)
-+ sc->sc_dev_t->si_drv1 = sc;
-
- resource_int_value("pwc",device_get_unit(self),"power_save",&sc->power_save);
-
-@@ -273,7 +258,6 @@
- resource_int_value("pwc",device_get_unit(self),"pad",&sc->pwc_pad);
-
- pwc_construct(sc);
-- printf("%s: %s USB webcam\n",device_get_nameunit(sc->sc_dev),sc->name);
-
- if(pwc_get_cmos_sensor(sc, &i) >= 0) {
-
-@@ -299,7 +283,6 @@
- if(sc->power_save)
- pwc_camera_power(sc, 0);
-
-- usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->udev,sc->sc_dev);
- return 0;
- }
-
-@@ -309,12 +292,8 @@
- struct pwc_softc *sc = device_get_softc(self);
-
- Trace(TRACE_PROBE,"pwc_detach: sc=%p\n",sc);
--
-- if(sc->sc_videopipe != NULL) {
-- usbd_abort_pipe(sc->sc_videopipe);
-- usbd_close_pipe(sc->sc_videopipe);
-- sc->sc_videopipe = NULL;
-- }
-+
-+ usbd_transfer_unsetup(sc->sc_xfer, MAX_ISO_BUFS);
-
- sc->error_status = EPIPE;
-
-@@ -334,21 +313,17 @@
-
- mtx_destroy(&sc->ptrlock);
- pwc_free_buffers(sc,1);
-- usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->udev,sc->sc_dev);
- return 0;
- }
-
- int
- pwc_open(struct cdev *dev, int flag, int mode, struct thread *p)
- {
-- struct pwc_softc *sc;
-+ struct pwc_softc *sc = dev->si_drv1;
- int i,err;
-- int unit = PWCUNIT(dev);
--
-- sc = devclass_get_softc(pwc_devclass,unit);
-- if(sc == NULL)
-- return ENXIO;
--
-+#ifdef USB_DEBUG
-+ int unit = device_get_unit(sc->sc_dev);
-+#endif
- Trace(TRACE_OPEN,"pwc_open: flag=%d, mode=%d, unit=%d\n",flag, mode, unit);
-
- if(sc->error_status == EPIPE)
-@@ -419,23 +394,6 @@
- for (i = 0; i < sc->pwc_mbufs; i++)
- sc->image_used[i] = 0;
-
-- /* Allocate iso transfers */
-- for (i = 0; i < MAX_ISO_BUFS; i++) {
-- sc->sbuf[i].sc = sc;
-- sc->sbuf[i].xfer = usbd_alloc_xfer(sc->udev);
--
-- if(sc->sbuf[i].xfer == NULL) {
-- printf("%s: Failed to allocate transfer\n",device_get_nameunit(sc->sc_dev));
-- goto bad;
-- }
--
-- sc->sbuf[i].data = usbd_alloc_buffer(sc->sbuf[i].xfer, ISO_BUFFER_SIZE);
-- if(sc->sbuf[i].data == NULL) {
-- printf("%s: Failed to allocate transferbuffer\n",device_get_nameunit(sc->sc_dev));
-- goto bad;
-- }
-- }
--
- sc->state = 0;
- sc->vframe_count = 0;
- sc->vframes_dumped = 0;
-@@ -476,10 +434,10 @@
- int
- pwc_close(struct cdev *dev, int flag, int mode, struct thread *p)
- {
-- struct pwc_softc *sc;
-- int unit = PWCUNIT(dev);
--
-- sc = devclass_get_softc(pwc_devclass, unit);
-+ struct pwc_softc *sc = dev->si_drv1;
-+#ifdef USB_DEBUG
-+ int unit = device_get_unit(sc->sc_dev);
-+#endif
- Trace(TRACE_OPEN,"pwc_close: flag=%d, mode=%d, unit=%d\n", flag, mode, unit);
-
- /* Dump statistics, but only if a reasonable amount of frames were
-@@ -495,19 +453,14 @@
- pwc_dec1_exit();
- else
- pwc_dec23_exit(); /* Timon & Kiara */
--
-- if(sc->sc_videopipe != NULL) {
-- usbd_abort_pipe(sc->sc_videopipe);
-- usbd_close_pipe(sc->sc_videopipe);
-- sc->sc_videopipe = NULL;
-- }
-
- pwc_free_buffers(sc,0);
-
- /* Turn off LEDS and power down camera, but only when not unplugged */
- if(sc->error_status != EPIPE) {
--
-- usbd_set_interface(sc->sc_iface, 0);
-+
-+ usbd_set_alt_interface_index(sc->udev, sc->sc_iface_index, 0);
-+
- pwc_set_leds(sc,0,0);
-
- if(sc->power_save) {
-@@ -523,15 +476,16 @@
- int
- pwc_read(struct cdev *dev, struct uio *uio, int flag)
- {
-- struct pwc_softc *sc;
-- int unit = PWCUNIT(dev);
-+ struct pwc_softc *sc = dev->si_drv1;
-+#ifdef USB_DEBUG
-+ int unit = device_get_unit(sc->sc_dev);
-+#endif
- int bytes_to_read;
- int count = uio->uio_resid;
- int err;
-
- Trace(TRACE_READ,"pwc_read: flag=%d, unit=%d\n", flag, unit);
-
-- sc = devclass_get_softc(pwc_devclass, unit);
- if (sc->error_status)
- return sc->error_status;
-
-@@ -565,7 +519,7 @@
- if(count + sc->image_read_pos > bytes_to_read)
- count = bytes_to_read - sc->image_read_pos;
-
-- Trace(TRACE_READ_VERBOSE, "pwc_read: wants: %d bytes, reading: %d bytes\n",uio->uio_resid,count);
-+ Trace(TRACE_READ_VERBOSE, "pwc_read: wants: %d bytes, reading: %d bytes\n",(int)uio->uio_resid,count);
-
- err = uiomove(sc->images[sc->fill_image].bufmem + sc->image_read_pos,count,uio);
- if(err)
-@@ -583,10 +537,9 @@
- int
- pwc_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *p)
- {
-- struct pwc_softc *sc;
-- int unit = PWCUNIT(dev);
-+ struct pwc_softc *sc = dev->si_drv1;
-+ int unit = device_get_unit(sc->sc_dev);
-
-- sc = devclass_get_softc(pwc_devclass, unit);
- if (sc->error_status)
- return sc->error_status;
-
-@@ -596,11 +549,9 @@
- int
- pwc_poll(struct cdev *dev, int events, struct thread *p)
- {
-- struct pwc_softc *sc;
-- int unit = PWCUNIT(dev);
-+ struct pwc_softc *sc = dev->si_drv1;
- int revents = 0;
-
-- sc = devclass_get_softc(pwc_devclass, unit);
- if(sc->error_status)
- return sc->error_status;
-
-@@ -625,16 +576,17 @@
- }
-
- int
-+#ifdef D_VERSION_03
-+pwc_mmap(struct cdev *dev, vm_ooffset_t offset, vm_paddr_t *paddr, int nprot,
-+ __unused vm_memattr_t *memattr)
-+#else
- pwc_mmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot)
-+#endif
- {
- #ifdef USE_MMAP
-- struct pwc_softc *sc;
-- int unit = PWCUNIT(dev);
-+ struct pwc_softc *sc = dev->si_drv1;
-+ /* int unit = device_get_unit(sc->sc_dev); */
-
-- sc = devclass_get_softc(pwc_devclass, unit);
-- if(sc == NULL)
-- return ENXIO;
--
- if (sc->error_status)
- return sc->error_status;
-
-@@ -652,16 +604,10 @@
- int
- pwc_try_video_mode(struct pwc_softc *sc, int width, int height, int new_fps, int new_compression, int new_snapshot)
- {
-- usb_endpoint_descriptor_t *edesc = NULL;
-- u_int8_t nendpt;
-- int i, j, err, ret;
-+ int i, err, ret;
-+
-+ usbd_transfer_unsetup(sc->sc_xfer, MAX_ISO_BUFS);
-
-- if(sc->sc_videopipe != NULL) {
-- usbd_abort_pipe(sc->sc_videopipe);
-- usbd_close_pipe(sc->sc_videopipe);
-- sc->sc_videopipe = NULL;
-- }
--
- pwc_reset_buffers(sc);
-
- /* Try to set video mode... if that fails fallback to previous mode */
-@@ -678,52 +624,21 @@
- sc->drop_frames++; /* try to avoid garbage during switch */
- sc->vsync = 0;
-
-- err = usbd_set_interface(sc->sc_iface,sc->valternate);
-- if(err != USBD_NORMAL_COMPLETION) {
-+ err = usbd_set_alt_interface_index(sc->udev, sc->sc_iface_index, sc->valternate);
-+ if(err != USB_ERR_NORMAL_COMPLETION) {
- printf("%s: Failed to set alternate interface to: %d (%d)\n",device_get_nameunit(sc->sc_dev),sc->valternate,err);
- return -err;
- }
-
-- err = usbd_endpoint_count(sc->sc_iface, &nendpt);
-- if(err != USBD_NORMAL_COMPLETION) {
-- printf("%s: Failed to get endpoint count (%d)\n",device_get_nameunit(sc->sc_dev),err);
-- return -err;
-- }
-- for (i = 0; i < nendpt; i++) {
-- edesc = usbd_interface2endpoint_descriptor(sc->sc_iface, i);
-- if(edesc != NULL && UE_GET_ADDR(edesc->bEndpointAddress) == sc->vendpoint)
-- break;
-- }
-- if(i == nendpt) {
-- printf("%s: Failed to find videoendpoint\n",device_get_nameunit(sc->sc_dev));
-- return -EINVAL;
-- }
--
-- sc->vmax_packet_size = UGETW(edesc->wMaxPacketSize);
-- if(sc->vmax_packet_size < 0 || sc->vmax_packet_size > ISO_MAX_FRAME_SIZE) {
-- printf("%s: Invalid packetsize (%d) for endpoint %d\n",device_get_nameunit(sc->sc_dev),
-- sc->vmax_packet_size,edesc->bEndpointAddress);
-- return -EINVAL;
-- }
--
-- err = usbd_open_pipe(sc->sc_iface,edesc->bEndpointAddress, 0, &sc->sc_videopipe);
-- if(err != USBD_NORMAL_COMPLETION) {
-- printf("%s: Failed to open videopipe (%d)\n",device_get_nameunit(sc->sc_dev),err);
-+ /* Allocate iso transfers */
-+ if (usbd_transfer_setup(sc->udev, &sc->sc_iface_index, sc->sc_xfer,
-+ pwc_config, MAX_ISO_BUFS, sc, &Giant)) {
-+ printf("%s: Failed to setup USB transfers\n", device_get_nameunit(sc->sc_dev));
- return -err;
- }
-
- for (i = 0; i < MAX_ISO_BUFS; i++) {
--
-- for(j = 0; j < ISO_FRAMES_PER_DESC; ++j)
-- sc->sbuf[i].sizes[j] = sc->vmax_packet_size;
--
-- usbd_setup_isoc_xfer(sc->sbuf[i].xfer, sc->sc_videopipe,
-- &sc->sbuf[i],sc->sbuf[i].sizes,
-- ISO_FRAMES_PER_DESC,
-- USBD_NO_COPY|USBD_SHORT_XFER_OK,
-- pwc_isoc_handler);
--
-- usbd_transfer(sc->sbuf[i].xfer);
-+ usbd_transfer_start(sc->sc_xfer[i]);
- }
-
- if(sc->state & PWC_INIT)
-@@ -767,37 +682,41 @@
- }
-
- static void
--pwc_isoc_handler(usbd_xfer_handle xfer, usbd_private_handle addr,usbd_status status)
-+pwc_isoc_rx_callback(struct usb_xfer *xfer, usb_error_t err)
- {
-- struct pwc_iso_buf *req = addr;
-- struct pwc_softc *sc = req->sc;
-- struct pwc_frame_buf *fbuf;
-- unsigned char *fillptr = NULL;
-- u_int32_t count;
-- int awake = 0;
-- int i;
--
-- usbd_get_xfer_status(xfer, NULL, NULL, &count, NULL);
-- Trace(TRACE_ISOC_VERBOSE, "pwc_isoc_handler: status=%d count=%u\n",status,count);
-+ uint8_t i;
-
-- if (status == USBD_CANCELLED) {
-- Trace(TRACE_ISOC, "pwc_isoc_handler: status = cancelled\n");
-- return;
-- }
-- if(status != USBD_NORMAL_COMPLETION) {
-+ switch(USB_GET_STATE(xfer)) {
-+ case USB_ST_TRANSFERRED:
-+ pwc_isoc_handler(xfer, xfer->priv_sc);
-
-- Trace(TRACE_ISOC, "pwc_isoc_handler called with status: %d\n",status);
-+ /* FALLTHROUGH */
-
-- if (++sc->visoc_errors > MAX_ISOC_ERRORS) {
--
-- if(sc->error_status != EIO)
-- printf("%s: Too many ISOC errors, bailing out.\n",device_get_nameunit(sc->sc_dev));
-+ case USB_ST_SETUP:
-+ tr_setup:
-+ for (i = 0; i != xfer->max_frame_count; i++)
-+ xfer->frlengths[i] = xfer->max_frame_size;
-
-- sc->error_status = EIO;
-- awake = 1;
-- }
-- goto handler_end; // ugly, but practical
-+ xfer->nframes = xfer->max_frame_count;
-+ usbd_transfer_submit(xfer);
-+ break;
-+ default:
-+ if (xfer->error != USB_ERR_CANCELLED)
-+ goto tr_setup;
-+ break;
- }
-+}
-+
-+static void
-+pwc_isoc_handler(struct usb_xfer *xfer, void *addr)
-+{
-+ struct pwc_softc *sc = addr;
-+ struct pwc_frame_buf *fbuf;
-+ unsigned char *fillptr = NULL;
-+ int awake = 0;
-+ int i;
-+
-+ Trace(TRACE_ISOC_VERBOSE, "pwc_isoc_handler: count=%u\n", xfer->actlen);
-
- /* Reset ISOC error counter. We did get here, after all. */
- sc->visoc_errors = 0;
-@@ -816,8 +735,8 @@
- /* XXX there is no individual framestatus in FreeBSD usbstack
- * so just assume all frames are good
- */
-- u_int16_t flen = req->sizes[i];
-- unsigned char *iso_buf = req->data + sc->vmax_packet_size * i;
-+ u_int16_t flen = xfer->frlengths[i];
-+ u_int32_t iso_buf = xfer->max_frame_size * i;
-
- if (flen > 0) { /* if valid data... */
- if(sc->vsync > NOCOPY) { /* ...and we are not sync-hunting... */
-@@ -830,7 +749,7 @@
- sc->vframes_error++;
- }
- else {
-- memcpy(fillptr, iso_buf, flen);
-+ usbd_copy_out(xfer->frbuffers, iso_buf, fillptr, flen);
- fillptr += flen;
- }
- }
-@@ -943,7 +862,6 @@
- sc->vlast_packet_size = flen;
-
- }
--handler_end:
- if(awake) {
- if(sc->state & PWC_ASLEEP) {
- wakeup(sc);
-@@ -953,16 +871,6 @@
- selwakeuppri(&sc->rsel, PZERO);
- }
- }
-- /* setup size for next transfer */
-- for (i = 0; i < ISO_FRAMES_PER_DESC; i++)
-- req->sizes[i] = sc->vmax_packet_size;
--
-- usbd_setup_isoc_xfer(xfer, sc->sc_videopipe, req, req->sizes,
-- ISO_FRAMES_PER_DESC,
-- USBD_NO_COPY|USBD_SHORT_XFER_OK,
-- pwc_isoc_handler);
--
-- usbd_transfer(xfer);
- }
-
- int
-@@ -1050,6 +958,9 @@
- {
- int i;
- Trace(TRACE_MEMORY, "Entering free_buffers(%p).\n", sc);
-+
-+ usbd_transfer_unsetup(sc->sc_xfer, MAX_ISO_BUFS);
-+
- if (sc->fbuf != NULL) {
- for (i = 0; i < sc->pwc_fbufs; i++) {
- if (sc->fbuf[i].data != NULL) {
-@@ -1074,13 +985,6 @@
- free(sc->image_data,M_USBDEV);
- sc->image_data = NULL;
- }
--
-- for (i = 0; i < MAX_ISO_BUFS; i++) {
-- if (sc->sbuf[i].xfer != NULL) {
-- usbd_free_xfer(sc->sbuf[i].xfer); /* implicit buffer free */
-- sc->sbuf[i].xfer = NULL;
-- }
-- }
- }
-
--DRIVER_MODULE(pwc, uhub, pwc_driver, pwc_devclass, usbd_driver_load, 0);
-+DRIVER_MODULE(pwc, uhub, pwc_driver, pwc_devclass, NULL, 0);
diff --git a/multimedia/pwcbsd/files/extra-patch-pwc.h b/multimedia/pwcbsd/files/extra-patch-pwc.h
deleted file mode 100644
index 5a99819343c3..000000000000
--- a/multimedia/pwcbsd/files/extra-patch-pwc.h
+++ /dev/null
@@ -1,91 +0,0 @@
---- pwc.h.orig 2006-09-27 00:21:01.000000000 -0500
-+++ pwc.h 2010-05-17 10:10:06.000000000 -0500
-@@ -44,8 +44,21 @@
- #include <vm/pmap.h>
-
- #include <dev/usb/usb.h>
--#include <dev/usb/usbdi.h>
--#include <dev/usb/usbdi_util.h>
-+/* GJ
-+#include <dev/usb/usb_mfunc.h>
-+#include <dev/usb/usb_error.h>
-+*/
-+
-+#include <dev/usb/usbdi.h> /* GJ */
-+#include <dev/usb/usb_core.h>
-+#include <dev/usb/usb_debug.h>
-+/* GJ
-+#include <dev/usb/usb_lookup.h>
-+*/
-+#include <dev/usb/usb_util.h>
-+#include <dev/usb/usb_busdma.h>
-+#include <dev/usb/usb_request.h>
-+
- #include "pwc-uncompress.h"
- #include "pwc-ioctl.h"
- #include "videodev.h"
-@@ -93,14 +106,9 @@
- #define FRAME_LOWMARK 5
-
- /* Size and number of buffers for the ISO pipe. */
--#define MAX_ISO_BUFS 3
--
--/* !!!!!!!!!! IMPORTANT DO NOT SET THIS HIGHER THAN 8 !!!!!!!!!!!!!!!
-- * !!!!!!!!!! OHCI IS BUGGY IF YOU DO SO !!!!!!!!!!!!!!!*/
--#define ISO_FRAMES_PER_DESC 8
-+#define MAX_ISO_BUFS 2
-
--#define ISO_MAX_FRAME_SIZE 960
--#define ISO_BUFFER_SIZE (ISO_FRAMES_PER_DESC * ISO_MAX_FRAME_SIZE)
-+#define ISO_FRAMES_PER_DESC 16 /* should be multiple of 8 */
-
- /* Frame buffers: contains compressed or uncompressed video data. */
- #define MAX_FRAMES 5
-@@ -133,17 +141,17 @@
- struct pwc_softc
- {
- device_t sc_dev;
-- usbd_device_handle udev;
-- usbd_interface_handle sc_iface;
-- usbd_pipe_handle sc_videopipe;
-+
-+ struct usb_xfer *sc_xfer[MAX_ISO_BUFS];
-+ struct usb_device *udev;
- struct cdev *sc_dev_t;
-
- struct selinfo rsel;
-- char *name;
-+ uint8_t sc_iface_index;
- int type; /* type of cam (645, 646, 675, 680, 690, 720, 730, 740, 750) */
- int release; /* release number */
- int features; /* feature bits */
-- char serial[USB_MAX_STRING_LEN]; /* serial number (string) */
-+ char serial[64]; /* serial number (string) */
- int error_status; /* set when something goes wrong with the cam (unplugged, USB errors) */
- int usb_init; /* set when the cam has been initialized over USB */
-
-@@ -165,7 +173,6 @@
- int vframe_count; /* received frames */
- int vframes_dumped; /* counter for dumped frames */
- int vframes_error; /* frames received in error */
-- int vmax_packet_size; /* USB maxpacket size */
- u_int16_t vlast_packet_size; /* for frame synchronisation */
- int visoc_errors; /* number of contiguous ISOC errors */
- int vcompression; /* desired compression factor */
-@@ -187,15 +194,7 @@
- Note that MAX_ISO_BUFS != MAX_FRAMES != MAX_IMAGES....
- We have in effect a back-to-back-double-buffer system.
- */
-- /* 1: isoc */
-- struct pwc_iso_buf
-- {
-- unsigned char *data;
-- usbd_xfer_handle xfer;
-- u_int16_t sizes[ISO_FRAMES_PER_DESC];
-- struct pwc_softc *sc;
-- } sbuf[MAX_ISO_BUFS];
--
-+
- char iso_init;
-
- /* 2: frame */
diff --git a/multimedia/pwcbsd/files/patch-Makefile.kld b/multimedia/pwcbsd/files/patch-Makefile.kld
new file mode 100644
index 000000000000..52ae68f9e60a
--- /dev/null
+++ b/multimedia/pwcbsd/files/patch-Makefile.kld
@@ -0,0 +1,11 @@
+--- Makefile.kld.orig 2006-02-16 23:18:15 UTC
++++ Makefile.kld
+@@ -1,6 +1,7 @@ SRCS=bus_if.h device_if.h opt_usb.h pwc.c pwc-ctrl.c \
+ SRCS=bus_if.h device_if.h opt_usb.h pwc.c pwc-ctrl.c \
+ pwc-dec1.c pwc-dec23.c pwc-kiara.c pwc-misc.c \
+- pwc-timon.c pwc-uncompress.c pwc-v4l.c
++ pwc-timon.c pwc-uncompress.c pwc-v4l.c opt_bus.h \
++ usb_if.h
+ KMOD=pwc
+ KMODDIR?=/boot/modules
+ #DEBUG_FLAGS=-g
diff --git a/multimedia/pwcbsd/files/patch-pwc-ctrl.c b/multimedia/pwcbsd/files/patch-pwc-ctrl.c
new file mode 100644
index 000000000000..785aac796aa2
--- /dev/null
+++ b/multimedia/pwcbsd/files/patch-pwc-ctrl.c
@@ -0,0 +1,51 @@
+--- pwc-ctrl.c.orig 2007-07-02 06:54:19 UTC
++++ pwc-ctrl.c
+@@ -130,7 +130,7 @@ static void pwc_set_image_buffer_size(struct pwc_softc
+ static void pwc_set_image_buffer_size(struct pwc_softc *pdev);
+
+ /****************************************************************************/
+-static int usb_control_msg(usbd_device_handle udev,u_int pipe,u_int8_t request,u_int8_t requesttype,
++static int usb_control_msg(struct usb_device *udev,u_int pipe,u_int8_t request,u_int8_t requesttype,
+ u_int16_t value, u_int16_t index, void *data, u_int16_t size,int timeout)
+ {
+ usb_device_request_t req;
+@@ -139,10 +139,10 @@ static int usb_control_msg(usbd_device_handle udev,u_i
+ USETW(req.wValue, value);
+ USETW(req.wIndex, index);
+ USETW(req.wLength,size);
+- return -usbd_do_request(udev, &req, data);
++ return -usbd_do_request(udev, NULL, &req, data);
+ }
+-
+
++
+ #define SendControlMsg(request, value, buflen) \
+ usb_control_msg(pdev->udev, 0, \
+ request, \
+@@ -159,7 +159,7 @@ static int usb_control_msg(usbd_device_handle udev,u_i
+ pdev->vcinterface, \
+ &buf, buflen, 500)
+
+-static int send_video_command(usbd_device_handle udev, int index, void *buf, int buflen)
++static int send_video_command(struct usb_device *udev, int index, void *buf, int buflen)
+ {
+ return usb_control_msg(udev,
+ 0,
+@@ -1150,7 +1150,7 @@ int pwc_mpt_set_angle(struct pwc_softc *pdev, int pan,
+ pdev->pan_angle += pan;
+ pdev->tilt_angle += tilt;
+ }
+- if (ret == -USBD_STALLED) /* stall -> out of range */
++ if (ret == -USB_ERR_STALLED) /* stall -> out of range */
+ ret = -ERANGE;
+ return ret;
+ }
+@@ -1284,7 +1284,7 @@ int pwc_do_ioctl(struct pwc_softc *pdev, unsigned int
+ {
+ ARG_DEF(struct pwc_probe, probe)
+
+- strncpy(ARGR(probe).name, pdev->name,sizeof(ARGR(probe).name) - 1);
++ strncpy(ARGR(probe).name,device_get_desc(pdev->sc_dev),sizeof(ARGR(probe).name) - 1);
+ ARGR(probe).name[sizeof(ARGR(probe).name) - 1] = '\0';
+ ARGR(probe).type = pdev->type;
+ ARG_OUT(probe)
diff --git a/multimedia/pwcbsd/files/patch-pwc-dec23.c b/multimedia/pwcbsd/files/patch-pwc-dec23.c
index c173dafaa5a6..9e7a9579a7d7 100644
--- a/multimedia/pwcbsd/files/patch-pwc-dec23.c
+++ b/multimedia/pwcbsd/files/patch-pwc-dec23.c
@@ -1,6 +1,6 @@
---- pwc-dec23.c.orig 2006-06-04 05:39:14.000000000 +0400
-+++ pwc-dec23.c 2015-02-16 22:09:58.000000000 +0300
-@@ -261,7 +261,7 @@
+--- pwc-dec23.c.orig 2006-06-04 01:39:14 UTC
++++ pwc-dec23.c
+@@ -261,7 +261,7 @@ void pwc_dec23_init(int type, int release, unsigned ch
{
int flags;
struct pwc_dec23_private *pdev = data;
@@ -9,7 +9,7 @@
switch (type) {
case 720:
-@@ -277,7 +277,7 @@
+@@ -277,7 +277,7 @@ void pwc_dec23_init(int type, int release, unsigned ch
pdev->zz = 6;
flags = mode[2] >> 5; /* our: 7 */
@@ -18,7 +18,7 @@
pdev->table_0004, pdev->table_8004);
break;
-@@ -293,7 +293,7 @@
+@@ -293,7 +293,7 @@ void pwc_dec23_init(int type, int release, unsigned ch
pdev->zz = 6;
flags = mode[2] >> 3;
@@ -27,3 +27,45 @@
pdev->table_0004, pdev->table_8004);
break;
+@@ -347,7 +347,6 @@ static void DecompressBand23(const struct pwc_dec23_pr
+ unsigned int reservoir, nbits_in_reservoir;
+ int first_4_bits;
+ unsigned int bytes_per_channel;
+- int line_size; /* size of the line (4Y+U+V) */
+ int passes;
+ const unsigned char *ptable0004, *ptable8004;
+
+@@ -368,8 +367,6 @@ static void DecompressBand23(const struct pwc_dec23_pr
+
+ get_nbits(reservoir, nbits_in_reservoir, stream, 4, first_4_bits);
+
+- line_size = pixels_per_line * 3;
+-
+ for (passes = 0; passes < 2; passes++) {
+ if (passes == 0) {
+ bytes_per_channel = pixels_per_line;
+@@ -605,12 +602,13 @@ void pwc_dec23_decompress(const struct pwc_coord *imag
+ int flags, const void *data, int bandlength)
+ {
+ const struct pwc_dec23_private *pdev = data;
+- unsigned char *pout, *pout_planar_y = NULL, *pout_planar_u =
++ //unsigned char *pout;
++ unsigned char *pout_planar_y = NULL, *pout_planar_u =
+ NULL, *pout_planar_v = NULL;
+ int i, n, stride, pixel_size;
+
+ if (flags & PWCX_FLAG_BAYER) {
+- pout = dst + (view->x * offset->y) + offset->x;
++ //pout = dst + (view->x * offset->y) + offset->x;
+ pixel_size = view->x * 4;
+ } else {
+ n = view->x * view->y;
+@@ -632,7 +630,7 @@ void pwc_dec23_decompress(const struct pwc_coord *imag
+ //TODO:
+ //DecompressBandBayer(pdev,src,pout,image.x,view->x,flags);
+ src += bandlength;
+- pout += pixel_size;
++ //pout += pixel_size;
+ } else {
+ DecompressBand23(pdev, src, pout_planar_y,
+ pout_planar_u, pout_planar_v, image->x,
diff --git a/multimedia/pwcbsd/files/patch-pwc-v4l.c b/multimedia/pwcbsd/files/patch-pwc-v4l.c
new file mode 100644
index 000000000000..0e6abb66864c
--- /dev/null
+++ b/multimedia/pwcbsd/files/patch-pwc-v4l.c
@@ -0,0 +1,11 @@
+--- pwc-v4l.c.orig 2006-06-07 20:15:52 UTC
++++ pwc-v4l.c
+@@ -67,7 +67,7 @@ int pwc_video_do_ioctl(struct pwc_softc *pdev, unsigne
+ {
+ struct video_capability *caps = arg;
+
+- strncpy(caps->name, pdev->name, sizeof(caps->name) - 1);
++ strncpy(caps->name, device_get_desc(pdev->sc_dev), sizeof(caps->name) - 1);
+ caps->name[sizeof(caps->name) - 1] = '\0';
+ caps->type = VID_TYPE_CAPTURE;
+ caps->channels = 1;
diff --git a/multimedia/pwcbsd/files/patch-pwc.c b/multimedia/pwcbsd/files/patch-pwc.c
new file mode 100644
index 000000000000..069343e73afd
--- /dev/null
+++ b/multimedia/pwcbsd/files/patch-pwc.c
@@ -0,0 +1,662 @@
+--- pwc.c.orig 2007-10-09 07:14:01 UTC
++++ pwc.c
+@@ -28,7 +28,8 @@
+ #include "pwc-dec1.h"
+ #include "pwc-dec23.h"
+
+-static void pwc_isoc_handler(usbd_xfer_handle xfer, usbd_private_handle addr,usbd_status status);
++static void pwc_isoc_rx_callback(struct usb_xfer *xfer, usb_error_t err);
++static void pwc_isoc_handler(struct usb_xfer *xfer, void *addr);
+ static void pwc_reset_buffers(struct pwc_softc *sc);
+ static void pwc_free_buffers(struct pwc_softc *sc, int detach);
+
+@@ -57,55 +58,68 @@ struct cdevsw pwc_cdevsw = {
+ .d_mmap = pwc_mmap,
+ .d_name = "pwc",
+ };
+-
+-struct pwc_info {
+- struct usb_devno devno;
+- int type;
+- char *name;
++
++static const struct usb_config pwc_config[MAX_ISO_BUFS] = {
++ [0] = {
++ .type = UE_ISOCHRONOUS,
++ .endpoint = UE_ADDR_ANY,
++ .direction = UE_DIR_IN,
++ .bufsize = 0, /* use "wMaxPacketSize * frames" */
++ .frames = ISO_FRAMES_PER_DESC,
++ .flags = {.short_xfer_ok = 1,},
++ .callback = &pwc_isoc_rx_callback,
++ },
++
++ [1] = {
++ .type = UE_ISOCHRONOUS,
++ .endpoint = UE_ADDR_ANY,
++ .direction = UE_DIR_IN,
++ .bufsize = 0, /* use "wMaxPacketSize * frames" */
++ .frames = ISO_FRAMES_PER_DESC,
++ .flags = {.short_xfer_ok = 1,},
++ .callback = &pwc_isoc_rx_callback,
++ },
+ };
+-static const struct pwc_info pwc_devs[] = {
+- {{ 0x0471, 0x0302 }, 645, "Philips PCA645VC" },
+- {{ 0x0471, 0x0303 }, 646, "Philips PCA646VC" },
+- {{ 0x0471, 0x0304 }, 646, "Askey VC010 type 2" },
+- {{ 0x0471, 0x0307 }, 675, "Philips PCVC675K (Vesta)" },
+- {{ 0x0471, 0x0308 }, 680, "Philips PCVC680K (Vesta Pro)" },
+- {{ 0x0471, 0x030C }, 690, "Philips PCVC690K (Vesta Pro Scan)" },
+- {{ 0x0471, 0x0310 }, 730, "Philips PCVC730K (ToUCam Fun)/PCVC830 (ToUCam II)" },
+- {{ 0x0471, 0x0311 }, 740, "Philips PCVC740K (ToUCam Pro)/PCVC840 (ToUCam II)" },
+- {{ 0x0471, 0x0312 }, 750, "Philips PCVC750K (ToUCam Pro Scan)" },
+- {{ 0x0471, 0x0313 }, 720, "Philips PCVC720K/40 (ToUCam XS)" },
+- {{ 0x0471, 0x0329 }, 740, "Philips SPC900NC" },
+- {{ 0x069A, 0x0001 }, 645, "Askey VC010 type 1" },
+- {{ 0x046D, 0x08B0 }, 740, "Logitech QuickCam Pro 3000" },
+- {{ 0x046D, 0x08B1 }, 740, "Logitech QuickCam Notebook Pro" },
+- {{ 0x046D, 0x08B2 }, 740, "Logitech QuickCam Pro 4000" },
+- {{ 0x046D, 0x08B3 }, 740, "Logitech QuickCam Zoom" },
+- {{ 0x046D, 0x08B4 }, 740, "Logitech QuickCam Zoom (new model)" },
+- {{ 0x046D, 0x08B5 }, 740, "Logitech QuickCam Orbit/Sphere" },
+- {{ 0x046D, 0x08B6 }, 730, "Logitech QuickCam (reserved ID)" },
+- {{ 0x046D, 0x08B7 }, 730, "Logitech QuickCam (reserved ID)" },
+- {{ 0x046D, 0x08B8 }, 730, "Logitech QuickCam (reserved ID)" },
+- {{ 0x055D, 0x9000 }, 675, "Samsung MPC-C10" },
+- {{ 0x055D, 0x9001 }, 675, "Samsung MPC-C30" },
+- {{ 0x055D, 0x9002 }, 740, "Samsung SNC-35E" },
+- {{ 0x041E, 0x400C }, 730, "Creative Labs Webcam 5" },
+- {{ 0x041E, 0x4011 }, 740, "Creative Labs Webcam Pro Ex" },
+- {{ 0x04CC, 0x8116 }, 730, "Sotec Afina Eye" },
+- {{ 0x06BE, 0x8116 }, 750, "AME Co. Afina Eye" },
+- {{ 0x0d81, 0x1910 }, 740, "Visionite VCS-UC300" },
+- {{ 0x0d81, 0x1900 }, 730, "Visionite VCS-UM100" },
++
++static const struct usb_device_id pwc_devs[] = {
++ {USB_VPI(0x0471, 0x0302, 645)}, /* Philips PCA645VC */
++ {USB_VPI(0x0471, 0x0303, 646)}, /* Philips PCA646VC */
++ {USB_VPI(0x0471, 0x0304, 646)}, /* Askey VC010 type 2 */
++ {USB_VPI(0x0471, 0x0307, 675)}, /* Philips PCVC675K (Vesta) */
++ {USB_VPI(0x0471, 0x0308, 680)}, /* Philips PCVC680K (Vesta Pro) */
++ {USB_VPI(0x0471, 0x030C, 690)}, /* Philips PCVC690K (Vesta Pro Scan) */
++ {USB_VPI(0x0471, 0x0310, 730)}, /* Philips PCVC730K (ToUCam Fun)/PCVC830 (ToUCam II) */
++ {USB_VPI(0x0471, 0x0311, 740)}, /* Philips PCVC740K (ToUCam Pro)/PCVC840 (ToUCam II) */
++ {USB_VPI(0x0471, 0x0312, 750)}, /* Philips PCVC750K (ToUCam Pro Scan) */
++ {USB_VPI(0x0471, 0x0313, 720)}, /* Philips PCVC720K/40 (ToUCam XS) */
++ {USB_VPI(0x0471, 0x0329, 740)}, /* Philips SPC900NC */
++ {USB_VPI(0x069A, 0x0001, 645)}, /* Askey VC010 type 1 */
++ {USB_VPI(0x046D, 0x08B0, 740)}, /* Logitech QuickCam Pro 3000 */
++ {USB_VPI(0x046D, 0x08B1, 740)}, /* Logitech QuickCam Notebook Pro */
++ {USB_VPI(0x046D, 0x08B2, 740)}, /* Logitech QuickCam Pro 4000 */
++ {USB_VPI(0x046D, 0x08B3, 740)}, /* Logitech QuickCam Zoom */
++ {USB_VPI(0x046D, 0x08B4, 740)}, /* Logitech QuickCam Zoom (new model) */
++ {USB_VPI(0x046D, 0x08B5, 740)}, /* Logitech QuickCam Orbit/Sphere */
++ {USB_VPI(0x046D, 0x08B6, 730)}, /* Logitech QuickCam (reserved ID) */
++ {USB_VPI(0x046D, 0x08B7, 730)}, /* Logitech QuickCam (reserved ID) */
++ {USB_VPI(0x046D, 0x08B8, 730)}, /* Logitech QuickCam (reserved ID) */
++ {USB_VPI(0x055D, 0x9000, 675)}, /* Samsung MPC-C10 */
++ {USB_VPI(0x055D, 0x9001, 675)}, /* Samsung MPC-C30 */
++ {USB_VPI(0x055D, 0x9002, 740)}, /* Samsung SNC-35E */
++ {USB_VPI(0x041E, 0x400C, 730)}, /* Creative Labs Webcam 5 */
++ {USB_VPI(0x041E, 0x4011, 740)}, /* Creative Labs Webcam Pro Ex */
++ {USB_VPI(0x04CC, 0x8116, 730)}, /* Sotec Afina Eye */
++ {USB_VPI(0x06BE, 0x8116, 750)}, /* AME Co. Afina Eye */
++ {USB_VPI(0x0d81, 0x1910, 740)}, /* Visionite VCS-UC300 */
++ {USB_VPI(0x0d81, 0x1900, 730)}, /* Visionite VCS-UM100 */
+ };
+-#define pwc_lookup(v, p) ((const struct pwc_info *)usb_lookup(pwc_devs, v, p))
+-#define PWCUNIT(n) (minor(n))
+
+-static device_probe_t pwc_match;
++static device_probe_t pwc_probe;
+ static device_attach_t pwc_attach;
+ static device_detach_t pwc_detach;
+
+-static devclass_t pwc_devclass;
+-
+ static device_method_t pwc_methods[] = {
+- DEVMETHOD(device_probe, pwc_match),
++ DEVMETHOD(device_probe, pwc_probe),
+ DEVMETHOD(device_attach, pwc_attach),
+ DEVMETHOD(device_detach, pwc_detach),
+ {0,0},
+@@ -120,41 +134,25 @@ static int
+ MODULE_DEPEND(pwc, usb, 1, 1, 1);
+
+ static int
+-pwc_match(device_t self)
++pwc_probe(device_t self)
+ {
+- struct usb_attach_arg *uaa = device_get_ivars(self);
+- usb_interface_descriptor_t *id;
++ struct usb_attach_arg *uaa = device_get_ivars(self);
+
+- Trace(TRACE_PROBE,"pwc_match: vendor=0x%x, product=0x%x release=%04x\n",uaa->vendor, uaa->product,uaa->release);
+-
+- if(pwc_lookup(uaa->vendor, uaa->product) == NULL)
+- return UMATCH_NONE;
++ Trace(TRACE_PROBE,"pwc_probe:\n");
+
+- /* Driver loaded when device was already plugged in, we have to claim all interfaces or get none... */
+- if(uaa->usegeneric)
+- return UMATCH_VENDOR_PRODUCT;
+-
+- /* We don't want all interfaces */
+- if(uaa->iface == NULL)
+- return UMATCH_NONE;
+-
+- id = usbd_get_interface_descriptor(uaa->iface);
+- if(id == NULL) {
+- printf("pwc: failed to get interface descriptor\n");
+- return UMATCH_NONE;
+- }
+-
+- Trace(TRACE_PROBE,"pwc_match: iface=%d\n",id->bInterfaceNumber);
+-
++ if (uaa->usb_mode != USB_MODE_HOST)
++ return (ENXIO);
++
+ /* Interface 0 is the video interface
+ * Interface 1 is supposed to be audiocontrol
+ * Interface 2 is supposed to be audio
+ */
+- if(id->bInterfaceNumber != 0)
+- return UMATCH_NONE;
+-
+- return UMATCH_VENDOR_PRODUCT;
+-
++ if (uaa->info.bIfaceIndex != 0)
++ return (ENXIO);
++
++ return (usbd_lookup_id_by_uaa(pwc_devs, sizeof(pwc_devs), uaa));
++
++ return (0); /* success */
+ }
+
+ static int
+@@ -162,43 +160,26 @@ pwc_attach(device_t self)
+ {
+ struct pwc_softc *sc = device_get_softc(self);
+ struct usb_attach_arg *uaa = device_get_ivars(self);
+- char devinfo[1024];
+- const char *tmpstr;
+- const struct pwc_info *info;
+ char *sizenames[PSZ_MAX] = { "sqcif", "qsif", "qcif", "sif", "cif", "vga" };
+- int i, err;
++ const char *tmpstr;
++ int i;
+
+- info = pwc_lookup(uaa->vendor, uaa->product);
+- if(info == NULL) {
+- printf("%s: attach error vendor/product mismatch (vendor=0x%x product=0x%x)\n",
+- device_get_nameunit(sc->sc_dev),uaa->vendor,uaa->product);
+- return ENXIO;
+- }
++ device_set_usb_desc(self);
+
+- usbd_devinfo(uaa->device, 0, devinfo);
+ sc->sc_dev = self;
+- device_set_desc_copy(self, devinfo);
+- device_printf(self, "%s\n", devinfo);
+
+- err = usbd_device2interface_handle(uaa->device,0,&sc->sc_iface);
+- if(err) {
+- printf("%s: failed to get interface handle\n",device_get_nameunit(sc->sc_dev));
+- return ENXIO;
+- }
+-
+ sc->udev = uaa->device;
+- sc->type = info->type;
+- sc->name = info->name;
+- sc->release = uaa->release;
++ sc->type = USB_GET_DRIVER_INFO(uaa);
++ sc->release = uaa->info.bcdDevice;
+ sc->power_save = 0;
+-
++
+ strcpy(sc->serial,"000-000-000-000");
+
+- if(uaa->vendor == 0x046D) {
+- if(uaa->product == 0x08B4) {
++ if(uaa->info.idVendor == 0x046D) {
++ if(uaa->info.idProduct == 0x08B4) {
+ sc->power_save = 1;
+ }
+- else if(uaa->product == 0x08B5) {
++ else if(uaa->info.idProduct == 0x08B5) {
+
+ /* Logitech QuickCam Orbit */
+ sc->features |= FEATURE_MOTOR_PANTILT;
+@@ -215,6 +196,8 @@ pwc_attach(device_t self)
+ resource_string_value("pwc",device_get_unit(self),"devname",&tmpstr);
+ sc->sc_dev_t = make_dev(&pwc_cdevsw, device_get_unit(self),UID_ROOT, GID_OPERATOR,
+ 0666, "%s%d",tmpstr,device_get_unit(self));
++ if (sc->sc_dev_t != NULL)
++ sc->sc_dev_t->si_drv1 = sc;
+
+ resource_int_value("pwc",device_get_unit(self),"power_save",&sc->power_save);
+
+@@ -273,7 +256,6 @@ pwc_attach(device_t self)
+ resource_int_value("pwc",device_get_unit(self),"pad",&sc->pwc_pad);
+
+ pwc_construct(sc);
+- printf("%s: %s USB webcam\n",device_get_nameunit(sc->sc_dev),sc->name);
+
+ if(pwc_get_cmos_sensor(sc, &i) >= 0) {
+
+@@ -299,7 +281,6 @@ pwc_attach(device_t self)
+ if(sc->power_save)
+ pwc_camera_power(sc, 0);
+
+- usbd_add_drv_event(USB_EVENT_DRIVER_ATTACH, sc->udev,sc->sc_dev);
+ return 0;
+ }
+
+@@ -309,13 +290,9 @@ pwc_detach(device_t self)
+ struct pwc_softc *sc = device_get_softc(self);
+
+ Trace(TRACE_PROBE,"pwc_detach: sc=%p\n",sc);
+-
+- if(sc->sc_videopipe != NULL) {
+- usbd_abort_pipe(sc->sc_videopipe);
+- usbd_close_pipe(sc->sc_videopipe);
+- sc->sc_videopipe = NULL;
+- }
+
++ usbd_transfer_unsetup(sc->sc_xfer, MAX_ISO_BUFS);
++
+ sc->error_status = EPIPE;
+
+ if(sc->vopen) {
+@@ -334,21 +311,17 @@ pwc_detach(device_t self)
+
+ mtx_destroy(&sc->ptrlock);
+ pwc_free_buffers(sc,1);
+- usbd_add_drv_event(USB_EVENT_DRIVER_DETACH, sc->udev,sc->sc_dev);
+ return 0;
+ }
+
+ int
+ pwc_open(struct cdev *dev, int flag, int mode, struct thread *p)
+ {
+- struct pwc_softc *sc;
++ struct pwc_softc *sc = dev->si_drv1;
+ int i,err;
+- int unit = PWCUNIT(dev);
+-
+- sc = devclass_get_softc(pwc_devclass,unit);
+- if(sc == NULL)
+- return ENXIO;
+-
++#ifdef USB_DEBUG
++ int unit = device_get_unit(sc->sc_dev);
++#endif
+ Trace(TRACE_OPEN,"pwc_open: flag=%d, mode=%d, unit=%d\n",flag, mode, unit);
+
+ if(sc->error_status == EPIPE)
+@@ -419,23 +392,6 @@ pwc_open(struct cdev *dev, int flag, int mode, struct
+ for (i = 0; i < sc->pwc_mbufs; i++)
+ sc->image_used[i] = 0;
+
+- /* Allocate iso transfers */
+- for (i = 0; i < MAX_ISO_BUFS; i++) {
+- sc->sbuf[i].sc = sc;
+- sc->sbuf[i].xfer = usbd_alloc_xfer(sc->udev);
+-
+- if(sc->sbuf[i].xfer == NULL) {
+- printf("%s: Failed to allocate transfer\n",device_get_nameunit(sc->sc_dev));
+- goto bad;
+- }
+-
+- sc->sbuf[i].data = usbd_alloc_buffer(sc->sbuf[i].xfer, ISO_BUFFER_SIZE);
+- if(sc->sbuf[i].data == NULL) {
+- printf("%s: Failed to allocate transferbuffer\n",device_get_nameunit(sc->sc_dev));
+- goto bad;
+- }
+- }
+-
+ sc->state = 0;
+ sc->vframe_count = 0;
+ sc->vframes_dumped = 0;
+@@ -476,10 +432,10 @@ pwc_close(struct cdev *dev, int flag, int mode, struct
+ int
+ pwc_close(struct cdev *dev, int flag, int mode, struct thread *p)
+ {
+- struct pwc_softc *sc;
+- int unit = PWCUNIT(dev);
+-
+- sc = devclass_get_softc(pwc_devclass, unit);
++ struct pwc_softc *sc = dev->si_drv1;
++#ifdef USB_DEBUG
++ int unit = device_get_unit(sc->sc_dev);
++#endif
+ Trace(TRACE_OPEN,"pwc_close: flag=%d, mode=%d, unit=%d\n", flag, mode, unit);
+
+ /* Dump statistics, but only if a reasonable amount of frames were
+@@ -495,19 +451,14 @@ pwc_close(struct cdev *dev, int flag, int mode, struct
+ pwc_dec1_exit();
+ else
+ pwc_dec23_exit(); /* Timon & Kiara */
+-
+- if(sc->sc_videopipe != NULL) {
+- usbd_abort_pipe(sc->sc_videopipe);
+- usbd_close_pipe(sc->sc_videopipe);
+- sc->sc_videopipe = NULL;
+- }
+
+ pwc_free_buffers(sc,0);
+
+ /* Turn off LEDS and power down camera, but only when not unplugged */
+ if(sc->error_status != EPIPE) {
+-
+- usbd_set_interface(sc->sc_iface, 0);
++
++ usbd_set_alt_interface_index(sc->udev, sc->sc_iface_index, 0);
++
+ pwc_set_leds(sc,0,0);
+
+ if(sc->power_save) {
+@@ -523,15 +474,16 @@ pwc_read(struct cdev *dev, struct uio *uio, int flag)
+ int
+ pwc_read(struct cdev *dev, struct uio *uio, int flag)
+ {
+- struct pwc_softc *sc;
+- int unit = PWCUNIT(dev);
++ struct pwc_softc *sc = dev->si_drv1;
++#ifdef USB_DEBUG
++ int unit = device_get_unit(sc->sc_dev);
++#endif
+ int bytes_to_read;
+ int count = uio->uio_resid;
+ int err;
+
+ Trace(TRACE_READ,"pwc_read: flag=%d, unit=%d\n", flag, unit);
+
+- sc = devclass_get_softc(pwc_devclass, unit);
+ if (sc->error_status)
+ return sc->error_status;
+
+@@ -565,7 +517,7 @@ pwc_read(struct cdev *dev, struct uio *uio, int flag)
+ if(count + sc->image_read_pos > bytes_to_read)
+ count = bytes_to_read - sc->image_read_pos;
+
+- Trace(TRACE_READ_VERBOSE, "pwc_read: wants: %d bytes, reading: %d bytes\n",uio->uio_resid,count);
++ Trace(TRACE_READ_VERBOSE, "pwc_read: wants: %d bytes, reading: %d bytes\n",(int)uio->uio_resid,count);
+
+ err = uiomove(sc->images[sc->fill_image].bufmem + sc->image_read_pos,count,uio);
+ if(err)
+@@ -583,10 +535,9 @@ pwc_ioctl(struct cdev *dev, u_long cmd, caddr_t addr,
+ int
+ pwc_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *p)
+ {
+- struct pwc_softc *sc;
+- int unit = PWCUNIT(dev);
++ struct pwc_softc *sc = dev->si_drv1;
++ int unit = device_get_unit(sc->sc_dev);
+
+- sc = devclass_get_softc(pwc_devclass, unit);
+ if (sc->error_status)
+ return sc->error_status;
+
+@@ -596,11 +547,9 @@ pwc_poll(struct cdev *dev, int events, struct thread *
+ int
+ pwc_poll(struct cdev *dev, int events, struct thread *p)
+ {
+- struct pwc_softc *sc;
+- int unit = PWCUNIT(dev);
++ struct pwc_softc *sc = dev->si_drv1;
+ int revents = 0;
+
+- sc = devclass_get_softc(pwc_devclass, unit);
+ if(sc->error_status)
+ return sc->error_status;
+
+@@ -625,16 +574,17 @@ int
+ }
+
+ int
++#ifdef D_VERSION_03
++pwc_mmap(struct cdev *dev, vm_ooffset_t offset, vm_paddr_t *paddr, int nprot,
++ __unused vm_memattr_t *memattr)
++#else
+ pwc_mmap(struct cdev *dev, vm_offset_t offset, vm_paddr_t *paddr, int nprot)
++#endif
+ {
+ #ifdef USE_MMAP
+- struct pwc_softc *sc;
+- int unit = PWCUNIT(dev);
++ struct pwc_softc *sc = dev->si_drv1;
++ /* int unit = device_get_unit(sc->sc_dev); */
+
+- sc = devclass_get_softc(pwc_devclass, unit);
+- if(sc == NULL)
+- return ENXIO;
+-
+ if (sc->error_status)
+ return sc->error_status;
+
+@@ -652,16 +602,10 @@ pwc_try_video_mode(struct pwc_softc *sc, int width, in
+ int
+ pwc_try_video_mode(struct pwc_softc *sc, int width, int height, int new_fps, int new_compression, int new_snapshot)
+ {
+- usb_endpoint_descriptor_t *edesc = NULL;
+- u_int8_t nendpt;
+- int i, j, err, ret;
++ int i, err, ret;
+
+- if(sc->sc_videopipe != NULL) {
+- usbd_abort_pipe(sc->sc_videopipe);
+- usbd_close_pipe(sc->sc_videopipe);
+- sc->sc_videopipe = NULL;
+- }
+-
++ usbd_transfer_unsetup(sc->sc_xfer, MAX_ISO_BUFS);
++
+ pwc_reset_buffers(sc);
+
+ /* Try to set video mode... if that fails fallback to previous mode */
+@@ -678,52 +622,21 @@ pwc_try_video_mode(struct pwc_softc *sc, int width, in
+ sc->drop_frames++; /* try to avoid garbage during switch */
+ sc->vsync = 0;
+
+- err = usbd_set_interface(sc->sc_iface,sc->valternate);
+- if(err != USBD_NORMAL_COMPLETION) {
++ err = usbd_set_alt_interface_index(sc->udev, sc->sc_iface_index, sc->valternate);
++ if(err != USB_ERR_NORMAL_COMPLETION) {
+ printf("%s: Failed to set alternate interface to: %d (%d)\n",device_get_nameunit(sc->sc_dev),sc->valternate,err);
+ return -err;
+ }
+
+- err = usbd_endpoint_count(sc->sc_iface, &nendpt);
+- if(err != USBD_NORMAL_COMPLETION) {
+- printf("%s: Failed to get endpoint count (%d)\n",device_get_nameunit(sc->sc_dev),err);
++ /* Allocate iso transfers */
++ if (usbd_transfer_setup(sc->udev, &sc->sc_iface_index, sc->sc_xfer,
++ pwc_config, MAX_ISO_BUFS, sc, &Giant)) {
++ printf("%s: Failed to setup USB transfers\n", device_get_nameunit(sc->sc_dev));
+ return -err;
+ }
+- for (i = 0; i < nendpt; i++) {
+- edesc = usbd_interface2endpoint_descriptor(sc->sc_iface, i);
+- if(edesc != NULL && UE_GET_ADDR(edesc->bEndpointAddress) == sc->vendpoint)
+- break;
+- }
+- if(i == nendpt) {
+- printf("%s: Failed to find videoendpoint\n",device_get_nameunit(sc->sc_dev));
+- return -EINVAL;
+- }
+-
+- sc->vmax_packet_size = UGETW(edesc->wMaxPacketSize);
+- if(sc->vmax_packet_size < 0 || sc->vmax_packet_size > ISO_MAX_FRAME_SIZE) {
+- printf("%s: Invalid packetsize (%d) for endpoint %d\n",device_get_nameunit(sc->sc_dev),
+- sc->vmax_packet_size,edesc->bEndpointAddress);
+- return -EINVAL;
+- }
+-
+- err = usbd_open_pipe(sc->sc_iface,edesc->bEndpointAddress, 0, &sc->sc_videopipe);
+- if(err != USBD_NORMAL_COMPLETION) {
+- printf("%s: Failed to open videopipe (%d)\n",device_get_nameunit(sc->sc_dev),err);
+- return -err;
+- }
+
+ for (i = 0; i < MAX_ISO_BUFS; i++) {
+-
+- for(j = 0; j < ISO_FRAMES_PER_DESC; ++j)
+- sc->sbuf[i].sizes[j] = sc->vmax_packet_size;
+-
+- usbd_setup_isoc_xfer(sc->sbuf[i].xfer, sc->sc_videopipe,
+- &sc->sbuf[i],sc->sbuf[i].sizes,
+- ISO_FRAMES_PER_DESC,
+- USBD_NO_COPY|USBD_SHORT_XFER_OK,
+- pwc_isoc_handler);
+-
+- usbd_transfer(sc->sbuf[i].xfer);
++ usbd_transfer_start(sc->sc_xfer[i]);
+ }
+
+ if(sc->state & PWC_INIT)
+@@ -767,38 +680,42 @@ static void
+ }
+
+ static void
+-pwc_isoc_handler(usbd_xfer_handle xfer, usbd_private_handle addr,usbd_status status)
++pwc_isoc_rx_callback(struct usb_xfer *xfer, usb_error_t err)
+ {
+- struct pwc_iso_buf *req = addr;
+- struct pwc_softc *sc = req->sc;
+- struct pwc_frame_buf *fbuf;
+- unsigned char *fillptr = NULL;
+- u_int32_t count;
+- int awake = 0;
+- int i;
+-
+- usbd_get_xfer_status(xfer, NULL, NULL, &count, NULL);
+- Trace(TRACE_ISOC_VERBOSE, "pwc_isoc_handler: status=%d count=%u\n",status,count);
++ uint8_t i;
+
+- if (status == USBD_CANCELLED) {
+- Trace(TRACE_ISOC, "pwc_isoc_handler: status = cancelled\n");
+- return;
+- }
+- if(status != USBD_NORMAL_COMPLETION) {
++ switch(USB_GET_STATE(xfer)) {
++ case USB_ST_TRANSFERRED:
++ pwc_isoc_handler(xfer, xfer->priv_sc);
+
+- Trace(TRACE_ISOC, "pwc_isoc_handler called with status: %d\n",status);
++ /* FALLTHROUGH */
+
+- if (++sc->visoc_errors > MAX_ISOC_ERRORS) {
+-
+- if(sc->error_status != EIO)
+- printf("%s: Too many ISOC errors, bailing out.\n",device_get_nameunit(sc->sc_dev));
++ case USB_ST_SETUP:
++ tr_setup:
++ for (i = 0; i != xfer->max_frame_count; i++)
++ xfer->frlengths[i] = xfer->max_frame_size;
+
+- sc->error_status = EIO;
+- awake = 1;
+- }
+- goto handler_end; // ugly, but practical
++ xfer->nframes = xfer->max_frame_count;
++ usbd_transfer_submit(xfer);
++ break;
++ default:
++ if (xfer->error != USB_ERR_CANCELLED)
++ goto tr_setup;
++ break;
+ }
++}
+
++static void
++pwc_isoc_handler(struct usb_xfer *xfer, void *addr)
++{
++ struct pwc_softc *sc = addr;
++ struct pwc_frame_buf *fbuf;
++ unsigned char *fillptr = NULL;
++ int awake = 0;
++ int i;
++
++ Trace(TRACE_ISOC_VERBOSE, "pwc_isoc_handler: count=%u\n", xfer->actlen);
++
+ /* Reset ISOC error counter. We did get here, after all. */
+ sc->visoc_errors = 0;
+
+@@ -816,8 +733,8 @@ pwc_isoc_handler(usbd_xfer_handle xfer, usbd_private_h
+ /* XXX there is no individual framestatus in FreeBSD usbstack
+ * so just assume all frames are good
+ */
+- u_int16_t flen = req->sizes[i];
+- unsigned char *iso_buf = req->data + sc->vmax_packet_size * i;
++ u_int16_t flen = xfer->frlengths[i];
++ u_int32_t iso_buf = xfer->max_frame_size * i;
+
+ if (flen > 0) { /* if valid data... */
+ if(sc->vsync > NOCOPY) { /* ...and we are not sync-hunting... */
+@@ -830,7 +747,7 @@ pwc_isoc_handler(usbd_xfer_handle xfer, usbd_private_h
+ sc->vframes_error++;
+ }
+ else {
+- memcpy(fillptr, iso_buf, flen);
++ usbd_copy_out(xfer->frbuffers, iso_buf, fillptr, flen);
+ fillptr += flen;
+ }
+ }
+@@ -943,7 +860,6 @@ eof_done:
+ sc->vlast_packet_size = flen;
+
+ }
+-handler_end:
+ if(awake) {
+ if(sc->state & PWC_ASLEEP) {
+ wakeup(sc);
+@@ -953,16 +869,6 @@ handler_end:
+ selwakeuppri(&sc->rsel, PZERO);
+ }
+ }
+- /* setup size for next transfer */
+- for (i = 0; i < ISO_FRAMES_PER_DESC; i++)
+- req->sizes[i] = sc->vmax_packet_size;
+-
+- usbd_setup_isoc_xfer(xfer, sc->sc_videopipe, req, req->sizes,
+- ISO_FRAMES_PER_DESC,
+- USBD_NO_COPY|USBD_SHORT_XFER_OK,
+- pwc_isoc_handler);
+-
+- usbd_transfer(xfer);
+ }
+
+ int
+@@ -1050,6 +956,9 @@ pwc_free_buffers(struct pwc_softc *sc, int detach)
+ {
+ int i;
+ Trace(TRACE_MEMORY, "Entering free_buffers(%p).\n", sc);
++
++ usbd_transfer_unsetup(sc->sc_xfer, MAX_ISO_BUFS);
++
+ if (sc->fbuf != NULL) {
+ for (i = 0; i < sc->pwc_fbufs; i++) {
+ if (sc->fbuf[i].data != NULL) {
+@@ -1074,13 +983,12 @@ pwc_free_buffers(struct pwc_softc *sc, int detach)
+ free(sc->image_data,M_USBDEV);
+ sc->image_data = NULL;
+ }
+-
+- for (i = 0; i < MAX_ISO_BUFS; i++) {
+- if (sc->sbuf[i].xfer != NULL) {
+- usbd_free_xfer(sc->sbuf[i].xfer); /* implicit buffer free */
+- sc->sbuf[i].xfer = NULL;
+- }
+- }
+ }
+
+-DRIVER_MODULE(pwc, uhub, pwc_driver, pwc_devclass, usbd_driver_load, 0);
++#if __FreeBSD_version >= 1400058
++DRIVER_MODULE(pwc, uhub, pwc_driver, NULL, NULL);
++#else
++static devclass_t pwc_devclass;
++
++DRIVER_MODULE(pwc, uhub, pwc_driver, pwc_devclass, NULL, 0);
++#endif
diff --git a/multimedia/pwcbsd/files/patch-pwc.h b/multimedia/pwcbsd/files/patch-pwc.h
new file mode 100644
index 000000000000..8b34a56c56d3
--- /dev/null
+++ b/multimedia/pwcbsd/files/patch-pwc.h
@@ -0,0 +1,92 @@
+--- pwc.h.orig 2006-09-27 05:21:01 UTC
++++ pwc.h
+@@ -44,8 +44,21 @@
+ #include <vm/pmap.h>
+
+ #include <dev/usb/usb.h>
+-#include <dev/usb/usbdi.h>
+-#include <dev/usb/usbdi_util.h>
++/* GJ
++#include <dev/usb/usb_mfunc.h>
++#include <dev/usb/usb_error.h>
++*/
++
++#include <dev/usb/usbdi.h> /* GJ */
++#include <dev/usb/usb_core.h>
++#include <dev/usb/usb_debug.h>
++/* GJ
++#include <dev/usb/usb_lookup.h>
++*/
++#include <dev/usb/usb_util.h>
++#include <dev/usb/usb_busdma.h>
++#include <dev/usb/usb_request.h>
++
+ #include "pwc-uncompress.h"
+ #include "pwc-ioctl.h"
+ #include "videodev.h"
+@@ -93,15 +106,10 @@ extern int pwcdebug;
+ #define FRAME_LOWMARK 5
+
+ /* Size and number of buffers for the ISO pipe. */
+-#define MAX_ISO_BUFS 3
++#define MAX_ISO_BUFS 2
+
+-/* !!!!!!!!!! IMPORTANT DO NOT SET THIS HIGHER THAN 8 !!!!!!!!!!!!!!!
+- * !!!!!!!!!! OHCI IS BUGGY IF YOU DO SO !!!!!!!!!!!!!!!*/
+-#define ISO_FRAMES_PER_DESC 8
++#define ISO_FRAMES_PER_DESC 16 /* should be multiple of 8 */
+
+-#define ISO_MAX_FRAME_SIZE 960
+-#define ISO_BUFFER_SIZE (ISO_FRAMES_PER_DESC * ISO_MAX_FRAME_SIZE)
+-
+ /* Frame buffers: contains compressed or uncompressed video data. */
+ #define MAX_FRAMES 5
+ /* Maximum size after decompression is 640x480 YUV data, 1.5 * 640 * 480 */
+@@ -133,17 +141,17 @@ struct pwc_softc
+ struct pwc_softc
+ {
+ device_t sc_dev;
+- usbd_device_handle udev;
+- usbd_interface_handle sc_iface;
+- usbd_pipe_handle sc_videopipe;
++
++ struct usb_xfer *sc_xfer[MAX_ISO_BUFS];
++ struct usb_device *udev;
+ struct cdev *sc_dev_t;
+
+ struct selinfo rsel;
+- char *name;
++ uint8_t sc_iface_index;
+ int type; /* type of cam (645, 646, 675, 680, 690, 720, 730, 740, 750) */
+ int release; /* release number */
+ int features; /* feature bits */
+- char serial[USB_MAX_STRING_LEN]; /* serial number (string) */
++ char serial[64]; /* serial number (string) */
+ int error_status; /* set when something goes wrong with the cam (unplugged, USB errors) */
+ int usb_init; /* set when the cam has been initialized over USB */
+
+@@ -165,7 +173,6 @@ struct pwc_softc
+ int vframe_count; /* received frames */
+ int vframes_dumped; /* counter for dumped frames */
+ int vframes_error; /* frames received in error */
+- int vmax_packet_size; /* USB maxpacket size */
+ u_int16_t vlast_packet_size; /* for frame synchronisation */
+ int visoc_errors; /* number of contiguous ISOC errors */
+ int vcompression; /* desired compression factor */
+@@ -187,15 +194,7 @@ struct pwc_softc
+ Note that MAX_ISO_BUFS != MAX_FRAMES != MAX_IMAGES....
+ We have in effect a back-to-back-double-buffer system.
+ */
+- /* 1: isoc */
+- struct pwc_iso_buf
+- {
+- unsigned char *data;
+- usbd_xfer_handle xfer;
+- u_int16_t sizes[ISO_FRAMES_PER_DESC];
+- struct pwc_softc *sc;
+- } sbuf[MAX_ISO_BUFS];
+-
++
+ char iso_init;
+
+ /* 2: frame */
diff --git a/multimedia/pwcbsd/files/patch-pwcview.c b/multimedia/pwcbsd/files/patch-pwcview.c
index d0bd54bf9eaa..ed407a6ba22a 100644
--- a/multimedia/pwcbsd/files/patch-pwcview.c
+++ b/multimedia/pwcbsd/files/patch-pwcview.c
@@ -1,6 +1,6 @@
---- ./pwcview.c.orig 2009-10-03 20:45:17.711703547 +0200
-+++ ./pwcview.c 2009-10-03 20:46:00.814254980 +0200
-@@ -837,6 +837,8 @@
+--- pwcview.c.orig 2007-10-09 07:03:10 UTC
++++ pwcview.c
+@@ -837,6 +837,8 @@ void jpeg_write(int height, JSAMPIMAGE jimage, struct
jdata[1] = jimage[1];
jdata[2] = jimage[2];
diff --git a/multimedia/pwcbsd/pkg-descr b/multimedia/pwcbsd/pkg-descr
index fefd31d308f6..9c12a765adff 100644
--- a/multimedia/pwcbsd/pkg-descr
+++ b/multimedia/pwcbsd/pkg-descr
@@ -2,5 +2,3 @@ This port provides a FreeBSD kernel module that
video4linux enabled applications and applications
that can handle raw YUV420P data can use to access
several USB based webcams.
-
-WWW: http://raaf.atspace.org/
diff --git a/multimedia/pwcbsd/pkg-plist b/multimedia/pwcbsd/pkg-plist
index 7be436af5e88..8a31e80c4b52 100644
--- a/multimedia/pwcbsd/pkg-plist
+++ b/multimedia/pwcbsd/pkg-plist
@@ -1,4 +1,4 @@
%%PROGRAMS%%bin/pwcview
-%%PROGRAMS%%man/man1/pwcview.1.gz
-man/man4/pwc.4.gz
+%%PROGRAMS%%share/man/man1/pwcview.1.gz
+share/man/man4/pwc.4.gz
/%%KMODDIR%%/pwc.ko
diff --git a/multimedia/pwcview/Makefile b/multimedia/pwcview/Makefile
index cee943839386..2ac1caebe8d4 100644
--- a/multimedia/pwcview/Makefile
+++ b/multimedia/pwcview/Makefile
@@ -1,15 +1,14 @@
-# Created by: Andrew Thompson <thompsa@FreeBSD.org>
-
PORTNAME= pwcview
PORTVERSION= 1.4.1
-PORTREVISION= 7
+PORTREVISION= 9
CATEGORIES= multimedia
MASTER_SITES= http://raaf.atspace.org/ \
http://www.selasky.org/hans_petter/video4bsd/releases/ \
LOCAL/kwm
-MAINTAINER= hselasky@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= The Video4Linux PWC webcam viewer
+WWW= http://raaf.atspace.org/
BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev.h:multimedia/v4l_compat
LIB_DEPENDS= libv4l1.so:multimedia/libv4l
@@ -30,6 +29,6 @@ post-patch:
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/pwcview ${STAGEDIR}${PREFIX}/bin
${INSTALL_PROGRAM} ${WRKSRC}/pwcsnap ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1
.include <bsd.port.post.mk>
diff --git a/multimedia/pwcview/pkg-descr b/multimedia/pwcview/pkg-descr
index c34719112faf..424979ae3507 100644
--- a/multimedia/pwcview/pkg-descr
+++ b/multimedia/pwcview/pkg-descr
@@ -1,5 +1,3 @@
An application that you can use to view the video stream of your webcam, alter
various settings of your webcam, take jpeg snapshots or output raw YUV420P data
to stdout when motion is detected.
-
-WWW: http://raaf.atspace.org/
diff --git a/multimedia/pwcview/pkg-plist b/multimedia/pwcview/pkg-plist
index 147cb93712ff..83381d0715ad 100644
--- a/multimedia/pwcview/pkg-plist
+++ b/multimedia/pwcview/pkg-plist
@@ -1,3 +1,3 @@
bin/pwcview
bin/pwcsnap
-man/man1/pwcview.1.gz
+share/man/man1/pwcview.1.gz
diff --git a/multimedia/py-PySceneDetect/Makefile b/multimedia/py-PySceneDetect/Makefile
index 6f322a97f87e..0894cbbc1fcd 100644
--- a/multimedia/py-PySceneDetect/Makefile
+++ b/multimedia/py-PySceneDetect/Makefile
@@ -1,24 +1,29 @@
PORTNAME= PySceneDetect
-PORTVERSION= 0.5.4
+DISTVERSION= 0.6.3
DISTVERSIONPREFIX= v
+DISTVERSIONSUFFIX= -release
CATEGORIES= multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= swills@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= OpenCV-based video scene detection program and Python library
+WWW= https://www.scenedetect.com
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${PY_FLAVOR}
RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}click>=3.2:devel/py-click@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}platformdirs>0:devel/py-platformdirs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR} \
opencv>=0:graphics/opencv \
mkvmerge:multimedia/mkvtoolnix
-USES= python:3.6+
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= Breakthrough
USE_PYTHON= autoplist distutils
+NO_ARCH= yes
+
.include <bsd.port.mk>
diff --git a/multimedia/py-PySceneDetect/distinfo b/multimedia/py-PySceneDetect/distinfo
index 28fbb3fb210c..0c0d97678500 100644
--- a/multimedia/py-PySceneDetect/distinfo
+++ b/multimedia/py-PySceneDetect/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1600712024
-SHA256 (Breakthrough-PySceneDetect-v0.5.4_GH0.tar.gz) = 2cbda4109eecc1f8f7630987f59ea73bf3f09b2ecbc1dbbb5950d183e4879ab0
-SIZE (Breakthrough-PySceneDetect-v0.5.4_GH0.tar.gz) = 230341
+TIMESTAMP = 1710151152
+SHA256 (Breakthrough-PySceneDetect-v0.6.3-release_GH0.tar.gz) = da82828c533fdf5773776b57faab58318e10e3c63a19b9c0424ee0b1a43ce051
+SIZE (Breakthrough-PySceneDetect-v0.6.3-release_GH0.tar.gz) = 57671846
diff --git a/multimedia/py-PySceneDetect/files/patch-scenedetect_platform.py b/multimedia/py-PySceneDetect/files/patch-scenedetect_platform.py
index b6faee6b9a06..1af0bf35d3e5 100644
--- a/multimedia/py-PySceneDetect/files/patch-scenedetect_platform.py
+++ b/multimedia/py-PySceneDetect/files/patch-scenedetect_platform.py
@@ -1,10 +1,10 @@
---- scenedetect/platform.py.orig 2018-04-27 12:19:46 UTC
+--- scenedetect/platform.py.orig 2022-11-29 01:37:13 UTC
+++ scenedetect/platform.py
-@@ -26,6 +26,7 @@
- #
+@@ -25,6 +25,7 @@ import subprocess
+ import sys
+ from typing import AnyStr, Dict, List, Optional, Union
- # Third-Party Library Imports
+import numpy
import cv2
- # Compatibility fix for OpenCV < 3.0
+ ##
diff --git a/multimedia/py-PySceneDetect/pkg-descr b/multimedia/py-PySceneDetect/pkg-descr
index 95e19a2cef76..ce7003385198 100644
--- a/multimedia/py-PySceneDetect/pkg-descr
+++ b/multimedia/py-PySceneDetect/pkg-descr
@@ -1,5 +1,3 @@
PySceneDetect is a command-line application and a Python library for detecting
scene changes in videos, and automatically splitting the video into separate
clips.
-
-WWW: https://pyscenedetect.readthedocs.io/en/latest/
diff --git a/multimedia/py-av/Makefile b/multimedia/py-av/Makefile
index 4f65a2e150a0..2a51e91e1cf7 100644
--- a/multimedia/py-av/Makefile
+++ b/multimedia/py-av/Makefile
@@ -1,18 +1,22 @@
PORTNAME= av
-PORTVERSION= 9.0.1
+DISTVERSION= 12.0.0
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= swills@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Pythonic binding for FFmpeg
+WWW= https://docs.mikeboers.com/pyav/develop/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LIB_DEPENDS= libavutil.so:multimedia/ffmpeg
-USES= python:3.5+ pkgconfig
+USES= python pkgconfig
USE_PYTHON= autoplist concurrent cython distutils
+post-install:
+ ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR}/av/ -name '*.so' | ${XARGS} ${STRIP_CMD}
+
.include <bsd.port.mk>
diff --git a/multimedia/py-av/distinfo b/multimedia/py-av/distinfo
index 4cfe56ff9fb0..2a13d71efa3e 100644
--- a/multimedia/py-av/distinfo
+++ b/multimedia/py-av/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1647212602
-SHA256 (av-9.0.1.tar.gz) = 2016c62264a0d00aeceb0f40b62df9f9e976067ca5f3a9bdbf532fe5ec53419f
-SIZE (av-9.0.1.tar.gz) = 2372430
+TIMESTAMP = 1711300058
+SHA256 (av-12.0.0.tar.gz) = bcf21ebb722d4538b4099e5a78f730d78814dd70003511c185941dba5651b14d
+SIZE (av-12.0.0.tar.gz) = 3760491
diff --git a/multimedia/py-av/pkg-descr b/multimedia/py-av/pkg-descr
index aef9509bc776..1934df15d775 100644
--- a/multimedia/py-av/pkg-descr
+++ b/multimedia/py-av/pkg-descr
@@ -1,5 +1,3 @@
PyAV is a Pythonic binding for FFmpeg. We aim to provide all of the power and
control of the underlying library, but manage the gritty details as much as
possible.
-
-WWW: http://docs.mikeboers.com/pyav/develop/
diff --git a/multimedia/py-cec/Makefile b/multimedia/py-cec/Makefile
index edc81612aa99..bc3d1b1b84af 100644
--- a/multimedia/py-cec/Makefile
+++ b/multimedia/py-cec/Makefile
@@ -1,18 +1,19 @@
PORTNAME= cec
PORTVERSION= 0.2.8
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Python bindings for libcec
+WWW= https://github.com/trainman419/python-cec
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libcec.so:multimedia/libcec
-USES= compiler:c++11-lang localbase python:3.6+
+USES= compiler:c++11-lang localbase python
USE_PYTHON= autoplist concurrent distutils
post-install:
diff --git a/multimedia/py-cec/pkg-descr b/multimedia/py-cec/pkg-descr
index 0c34c88bd001..1473f79cc0b7 100644
--- a/multimedia/py-cec/pkg-descr
+++ b/multimedia/py-cec/pkg-descr
@@ -2,5 +2,3 @@ python-cec allows you to control your TV, reciever and other CEC-compliant HDMI
devices from a python script on a computer. Most computer graphics cards don't
support CEC; you'll need a Pulse-Eight USB-CEC adapter or a Raspberry Pi
(Untested).
-
-WWW: https://github.com/trainman419/python-cec
diff --git a/multimedia/py-enzyme/Makefile b/multimedia/py-enzyme/Makefile
index ede0fd9956c4..a061844cfd33 100644
--- a/multimedia/py-enzyme/Makefile
+++ b/multimedia/py-enzyme/Makefile
@@ -1,18 +1,17 @@
-# Created by: William Grzybowski <william88@gmail.com>
-
PORTNAME= enzyme
PORTVERSION= 0.4.1
PORTREVISION= 1
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= wg@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Python module to parse metadata in video files
+WWW= https://github.com/Diaoul/enzyme
LICENSE= APACHE20
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils autoplist
NO_ARCH= yes
diff --git a/multimedia/py-enzyme/pkg-descr b/multimedia/py-enzyme/pkg-descr
index 01263e7eee86..382cd14c05ed 100644
--- a/multimedia/py-enzyme/pkg-descr
+++ b/multimedia/py-enzyme/pkg-descr
@@ -3,5 +3,3 @@ Python module to parse metadata in video files
You can parse any video file. If a parse error occurs, it will throw a
ParseError exception. To see what data has been parsed, you can print
the object.
-
-WWW: https://github.com/Diaoul/enzyme
diff --git a/multimedia/py-ffmpeg-python/Makefile b/multimedia/py-ffmpeg-python/Makefile
index a0419e7fd8b6..da5aa08ffdcf 100644
--- a/multimedia/py-ffmpeg-python/Makefile
+++ b/multimedia/py-ffmpeg-python/Makefile
@@ -1,11 +1,13 @@
PORTNAME= ffmpeg-python
DISTVERSION= 0.2.0
+PORTREVISION= 1
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Python bindings for FFmpeg - with complex filtering support
+WWW= https://github.com/kkroening/ffmpeg-python
LICENSE= APACHE20
@@ -13,7 +15,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-runner>0:devel/py-pytest-runner@${P
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}future>0:devel/py-future@${PY_FLAVOR} \
ffmpeg:multimedia/ffmpeg
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist distutils
NO_ARCH= yes
diff --git a/multimedia/py-ffmpeg-python/pkg-descr b/multimedia/py-ffmpeg-python/pkg-descr
index d1a6b9540b36..946166070b61 100644
--- a/multimedia/py-ffmpeg-python/pkg-descr
+++ b/multimedia/py-ffmpeg-python/pkg-descr
@@ -1,4 +1,2 @@
ffmpeg-python works well for simple as well as complex signal graphs, this
differentiates it from other python ffmpeg wrappers.
-
-WWW: https://github.com/kkroening/ffmpeg-python
diff --git a/multimedia/py-gstreamer1/Makefile b/multimedia/py-gstreamer1/Makefile
index 0cebdd96576e..e3619d0863f7 100644
--- a/multimedia/py-gstreamer1/Makefile
+++ b/multimedia/py-gstreamer1/Makefile
@@ -1,7 +1,5 @@
-# Created by: Koop Mast <kwm@rainbow-runner.nl>
-
PORTNAME= gstreamer
-DISTVERSION= 1.16.3
+DISTVERSION= 1.22.4
CATEGORIES= multimedia python
MASTER_SITES= http://gstreamer.freedesktop.org/src/gst-python/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -10,13 +8,14 @@ DISTNAME= gst-python-${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GStreamer python bindings
+WWW= https://gstreamer.freedesktop.org/
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/COPYING
PORTSCOUT= limitw:1,even
-USES= cpe gnome gstreamer meson pkgconfig python:3.6+ tar:xz
+USES= cpe gnome gstreamer meson pkgconfig python tar:xz
CPE_VENDOR= ${PORTNAME}_project
USE_GNOME= pygobject3
USE_PYTHON= flavors py3kplist
diff --git a/multimedia/py-gstreamer1/distinfo b/multimedia/py-gstreamer1/distinfo
index 0b8ce9cf79c1..e89320b18599 100644
--- a/multimedia/py-gstreamer1/distinfo
+++ b/multimedia/py-gstreamer1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1614175793
-SHA256 (gst-python-1.16.3.tar.xz) = 36a00a256c25ccaaa9b965a6f09d6158dfb77558145ab6b25809938732c7161f
-SIZE (gst-python-1.16.3.tar.xz) = 419932
+TIMESTAMP = 1687504642
+SHA256 (gst-python-1.22.4.tar.xz) = e1302dcc0f2451b64380dcc0dd3b82735795e8951dc812d938d8ba91f388163e
+SIZE (gst-python-1.22.4.tar.xz) = 109164
diff --git a/multimedia/py-gstreamer1/pkg-descr b/multimedia/py-gstreamer1/pkg-descr
index 804c2604f68b..9920bdcacb26 100644
--- a/multimedia/py-gstreamer1/pkg-descr
+++ b/multimedia/py-gstreamer1/pkg-descr
@@ -1,5 +1,3 @@
gst-python provides a convenient wrapper for the GStreamer library for
use in Python programs, and takes care of many of the boring details
such as managing memory and type casting.
-
-WWW: https://gstreamer.freedesktop.org/
diff --git a/multimedia/py-gstreamer1/pkg-plist b/multimedia/py-gstreamer1/pkg-plist
index dfb3e79f6e7d..e52c54e40612 100644
--- a/multimedia/py-gstreamer1/pkg-plist
+++ b/multimedia/py-gstreamer1/pkg-plist
@@ -2,7 +2,13 @@ lib/gstreamer-1.0/libgstpython.so
%%PYTHON_SITELIBDIR%%/gi/overrides/Gst.py
%%PYTHON_SITELIBDIR%%/gi/overrides/Gst.pyc
%%PYTHON_SITELIBDIR%%/gi/overrides/Gst.pyo
+%%PYTHON_SITELIBDIR%%/gi/overrides/GstAudio.py
%%PYTHON_SITELIBDIR%%/gi/overrides/GstPbutils.py
%%PYTHON_SITELIBDIR%%/gi/overrides/GstPbutils.pyc
%%PYTHON_SITELIBDIR%%/gi/overrides/GstPbutils.pyo
+%%PYTHON_SITELIBDIR%%/gi/overrides/GstVideo.py
+%%PYTHON_SITELIBDIR%%/gi/overrides/__pycache__/GstAudio%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gi/overrides/__pycache__/GstAudio%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/gi/overrides/__pycache__/GstVideo%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/gi/overrides/__pycache__/GstVideo%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/gi/overrides/_gi_gst%%PYTHON_EXT_SUFFIX%%.so
diff --git a/multimedia/py-guessit/Makefile b/multimedia/py-guessit/Makefile
index ffd74b2e0ef1..44037f8a7f1f 100644
--- a/multimedia/py-guessit/Makefile
+++ b/multimedia/py-guessit/Makefile
@@ -1,25 +1,28 @@
-# Created by: William Grzybowski <william88@gmail.com>
-
PORTNAME= guessit
-PORTVERSION= 3.4.3
+DISTVERSION= 3.8.0
PORTREVISION= 1
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= eduardo@FreeBSD.org
COMMENT= Extract as much information as possible from a video file
+WWW= https://guessit-io.github.io/guessit/
LICENSE= LGPL3
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}babelfish>0:devel/py-babelfish@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}dateutil>0:devel/py-dateutil@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}rebulk>=3:devel/py-rebulk@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}importlib-resources>0:devel/py-importlib-resources@${PY_FLAVOR}
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}babelfish>=0.6.0:devel/py-babelfish@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}python-dateutil>0:devel/py-python-dateutil@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}importlib-resources>0:devel/py-importlib-resources@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}rebulk>=3.2.0:devel/py-rebulk@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyaml>0:textproc/py-pyaml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-mock>0:devel/py-pytest-mock@${PY_FLAVOR}
-USES= python:3.7+
-USE_PYTHON= autoplist distutils
+USES= python
+USE_PYTHON= autoplist pep517 pytest
NO_ARCH= yes
diff --git a/multimedia/py-guessit/distinfo b/multimedia/py-guessit/distinfo
index 7e3b2d100612..f76886fda60e 100644
--- a/multimedia/py-guessit/distinfo
+++ b/multimedia/py-guessit/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652251960
-SHA256 (guessit-3.4.3.tar.gz) = 731e96e6a1f3b065d05accc8c19f35d4485d880b77ab8dc4b262cc353df294f7
-SIZE (guessit-3.4.3.tar.gz) = 166183
+TIMESTAMP = 1702554283
+SHA256 (guessit-3.8.0.tar.gz) = 6619fcbbf9a0510ec8c2c33744c4251cad0507b1d573d05c875de17edc5edbed
+SIZE (guessit-3.8.0.tar.gz) = 271285
diff --git a/multimedia/py-guessit/pkg-descr b/multimedia/py-guessit/pkg-descr
index c33912c0f148..01731aae8b38 100644
--- a/multimedia/py-guessit/pkg-descr
+++ b/multimedia/py-guessit/pkg-descr
@@ -4,5 +4,3 @@ possible from a video file.
It has a very powerful filename matcher that allows to guess a lot of metadata
from a video using only its filename. This matcher works with both movies and
tv shows episodes.
-
-WWW: https://guessit-io.github.io/guessit/
diff --git a/multimedia/py-librtmp/Makefile b/multimedia/py-librtmp/Makefile
index f3c9f1ee7172..2f6ce90cf18a 100644
--- a/multimedia/py-librtmp/Makefile
+++ b/multimedia/py-librtmp/Makefile
@@ -1,28 +1,33 @@
-# Created by: William Grzybowski <wg@FreeBSD.org>
-
PORTNAME= librtmp
PORTVERSION= 0.3.0
PORTREVISION= 1
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTNAME= python-${PORTNAME}-${PORTVERSION}
-MAINTAINER= wg@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= Python bindings for librtmp, built with cffi
+WWW= https://github.com/chrippa/python-librtmp
LICENSE= BSD2CLAUSE
+DEPRECATED= Depends on deprecated library librtmp
+EXPIRATION_DATE=2024-04-30
+
LIB_DEPENDS= librtmp.so:multimedia/librtmp
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=0:devel/py-cffi@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cffi>=0:devel/py-cffi@${PY_FLAVOR}
-CFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-
-USES= python:3.6+
+USES= python localbase:ldflags
USE_PYTHON= autoplist distutils
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 ))
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
+
post-install:
${STRIP_CMD} ${STAGEDIR}${PYTHON_SITELIBDIR}/librtmp/_librtmp*.so
diff --git a/multimedia/py-librtmp/pkg-descr b/multimedia/py-librtmp/pkg-descr
index 196386614335..80573f27e23d 100644
--- a/multimedia/py-librtmp/pkg-descr
+++ b/multimedia/py-librtmp/pkg-descr
@@ -1,4 +1,2 @@
python-librtmp is a Python interface to librtmp. It uses cffi to interface with
the C library librtmp.
-
-WWW: https://github.com/chrippa/python-librtmp
diff --git a/multimedia/py-mat2/Makefile b/multimedia/py-mat2/Makefile
index 2b348ac71a41..efb6185d1f1b 100644
--- a/multimedia/py-mat2/Makefile
+++ b/multimedia/py-mat2/Makefile
@@ -1,20 +1,21 @@
PORTNAME= mat2
-DISTVERSION= 0.12.3
-PORTREVISION= 1
+DISTVERSION= 0.13.4
+PORTREVISION= 3
CATEGORIES= multimedia audio graphics textproc python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= fuz@fuz.su
+MAINTAINER= fuz@FreeBSD.org
COMMENT= Handy tool to trash your metadata
+WWW= https://0xacab.org/jvoisin/mat2
LICENSE= LGPL3+
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>0:graphics/py-cairo@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}gobject3>0:devel/py-gobject3@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}cairo>0:graphics/py-cairo@${PY_FLAVOR} \
- librsvg2-rust>0:graphics/librsvg2-rust \
+ ${PYTHON_PKGNAMEPREFIX}mutagen>0:audio/py-mutagen@${PY_FLAVOR} \
gdk-pixbuf2>0:graphics/gdk-pixbuf2 \
+ librsvg2-rust>0:graphics/librsvg2-rust \
poppler-glib>0:graphics/poppler-glib
USES= python
@@ -22,9 +23,9 @@ USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
-OPTIONS_DEFINE= FFMPEG EXIFTOOL
-OPTIONS_DEFAULT= FFMPEG EXIFTOOL
-EXIFTOOL_DESC= EXIF metadata support via p5-Image-ExifTool
+OPTIONS_DEFINE= EXIFTOOL FFMPEG
+OPTIONS_DEFAULT= EXIFTOOL FFMPEG
+EXIFTOOL_DESC= EXIF metadata support via p5-Image-ExifTool
EXIFTOOL_RUN_DEPENDS= exiftool:graphics/p5-Image-ExifTool
FFMPEG_RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
diff --git a/multimedia/py-mat2/distinfo b/multimedia/py-mat2/distinfo
index 5d2b6526d06c..667e54edd6f0 100644
--- a/multimedia/py-mat2/distinfo
+++ b/multimedia/py-mat2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1641993100
-SHA256 (mat2-0.12.3.tar.gz) = 199e0a5c635c3e551e424358a8bd54f37a0b3a86849091da4ba33a616b8ff69b
-SIZE (mat2-0.12.3.tar.gz) = 33108
+TIMESTAMP = 1691184844
+SHA256 (mat2-0.13.4.tar.gz) = 744aeee924c9898a397fe930593b803c540389bf39cd24553b99a89acc2f5901
+SIZE (mat2-0.13.4.tar.gz) = 47947
diff --git a/multimedia/py-mat2/files/patch-setup.py b/multimedia/py-mat2/files/patch-setup.py
new file mode 100644
index 000000000000..24be34a6b163
--- /dev/null
+++ b/multimedia/py-mat2/files/patch-setup.py
@@ -0,0 +1,11 @@
+--- setup.py.orig 2024-03-17 11:40:14 UTC
++++ setup.py
+@@ -20,7 +20,7 @@ setuptools.setup(
+ 'pycairo',
+ ],
+ packages=setuptools.find_packages(exclude=('tests', )),
+- data_files = [('man/man1', ['doc/mat2.1'])],
++ data_files = [('share/man/man1', ['doc/mat2.1'])],
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ "Environment :: Console",
diff --git a/multimedia/py-mat2/pkg-descr b/multimedia/py-mat2/pkg-descr
index bcb93687dfe3..8d15cbd3f5a3 100644
--- a/multimedia/py-mat2/pkg-descr
+++ b/multimedia/py-mat2/pkg-descr
@@ -20,5 +20,3 @@ The following formats are supported: avi, bmp, css, epub/ncx, flac,
gif, jpeg, m4a/mp2/mp3/..., mp4, odc/odf/odg/odi/odp/ods/odt/...,
off/opus/oga/spx/..., pdf, png, ppm, pptx/xlsx/docx/..., zip, torrent,
svg/svgz/..., tar/tar.gz/tar.bz2/tar.xz/..., tiff, wav, wmv, ...
-
-WWW: https://0xacab.org/jvoisin/mat2
diff --git a/multimedia/py-metadata-cleaner/Makefile b/multimedia/py-metadata-cleaner/Makefile
index 0488c3ad4219..5003264d4fb5 100644
--- a/multimedia/py-metadata-cleaner/Makefile
+++ b/multimedia/py-metadata-cleaner/Makefile
@@ -1,25 +1,26 @@
PORTNAME= metadata-cleaner
-DISTVERSION= 2.2.2
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.5.4
CATEGORIES= multimedia audio graphics python textproc
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-MAINTAINER= fuz@fuz.su
+MAINTAINER= fuz@FreeBSD.org
COMMENT= Python GTK application to view and clean metadata in files, using mat2
+WWW= https://gitlab.com/rmnvgr/metadata-cleaner
-LICENSE= CC-BY-SA-4.0 GPLv3+
+LICENSE= CC-BY-SA-4.0 GPLv3+ OFL10
LICENSE_COMB= multi
LICENSE_FILE_CC-BY-SA-4.0= ${WRKSRC}/LICENSES/CC-BY-SA-4.0.txt
LICENSE_FILE_GPLv3+ = ${WRKSRC}/LICENSES/GPL-3.0-or-later.txt
+LICENSE_FILE_OFL10= ${WRKSRC}/LICENSES/OFL-1.1.txt
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mat2>0:multimedia/py-mat2@${PY_FLAVOR} \
itstool:textproc/itstool
LIB_DEPENDS= libhandy-1.so:x11-toolkits/libhandy
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}mat2>0:multimedia/py-mat2@${PY_FLAVOR}
-USES= gettext-tools gnome meson pkgconfig python shebangfix
+USES= desktop-file-utils gettext-tools gnome meson pkgconfig python shebangfix
USE_GITLAB= yes
-GL_ACCOUNT= rmnvgr
-GL_COMMIT= a2882d01d8003a58119531e844ae698136fa2210
USE_GNOME= gtk40 pygobject3 libadwaita
GLIB_SCHEMAS= fr.romainvigier.MetadataCleaner.gschema.xml
USE_PYTHON= concurrent flavors
@@ -27,5 +28,6 @@ USE_PYTHON= concurrent flavors
SHEBANG_GLOB= *.py *.py.in
BINARY_ALIAS= python3=${PYTHON_VERSION}
NO_ARCH= yes
+GL_ACCOUNT= rmnvgr
.include <bsd.port.mk>
diff --git a/multimedia/py-metadata-cleaner/distinfo b/multimedia/py-metadata-cleaner/distinfo
index a7f46c468673..0129fd452142 100644
--- a/multimedia/py-metadata-cleaner/distinfo
+++ b/multimedia/py-metadata-cleaner/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650893770
-SHA256 (rmnvgr-metadata-cleaner-a2882d01d8003a58119531e844ae698136fa2210_GL0.tar.gz) = 1a4be3b0f1e5778204665f60ed3ea70c5e2a19e85799d44c4183faeda193a6ca
-SIZE (rmnvgr-metadata-cleaner-a2882d01d8003a58119531e844ae698136fa2210_GL0.tar.gz) = 2314153
+TIMESTAMP = 1695575340
+SHA256 (metadata-cleaner-v2.5.4.tar.bz2) = 672151f381863233de83d8ae3a21b7329a4c5299741ed0694c35b4900180f81d
+SIZE (metadata-cleaner-v2.5.4.tar.bz2) = 2199711
diff --git a/multimedia/py-metadata-cleaner/pkg-descr b/multimedia/py-metadata-cleaner/pkg-descr
index 9f6c31174032..cf45aadf1046 100644
--- a/multimedia/py-metadata-cleaner/pkg-descr
+++ b/multimedia/py-metadata-cleaner/pkg-descr
@@ -8,5 +8,3 @@ This tool allows you to view metadata in your files and to get rid of
them, as much as possible.
Under the hood, it relies on mat2 to parse and remove the metadata.
-
-WWW: https://gitlab.com/rmnvgr/metadata-cleaner
diff --git a/multimedia/py-metadata-cleaner/pkg-plist b/multimedia/py-metadata-cleaner/pkg-plist
index efa34c242720..e2b39dc297ac 100644
--- a/multimedia/py-metadata-cleaner/pkg-plist
+++ b/multimedia/py-metadata-cleaner/pkg-plist
@@ -1,42 +1,32 @@
bin/metadata-cleaner
-%%PYTHON_SITELIBDIR%%/metadatacleaner/__init__.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/app.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/modules/__init__.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/modules/file.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/modules/filestore.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/modules/logger.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/modules/metadata.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/__init__.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/aboutdialog.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/addfilesbutton.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/badge.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/cleaningwarningdialog.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/cleanmetadatabutton.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/creditsrole.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/detailsview.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/emptyview.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/filechooserdialog.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/filerow.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/filesview.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/folderchooserdialog.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/menubutton.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/metadatadetails.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/metadatadetailsrow.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/metadataview.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/outbutton.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/settingsbutton.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/statusindicator.py
-%%PYTHON_SITELIBDIR%%/metadatacleaner/ui/window.py
share/applications/fr.romainvigier.MetadataCleaner.desktop
share/dbus-1/services/fr.romainvigier.MetadataCleaner.service
share/help/C/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/C/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/C/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/C/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/C/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/C/fr.romainvigier.MetadataCleaner/general.page
share/help/C/fr.romainvigier.MetadataCleaner/index.page
share/help/C/fr.romainvigier.MetadataCleaner/usage.page
+share/help/ar/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ar/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/ar/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/ar/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/ar/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/ar/fr.romainvigier.MetadataCleaner/general.page
+share/help/ar/fr.romainvigier.MetadataCleaner/index.page
+share/help/ar/fr.romainvigier.MetadataCleaner/usage.page
+share/help/az/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/az/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/az/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/az/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/az/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/az/fr.romainvigier.MetadataCleaner/general.page
+share/help/az/fr.romainvigier.MetadataCleaner/index.page
+share/help/az/fr.romainvigier.MetadataCleaner/usage.page
share/help/bn/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/bn/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/bn/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/bn/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/bn/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -44,6 +34,7 @@ share/help/bn/fr.romainvigier.MetadataCleaner/general.page
share/help/bn/fr.romainvigier.MetadataCleaner/index.page
share/help/bn/fr.romainvigier.MetadataCleaner/usage.page
share/help/ca/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ca/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/ca/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/ca/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/ca/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -51,6 +42,7 @@ share/help/ca/fr.romainvigier.MetadataCleaner/general.page
share/help/ca/fr.romainvigier.MetadataCleaner/index.page
share/help/ca/fr.romainvigier.MetadataCleaner/usage.page
share/help/cs/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/cs/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/cs/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/cs/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/cs/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -58,6 +50,7 @@ share/help/cs/fr.romainvigier.MetadataCleaner/general.page
share/help/cs/fr.romainvigier.MetadataCleaner/index.page
share/help/cs/fr.romainvigier.MetadataCleaner/usage.page
share/help/da/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/da/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/da/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/da/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/da/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -65,13 +58,31 @@ share/help/da/fr.romainvigier.MetadataCleaner/general.page
share/help/da/fr.romainvigier.MetadataCleaner/index.page
share/help/da/fr.romainvigier.MetadataCleaner/usage.page
share/help/de/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/de/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/de/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/de/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/de/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/de/fr.romainvigier.MetadataCleaner/general.page
share/help/de/fr.romainvigier.MetadataCleaner/index.page
share/help/de/fr.romainvigier.MetadataCleaner/usage.page
+share/help/el/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/el/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/el/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/el/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/el/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/el/fr.romainvigier.MetadataCleaner/general.page
+share/help/el/fr.romainvigier.MetadataCleaner/index.page
+share/help/el/fr.romainvigier.MetadataCleaner/usage.page
+share/help/eo/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/eo/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/eo/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/eo/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/eo/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/eo/fr.romainvigier.MetadataCleaner/general.page
+share/help/eo/fr.romainvigier.MetadataCleaner/index.page
+share/help/eo/fr.romainvigier.MetadataCleaner/usage.page
share/help/es/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/es/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/es/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/es/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/es/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -79,20 +90,39 @@ share/help/es/fr.romainvigier.MetadataCleaner/general.page
share/help/es/fr.romainvigier.MetadataCleaner/index.page
share/help/es/fr.romainvigier.MetadataCleaner/usage.page
share/help/eu/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/eu/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/eu/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/eu/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/eu/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/eu/fr.romainvigier.MetadataCleaner/general.page
share/help/eu/fr.romainvigier.MetadataCleaner/index.page
share/help/eu/fr.romainvigier.MetadataCleaner/usage.page
+share/help/fi/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/fi/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/fi/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/fi/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/fi/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/fi/fr.romainvigier.MetadataCleaner/general.page
+share/help/fi/fr.romainvigier.MetadataCleaner/index.page
+share/help/fi/fr.romainvigier.MetadataCleaner/usage.page
share/help/fr/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/fr/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/fr/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/fr/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/fr/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/fr/fr.romainvigier.MetadataCleaner/general.page
share/help/fr/fr.romainvigier.MetadataCleaner/index.page
share/help/fr/fr.romainvigier.MetadataCleaner/usage.page
+share/help/fy/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/fy/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/fy/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/fy/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/fy/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/fy/fr.romainvigier.MetadataCleaner/general.page
+share/help/fy/fr.romainvigier.MetadataCleaner/index.page
+share/help/fy/fr.romainvigier.MetadataCleaner/usage.page
share/help/gl/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/gl/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/gl/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/gl/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/gl/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -100,6 +130,7 @@ share/help/gl/fr.romainvigier.MetadataCleaner/general.page
share/help/gl/fr.romainvigier.MetadataCleaner/index.page
share/help/gl/fr.romainvigier.MetadataCleaner/usage.page
share/help/hr/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/hr/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/hr/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/hr/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/hr/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -107,6 +138,7 @@ share/help/hr/fr.romainvigier.MetadataCleaner/general.page
share/help/hr/fr.romainvigier.MetadataCleaner/index.page
share/help/hr/fr.romainvigier.MetadataCleaner/usage.page
share/help/hu/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/hu/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/hu/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/hu/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/hu/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -114,6 +146,7 @@ share/help/hu/fr.romainvigier.MetadataCleaner/general.page
share/help/hu/fr.romainvigier.MetadataCleaner/index.page
share/help/hu/fr.romainvigier.MetadataCleaner/usage.page
share/help/id/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/id/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/id/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/id/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/id/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -121,6 +154,7 @@ share/help/id/fr.romainvigier.MetadataCleaner/general.page
share/help/id/fr.romainvigier.MetadataCleaner/index.page
share/help/id/fr.romainvigier.MetadataCleaner/usage.page
share/help/it/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/it/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/it/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/it/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/it/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -128,6 +162,7 @@ share/help/it/fr.romainvigier.MetadataCleaner/general.page
share/help/it/fr.romainvigier.MetadataCleaner/index.page
share/help/it/fr.romainvigier.MetadataCleaner/usage.page
share/help/ja/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ja/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/ja/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/ja/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/ja/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -135,6 +170,7 @@ share/help/ja/fr.romainvigier.MetadataCleaner/general.page
share/help/ja/fr.romainvigier.MetadataCleaner/index.page
share/help/ja/fr.romainvigier.MetadataCleaner/usage.page
share/help/ko/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ko/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/ko/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/ko/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/ko/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -142,6 +178,7 @@ share/help/ko/fr.romainvigier.MetadataCleaner/general.page
share/help/ko/fr.romainvigier.MetadataCleaner/index.page
share/help/ko/fr.romainvigier.MetadataCleaner/usage.page
share/help/lt/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/lt/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/lt/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/lt/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/lt/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -149,6 +186,7 @@ share/help/lt/fr.romainvigier.MetadataCleaner/general.page
share/help/lt/fr.romainvigier.MetadataCleaner/index.page
share/help/lt/fr.romainvigier.MetadataCleaner/usage.page
share/help/nb_NO/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/nb_NO/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/nb_NO/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/nb_NO/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/nb_NO/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -156,6 +194,7 @@ share/help/nb_NO/fr.romainvigier.MetadataCleaner/general.page
share/help/nb_NO/fr.romainvigier.MetadataCleaner/index.page
share/help/nb_NO/fr.romainvigier.MetadataCleaner/usage.page
share/help/nl/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/nl/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/nl/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/nl/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/nl/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -163,6 +202,7 @@ share/help/nl/fr.romainvigier.MetadataCleaner/general.page
share/help/nl/fr.romainvigier.MetadataCleaner/index.page
share/help/nl/fr.romainvigier.MetadataCleaner/usage.page
share/help/nn/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/nn/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/nn/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/nn/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/nn/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -170,6 +210,7 @@ share/help/nn/fr.romainvigier.MetadataCleaner/general.page
share/help/nn/fr.romainvigier.MetadataCleaner/index.page
share/help/nn/fr.romainvigier.MetadataCleaner/usage.page
share/help/oc/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/oc/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/oc/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/oc/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/oc/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -177,6 +218,7 @@ share/help/oc/fr.romainvigier.MetadataCleaner/general.page
share/help/oc/fr.romainvigier.MetadataCleaner/index.page
share/help/oc/fr.romainvigier.MetadataCleaner/usage.page
share/help/pl/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/pl/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/pl/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/pl/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/pl/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -184,6 +226,7 @@ share/help/pl/fr.romainvigier.MetadataCleaner/general.page
share/help/pl/fr.romainvigier.MetadataCleaner/index.page
share/help/pl/fr.romainvigier.MetadataCleaner/usage.page
share/help/pt/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/pt/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/pt/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/pt/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/pt/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -191,6 +234,7 @@ share/help/pt/fr.romainvigier.MetadataCleaner/general.page
share/help/pt/fr.romainvigier.MetadataCleaner/index.page
share/help/pt/fr.romainvigier.MetadataCleaner/usage.page
share/help/pt_BR/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/pt_BR/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/pt_BR/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/pt_BR/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/pt_BR/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -198,6 +242,7 @@ share/help/pt_BR/fr.romainvigier.MetadataCleaner/general.page
share/help/pt_BR/fr.romainvigier.MetadataCleaner/index.page
share/help/pt_BR/fr.romainvigier.MetadataCleaner/usage.page
share/help/ro/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ro/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/ro/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/ro/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/ro/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -205,27 +250,63 @@ share/help/ro/fr.romainvigier.MetadataCleaner/general.page
share/help/ro/fr.romainvigier.MetadataCleaner/index.page
share/help/ro/fr.romainvigier.MetadataCleaner/usage.page
share/help/ru/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ru/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/ru/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/ru/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/ru/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/ru/fr.romainvigier.MetadataCleaner/general.page
share/help/ru/fr.romainvigier.MetadataCleaner/index.page
share/help/ru/fr.romainvigier.MetadataCleaner/usage.page
+share/help/sr/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/sr/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/sr/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/sr/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/sr/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/sr/fr.romainvigier.MetadataCleaner/general.page
+share/help/sr/fr.romainvigier.MetadataCleaner/index.page
+share/help/sr/fr.romainvigier.MetadataCleaner/usage.page
share/help/sv/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/sv/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/sv/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/sv/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/sv/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/sv/fr.romainvigier.MetadataCleaner/general.page
share/help/sv/fr.romainvigier.MetadataCleaner/index.page
share/help/sv/fr.romainvigier.MetadataCleaner/usage.page
+share/help/ta/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ta/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/ta/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/ta/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/ta/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/ta/fr.romainvigier.MetadataCleaner/general.page
+share/help/ta/fr.romainvigier.MetadataCleaner/index.page
+share/help/ta/fr.romainvigier.MetadataCleaner/usage.page
share/help/tr/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/tr/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/tr/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/tr/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/tr/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
share/help/tr/fr.romainvigier.MetadataCleaner/general.page
share/help/tr/fr.romainvigier.MetadataCleaner/index.page
share/help/tr/fr.romainvigier.MetadataCleaner/usage.page
+share/help/uk/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/uk/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/uk/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/uk/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/uk/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/uk/fr.romainvigier.MetadataCleaner/general.page
+share/help/uk/fr.romainvigier.MetadataCleaner/index.page
+share/help/uk/fr.romainvigier.MetadataCleaner/usage.page
+share/help/ur/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/ur/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
+share/help/ur/fr.romainvigier.MetadataCleaner/figures/clean-button.png
+share/help/ur/fr.romainvigier.MetadataCleaner/figures/icon.svg
+share/help/ur/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
+share/help/ur/fr.romainvigier.MetadataCleaner/general.page
+share/help/ur/fr.romainvigier.MetadataCleaner/index.page
+share/help/ur/fr.romainvigier.MetadataCleaner/usage.page
share/help/zh_CN/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/zh_CN/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/zh_CN/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/zh_CN/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/zh_CN/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -233,6 +314,7 @@ share/help/zh_CN/fr.romainvigier.MetadataCleaner/general.page
share/help/zh_CN/fr.romainvigier.MetadataCleaner/index.page
share/help/zh_CN/fr.romainvigier.MetadataCleaner/usage.page
share/help/zh_TW/fr.romainvigier.MetadataCleaner/figures/add-files-button.png
+share/help/zh_TW/fr.romainvigier.MetadataCleaner/figures/add-folders-button.png
share/help/zh_TW/fr.romainvigier.MetadataCleaner/figures/clean-button.png
share/help/zh_TW/fr.romainvigier.MetadataCleaner/figures/icon.svg
share/help/zh_TW/fr.romainvigier.MetadataCleaner/figures/metadata-example.png
@@ -241,15 +323,20 @@ share/help/zh_TW/fr.romainvigier.MetadataCleaner/index.page
share/help/zh_TW/fr.romainvigier.MetadataCleaner/usage.page
share/icons/hicolor/scalable/apps/fr.romainvigier.MetadataCleaner.svg
share/icons/hicolor/symbolic/apps/fr.romainvigier.MetadataCleaner-symbolic.svg
+share/locale/ar/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/az/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/bn/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/ca/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/cs/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/da/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/de/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/el/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/eo/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/es/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/eu/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/fi/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/fr/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/fy/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/gl/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/hr/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/hu/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
@@ -268,9 +355,39 @@ share/locale/pt_BR/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/ro/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/ru/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/si/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/sr/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/sv/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/ta/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/tr/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/uk/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
+share/locale/ur/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/zh_CN/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
share/locale/zh_TW/LC_MESSAGES/fr.romainvigier.MetadataCleaner.mo
-share/metadata-cleaner/fr.romainvigier.MetadataCleaner.gresource
+share/metadata-cleaner/data/fr.romainvigier.MetadataCleaner.gresource
+share/metadata-cleaner/src/metadatacleaner/__init__.py
+share/metadata-cleaner/src/metadatacleaner/app.py
+share/metadata-cleaner/src/metadatacleaner/modules/__init__.py
+share/metadata-cleaner/src/metadatacleaner/modules/file.py
+share/metadata-cleaner/src/metadatacleaner/modules/filestore.py
+share/metadata-cleaner/src/metadatacleaner/modules/logger.py
+share/metadata-cleaner/src/metadatacleaner/modules/metadata.py
+share/metadata-cleaner/src/metadatacleaner/ui/__init__.py
+share/metadata-cleaner/src/metadatacleaner/ui/addfilesbutton.py
+share/metadata-cleaner/src/metadatacleaner/ui/badge.py
+share/metadata-cleaner/src/metadatacleaner/ui/cleaningwarningdialog.py
+share/metadata-cleaner/src/metadatacleaner/ui/cleanmetadatabutton.py
+share/metadata-cleaner/src/metadatacleaner/ui/creditsrole.py
+share/metadata-cleaner/src/metadatacleaner/ui/detailsview.py
+share/metadata-cleaner/src/metadatacleaner/ui/emptyview.py
+share/metadata-cleaner/src/metadatacleaner/ui/filechooserdialog.py
+share/metadata-cleaner/src/metadatacleaner/ui/filerow.py
+share/metadata-cleaner/src/metadatacleaner/ui/filesview.py
+share/metadata-cleaner/src/metadatacleaner/ui/folderchooserdialog.py
+share/metadata-cleaner/src/metadatacleaner/ui/menubutton.py
+share/metadata-cleaner/src/metadatacleaner/ui/metadatadetails.py
+share/metadata-cleaner/src/metadatacleaner/ui/metadatadetailsrow.py
+share/metadata-cleaner/src/metadatacleaner/ui/metadataview.py
+share/metadata-cleaner/src/metadatacleaner/ui/settingsbutton.py
+share/metadata-cleaner/src/metadatacleaner/ui/statusindicator.py
+share/metadata-cleaner/src/metadatacleaner/ui/window.py
share/metainfo/fr.romainvigier.MetadataCleaner.metainfo.xml
diff --git a/multimedia/py-mido/Makefile b/multimedia/py-mido/Makefile
index fe2bb1f2da93..4b1361463a00 100644
--- a/multimedia/py-mido/Makefile
+++ b/multimedia/py-mido/Makefile
@@ -1,16 +1,17 @@
PORTNAME= mido
DISTVERSION= 1.2.10
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= MIDI Objects for Python
+WWW= https://github.com/olemb/mido
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
diff --git a/multimedia/py-mido/pkg-descr b/multimedia/py-mido/pkg-descr
index f35447347546..e29532f76479 100644
--- a/multimedia/py-mido/pkg-descr
+++ b/multimedia/py-mido/pkg-descr
@@ -1,4 +1,2 @@
Mido is a library for working with MIDI messages and ports. It's designed
to be as straightforward and Pythonic as possible.
-
-WWW: https://github.com/olemb/mido
diff --git a/multimedia/py-mlt6/Makefile b/multimedia/py-mlt6/Makefile
deleted file mode 100644
index cba3a96bf003..000000000000
--- a/multimedia/py-mlt6/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# Created by: Charlie Kester <corky1951@comcast.net>
-
-MASTERDIR= ${.CURDIR:H}/mlt6
-SLAVEPORT= python
-
-PORTREVISION= 3
-PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
-
-COMMENT= Python bindings for the MLT multimedia framework
-CATEGORIES= multimedia python
-
-LICENSE= GPLv2 GPLv3
-LICENSE_COMB= multi
-
-BUILD_DEPENDS= swig:devel/swig
-LIB_DEPENDS= libexif.so:graphics/libexif \
- libfftw3.so:math/fftw3
-
-PORTEXAMPLES= *
-
-USES= gettext-runtime python:3.6+ shebangfix
-USE_PYTHON= flavors
-
-# Only enable python swig binding, and disable everything else
-CMAKE_ON= SWIG_PYTHON
-CMAKE_OFF= MOD_AVFORMAT MOD_DECKLINK MOD_FEEDS MOD_FREI0R MOD_GDK MOD_GTK2 \
- MOD_JACKRACK MOD_KDENLIVE MOD_LUMAS MOD_MOTION_EST MOD_NORMALIZE \
- MOD_OLDFILM MOD_OPENCV MOD_OPENGL MOD_PLUSGPL MOD_PLUS MOD_RESAMPLE \
- MOD_RTAUDIO MOD_RUBBERBAND MOD_SDL2 MOD_SOX MOD_VIDSTAB MOD_VMFX \
- MOD_VORBIS MOD_XINE MOD_XML \
- SWIG_CSHARP SWIG_JAVA SWIG_LUA SWIG_NODEJS SWIG_PERL \
- SWIG_PHP SWIG_RUBY SWIG_TCL \
- MOD_QT
-
-# Enforce the correct python version
-CMAKE_ARGS= -DPython3_EXECUTABLE="${PYTHON_CMD}"
-
-OPTIONS_DEFINE= EXAMPLES
-
-SHEBANG_FILES= src/swig/python/codecs.py \
- src/swig/python/switcher.py \
- src/swig/python/getimage.py \
- src/swig/python/test_animation.py \
- src/swig/python/webvfx_generator.py \
- src/swig/python/play.py \
- src/swig/python/waveforms.py
-
-BUILD_WRKSRC= ${WRKDIR}/.build/src/swig/python
-
-common-post-install:
- @${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
- ${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py -d \
- ${PYTHONPREFIX_SITELIBDIR} -f ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
- ${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py -d \
- ${PYTHONPREFIX_SITELIBDIR} -f ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/${PYTHON_VER}
-.for f in codecs getimage play switcher waveforms webvfx_generator
- ${INSTALL_DATA} ${WRKSRC}/src/swig/python/${f}.py ${STAGEDIR}${EXAMPLESDIR}/${PYTHON_VER}/
-.endfor
-
-.include "${MASTERDIR}/Makefile"
diff --git a/multimedia/py-mlt6/pkg-plist b/multimedia/py-mlt6/pkg-plist
deleted file mode 100644
index c84b43cf93d2..000000000000
--- a/multimedia/py-mlt6/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-%%PYTHON_SITELIBDIR%%/__pycache__/mlt.cpython-%%PYTHON_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/__pycache__/mlt.cpython-%%PYTHON_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/_mlt.so
-%%PYTHON_SITELIBDIR%%/mlt.py
diff --git a/multimedia/py-moviepy/Makefile b/multimedia/py-moviepy/Makefile
index c98ded7fedc4..34cb3cec20a2 100644
--- a/multimedia/py-moviepy/Makefile
+++ b/multimedia/py-moviepy/Makefile
@@ -1,12 +1,13 @@
PORTNAME= moviepy
PORTVERSION= 1.0.3
-PORTREVISION= 2
+PORTREVISION= 5
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Video editing with Python
+WWW= https://github.com/Zulko/moviepy
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENCE.txt
@@ -20,18 +21,9 @@ RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
${PYTHON_PKGNAMEPREFIX}requests>=2.8.1<3.0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}tqdm>=4.11.2<5.0:misc/py-tqdm@${PY_FLAVOR} \
-USES= python:3.7+
+USES= magick:run python
USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
-OPTIONS_SINGLE= IMAGEMAGICK
-OPTIONS_SINGLE_IMAGEMAGICK= IMAGEMAGICK6 IMAGEMAGICK7
-OPTIONS_DEFAULT=IMAGEMAGICK7
-IMAGEMAGICK6_DESC= Use ImageMagick 6.x as backend
-IMAGEMAGICK7_DESC= Use ImageMagick 7.x as backend
-
-IMAGEMAGICK6_USES= magick:6,run
-IMAGEMAGICK7_USES= magick:7,run
-
.include <bsd.port.mk>
diff --git a/multimedia/py-moviepy/pkg-descr b/multimedia/py-moviepy/pkg-descr
index 58e05e66c7fa..0a17f02aca80 100644
--- a/multimedia/py-moviepy/pkg-descr
+++ b/multimedia/py-moviepy/pkg-descr
@@ -4,5 +4,3 @@ creation of custom effects.
MoviePy can read and write all the most common audio and video formats,
including GIF.
-
-WWW: https://github.com/Zulko/moviepy
diff --git a/multimedia/py-opentimelineio/Makefile b/multimedia/py-opentimelineio/Makefile
index 28ce45867903..feea202aa04b 100644
--- a/multimedia/py-opentimelineio/Makefile
+++ b/multimedia/py-opentimelineio/Makefile
@@ -1,30 +1,29 @@
PORTNAME= opentimelineio
DISTVERSIONPREFIX= v
-DISTVERSION= 0.14.1
+DISTVERSION= 0.16.0
CATEGORIES= multimedia
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= API and interchange format for editorial timeline information
+WWW= https://github.com/PixarAnimationStudios/OpenTimelineIO
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-BUILD_DEPENDS= cmake:devel/cmake
+LIB_DEPENDS= libImath-3_1.so:math/Imath
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pybind11>0:devel/py-pybind11@${PY_FLAVOR}
-USES= compiler:c++14-lang python
+USES= cmake:indirect compiler:c++14-lang python
USE_PYTHON= distutils concurrent # autoplist is broken, see https://github.com/PixarAnimationStudios/OpenTimelineIO/issues/1205
USE_GITHUB= yes
GH_ACCOUNT= PixarAnimationStudios
GH_PROJECT= OpenTimelineIO
-GH_TUPLE= google:googletest:ba96d0b1161f540656efdaed035b3c062b60e006:google_googletest/src/deps/rapidjson/thirdparty/gtest \
- martinmoene:optional-lite:a006f229a77b3b2dacf927e4029b8c1c60c86b52:martinmoene_optional_lite/src/deps/optional-lite \
- pybind:pybind11:e7e2c79f3f520f78ffc39fcb34f7919003102733:pybind_pybind11/src/deps/pybind11 \
- Tencent:rapidjson:4d6cb08189cf7336821f04090b612baa2ca6a90d:Tencent_rapidjson/src/deps/rapidjson \
- thelink2012:any:f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb:thelink2012_any/src/deps/any
+GH_TUPLE= pybind:pybind11:e7e2c79f3f520f78ffc39fcb34f7919003102733:pybind_pybind11/src/deps/pybind11 \
+ Tencent:rapidjson:06d58b9e848c650114556a23294d0b6440078c61:Tencent_rapidjson/src/deps/rapidjson
-PORTSCOUT= ignore:v0.91,last_pure_python # erroneously labeled tag
+PORTSCOUT= limit:^.*[0-9]$$ # should end with a digit to prevent tags like last_pure_python
.include <bsd.port.mk>
diff --git a/multimedia/py-opentimelineio/distinfo b/multimedia/py-opentimelineio/distinfo
index 5a2dc0308a27..fb5f81ad96a4 100644
--- a/multimedia/py-opentimelineio/distinfo
+++ b/multimedia/py-opentimelineio/distinfo
@@ -1,13 +1,7 @@
-TIMESTAMP = 1643482587
-SHA256 (PixarAnimationStudios-OpenTimelineIO-v0.14.1_GH0.tar.gz) = 04c0a5c2f0639a0a1e9745d40cdb9e86f966c85f19880e8ca614699175a93554
-SIZE (PixarAnimationStudios-OpenTimelineIO-v0.14.1_GH0.tar.gz) = 4484522
-SHA256 (google-googletest-ba96d0b1161f540656efdaed035b3c062b60e006_GH0.tar.gz) = 949c556896cf31ed52e53449e17a1276b8b26d3ee5932f5ca49ee929f4b35c51
-SIZE (google-googletest-ba96d0b1161f540656efdaed035b3c062b60e006_GH0.tar.gz) = 987370
-SHA256 (martinmoene-optional-lite-a006f229a77b3b2dacf927e4029b8c1c60c86b52_GH0.tar.gz) = de62d23971dd9c4ba77c633559f9e3840f6a57c39b81306b89395f917e71ccc4
-SIZE (martinmoene-optional-lite-a006f229a77b3b2dacf927e4029b8c1c60c86b52_GH0.tar.gz) = 52439
+TIMESTAMP = 1712300399
+SHA256 (PixarAnimationStudios-OpenTimelineIO-v0.16.0_GH0.tar.gz) = 8cb9467db25bc34c7ee2db89ea90b7bab88ade999e8e2858b825dfbaa8db0f62
+SIZE (PixarAnimationStudios-OpenTimelineIO-v0.16.0_GH0.tar.gz) = 4750923
SHA256 (pybind-pybind11-e7e2c79f3f520f78ffc39fcb34f7919003102733_GH0.tar.gz) = 87de6f079bed8e74e1a5baa8dbc03c8f12367ab9bb4f32a98ee15a15255accdb
SIZE (pybind-pybind11-e7e2c79f3f520f78ffc39fcb34f7919003102733_GH0.tar.gz) = 693012
-SHA256 (Tencent-rapidjson-4d6cb08189cf7336821f04090b612baa2ca6a90d_GH0.tar.gz) = 6d5547998e51a6f8a7fb261ee7ff1551b833968e8b855c22c662705c2dc9ccac
-SIZE (Tencent-rapidjson-4d6cb08189cf7336821f04090b612baa2ca6a90d_GH0.tar.gz) = 1107475
-SHA256 (thelink2012-any-f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb_GH0.tar.gz) = 1cd121a2fb27936213397ff4ff94fe4d6d4e28cabc13894cc4512eb046d71be8
-SIZE (thelink2012-any-f67bd5f8bbf7eb628bf38206d4ac5cb22438e6bb_GH0.tar.gz) = 9123
+SHA256 (Tencent-rapidjson-06d58b9e848c650114556a23294d0b6440078c61_GH0.tar.gz) = 30d28bbe0bfff9d8dc5d3cf62799b6ee550499cc1520e44bdece81e002480d19
+SIZE (Tencent-rapidjson-06d58b9e848c650114556a23294d0b6440078c61_GH0.tar.gz) = 1107982
diff --git a/multimedia/py-opentimelineio/files/patch-setup.py b/multimedia/py-opentimelineio/files/patch-setup.py
new file mode 100644
index 000000000000..f47994ab22e8
--- /dev/null
+++ b/multimedia/py-opentimelineio/files/patch-setup.py
@@ -0,0 +1,10 @@
+--- setup.py.orig 2022-09-28 03:22:02 UTC
++++ setup.py
+@@ -104,6 +104,7 @@ class OTIO_build_ext(setuptools.command.build_ext.buil
+ '-DBUILD_TESTING:BOOL=OFF',
+ # Python modules wil be installed by setuptools.
+ '-DOTIO_INSTALL_PYTHON_MODULES:BOOL=OFF',
++ '-DOTIO_FIND_IMATH:BOOL=ON',
+ ]
+ if self.is_windows():
+ if self.is_mingw():
diff --git a/multimedia/py-opentimelineio/files/patch-src_deps_any_any.hpp b/multimedia/py-opentimelineio/files/patch-src_deps_any_any.hpp
deleted file mode 100644
index 3490b84676c2..000000000000
--- a/multimedia/py-opentimelineio/files/patch-src_deps_any_any.hpp
+++ /dev/null
@@ -1,12 +0,0 @@
-- workaround for https://github.com/thelink2012/any/issues/16
-
---- src/deps/any/any.hpp.orig 2022-01-31 22:48:38 UTC
-+++ src/deps/any/any.hpp
-@@ -19,6 +19,7 @@
- #include <typeinfo>
- #include <type_traits>
- #include <stdexcept>
-+#include <utility>
-
-
- #if defined(PARTICLE)
diff --git a/multimedia/py-opentimelineio/pkg-descr b/multimedia/py-opentimelineio/pkg-descr
index 3849d715ef9f..461f38bc82a4 100644
--- a/multimedia/py-opentimelineio/pkg-descr
+++ b/multimedia/py-opentimelineio/pkg-descr
@@ -2,5 +2,3 @@ OpenTimelineIO is an interchange format and API for editorial cut
information. OTIO is not a container format for media, rather it
contains information about the order and length of cuts and references
to external media.
-
-WWW: https://github.com/PixarAnimationStudios/OpenTimelineIO
diff --git a/multimedia/py-opentimelineio/pkg-plist b/multimedia/py-opentimelineio/pkg-plist
index b6a4786e3989..7e9385f4ea46 100644
--- a/multimedia/py-opentimelineio/pkg-plist
+++ b/multimedia/py-opentimelineio/pkg-plist
@@ -3,14 +3,15 @@ bin/otiocat
bin/otioconvert
bin/otiopluginfo
bin/otiostat
+bin/otiotool
bin/otioview
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/PKG-INFO
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/SOURCES.txt
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/dependency_links.txt
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/entry_points.txt
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/not-zip-safe
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/requires.txt
-%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.14.1-py%%PYTHON_VER%%.egg-info/top_level.txt
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/PKG-INFO
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/SOURCES.txt
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/dependency_links.txt
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/entry_points.txt
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/not-zip-safe
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/requires.txt
+%%PYTHON_SITELIBDIR%%/OpenTimelineIO-0.16.0-py%%PYTHON_VER%%.egg-info/top_level.txt
%%PYTHON_SITELIBDIR%%/opentimelineio/__init__.py
%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -26,6 +27,8 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/test_utils%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/url_utils%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/url_utils%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/versioning%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/__pycache__/versioning%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/_opentime%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/opentimelineio/_otio%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/opentimelineio/adapters/__init__.py
@@ -78,6 +81,8 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/autogen_plugin_documentation%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/autogen_serialized_datamodel%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/autogen_serialized_datamodel%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/autogen_version_map%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/autogen_version_map%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/console_utils%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/console_utils%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/otiocat%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -88,13 +93,17 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/otiopluginfo%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/otiostat%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/otiostat%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/otiotool%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/console/__pycache__/otiotool%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/console/autogen_plugin_documentation.py
%%PYTHON_SITELIBDIR%%/opentimelineio/console/autogen_serialized_datamodel.py
+%%PYTHON_SITELIBDIR%%/opentimelineio/console/autogen_version_map.py
%%PYTHON_SITELIBDIR%%/opentimelineio/console/console_utils.py
%%PYTHON_SITELIBDIR%%/opentimelineio/console/otiocat.py
%%PYTHON_SITELIBDIR%%/opentimelineio/console/otioconvert.py
%%PYTHON_SITELIBDIR%%/opentimelineio/console/otiopluginfo.py
%%PYTHON_SITELIBDIR%%/opentimelineio/console/otiostat.py
+%%PYTHON_SITELIBDIR%%/opentimelineio/console/otiotool.py
%%PYTHON_SITELIBDIR%%/opentimelineio/core/__init__.py
%%PYTHON_SITELIBDIR%%/opentimelineio/core/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/core/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -129,14 +138,14 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__init__.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/box2d%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/box2d%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/clip%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/clip%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/effect%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/effect%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/external_reference%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/external_reference%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/foo%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/foo%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/generator_reference%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/generator_reference%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/image_sequence_reference%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
@@ -147,32 +156,30 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/schemadef%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/serializable_collection%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/serializable_collection%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/stack%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/stack%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/timeline%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/timeline%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/track%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/track%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/transition%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/transition%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/v2d%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/schema/__pycache__/v2d%%PYTHON_EXT_SUFFIX%%.pyc
+%%PYTHON_SITELIBDIR%%/opentimelineio/schema/box2d.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/clip.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/effect.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/external_reference.py
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/foo.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/generator_reference.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/image_sequence_reference.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/marker.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/schemadef.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/serializable_collection.py
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/stack.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/timeline.py
-%%PYTHON_SITELIBDIR%%/opentimelineio/schema/track.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schema/transition.py
+%%PYTHON_SITELIBDIR%%/opentimelineio/schema/v2d.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schemadef/__init__.py
%%PYTHON_SITELIBDIR%%/opentimelineio/schemadef/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/schemadef/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio/test_utils.py
%%PYTHON_SITELIBDIR%%/opentimelineio/url_utils.py
+%%PYTHON_SITELIBDIR%%/opentimelineio/versioning.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/__init__.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
@@ -187,20 +194,14 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/burnins%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/extern_maya_sequencer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/extern_maya_sequencer%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/extern_rv%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/extern_rv%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/fcpx_xml%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/fcpx_xml%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/ffmpeg_burnins%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/ffmpeg_burnins%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/hls_playlist%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/hls_playlist%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/kdenlive%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/kdenlive%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/maya_sequencer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/maya_sequencer%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/rv%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/rv%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/xges%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/__pycache__/xges%%PYTHON_EXT_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/aaf_adapter/__init__.py
@@ -214,57 +215,11 @@ bin/otioview
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/burnins.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/contrib_adapters.plugin_manifest.json
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/extern_maya_sequencer.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/extern_rv.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/fcpx_xml.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/ffmpeg_burnins.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/hls_playlist.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/kdenlive.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/maya_sequencer.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/rv.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__init__.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_aaf_adapter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_aaf_adapter%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_ale_adapter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_ale_adapter%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_burnins%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_burnins%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_fcpx_adapter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_fcpx_adapter%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_hls_playlist_adapter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_hls_playlist_adapter%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_kdenlive_adapter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_kdenlive_adapter%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_maya_sequencer%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_maya_sequencer%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_rvsession%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/test_rvsession%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/tests_xges_adapter%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/__pycache__/tests_xges_adapter%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_aaf_adapter.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_ale_adapter.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_burnins.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_fcpx_adapter.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_hls_playlist_adapter.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_kdenlive_adapter.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_maya_sequencer.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/test_rvsession.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/tests/tests_xges_adapter.py
%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/adapters/xges.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/PACKAGE
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/__pycache__/example_otio_reader_plugin%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/__pycache__/example_otio_reader_plugin%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/__pycache__/otio_reader%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/__pycache__/otio_reader%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/example_otio_reader_plugin.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/rv/example_otio_reader/otio_reader.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/tests/__init__.py
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/tests/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/tests/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/tests/__pycache__/test_rv_reader%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/tests/__pycache__/test_rv_reader%%PYTHON_EXT_SUFFIX%%.pyc
-%%PYTHON_SITELIBDIR%%/opentimelineio_contrib/application_plugins/tests/test_rv_reader.py
%%PYTHON_SITELIBDIR%%/opentimelineview/__init__.py
%%PYTHON_SITELIBDIR%%/opentimelineview/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-1.pyc
%%PYTHON_SITELIBDIR%%/opentimelineview/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.pyc
diff --git a/multimedia/py-periscope/Makefile b/multimedia/py-periscope/Makefile
index fe5d80f4594e..76033dc0d7d8 100644
--- a/multimedia/py-periscope/Makefile
+++ b/multimedia/py-periscope/Makefile
@@ -1,5 +1,3 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= periscope
PORTVERSION= 0.2.4
PORTREVISION= 4
@@ -13,13 +11,14 @@ EXTRACT_ONLY= python-${PORTNAME}_${PORTVERSION}.orig${EXTRACT_SUFX}
MAINTAINER= bofh@FreeBSD.org
COMMENT= Subtitles searching module
+WWW= https://code.google.com/archive/p/periscope/
LICENSE= LGPL3
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4:www/py-beautifulsoup@${PY_FLAVOR}
RUN_DEPENDS:= ${BUILD_DEPENDS}
-USES= desktop-file-utils python:3.6+
+USES= desktop-file-utils python
USE_PYTHON= autoplist distutils
OPTIONS_DEFINE= UNRAR
diff --git a/multimedia/py-periscope/pkg-descr b/multimedia/py-periscope/pkg-descr
index 9ed223060ca8..b310c24e3403 100644
--- a/multimedia/py-periscope/pkg-descr
+++ b/multimedia/py-periscope/pkg-descr
@@ -15,5 +15,3 @@ center application, ...) don't have to maintain the code to search,
parse and download subtitles and the user preference about languages.
The subtitles websites are handled as plugins.
-
-WWW: https://code.google.com/archive/p/periscope/
diff --git a/multimedia/py-pretty_midi/Makefile b/multimedia/py-pretty_midi/Makefile
index 72d24456788e..bb4e093b5b73 100644
--- a/multimedia/py-pretty_midi/Makefile
+++ b/multimedia/py-pretty_midi/Makefile
@@ -1,11 +1,12 @@
PORTNAME= pretty_midi
-DISTVERSION= 0.2.9
+DISTVERSION= 0.2.10
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Utility functions for handling MIDI data in a nice/intuitive way
+WWW= https://github.com/craffel/pretty-midi
LICENSE= MIT
@@ -13,7 +14,7 @@ RUN_DEPENDS= ${PYNUMPY} \
${PYTHON_PKGNAMEPREFIX}mido>=1.1.16:multimedia/py-mido@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist distutils
NO_ARCH= yes
diff --git a/multimedia/py-pretty_midi/distinfo b/multimedia/py-pretty_midi/distinfo
index 5c160aa5689b..80d9fbc87749 100644
--- a/multimedia/py-pretty_midi/distinfo
+++ b/multimedia/py-pretty_midi/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1586626981
-SHA256 (pretty_midi-0.2.9.tar.gz) = f6a249cb843441e1cb78c4c0a1290948d6f56df7486f7974e20d5c80486dc99e
-SIZE (pretty_midi-0.2.9.tar.gz) = 5591582
+TIMESTAMP = 1687405520
+SHA256 (pretty_midi-0.2.10.tar.gz) = ea6e192f94044674e833336ea1f415318ddf28e320302ac7b109edff0d4534bd
+SIZE (pretty_midi-0.2.10.tar.gz) = 5592108
diff --git a/multimedia/py-pretty_midi/pkg-descr b/multimedia/py-pretty_midi/pkg-descr
index f67441c32a09..290d19b4e64d 100644
--- a/multimedia/py-pretty_midi/pkg-descr
+++ b/multimedia/py-pretty_midi/pkg-descr
@@ -1,4 +1,2 @@
Functions and classes which make handling MIDI data easy in Python.
Provides methods for parsing, modifying, and analyzing MIDI files.
-
-WWW: https://github.com/craffel/pretty-midi
diff --git a/multimedia/py-pymediainfo/Makefile b/multimedia/py-pymediainfo/Makefile
index 29231cbcaae3..b14bc11f1752 100644
--- a/multimedia/py-pymediainfo/Makefile
+++ b/multimedia/py-pymediainfo/Makefile
@@ -1,22 +1,21 @@
-# Created by: Martin Neubauer <m.ne@gmx.net>
-
PORTNAME= pymediainfo
PORTVERSION= 4.1
CATEGORIES= multimedia devel python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= m.ne@gmx.net
COMMENT= Python wrapper for the mediainfo library
+WWW= https://github.com/sbraz/pymediainfo
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
-BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>0:devel/py-setuptools_scm@${PY_FLAVOR}
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>0:devel/py-setuptools@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools-scm>0:devel/py-setuptools-scm@${PY_FLAVOR}
+RUN_DEPENDS= ${PY_SETUPTOOLS} \
mediainfo>0:multimedia/mediainfo
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist distutils
NO_ARCH= yes
diff --git a/multimedia/py-pymediainfo/pkg-descr b/multimedia/py-pymediainfo/pkg-descr
index 9f2852dc4a44..a729569005bf 100644
--- a/multimedia/py-pymediainfo/pkg-descr
+++ b/multimedia/py-pymediainfo/pkg-descr
@@ -4,5 +4,3 @@ It works on Linux, Mac OS X and Windows and is tested with Python
2.7, 3.4, 3.5, 3.6, 3.7, PyPy and PyPy3.
See https://pymediainfo.readthedocs.io/ for more information.
-
-WWW: https://github.com/sbraz/pymediainfo
diff --git a/multimedia/py-pysubs2/Makefile b/multimedia/py-pysubs2/Makefile
new file mode 100644
index 000000000000..49edd59e4e07
--- /dev/null
+++ b/multimedia/py-pysubs2/Makefile
@@ -0,0 +1,22 @@
+PORTNAME= pysubs2
+DISTVERSION= 1.6.1
+CATEGORIES= multimedia python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Library for editing subtitle files
+WWW= https://github.com/tkarabela/pysubs2
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= pep517 autoplist pytest # 4 tests fail, see https://github.com/tkarabela/pysubs2/issues/75
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/multimedia/py-pysubs2/distinfo b/multimedia/py-pysubs2/distinfo
new file mode 100644
index 000000000000..ced92910a69d
--- /dev/null
+++ b/multimedia/py-pysubs2/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1687405096
+SHA256 (pysubs2-1.6.1.tar.gz) = 0261611e71735ff7763972c519c72593c8063efcb9039c54af65f31b81cec116
+SIZE (pysubs2-1.6.1.tar.gz) = 42522
diff --git a/multimedia/py-pysubs2/pkg-descr b/multimedia/py-pysubs2/pkg-descr
new file mode 100644
index 000000000000..9b65ac950007
--- /dev/null
+++ b/multimedia/py-pysubs2/pkg-descr
@@ -0,0 +1,4 @@
+pysubs2 is a Python library for editing subtitle files. It's based on
+SubStation Alpha, the native format of Aegisub; it also supports
+SubRip (SRT), MicroDVD, MPL2, TMP and WebVTT formats. There is a small
+CLI tool for batch conversion and retiming.
diff --git a/multimedia/py-python-mpv/Makefile b/multimedia/py-python-mpv/Makefile
new file mode 100644
index 000000000000..90230edb1b30
--- /dev/null
+++ b/multimedia/py-python-mpv/Makefile
@@ -0,0 +1,21 @@
+PORTNAME= python-mpv
+DISTVERSION= 1.0.5
+CATEGORIES= multimedia python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= ports@freebsd.org
+COMMENT= Python interface to the mpv media player
+WWW= https://pypi.org/project/python-mpv/
+
+LICENSE= GPLv2+ LGPL21+
+LICENSE_COMB= dual
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= mpv>0:multimedia/mpv
+
+USES= python
+USE_PYTHON= pep517 autoplist
+
+.include <bsd.port.mk>
diff --git a/multimedia/py-python-mpv/distinfo b/multimedia/py-python-mpv/distinfo
new file mode 100644
index 000000000000..2c942fffb014
--- /dev/null
+++ b/multimedia/py-python-mpv/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1703589695
+SHA256 (python-mpv-1.0.5.tar.gz) = 9053ebf05c581810a1cff6c5492d516ea465039dc0ac24ac7779ee21c777d65d
+SIZE (python-mpv-1.0.5.tar.gz) = 50785
diff --git a/multimedia/py-python-mpv/pkg-descr b/multimedia/py-python-mpv/pkg-descr
new file mode 100644
index 000000000000..817b497a64a3
--- /dev/null
+++ b/multimedia/py-python-mpv/pkg-descr
@@ -0,0 +1,4 @@
+python-mpv is a ctypes-based python interface to the mpv media player.
+
+It gives you more or less full control of all features of the player,
+just as the lua interface does.
diff --git a/multimedia/py-soco/Makefile b/multimedia/py-soco/Makefile
index 21befce92eaa..fee4419eb11b 100644
--- a/multimedia/py-soco/Makefile
+++ b/multimedia/py-soco/Makefile
@@ -1,29 +1,30 @@
PORTNAME= soco
-PORTVERSION= 0.26.0
DISTVERSIONPREFIX= v
+DISTVERSION= 0.30.2
CATEGORIES= multimedia python
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= conall@conall.net
COMMENT= Python library to control Sonos speakers
+WWW= https://github.com/SoCo/SoCo
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.rst
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}ifaddr>0:net/py-ifaddr@${PY_FLAVOR} \
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}ifaddr>0:net/py-ifaddr@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}xmltodict>0:devel/py-xmltodict@${PY_FLAVOR}
-TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=2.5:devel/py-pytest@${PY_FLAVOR} \
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}appdirs>0:devel/py-appdirs@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}mock>=1.01:devel/py-mock@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}appdirs>0:devel/py-appdirs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest>=2.5:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}requests-mock>0:www/py-requests-mock@${PY_FLAVOR}
-USES= python:3.6+
-USE_PYTHON= autoplist distutils
-
+USES= python
USE_GITHUB= yes
GH_ACCOUNT= SoCo
GH_PROJECT= SoCo
+USE_PYTHON= autoplist distutils
NO_ARCH= yes
diff --git a/multimedia/py-soco/distinfo b/multimedia/py-soco/distinfo
index 431ba9e0a189..2c7aa46ac222 100644
--- a/multimedia/py-soco/distinfo
+++ b/multimedia/py-soco/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643377491
-SHA256 (SoCo-SoCo-v0.26.0_GH0.tar.gz) = 754e23c1cbaa1ab6bac3198a2952af31a27695dabb778c7d1c29c71c430c5f54
-SIZE (SoCo-SoCo-v0.26.0_GH0.tar.gz) = 713811
+TIMESTAMP = 1705675344
+SHA256 (SoCo-SoCo-v0.30.2_GH0.tar.gz) = f224b936454b63d7ee677aed70302430092df1c61eef3505d839f88e3cebc73c
+SIZE (SoCo-SoCo-v0.30.2_GH0.tar.gz) = 722659
diff --git a/multimedia/py-soco/pkg-descr b/multimedia/py-soco/pkg-descr
index d91c4ef4a65a..2828b89ab195 100644
--- a/multimedia/py-soco/pkg-descr
+++ b/multimedia/py-soco/pkg-descr
@@ -1,4 +1,2 @@
SoCo (Sonos Controller) is a simple Python class that allows you to
programmatically control Sonos speakers.
-
-WWW: https://github.com/SoCo/SoCo
diff --git a/multimedia/py-srt/Makefile b/multimedia/py-srt/Makefile
new file mode 100644
index 000000000000..4c39456ab812
--- /dev/null
+++ b/multimedia/py-srt/Makefile
@@ -0,0 +1,23 @@
+PORTNAME= srt
+PORTVERSION= 3.5.3
+CATEGORIES= multimedia python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Library and tools for parsing, modifying, and composing SRT files
+WWW= https://github.com/Zulko/moviepy
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}hypothesis>0:devel/py-hypothesis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-cov>=0:devel/py-pytest-cov@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= distutils concurrent autoplist pytest
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/multimedia/py-srt/distinfo b/multimedia/py-srt/distinfo
new file mode 100644
index 000000000000..fb7e11b858b2
--- /dev/null
+++ b/multimedia/py-srt/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1698000114
+SHA256 (srt-3.5.3.tar.gz) = 4884315043a4f0740fd1f878ed6caa376ac06d70e135f306a6dc44632eed0cc0
+SIZE (srt-3.5.3.tar.gz) = 28296
diff --git a/multimedia/py-srt/pkg-descr b/multimedia/py-srt/pkg-descr
new file mode 100644
index 000000000000..3e3a27a9d7c7
--- /dev/null
+++ b/multimedia/py-srt/pkg-descr
@@ -0,0 +1,4 @@
+srt is a tiny Python library for parsing, modifying, and composing SRT files.
+
+There are a number of tools shipped with the library to manipulate, process,
+and fix SRT files.
diff --git a/multimedia/py-subliminal/Makefile b/multimedia/py-subliminal/Makefile
index 9caf8945ec43..b1c3b624980b 100644
--- a/multimedia/py-subliminal/Makefile
+++ b/multimedia/py-subliminal/Makefile
@@ -1,13 +1,12 @@
-# Created by: William Grzybowski <william88@gmail.com>
-
PORTNAME= subliminal
PORTVERSION= 2.1.0
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= eduardo@FreeBSD.org
COMMENT= Python library to search and download subtitles
+WWW= https://subliminal.readthedocs.org/en/latest/index.html
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -27,7 +26,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}beautifulsoup>=4.4.0:www/py-beautifulsoup@${
${PYTHON_PKGNAMEPREFIX}rarfile>=2.7:archivers/py-rarfile@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytz>=2012c:devel/py-pytz@${PY_FLAVOR}
-USES= python:3.6+
+USES= python
USE_PYTHON= autoplist concurrent distutils
NO_ARCH= yes
diff --git a/multimedia/py-subliminal/pkg-descr b/multimedia/py-subliminal/pkg-descr
index 2dee0c1e69af..375a1b99e61b 100644
--- a/multimedia/py-subliminal/pkg-descr
+++ b/multimedia/py-subliminal/pkg-descr
@@ -4,5 +4,3 @@ It uses video hashes and the powerful guessit library that extracts
informations from filenames or filepaths to ensure you have the best
subtitles. It also relies on enzyme to detect embedded subtitles and avoid
duplicates.
-
-WWW: http://subliminal.readthedocs.org/en/latest/index.html
diff --git a/multimedia/py-tartube/Makefile b/multimedia/py-tartube/Makefile
new file mode 100644
index 000000000000..60e9ca3887a7
--- /dev/null
+++ b/multimedia/py-tartube/Makefile
@@ -0,0 +1,40 @@
+PORTNAME= tartube
+DISTVERSION= 2.5.0
+CATEGORIES= multimedia python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= nivit@FreeBSD.org
+COMMENT= GUI front-end for youtube-dl/yt-dlp, written in Python
+WWW= https://github.com/axcore/tartube
+
+LICENSE= LGPL21
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}feedparser>=6.0.8:textproc/py-feedparser@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}gobject3>=3.42.2:devel/py-gobject3@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}matplotlib>=3.7.1:math/py-matplotlib@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}moviepy>=1.0.3:multimedia/py-moviepy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}playsound>=1.3.0:audio/py-playsound@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=2.31.0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}streamlink>=5.5.1:multimedia/streamlink@${PY_FLAVOR} \
+ aria2c:www/aria2 \
+ AtomicParsley:multimedia/atomicparsley \
+ ffmpeg:multimedia/ffmpeg \
+ yt-dlp:www/yt-dlp
+
+USES= python
+USE_PYTHON= autoplist distutils
+
+MAKE_ENV= TARTUBE_PKG_STRICT=1
+
+NO_ARCH= yes
+
+post-patch:
+ ${SED} -i.bak -e "s|\( = '\)/usr/share/tartube|\1${DATADIR}|1" ${WRKSRC}/setup.py
+ ${SED} -i.bak -e "s|'/', 'usr', 'share', __main__.__packagename__|'${DATADIR}'|g" \
+ -e "s|\(self.ytdl_path =\) None|\1 '${LOCALBASE}/bin/yt-dlp'|1" \
+ ${WRKSRC}/tartube/mainapp.py \
+ ${WRKSRC}/tartube/mainwin.py
+
+.include <bsd.port.mk>
diff --git a/multimedia/py-tartube/distinfo b/multimedia/py-tartube/distinfo
new file mode 100644
index 000000000000..9ea3c8504a6f
--- /dev/null
+++ b/multimedia/py-tartube/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1704279095
+SHA256 (tartube-2.5.0.tar.gz) = b665d5df5bb84f8a452b030ef88943da56b7c272c7237a484b47eed6d0cb93a7
+SIZE (tartube-2.5.0.tar.gz) = 10137887
diff --git a/multimedia/py-tartube/pkg-descr b/multimedia/py-tartube/pkg-descr
new file mode 100644
index 000000000000..ab32fa67a259
--- /dev/null
+++ b/multimedia/py-tartube/pkg-descr
@@ -0,0 +1,5 @@
+Tartube is a GUI front-end for youtube-dl, yt-dlp and other compatible video
+downloaders.
+
+It is written in Python 3 / Gtk 3 and runs on MS Windows, Linux, BSD and
+MacOS.
diff --git a/multimedia/py-tvnamer/Makefile b/multimedia/py-tvnamer/Makefile
index 06f51ae3c468..aede751a38b0 100644
--- a/multimedia/py-tvnamer/Makefile
+++ b/multimedia/py-tvnamer/Makefile
@@ -1,13 +1,12 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= tvnamer
PORTVERSION= 3.0.4
CATEGORIES= multimedia python
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= bofh@FreeBSD.org
COMMENT= Automatically names downloaded/recorded TV-episode
+WWW= https://pypi.org/project/tvnamer/
LICENSE= GPLv2
@@ -16,7 +15,7 @@ BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}tvdb_api>=1.5:www/py-tvdb_api@${PY_FLAVOR}
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>=3.3:devel/py-pytest@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}coverage>0:devel/py-coverage@${PY_FLAVOR}
-USES= python:3.6+
+USES= python
USE_PYTHON= distutils autoplist flavors
NO_ARCH= yes
diff --git a/multimedia/py-tvnamer/pkg-descr b/multimedia/py-tvnamer/pkg-descr
index 14bcc875a10e..b2b5e4dbd4ff 100644
--- a/multimedia/py-tvnamer/pkg-descr
+++ b/multimedia/py-tvnamer/pkg-descr
@@ -1,4 +1,2 @@
Automatically names downloaded/recorded TV-episodes, by parsing
filenames and retrieving show-names from www.thetvdb.com
-
-WWW: https://pypi.org/project/tvnamer/
diff --git a/multimedia/qmmp-plugin-pack-qt5/Makefile b/multimedia/qmmp-plugin-pack-qt5/Makefile
index c9a410e4e3e6..712cdd5f4a71 100644
--- a/multimedia/qmmp-plugin-pack-qt5/Makefile
+++ b/multimedia/qmmp-plugin-pack-qt5/Makefile
@@ -1,5 +1,6 @@
PORTNAME= qmmp-plugin-pack
-PORTVERSION= 1.6.0
+PORTVERSION= 1.6.1
+PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/${PORTNAME}/${PORTVERSION:R}/ \
SF/qmmp-dev/${PORTNAME}/${PORTVERSION:R}/
@@ -7,6 +8,7 @@ PKGNAMESUFFIX= -qt5
MAINTAINER= fluffy@FreeBSD.org
COMMENT= Additional plug-ins for QMMP (Qt5)
+WWW= https://qmmp.ylsoftware.com/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -14,12 +16,12 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libqmmpui-1.so:multimedia/qmmp-qt5
BUILD_DEPENDS= qmmp-qt5>=1.5.0:multimedia/qmmp-qt5
-CONFLICTS= ${PORTNAME}-0.*
+CONFLICTS= ${PORTNAME}-qt6
PORTSCOUT= limit:^1\..*
USES= cmake pkgconfig qt:5 tar:bzip2
USE_QT= core gui widgets \
- buildtools_build linguisttools_build qmake_build
+ buildtools:build linguisttools:build qmake:build
USE_LDCONFIG= yes
OPTIONS_SUB= yes
diff --git a/multimedia/qmmp-plugin-pack-qt5/distinfo b/multimedia/qmmp-plugin-pack-qt5/distinfo
index fcd7540e7c2b..a0316a6e438e 100644
--- a/multimedia/qmmp-plugin-pack-qt5/distinfo
+++ b/multimedia/qmmp-plugin-pack-qt5/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652823491
-SHA256 (qmmp-plugin-pack-1.6.0.tar.bz2) = 2312ef2a1434d827b0657e45c5a9eb01c03d8257fc7035c74a717d64acb988e9
-SIZE (qmmp-plugin-pack-1.6.0.tar.bz2) = 243564
+TIMESTAMP = 1680812441
+SHA256 (qmmp-plugin-pack-1.6.1.tar.bz2) = 24e7b19ce34abc4da1f50e3adbc74d2db44a026759a00e861c743d1019a64189
+SIZE (qmmp-plugin-pack-1.6.1.tar.bz2) = 243838
diff --git a/multimedia/qmmp-plugin-pack-qt5/pkg-descr b/multimedia/qmmp-plugin-pack-qt5/pkg-descr
index bfb0dc223bfe..6b300fe24cfb 100644
--- a/multimedia/qmmp-plugin-pack-qt5/pkg-descr
+++ b/multimedia/qmmp-plugin-pack-qt5/pkg-descr
@@ -9,5 +9,3 @@ Additional plug-ins for Qt MultiMedia Player
- Sample Rate Converter: Changes frequency of sample rate.
- History: Collects information about listend tracks.
- FFvideo: FFmpeg-based video
-
-WWW: http://qmmp.ylsoftware.com/
diff --git a/multimedia/qmmp-plugin-pack-qt6/Makefile b/multimedia/qmmp-plugin-pack-qt6/Makefile
new file mode 100644
index 000000000000..93e74efca23d
--- /dev/null
+++ b/multimedia/qmmp-plugin-pack-qt6/Makefile
@@ -0,0 +1,70 @@
+PORTNAME= qmmp-plugin-pack
+PORTVERSION= 2.1.1
+PORTREVISION= 3
+CATEGORIES= multimedia
+MASTER_SITES= http://qmmp.ylsoftware.com/files/${PORTNAME}/${PORTVERSION:R}/ \
+ SF/qmmp-dev/${PORTNAME}/${PORTVERSION:R}/
+PKGNAMESUFFIX= -qt6
+
+MAINTAINER= fluffy@FreeBSD.org
+COMMENT= Additional plug-ins for QMMP (Qt6)
+WWW= https://qmmp.ylsoftware.com/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libqmmpui.so:multimedia/qmmp-qt6
+BUILD_DEPENDS= qmmp-qt6>=2.1:multimedia/qmmp-qt6
+
+CONFLICTS= ${PORTNAME}-qt5
+PORTSCOUT= limit:^1\..*
+
+USES= cmake pkgconfig qt:6 tar:bzip2
+USE_QT= base tools:build
+USE_LDCONFIG= yes
+
+OPTIONS_SUB= yes
+
+OPTIONS_MULTI= PLUGINS
+OPTIONS_MULTI_PLUGINS= FFAP FFVIDEO GOOM MODPLUG SRCONV YTB
+OPTIONS_DEFAULT= FFAP FFVIDEO GOOM MODPLUG YTB
+OPTIONS_DEFINE_i386= FFAPASM GOOMASM
+OPTIONS_DEFAULT_i386= FFAPASM GOOMASM
+OPTIONS_DEFINE_amd64= FFAPASM GOOMASM
+OPTIONS_DEFAULT_amd64= FFAPASM GOOMASM
+
+FFAP_DESC= Support APE sound file
+FFAP_LIB_DEPENDS= libtag.so:audio/taglib
+FAAP_USES= iconv
+FFAP_CMAKE_BOOL= USE_FFAP
+
+FFAPASM_DESC= Optimize FFap decoder using devel/yasm
+FFAPASM_BUILD_DEPENDS= yasm:devel/yasm
+FFAPASM_CMAKE_BOOL= USE_ASM
+
+FFVIDEO_DESC= FFmpeg video
+FFVIDEO_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
+FFVIDEO_CMAKE_BOOL= USE_FFVIDEO
+
+GOOM_DESC= Goom spectacle
+GOOM_CMAKE_BOOL= USE_GOOM
+GOOMASM_DESC= Optimize Goom spectacle using devel/yasm
+GOOMASM_BUILD_DEPENDS= yasm:devel/yasm
+GOOMASM_CMAKE_BOOL= GOOM_ASM
+
+MODPLUG_LIB_DEPENDS= libmodplug.so:audio/libmodplug
+MODPLUG_CMAKE_BOOL= USE_MODPLUG
+
+SRCONV_DESC= Support the sample rate converter
+SRCONV_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
+SRCONV_CMAKE_BOOL= USE_SRC
+
+YTB_DESC= YouTube plugin
+YTB_CMAKE_BOOL= USE_YTB
+
+PLIST_SUB+= APP_SUFFIX=${PORTVERSION:R}
+
+pre-configure:
+ @${RM} ${BUILD_WRKSRC}/CMakeCache.txt
+
+.include <bsd.port.mk>
diff --git a/multimedia/qmmp-plugin-pack-qt6/distinfo b/multimedia/qmmp-plugin-pack-qt6/distinfo
new file mode 100644
index 000000000000..aec9dce5cea7
--- /dev/null
+++ b/multimedia/qmmp-plugin-pack-qt6/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1680813739
+SHA256 (qmmp-plugin-pack-2.1.1.tar.bz2) = f68484426579f2a0bc68b6be06e7a019fd1c266fca35b764d5788661ddf9bcc4
+SIZE (qmmp-plugin-pack-2.1.1.tar.bz2) = 243032
diff --git a/multimedia/qmmp-plugin-pack-qt6/pkg-descr b/multimedia/qmmp-plugin-pack-qt6/pkg-descr
new file mode 100644
index 000000000000..6b300fe24cfb
--- /dev/null
+++ b/multimedia/qmmp-plugin-pack-qt6/pkg-descr
@@ -0,0 +1,11 @@
+Additional plug-ins for Qt MultiMedia Player
+
+- MPG123: provides MPEG v1/2 layer1/2/3 support with use of
+ libmpg123 library
+- FFap: provides enhanced Monkey's Audio (APE) support
+ (24-bit samples and embedded cue support)
+- Goom: Goom spectacle
+- xmp: Decodes module audio and renders sound
+- Sample Rate Converter: Changes frequency of sample rate.
+- History: Collects information about listend tracks.
+- FFvideo: FFmpeg-based video
diff --git a/multimedia/qmmp-plugin-pack-qt6/pkg-plist b/multimedia/qmmp-plugin-pack-qt6/pkg-plist
new file mode 100644
index 000000000000..eaadd4dc41e9
--- /dev/null
+++ b/multimedia/qmmp-plugin-pack-qt6/pkg-plist
@@ -0,0 +1,7 @@
+%%SRCONV%%lib/qmmp-%%APP_SUFFIX%%/Effect/libsrconverter.so
+%%FFVIDEO%%lib/qmmp-%%APP_SUFFIX%%/Engines/libffvideo.so
+%%FFAP%%lib/qmmp-%%APP_SUFFIX%%/Input/libffap.so
+%%MODPLUG%%lib/qmmp-%%APP_SUFFIX%%/Input/libmodplug.so
+%%GOOM%%lib/qmmp-%%APP_SUFFIX%%/Visual/libgoom.so
+%%YTB%%lib/qmmp-%%APP_SUFFIX%%/Transports/libytb.so
+share/metainfo/qmmp-plugin-pack.appdata.xml
diff --git a/multimedia/qmmp-qt5/Makefile b/multimedia/qmmp-qt5/Makefile
index 08e33d6cd8e8..7f36eba8135a 100644
--- a/multimedia/qmmp-qt5/Makefile
+++ b/multimedia/qmmp-qt5/Makefile
@@ -1,5 +1,5 @@
PORTNAME= qmmp
-PORTVERSION= 1.6.0
+PORTVERSION= 1.6.6
CATEGORIES= multimedia
MASTER_SITES= http://qmmp.ylsoftware.com/files/${PORTNAME}/${PORTVERSION:R}/ \
SF/qmmp-dev/${PORTNAME}/${PORTVERSION:R}/
@@ -7,18 +7,21 @@ PKGNAMESUFFIX= -qt5
MAINTAINER= fluffy@FreeBSD.org
COMMENT= Qt5-based multimedia player
+WWW= https://qmmp.ylsoftware.com/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
-CONFLICTS= ${PORTNAME}-0.*
+CONFLICTS= ${PORTNAME}-qt6
PORTSCOUT= limit:^1\..*
USES= cmake gnome pathfix pkgconfig tar:bzip2
USE_QT= core gui network widgets xml \
- buildtools_build linguisttools_build qmake_build
+ buildtools:build linguisttools:build qmake:build
USE_LDCONFIG= yes
+CMAKE_OFF= USE_MMS
+
OPTIONS_SUB= yes
OPTIONS_GROUP= DOCUMENTS PLUGIN_APPLICATION PLUGIN_FORMATS \
PLUGIN_DSP_EFFECTS PLUGIN_VISUAL_EFFECTS PLUGIN_OUTPUT \
@@ -43,23 +46,23 @@ OPTIONS_GROUP_PLUGIN_VISUAL_EFFECTS= ANALYZER PROJECTM
PLUGIN_OUTPUT_DESC= Output sound systems
OPTIONS_GROUP_PLUGIN_OUTPUT= ALSA JACK NULLOUT OSS OSS4 \
- PULSEAUDIO QTMULTIMEDIA SHOUTCAST
+ PIPEWIRE PULSEAUDIO QTMULTIMEDIA SHOUTCAST
PLUGIN_PLAYLIST_DESC= Playlist operation
-OPTIONS_GROUP_PLUGIN_PLAYLIST= COPYPASTE DIR_ASSOC FILEOPS HAL \
+OPTIONS_GROUP_PLUGIN_PLAYLIST= COPYPASTE DIR_ASSOC FILEOPS \
TRACKCHANGE UDISKS
PLUGIN_NETWORKING_DESC= Features via the Net
-OPTIONS_GROUP_PLUGIN_NETWORKING= COVER CURL LYRICS MMS SB SCROBBLER
+OPTIONS_GROUP_PLUGIN_NETWORKING= COVER CURL LYRICS SB SCROBBLER
MISC_DESC= Other features
OPTIONS_GROUP_MISC= CONVERTER CUE ENCA FILEWRITER MPLAYER MPRIS RGSCAN SID
OPTIONS_DEFAULT= ALSA ANALYZER ARCHIVE BS2B CDDA CONVERTER COPYPASTE COVER \
- CROSSFADE CUE CURL DIR_ASSOC ENCA FAAD FFMPEG FILEOPS FILEWRITER FLAC \
- GNOMEHOTKEY GME HAL HISTORY HOTKEY JACK KDENOTIFY LADSPA LYRICS MAD \
- MMS MPG123 MPRIS MPLAYER MUSEPACK NOTIFIER NULLOUT \
- OPUS OSS4 PROJECTM PULSEAUDIO QMMP_DIALOG QSUI QTMULTIMEDIA RGSCAN \
+ CROSSFADE CUE CURL DIR_ASSOC ENCA FFMPEG FILEOPS FILEWRITER FLAC \
+ GNOMEHOTKEY GME HISTORY HOTKEY JACK KDENOTIFY LADSPA LYRICS \
+ MPRIS MPLAYER MUSEPACK NOTIFIER NULLOUT \
+ OPUS OSS4 PIPEWIRE PROJECTM PULSEAUDIO QMMP_DIALOG QSUI QTMULTIMEDIA RGSCAN \
SHOUTCAST SB SCROBBLER SID SKINNEDUI SNDFILE SOXR STATICON STEREO \
TRACKCHANGE TWOPANELDIALOG UDISKS VORBIS WAVPACK WILDMIDI XMP
@@ -94,6 +97,9 @@ HISTORY_USES= qt:5
HISTORY_USE= QT=sql
HISTORY_CMAKE_BOOL= USE_HISTORY
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_CMAKE_BOOL= USE_PIPEWIRE
+
PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_CMAKE_BOOL= USE_PULSE
@@ -199,9 +205,6 @@ XMP_CMAKE_BOOL= USE_XMP
CURL_LIB_DEPENDS= libcurl.so:ftp/curl
CURL_CMAKE_BOOL= USE_CURL
-MMS_LIB_DEPENDS= libmms.so:net/libmms
-MMS_CMAKE_BOOL= USE_MMS
-
CUE_CMAKE_BOOL= USE_CUE
NULLOUT_DESC= Support null output
@@ -254,10 +257,6 @@ NOTIFIER_CMAKE_BOOL= USE_NOTIFIER
LYRICS_DESC= Support to show lyrics using lyrics.wikia.com
LYRICS_CMAKE_BOOL= USE_LYRICS
-HAL_USES= qt:5
-HAL_USE= QT=dbus
-HAL_CMAKE_BOOL= USE_HAL
-
HOTKEY_DESC= Support global shortcut keys
HOTKEY_USES= qt:5
HOTKEY_USE= QT=x11extras XORG=x11
@@ -323,15 +322,9 @@ post-install-DOCS-on:
cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
post-install-DOXYGEN-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}/html/search ; \
cd ${WRKSRC}/doc/html && \
- ${INSTALL_MAN} *.html *.png *.css ${STAGEDIR}${DOCSDIR}/html ; \
- cd ${WRKSRC}/doc/html/search && \
- ${INSTALL_MAN} *.html *.png *.css *.js ${STAGEDIR}${DOCSDIR}/html/search ; \
- ${RM} ${WRKDIR}/PLIST.doc ; \
- ${FIND} ${STAGEDIR}${DOCSDIR}/html -type f | \
- ${SED} 's|${STAGEDIR}${PREFIX}/||' \
- >> ${WRKDIR}/PLIST.doc ; \
- cd ${WRKDIR} ; ${SED} -i -e '/PLIST.doc/ r PLIST.doc' ${TMPPLIST}
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/html
+ @${FIND} -P ${STAGEDIR}${DOCSDIR}/html -type f 2>/dev/null | \
+ ${SED} -ne 's|^${STAGEDIR}${PREFIX}/||p' >> ${TMPPLIST}
.include <bsd.port.mk>
diff --git a/multimedia/qmmp-qt5/distinfo b/multimedia/qmmp-qt5/distinfo
index 002f85250b6d..4d9d64d00566 100644
--- a/multimedia/qmmp-qt5/distinfo
+++ b/multimedia/qmmp-qt5/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652821042
-SHA256 (qmmp-1.6.0.tar.bz2) = cf720d4ecd05046fcfa7d469b033b6a89b8e7aa29b6bcabe131b54d9eba5b071
-SIZE (qmmp-1.6.0.tar.bz2) = 1364512
+TIMESTAMP = 1710190531
+SHA256 (qmmp-1.6.6.tar.bz2) = 2363877a876cd26520e84b0711ae1fa4d2ca8c7115a073946832989a86c68f52
+SIZE (qmmp-1.6.6.tar.bz2) = 1375699
diff --git a/multimedia/qmmp-qt5/files/patch-src_plugins_General_CMakeLists.txt b/multimedia/qmmp-qt5/files/patch-src_plugins_General_CMakeLists.txt
deleted file mode 100644
index 51383a06f0dc..000000000000
--- a/multimedia/qmmp-qt5/files/patch-src_plugins_General_CMakeLists.txt
+++ /dev/null
@@ -1,15 +0,0 @@
---- src/plugins/General/CMakeLists.txt.orig 2022-05-16 19:29:52 UTC
-+++ src/plugins/General/CMakeLists.txt
-@@ -50,9 +50,9 @@ ENDIF(USE_HAL AND Qt5DBus_FOUND)
- add_subdirectory(hal)
- ENDIF(USE_HAL AND Qt5DBus_FOUND)
-
--IF(USE_UDISKS2 AND Qt5DBus_FOUND)
--add_subdirectory(udisks2)
--ENDIF(USE_UDISKS2 AND Qt5DBus_FOUND)
-+IF(USE_UDISKS AND Qt5DBus_FOUND)
-+add_subdirectory(udisks)
-+ENDIF(USE_UDISKS AND Qt5DBus_FOUND)
-
- IF(USE_HOTKEY AND Qt5X11Extras_FOUND)
- add_subdirectory(hotkey)
diff --git a/multimedia/qmmp-qt5/pkg-descr b/multimedia/qmmp-qt5/pkg-descr
index 9a763e11e960..3230788c27aa 100644
--- a/multimedia/qmmp-qt5/pkg-descr
+++ b/multimedia/qmmp-qt5/pkg-descr
@@ -21,4 +21,3 @@ Other features:
automatic charset detection for cue files and ShoutCast metadata,
video playback via Mplayer, dump, lyrics (using lyrics.wikia.com), simple
UI, and skinned UI (supports all skins for XMMS and Winamp 2.x)
-WWW: http://qmmp.ylsoftware.com/
diff --git a/multimedia/qmmp-qt5/pkg-plist b/multimedia/qmmp-qt5/pkg-plist
index 93f20a93a640..874215066574 100644
--- a/multimedia/qmmp-qt5/pkg-plist
+++ b/multimedia/qmmp-qt5/pkg-plist
@@ -79,7 +79,6 @@ lib/qmmp%%LIB_SUFFX%%/Effect/libmonotostereo.so
%%COVER%%lib/qmmp%%LIB_SUFFX%%/General/libcovermanager.so
%%FILEOPS%%lib/qmmp%%LIB_SUFFX%%/General/libfileops.so
%%GNOMEHOTKEY%%lib/qmmp%%LIB_SUFFX%%/General/libgnomehotkey.so
-%%HAL%%lib/qmmp%%LIB_SUFFX%%/General/libhal.so
%%HISTORY%%lib/qmmp%%LIB_SUFFX%%/General/libhistory.so
%%HOTKEY%%lib/qmmp%%LIB_SUFFX%%/General/libhotkey.so
%%KDENOTIFY%%lib/qmmp%%LIB_SUFFX%%/General/libkdenotify.so
@@ -116,6 +115,7 @@ lib/qmmp%%LIB_SUFFX%%/General/libsleepinhibitor.so
%%NULLOUT%%lib/qmmp%%LIB_SUFFX%%/Output/libnull.so
%%OSS%%lib/qmmp%%LIB_SUFFX%%/Output/liboss.so
%%OSS4%%lib/qmmp%%LIB_SUFFX%%/Output/liboss4.so
+%%PIPEWIRE%%lib/qmmp%%LIB_SUFFX%%/Output/libpipewire.so
%%PULSEAUDIO%%lib/qmmp%%LIB_SUFFX%%/Output/libpulseaudio.so
%%QTMULTIMEDIA%%lib/qmmp%%LIB_SUFFX%%/Output/libqtmultimedia.so
%%SHOUTCAST%%lib/qmmp%%LIB_SUFFX%%/Output/libshout.so
@@ -123,7 +123,6 @@ lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libm3uplaylistformat.so
lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libplsplaylistformat.so
lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libxspfplaylistformat.so
%%CURL%%lib/qmmp%%LIB_SUFFX%%/Transports/libhttp.so
-%%MMS%%lib/qmmp%%LIB_SUFFX%%/Transports/libmms.so
%%SKINNEDUI%%lib/qmmp%%LIB_SUFFX%%/Ui/libskinned.so
%%QSUI%%lib/qmmp%%LIB_SUFFX%%/Ui/libqsui.so
%%ANALYZER%%lib/qmmp%%LIB_SUFFX%%/Visual/libanalyzer.so
diff --git a/multimedia/qmmp-qt6/Makefile b/multimedia/qmmp-qt6/Makefile
new file mode 100644
index 000000000000..eda06d628472
--- /dev/null
+++ b/multimedia/qmmp-qt6/Makefile
@@ -0,0 +1,328 @@
+PORTNAME= qmmp
+PORTVERSION= 2.1.6
+CATEGORIES= multimedia
+MASTER_SITES= http://qmmp.ylsoftware.com/files/${PORTNAME}/${PORTVERSION:R}/ \
+ SF/qmmp-dev/${PORTNAME}/${PORTVERSION:R}/
+PKGNAMESUFFIX= -qt6
+
+MAINTAINER= fluffy@FreeBSD.org
+COMMENT= Qt6-based multimedia player
+WWW= https://qmmp.ylsoftware.com/
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+CONFLICTS= ${PORTNAME}-qt5
+PORTSCOUT= limit:^1\..*
+
+USES= cmake gl gnome pathfix pkgconfig qt:6 tar:bzip2
+USE_GL= gl opengl
+USE_QT= base:build declarative:build tools:build
+USE_LDCONFIG= yes
+
+CMAKE_OFF= USE_MMS
+
+OPTIONS_SUB= yes
+OPTIONS_GROUP= DOCUMENTS PLUGIN_APPLICATION PLUGIN_FORMATS \
+ PLUGIN_DSP_EFFECTS PLUGIN_VISUAL_EFFECTS PLUGIN_OUTPUT \
+ PLUGIN_PLAYLIST PLUGIN_NETWORKING MISC
+
+PLUGIN_APPLICATION_DESC= Main program view
+OPTIONS_GROUP_PLUGIN_APPLICATION= GNOMEHOTKEY HISTORY HOTKEY KDENOTIFY \
+ NOTIFIER QMMP_DIALOG QSUI SKINNEDUI STATICON TWOPANELDIALOG
+
+DOCUMENTS_DESC= Documentation and API Reference
+OPTIONS_GROUP_DOCUMENTS= DOCS DOXYGEN
+
+PLUGIN_FORMATS_DESC= Support various media formats
+OPTIONS_GROUP_PLUGIN_FORMATS= ARCHIVE CDDA FAAD FFMPEG FLAC GME \
+ MAD MPG123 MUSEPACK OPUS SNDFILE VORBIS WAVPACK WILDMIDI XMP
+
+PLUGIN_DSP_EFFECTS_DESC= DSP effects
+OPTIONS_GROUP_PLUGIN_DSP_EFFECTS= BS2B CROSSFADE LADSPA SOXR STEREO
+
+PLUGIN_VISUAL_EFFECTS_DESC= Visual effects
+OPTIONS_GROUP_PLUGIN_VISUAL_EFFECTS= ANALYZER PROJECTM
+
+PLUGIN_OUTPUT_DESC= Output sound systems
+OPTIONS_GROUP_PLUGIN_OUTPUT= ALSA JACK NULLOUT OSS OSS4 \
+ PIPEWIRE PULSEAUDIO QTMULTIMEDIA SHOUTCAST
+
+PLUGIN_PLAYLIST_DESC= Playlist operation
+OPTIONS_GROUP_PLUGIN_PLAYLIST= COPYPASTE DIR_ASSOC FILEOPS \
+ TRACKCHANGE UDISKS
+
+PLUGIN_NETWORKING_DESC= Features via the Net
+OPTIONS_GROUP_PLUGIN_NETWORKING= COVER CURL LYRICS SB SCROBBLER
+
+MISC_DESC= Other features
+OPTIONS_GROUP_MISC= CONVERTER CUE ENCA FILEWRITER MPLAYER MPRIS RGSCAN SID
+
+OPTIONS_DEFAULT= ALSA ANALYZER ARCHIVE BS2B CDDA CONVERTER COPYPASTE COVER \
+ CROSSFADE CUE CURL DIR_ASSOC ENCA FFMPEG FILEOPS FILEWRITER FLAC \
+ GNOMEHOTKEY GME HISTORY HOTKEY JACK KDENOTIFY LADSPA LYRICS \
+ MPRIS MPLAYER MUSEPACK NOTIFIER NULLOUT \
+ OPUS OSS4 PROJECTM PIPEWIRE PULSEAUDIO QMMP_DIALOG QSUI RGSCAN \
+ SHOUTCAST SB SCROBBLER SID SKINNEDUI SNDFILE SOXR STATICON STEREO \
+ TRACKCHANGE TWOPANELDIALOG UDISKS VORBIS WAVPACK WILDMIDI XMP
+
+DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
+
+QSUI_DESC= Simple UI based on standard widgets set
+QSUI_CMAKE_BOOL= USE_QSUI
+
+SKINNEDUI_DESC= Skinned GUI
+SKINNEDUI_USES= xorg
+SKINNEDUI_USE= QT=base XORG=x11
+SKINNEDUI_CMAKE_BOOL= USE_SKINNED
+
+DIR_ASSOC_DESC= inode/directory mime type association
+DIR_ASSOC_CMAKE_BOOL= USE_DIR_ASSOC
+DIR_ASSOC_USES= desktop-file-utils
+
+JACK_LIB_DEPENDS= libjack.so:audio/jack \
+ libsoxr.so:audio/libsoxr
+JACK_BUILD_DEPENDS= jackit>=0.121.2:audio/jack
+JACK_CMAKE_BOOL= USE_JACK
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CMAKE_BOOL= USE_ALSA
+
+BS2B_DESC= Support the Bauer stereophonic2binaural effect
+BS2B_LIB_DEPENDS= libbs2b.so:audio/libbs2b
+BS2B_CMAKE_BOOL= USE_BS2B
+
+HISTORY_DESC= Information about listened tracks
+HISTORY_USE= QT=base
+HISTORY_CMAKE_BOOL= USE_HISTORY
+
+PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+PIPEWIRE_CMAKE_BOOL= USE_PIPEWIRE
+
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL= USE_PULSE
+
+QTMULTIMEDIA_DESC= Support to use Qt low-level multimedia API
+QTMULTIMEDIA_USE= QT=multimedia
+QTMULTIMEDIA_CMAKE_BOOL= USE_QTMULTIMEDIA
+
+SHOUTCAST_LIB_DEPENDS= libogg.so:audio/libogg \
+ libshout.so:audio/libshout \
+ libsoxr.so:audio/libsoxr \
+ libvorbis.so:audio/libvorbis
+SHOUTCAST_CMAKE_BOOL= USE_SHOUT
+
+FLAC_LIB_DEPENDS= libFLAC.so:audio/flac \
+ libtag.so:audio/taglib
+FLAC_USES= iconv
+FLAC_CMAKE_BOOL= USE_FLAC
+
+MUSEPACK_LIB_DEPENDS= libmpcdec.so:audio/musepack \
+ libtag.so:audio/taglib
+MUSEPACK_USES= iconv
+MUSEPACK_CMAKE_BOOL= USE_MPC
+
+GME_DESC= Support video game music files
+GME_LIB_DEPENDS= libgme.so:audio/libgme
+GME_CMAKE_BOOL= USE_GME
+
+FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
+FFMPEG_CMAKE_BOOL= USE_FFMPEG
+
+FAAD_LIB_DEPENDS= libfaad.so:audio/faad \
+ libtag.so:audio/taglib
+FAAD_USES= iconv
+FAAD_CMAKE_BOOL= USE_AAC
+
+CDDA_LIB_DEPENDS= libcdio.so:sysutils/libcdio \
+ libcddb.so:audio/libcddb \
+ libcdio_cdda.so:sysutils/libcdio-paranoia
+CDDA_CMAKE_BOOL= USE_CDA
+
+ENCA_DESC= Support automatic character set detection
+ENCA_LIB_DEPENDS= libenca.so:converters/enca
+ENCA_CMAKE_BOOL= USE_ENCA
+
+FILEWRITER_DESC= Dump output sound into ogg audio file
+FILEWRITER_LIB_DEPENDS= libvorbisenc.so:audio/libvorbis
+FILEWRITER_CMAKE_BOOL= USE_FILEWRITER
+
+MPLAYER_DESC= Enable showing videos by mplayer
+MPLAYER_RUN_DEPENDS= mplayer:multimedia/mplayer
+MPLAYER_CMAKE_BOOL= USE_MPLAYER
+
+PROJECTM_DESC= Support the projectM music visualiser
+PROJECTM_LIB_DEPENDS= libprojectM.so:graphics/libprojectm
+PROJECTM_CMAKE_BOOL= USE_PROJECTM
+
+OSS_CMAKE_BOOL= USE_OSS
+
+OSS4_DESC= Open Sound System (ver4) support
+OSS4_BUILD_DEPENDS= ${LOCALBASE}/lib/oss/include/sys/soundcard.h:audio/oss
+OSS4_CMAKE_BOOL= USE_OSS4
+
+LADSPA_RUN_DEPENDS= analyseplugin:audio/ladspa
+LADSPA_CMAKE_BOOL= USE_LADSPA
+
+WILDMIDI_DESC= Support to playback MIDI files
+WILDMIDI_LIB_DEPENDS= libWildMidi.so:audio/wildmidi
+WILDMIDI_CMAKE_BOOL= USE_MIDI
+
+MAD_LIB_DEPENDS= libmad.so:audio/libmad \
+ libtag.so:audio/taglib
+MUAD_USES= iconv
+MAD_CMAKE_BOOL= USE_MAD
+
+MPG123_LIB_DEPENDS= libmpg123.so:audio/mpg123 \
+ libtag.so:audio/taglib
+MPG123K_USES= iconv
+MPG123_CMAKE_BOOL= USE_MPG123
+
+OPUS_DESC= Enable reading opusfile tags
+OPUS_LIB_DEPENDS= libopusfile.so:audio/opusfile \
+ libopus.so:audio/opus \
+ libtag.so:audio/taglib
+OPUS_USES= iconv
+OPUS_CMAKE_BOOL= USE_OPUS
+
+RGSCAN_DESC= ReplayGain scanner
+RGSCAN_LIB_DEPENDS= libtag.so:audio/taglib
+RGSCAN_CMAKE_BOOL= USE_RGSCAN
+
+SNDFILE_LIB_DEPENDS= libsndfile.so:audio/libsndfile
+SNDFILE_CMAKE_BOOL= USE_SNDFILE
+
+VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
+ libogg.so:audio/libogg \
+ libtag.so:audio/taglib
+VORBIS_USES= iconv
+VORBIS_CMAKE_BOOL= USE_VORBIS
+
+WAVPACK_LIB_DEPENDS= libwavpack.so:audio/wavpack
+WAVPACK_CMAKE_BOOL= USE_WAVPACK
+
+XMP_DESC= Support various module formats using libxmp
+XMP_LIB_DEPENDS= libxmp.so:audio/libxmp
+XMP_CMAKE_BOOL= USE_XMP
+
+CURL_LIB_DEPENDS= libcurl.so:ftp/curl
+CURL_CMAKE_BOOL= USE_CURL
+
+CUE_CMAKE_BOOL= USE_CUE
+
+NULLOUT_DESC= Support null output
+NULLOUT_CMAKE_BOOL= USE_NULL
+
+SOXR_LIB_DEPENDS= libsoxr.so:audio/libsoxr
+SOXR_CMAKE_BOOL= USE_SOXR
+
+CROSSFADE_DESC= Support cross-fade effect
+CROSSFADE_CMAKE_BOOL= USE_CROSSFADE
+
+STEREO_DESC= Support stereo effect
+STEREO_CMAKE_BOOL= USE_STEREO
+
+ANALYZER_DESC= Support spectrum analyzer visualization
+ANALYZER_CMAKE_BOOL= USE_ANALYZER
+
+ARCHIVE_DESC= Read archived media file
+ARCHIVE_USES= libarchive
+ARCHIVE_CMAKE_BOOL= USE_ARCHIVE
+
+CONVERTER_DESC= Support file type converter
+CONVERTER_LIB_DEPENDS= libtag.so:audio/taglib
+CONVERTER_CMAKE_BOOL= USE_CONVERTER
+
+COPYPASTE_DESC= Enable copy/paste track infos between playlists
+COPYPASTE_CMAKE_BOOL= USE_COPYPASTE
+
+MPRIS_DESC= Support the Media Player Remote
+MPRIS_USE= QT=base
+MPRIS_CMAKE_BOOL= USE_MPRIS
+
+SCROBBLER_DESC= Support Libre.fm/Last.fm scrobbler feature
+SCROBBLER_CMAKE_BOOL= USE_SCROBBLER
+
+SID_DESC= Support sid
+SID_LIB_DEPENDS= libsidplayfp.so:audio/libsidplayfp
+SID_CMAKE_BOOL= USE_SID
+
+STATICON_DESC= Support to show status icon
+STATICON_CMAKE_BOOL= USE_STATICON
+
+SB_DESC= Browser for IceCast stream directory
+SB_CMAKE_BOOL= USE_SB
+
+NOTIFIER_DESC= Support to popup notifier
+NOTIFIER_CMAKE_BOOL= USE_NOTIFIER
+
+LYRICS_DESC= Support to show lyrics using lyrics.wikia.com
+LYRICS_CMAKE_BOOL= USE_LYRICS
+
+HOTKEY_DESC= Support global shortcut keys
+HOTKEY_USE= QT=base XORG=x11
+HOTKEY_CMAKE_BOOL= USE_HOTKEY
+
+GNOMEHOTKEY_DESC= Support GNOME/Cinnamon shortcut keys
+GNOMEHOTKEY_USE= QT=base
+GNOMEHOTKEY_CMAKE_BOOL= USE_GNOMEHOTKEY
+
+FILEOPS_DESC= Support file operation
+FILEOPS_CMAKE_BOOL= USE_FILEOPS
+
+COVER_DESC= Support to show cover images
+COVER_CMAKE_BOOL= USE_COVER
+
+KDENOTIFY_DESC= Support to popup notifier for KDE
+KDENOTIFY_USE= QT=base
+KDENOTIFY_CMAKE_BOOL= USE_KDENOTIFY
+
+TRACKCHANGE_DESC= Enable to run external command each track
+TRACKCHANGE_CMAKE_BOOL= USE_TRACKCHANGE
+
+UDISKS_DESC= Support removable disc detection using UDisks
+UDISKS_RUN_DEPENDS= bsdisks:sysutils/bsdisks
+UDISKS_USE= QT=base
+UDISKS_CMAKE_BOOL= USE_UDISKS
+
+QMMP_DIALOG_DESC= An original dialog
+QMMP_DIALOG_CMAKE_BOOL= USE_QMMP_DIALOG
+
+TWOPANELDIALOG_DESC= File dialog by two-panel selector
+TWOPANELDIALOG_CMAKE_BOOL= USE_TWO_PANEL_DIALOG
+
+PLIST_SUB+= SHLIB_VER=${PORTVERSION:C/-.*//} LIB_SUFFX=-${PORTVERSION:R} BIN_SUFFX=-${PORTVERSION:R:R}
+
+PATHFIX_CMAKELISTSTXT= \\"CMakeLists.txt -exec grep -l /pkgconfig {} +\\"
+PORTDOCS= README README.RUS AUTHORS
+
+.include <bsd.port.options.mk>
+
+.if (${PORT_OPTIONS:MMAD} || ${PORT_OPTIONS:MMPG123})
+PLIST_SUB+= MPEG=""
+.else
+PLIST_SUB+= MPEG="@comment "
+.endif
+
+post-patch:
+ @${GREP} -L '${LOCALBASE}/lib/oss' \
+ ${WRKSRC}/src/plugins/Output/oss4/CMakeLists.txt | ${XARGS} \
+ ${REINPLACE_CMD} -e 's|/usr/local/|${LOCALBASE}/|'
+
+pre-configure:
+ @${RM} ${BUILD_WRKSRC}/CMakeCache.txt
+
+post-build-DOXYGEN-on:
+ cd ${WRKSRC}/doc && doxygen Doxyfile
+
+post-install-DOCS-on:
+ @${MKDIR} ${STAGEDIR}${DOCSDIR}; \
+ cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+
+post-install-DOXYGEN-on:
+ cd ${WRKSRC}/doc/html && \
+ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/html
+ @${FIND} -P ${STAGEDIR}${DOCSDIR}/html -type f 2>/dev/null | \
+ ${SED} -ne 's|^${STAGEDIR}${PREFIX}/||p' >> ${TMPPLIST}
+
+.include <bsd.port.mk>
diff --git a/multimedia/qmmp-qt6/distinfo b/multimedia/qmmp-qt6/distinfo
new file mode 100644
index 000000000000..5461fb12abc8
--- /dev/null
+++ b/multimedia/qmmp-qt6/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710190542
+SHA256 (qmmp-2.1.6.tar.bz2) = 927aa8e720a470efdb16633efb3f927625b3a4328af68a15d30aa57082a3eeca
+SIZE (qmmp-2.1.6.tar.bz2) = 1372891
diff --git a/multimedia/qmmp-qt6/pkg-descr b/multimedia/qmmp-qt6/pkg-descr
new file mode 100644
index 000000000000..3230788c27aa
--- /dev/null
+++ b/multimedia/qmmp-qt6/pkg-descr
@@ -0,0 +1,23 @@
+This program is an audio-player, written with help of Qt library.
+Supported formats:
+ MPEG1 layer 2/3, Ogg Vorbis, Native FLAC, Ogg FLAC, Musepack, WavePack,
+ tracker modules (mod, s3m, it, xm, etc.), ADTS AAC, CD Audio, MIDI,
+ Opus tags, WMA-Monkey's Audio (and other formats via FFmpeg),
+ PCM Wave (and other formats via libsndfile), and Chiptune formats
+ (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
+DSP effects:
+ Effects of Bauer Stereophonic-to-Binaural, SoX resampling, LADSPA,
+ extra stereo, and crossfade
+Visual effects:
+ Spectrum Analyzer, and projectM audio visulaliser
+Output system support:
+ PulseAudio, OSS, OSS4, jack, ALSA, Qt multimedia API, and shoutcast
+Other features:
+ multi-band equalizer, Last.fm/Libre.fm scrobbler, global hotkey,
+ streaming (MP3, Vorbis, AAC, AAC+ via IceCast/ShoutCast) and browser,
+ CDDB, removable device detection (via HAL or UDisks), cover art, MMS,
+ multiple playlists, file type determination and converter, ReplayGain,
+ CUE sheet, embedded CUE (for FLAC and WavPack), MPRIS, archived media,
+ automatic charset detection for cue files and ShoutCast metadata,
+ video playback via Mplayer, dump, lyrics (using lyrics.wikia.com), simple
+ UI, and skinned UI (supports all skins for XMMS and Winamp 2.x)
diff --git a/multimedia/qmmp-qt6/pkg-plist b/multimedia/qmmp-qt6/pkg-plist
new file mode 100644
index 000000000000..d20a309901f5
--- /dev/null
+++ b/multimedia/qmmp-qt6/pkg-plist
@@ -0,0 +1,149 @@
+bin/qmmp
+include/qmmp/abstractengine.h
+include/qmmp/audioconverter.h
+include/qmmp/audioparameters.h
+include/qmmp/buffer.h
+include/qmmp/channelmap.h
+include/qmmp/cueparser.h
+include/qmmp/decoder.h
+include/qmmp/decoderfactory.h
+include/qmmp/effect.h
+include/qmmp/effectfactory.h
+include/qmmp/enginefactory.h
+include/qmmp/eqsettings.h
+include/qmmp/inputsource.h
+include/qmmp/inputsourcefactory.h
+include/qmmp/metadatamanager.h
+include/qmmp/metadatamodel.h
+include/qmmp/output.h
+include/qmmp/outputfactory.h
+include/qmmp/qmmp.h
+include/qmmp/qmmp_export.h
+include/qmmp/qmmpsettings.h
+include/qmmp/qmmptextcodec.h
+include/qmmp/soundcore.h
+include/qmmp/statehandler.h
+include/qmmp/tagmodel.h
+include/qmmp/trackinfo.h
+include/qmmp/visual.h
+include/qmmp/visualfactory.h
+include/qmmp/volume.h
+include/qmmp/volumehandler.h
+include/qmmpui/commandlinehandler.h
+include/qmmpui/commandlinemanager.h
+include/qmmpui/configdialog.h
+include/qmmpui/detailsdialog.h
+include/qmmpui/filedialog.h
+include/qmmpui/filedialogfactory.h
+include/qmmpui/general.h
+include/qmmpui/generalfactory.h
+include/qmmpui/mediaplayer.h
+include/qmmpui/metadataformatter.h
+include/qmmpui/metadataformattermenu.h
+include/qmmpui/playlistdownloader.h
+include/qmmpui/playlistformat.h
+include/qmmpui/playlistgroup.h
+include/qmmpui/playlistheadermodel.h
+include/qmmpui/playlistitem.h
+include/qmmpui/playlistmanager.h
+include/qmmpui/playlistmodel.h
+include/qmmpui/playlistparser.h
+include/qmmpui/playlisttrack.h
+include/qmmpui/qmmpui_export.h
+include/qmmpui/qmmpuisettings.h
+include/qmmpui/templateeditor.h
+include/qmmpui/uifactory.h
+include/qmmpui/uihelper.h
+include/qmmpui/uiloader.h
+lib/libqmmp.so
+lib/libqmmp.so.2
+lib/libqmmp.so.%%SHLIB_VER%%
+lib/libqmmpui.so
+lib/libqmmpui.so.2
+lib/libqmmpui.so.%%SHLIB_VER%%
+lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libincdecvolumeoption.so
+lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libplaylistoption.so
+lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libseekoption.so
+lib/qmmp%%LIB_SUFFX%%/CommandLineOptions/libstatusoption.so
+%%LADSPA%%lib/qmmp%%LIB_SUFFX%%/Effect/libladspa.so
+%%BS2B%%lib/qmmp%%LIB_SUFFX%%/Effect/libbs2b.so
+%%FILEWRITER%%lib/qmmp%%LIB_SUFFX%%/Effect/libfilewriter.so
+lib/qmmp%%LIB_SUFFX%%/Effect/libmonotostereo.so
+%%SOXR%%lib/qmmp%%LIB_SUFFX%%/Effect/libsoxr.so
+%%STEREO%%lib/qmmp%%LIB_SUFFX%%/Effect/libstereo.so
+%%CROSSFADE%%lib/qmmp%%LIB_SUFFX%%/Effect/libcrossfade.so
+%%MPLAYER%%lib/qmmp%%LIB_SUFFX%%/Engines/libmplayer.so
+%%QMMP_DIALOG%%lib/qmmp%%LIB_SUFFX%%/FileDialogs/libqmmpfiledialog.so
+%%TWOPANELDIALOG%%lib/qmmp%%LIB_SUFFX%%/FileDialogs/libtwopanelfiledialog.so
+%%CONVERTER%%lib/qmmp%%LIB_SUFFX%%/General/libconverter.so
+%%COPYPASTE%%lib/qmmp%%LIB_SUFFX%%/General/libcopypaste.so
+%%COVER%%lib/qmmp%%LIB_SUFFX%%/General/libcovermanager.so
+%%FILEOPS%%lib/qmmp%%LIB_SUFFX%%/General/libfileops.so
+%%GNOMEHOTKEY%%lib/qmmp%%LIB_SUFFX%%/General/libgnomehotkey.so
+%%HISTORY%%lib/qmmp%%LIB_SUFFX%%/General/libhistory.so
+%%HOTKEY%%lib/qmmp%%LIB_SUFFX%%/General/libhotkey.so
+%%KDENOTIFY%%lib/qmmp%%LIB_SUFFX%%/General/libkdenotify.so
+lib/qmmp%%LIB_SUFFX%%/General/liblibrary.so
+lib/qmmp%%LIB_SUFFX%%/General/liblistenbrainz.so
+%%LYRICS%%lib/qmmp%%LIB_SUFFX%%/General/liblyrics.so
+%%MPRIS%%lib/qmmp%%LIB_SUFFX%%/General/libmpris.so
+%%NOTIFIER%%lib/qmmp%%LIB_SUFFX%%/General/libnotifier.so
+%%RGSCAN%%lib/qmmp%%LIB_SUFFX%%/General/librgscan.so
+lib/qmmp%%LIB_SUFFX%%/General/libsleepinhibitor.so
+%%SCROBBLER%%lib/qmmp%%LIB_SUFFX%%/General/libscrobbler.so
+%%STATICON%%lib/qmmp%%LIB_SUFFX%%/General/libstatusicon.so
+%%SB%%lib/qmmp%%LIB_SUFFX%%/General/libstreambrowser.so
+%%TRACKCHANGE%%lib/qmmp%%LIB_SUFFX%%/General/libtrackchange.so
+%%UDISKS%%lib/qmmp%%LIB_SUFFX%%/General/libudisks.so
+%%FAAD%%lib/qmmp%%LIB_SUFFX%%/Input/libaac.so
+%%ARCHIVE%%lib/qmmp%%LIB_SUFFX%%/Input/libarchive.so
+%%CDDA%%lib/qmmp%%LIB_SUFFX%%/Input/libcdaudio.so
+%%CUE%%lib/qmmp%%LIB_SUFFX%%/Input/libcue.so
+%%FFMPEG%%lib/qmmp%%LIB_SUFFX%%/Input/libffmpeg.so
+%%FLAC%%lib/qmmp%%LIB_SUFFX%%/Input/libflac.so
+%%GME%%lib/qmmp%%LIB_SUFFX%%/Input/libgme.so
+%%MUSEPACK%%lib/qmmp%%LIB_SUFFX%%/Input/libmpc.so
+%%MPEG%%lib/qmmp%%LIB_SUFFX%%/Input/libmpeg.so
+%%OPUS%%lib/qmmp%%LIB_SUFFX%%/Input/libopus.so
+%%SID%%lib/qmmp%%LIB_SUFFX%%/Input/libsid.so
+%%SNDFILE%%lib/qmmp%%LIB_SUFFX%%/Input/libsndfile.so
+%%VORBIS%%lib/qmmp%%LIB_SUFFX%%/Input/libvorbis.so
+%%WAVPACK%%lib/qmmp%%LIB_SUFFX%%/Input/libwavpack.so
+%%WILDMIDI%%lib/qmmp%%LIB_SUFFX%%/Input/libwildmidi.so
+%%XMP%%lib/qmmp%%LIB_SUFFX%%/Input/libxmp.so
+%%JACK%%lib/qmmp%%LIB_SUFFX%%/Output/libjack.so
+%%ALSA%%lib/qmmp%%LIB_SUFFX%%/Output/libalsa.so
+%%NULLOUT%%lib/qmmp%%LIB_SUFFX%%/Output/libnull.so
+%%OSS%%lib/qmmp%%LIB_SUFFX%%/Output/liboss.so
+%%OSS4%%lib/qmmp%%LIB_SUFFX%%/Output/liboss4.so
+%%PIPEWIRE%%lib/qmmp%%LIB_SUFFX%%/Output/libpipewire.so
+%%PULSEAUDIO%%lib/qmmp%%LIB_SUFFX%%/Output/libpulseaudio.so
+%%QTMULTIMEDIA%%lib/qmmp%%LIB_SUFFX%%/Output/libqtmultimedia.so
+%%SHOUTCAST%%lib/qmmp%%LIB_SUFFX%%/Output/libshout.so
+lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libm3uplaylistformat.so
+lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libplsplaylistformat.so
+lib/qmmp%%LIB_SUFFX%%/PlayListFormats/libxspfplaylistformat.so
+%%CURL%%lib/qmmp%%LIB_SUFFX%%/Transports/libhttp.so
+%%SKINNEDUI%%lib/qmmp%%LIB_SUFFX%%/Ui/libskinned.so
+%%QSUI%%lib/qmmp%%LIB_SUFFX%%/Ui/libqsui.so
+%%ANALYZER%%lib/qmmp%%LIB_SUFFX%%/Visual/libanalyzer.so
+%%PROJECTM%%lib/qmmp%%LIB_SUFFX%%/Visual/libprojectm.so
+libdata/pkgconfig/qmmp.pc
+libdata/pkgconfig/qmmpui.pc
+%%DIR_ASSOC%%share/applications/qmmp-dir.desktop
+%%DIR_ASSOC%%share/applications/qmmp-enqueue.desktop
+share/applications/qmmp.desktop
+share/icons/hicolor/128x128/apps/qmmp.png
+share/icons/hicolor/16x16/apps/qmmp.png
+share/icons/hicolor/256x256/apps/qmmp.png
+share/icons/hicolor/32x32/apps/qmmp.png
+share/icons/hicolor/48x48/apps/qmmp.png
+share/icons/hicolor/56x56/apps/qmmp.png
+share/icons/hicolor/64x64/apps/qmmp.png
+share/icons/hicolor/scalable/apps/qmmp-simple.svgz
+share/icons/hicolor/scalable/apps/qmmp.svgz
+share/metainfo/qmmp.appdata.xml
+%%DATADIR%%/images/app_icon.png
+%%DATADIR%%/images/empty_cover.png
+%%DATADIR%%/scripts/kwin.sh
+share/solid/actions/qmmp-opencda.desktop
diff --git a/multimedia/qpwgraph/Makefile b/multimedia/qpwgraph/Makefile
index ed3f0e642f41..2f14d3634bdd 100644
--- a/multimedia/qpwgraph/Makefile
+++ b/multimedia/qpwgraph/Makefile
@@ -1,9 +1,11 @@
PORTNAME= qpwgraph
DISTVERSION= 0.0.9
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= PipeWire Graph Qt GUI Interface
+WWW= https://gitlab.freedesktop.org/rncbc/qpwgraph
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE.md
@@ -11,12 +13,12 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md
LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
USES= cmake pkgconfig qt:5
-USE_QT= core gui network widgets buildtools_build qmake_build
+USE_QT= core gui network widgets buildtools:build qmake:build
USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= rncbc
-GL_COMMIT= 71edb283e7b5d4429d5ef9951de6b740afb07790
+GL_TAGNAME= 71edb283e7b5d4429d5ef9951de6b740afb07790
PLIST_FILES= bin/qpwgraph
diff --git a/multimedia/qpwgraph/pkg-descr b/multimedia/qpwgraph/pkg-descr
index bcd4babed3c1..55a4dcc66568 100644
--- a/multimedia/qpwgraph/pkg-descr
+++ b/multimedia/qpwgraph/pkg-descr
@@ -1,4 +1,2 @@
qpwgraph is a graph manager dedicated for PipeWire, using the Qt C++ framework,
based and pretty much like the same of QjackCtl.
-
-WWW: https://gitlab.freedesktop.org/rncbc/qpwgraph
diff --git a/multimedia/qt-faststart/Makefile b/multimedia/qt-faststart/Makefile
deleted file mode 100644
index edb5c4df84e0..000000000000
--- a/multimedia/qt-faststart/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# Created by: J.R. Oldroyd <fbsd@opal.com>
-
-PORTNAME= qt-faststart
-PORTVERSION= 0.2
-CATEGORIES= multimedia
-MASTER_SITES= #none
-DISTFILES= #none
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Convert QuickTime movie files to streamable format
-
-DEPRECATED= Obsolete, please consider using multimedia/Bento4, multimedia/gpac-mp4box or multimedia/ffmpeg
-EXPIRATION_DATE=2022-06-30
-
-PLIST_FILES= bin/qt-faststart
-
-do-extract:
- @${MKDIR} ${WRKSRC}
- @${CP} ${FILESDIR}/${PORTNAME}.c ${WRKSRC}
-
-do-build:
- ${CC} ${CFLAGS} ${WRKSRC}/${PORTNAME}.c -o ${WRKSRC}/${PORTNAME}
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
-
-.include <bsd.port.mk>
diff --git a/multimedia/qt-faststart/files/qt-faststart.c b/multimedia/qt-faststart/files/qt-faststart.c
deleted file mode 100644
index ace4c113c888..000000000000
--- a/multimedia/qt-faststart/files/qt-faststart.c
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * qt-faststart.c, v0.2
- * by Mike Melanson (melanson@pcisys.net)
- * This file is placed in the public domain. Use the program however you
- * see fit.
- *
- * This utility rearranges a Quicktime file such that the moov atom
- * is in front of the data, thus facilitating network streaming.
- *
- * To compile this program, start from the base directory from which you
- * are building FFmpeg and type:
- * make tools/qt-faststart
- * The qt-faststart program will be built in the tools/ directory. If you
- * do not build the program in this manner, correct results are not
- * guaranteed, particularly on 64-bit platforms.
- * Invoke the program with:
- * qt-faststart <infile.mov> <outfile.mov>
- *
- * Notes: Quicktime files can come in many configurations of top-level
- * atoms. This utility stipulates that the very last atom in the file needs
- * to be a moov atom. When given such a file, this utility will rearrange
- * the top-level atoms by shifting the moov atom from the back of the file
- * to the front, and patch the chunk offsets along the way. This utility
- * presently only operates on uncompressed moov atoms.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <inttypes.h>
-#include <string.h>
-
-#ifdef __MINGW32__
-#define fseeko(x,y,z) fseeko64(x,y,z)
-#define ftello(x) ftello64(x)
-#endif
-
-#define BE_16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1])
-#define BE_32(x) ((((uint8_t*)(x))[0] << 24) | \
- (((uint8_t*)(x))[1] << 16) | \
- (((uint8_t*)(x))[2] << 8) | \
- ((uint8_t*)(x))[3])
-#define BE_64(x) (((uint64_t)(((uint8_t*)(x))[0]) << 56) | \
- ((uint64_t)(((uint8_t*)(x))[1]) << 48) | \
- ((uint64_t)(((uint8_t*)(x))[2]) << 40) | \
- ((uint64_t)(((uint8_t*)(x))[3]) << 32) | \
- ((uint64_t)(((uint8_t*)(x))[4]) << 24) | \
- ((uint64_t)(((uint8_t*)(x))[5]) << 16) | \
- ((uint64_t)(((uint8_t*)(x))[6]) << 8) | \
- ((uint64_t)((uint8_t*)(x))[7]))
-
-#define BE_FOURCC( ch0, ch1, ch2, ch3 ) \
- ( (uint32_t)(unsigned char)(ch3) | \
- ( (uint32_t)(unsigned char)(ch2) << 8 ) | \
- ( (uint32_t)(unsigned char)(ch1) << 16 ) | \
- ( (uint32_t)(unsigned char)(ch0) << 24 ) )
-
-#define QT_ATOM BE_FOURCC
-/* top level atoms */
-#define FREE_ATOM QT_ATOM('f', 'r', 'e', 'e')
-#define JUNK_ATOM QT_ATOM('j', 'u', 'n', 'k')
-#define MDAT_ATOM QT_ATOM('m', 'd', 'a', 't')
-#define MOOV_ATOM QT_ATOM('m', 'o', 'o', 'v')
-#define PNOT_ATOM QT_ATOM('p', 'n', 'o', 't')
-#define SKIP_ATOM QT_ATOM('s', 'k', 'i', 'p')
-#define WIDE_ATOM QT_ATOM('w', 'i', 'd', 'e')
-#define PICT_ATOM QT_ATOM('P', 'I', 'C', 'T')
-#define FTYP_ATOM QT_ATOM('f', 't', 'y', 'p')
-#define UUID_ATOM QT_ATOM('u', 'u', 'i', 'd')
-
-#define CMOV_ATOM QT_ATOM('c', 'm', 'o', 'v')
-#define STCO_ATOM QT_ATOM('s', 't', 'c', 'o')
-#define CO64_ATOM QT_ATOM('c', 'o', '6', '4')
-
-#define ATOM_PREAMBLE_SIZE 8
-#define COPY_BUFFER_SIZE 1024
-
-int main(int argc, char *argv[])
-{
- FILE *infile = NULL;
- FILE *outfile = NULL;
- unsigned char atom_bytes[ATOM_PREAMBLE_SIZE];
- uint32_t atom_type = 0;
- uint64_t atom_size = 0;
- uint64_t atom_offset = 0;
- uint64_t last_offset;
- unsigned char *moov_atom = NULL;
- unsigned char *ftyp_atom = NULL;
- uint64_t moov_atom_size;
- uint64_t ftyp_atom_size = 0;
- uint64_t i, j;
- uint32_t offset_count;
- uint64_t current_offset;
- uint64_t start_offset = 0;
- unsigned char copy_buffer[COPY_BUFFER_SIZE];
- int bytes_to_copy;
-
- if (argc != 3) {
- printf ("Usage: qt-faststart <infile.mov> <outfile.mov>\n");
- return 0;
- }
-
- if (!strcmp(argv[1], argv[2])) {
- fprintf(stderr, "input and output files need to be different\n");
- return 1;
- }
-
- infile = fopen(argv[1], "rb");
- if (!infile) {
- perror(argv[1]);
- goto error_out;
- }
-
- /* traverse through the atoms in the file to make sure that 'moov' is
- * at the end */
- while (!feof(infile)) {
- if (fread(atom_bytes, ATOM_PREAMBLE_SIZE, 1, infile) != 1) {
- break;
- }
- atom_size = (uint32_t)BE_32(&atom_bytes[0]);
- atom_type = BE_32(&atom_bytes[4]);
-
- /* keep ftyp atom */
- if (atom_type == FTYP_ATOM) {
- ftyp_atom_size = atom_size;
- free(ftyp_atom);
- ftyp_atom = malloc(ftyp_atom_size);
- if (!ftyp_atom) {
- printf ("could not allocate %"PRIu64" byte for ftyp atom\n",
- atom_size);
- goto error_out;
- }
- fseeko(infile, -ATOM_PREAMBLE_SIZE, SEEK_CUR);
- if (fread(ftyp_atom, atom_size, 1, infile) != 1) {
- perror(argv[1]);
- goto error_out;
- }
- start_offset = ftello(infile);
- } else {
-
- /* 64-bit special case */
- if (atom_size == 1) {
- if (fread(atom_bytes, ATOM_PREAMBLE_SIZE, 1, infile) != 1) {
- break;
- }
- atom_size = BE_64(&atom_bytes[0]);
- fseeko(infile, atom_size - ATOM_PREAMBLE_SIZE * 2, SEEK_CUR);
- } else {
- fseeko(infile, atom_size - ATOM_PREAMBLE_SIZE, SEEK_CUR);
- }
- }
- printf("%c%c%c%c %10"PRIu64" %"PRIu64"\n",
- (atom_type >> 24) & 255,
- (atom_type >> 16) & 255,
- (atom_type >> 8) & 255,
- (atom_type >> 0) & 255,
- atom_offset,
- atom_size);
- if ((atom_type != FREE_ATOM) &&
- (atom_type != JUNK_ATOM) &&
- (atom_type != MDAT_ATOM) &&
- (atom_type != MOOV_ATOM) &&
- (atom_type != PNOT_ATOM) &&
- (atom_type != SKIP_ATOM) &&
- (atom_type != WIDE_ATOM) &&
- (atom_type != PICT_ATOM) &&
- (atom_type != UUID_ATOM) &&
- (atom_type != FTYP_ATOM)) {
- printf ("encountered non-QT top-level atom (is this a Quicktime file?)\n");
- break;
- }
- atom_offset += atom_size;
-
- /* The atom header is 8 (or 16 bytes), if the atom size (which
- * includes these 8 or 16 bytes) is less than that, we won't be
- * able to continue scanning sensibly after this atom, so break. */
- if (atom_size < 8)
- break;
- }
-
- if (atom_type != MOOV_ATOM) {
- printf ("last atom in file was not a moov atom\n");
- free(ftyp_atom);
- fclose(infile);
- return 0;
- }
-
- /* moov atom was, in fact, the last atom in the chunk; load the whole
- * moov atom */
- fseeko(infile, -atom_size, SEEK_END);
- last_offset = ftello(infile);
- moov_atom_size = atom_size;
- moov_atom = malloc(moov_atom_size);
- if (!moov_atom) {
- printf ("could not allocate %"PRIu64" byte for moov atom\n",
- atom_size);
- goto error_out;
- }
- if (fread(moov_atom, atom_size, 1, infile) != 1) {
- perror(argv[1]);
- goto error_out;
- }
-
- /* this utility does not support compressed atoms yet, so disqualify
- * files with compressed QT atoms */
- if (BE_32(&moov_atom[12]) == CMOV_ATOM) {
- printf ("this utility does not support compressed moov atoms yet\n");
- goto error_out;
- }
-
- /* close; will be re-opened later */
- fclose(infile);
- infile = NULL;
-
- /* crawl through the moov chunk in search of stco or co64 atoms */
- for (i = 4; i < moov_atom_size - 4; i++) {
- atom_type = BE_32(&moov_atom[i]);
- if (atom_type == STCO_ATOM) {
- printf (" patching stco atom...\n");
- atom_size = BE_32(&moov_atom[i - 4]);
- if (i + atom_size - 4 > moov_atom_size) {
- printf (" bad atom size\n");
- goto error_out;
- }
- offset_count = BE_32(&moov_atom[i + 8]);
- for (j = 0; j < offset_count; j++) {
- current_offset = BE_32(&moov_atom[i + 12 + j * 4]);
- current_offset += moov_atom_size;
- moov_atom[i + 12 + j * 4 + 0] = (current_offset >> 24) & 0xFF;
- moov_atom[i + 12 + j * 4 + 1] = (current_offset >> 16) & 0xFF;
- moov_atom[i + 12 + j * 4 + 2] = (current_offset >> 8) & 0xFF;
- moov_atom[i + 12 + j * 4 + 3] = (current_offset >> 0) & 0xFF;
- }
- i += atom_size - 4;
- } else if (atom_type == CO64_ATOM) {
- printf (" patching co64 atom...\n");
- atom_size = BE_32(&moov_atom[i - 4]);
- if (i + atom_size - 4 > moov_atom_size) {
- printf (" bad atom size\n");
- goto error_out;
- }
- offset_count = BE_32(&moov_atom[i + 8]);
- for (j = 0; j < offset_count; j++) {
- current_offset = BE_64(&moov_atom[i + 12 + j * 8]);
- current_offset += moov_atom_size;
- moov_atom[i + 12 + j * 8 + 0] = (current_offset >> 56) & 0xFF;
- moov_atom[i + 12 + j * 8 + 1] = (current_offset >> 48) & 0xFF;
- moov_atom[i + 12 + j * 8 + 2] = (current_offset >> 40) & 0xFF;
- moov_atom[i + 12 + j * 8 + 3] = (current_offset >> 32) & 0xFF;
- moov_atom[i + 12 + j * 8 + 4] = (current_offset >> 24) & 0xFF;
- moov_atom[i + 12 + j * 8 + 5] = (current_offset >> 16) & 0xFF;
- moov_atom[i + 12 + j * 8 + 6] = (current_offset >> 8) & 0xFF;
- moov_atom[i + 12 + j * 8 + 7] = (current_offset >> 0) & 0xFF;
- }
- i += atom_size - 4;
- }
- }
-
- /* re-open the input file and open the output file */
- infile = fopen(argv[1], "rb");
- if (!infile) {
- perror(argv[1]);
- goto error_out;
- }
-
- if (start_offset > 0) { /* seek after ftyp atom */
- fseeko(infile, start_offset, SEEK_SET);
- last_offset -= start_offset;
- }
-
- outfile = fopen(argv[2], "wb");
- if (!outfile) {
- perror(argv[2]);
- goto error_out;
- }
-
- /* dump the same ftyp atom */
- if (ftyp_atom_size > 0) {
- printf (" writing ftyp atom...\n");
- if (fwrite(ftyp_atom, ftyp_atom_size, 1, outfile) != 1) {
- perror(argv[2]);
- goto error_out;
- }
- }
-
- /* dump the new moov atom */
- printf (" writing moov atom...\n");
- if (fwrite(moov_atom, moov_atom_size, 1, outfile) != 1) {
- perror(argv[2]);
- goto error_out;
- }
-
- /* copy the remainder of the infile, from offset 0 -> last_offset - 1 */
- printf (" copying rest of file...\n");
- while (last_offset) {
- if (last_offset > COPY_BUFFER_SIZE)
- bytes_to_copy = COPY_BUFFER_SIZE;
- else
- bytes_to_copy = last_offset;
-
- if (fread(copy_buffer, bytes_to_copy, 1, infile) != 1) {
- perror(argv[1]);
- goto error_out;
- }
- if (fwrite(copy_buffer, bytes_to_copy, 1, outfile) != 1) {
- perror(argv[2]);
- goto error_out;
- }
-
- last_offset -= bytes_to_copy;
- }
-
- fclose(infile);
- fclose(outfile);
- free(moov_atom);
- free(ftyp_atom);
-
- return 0;
-
-error_out:
- if (infile)
- fclose(infile);
- if (outfile)
- fclose(outfile);
- free(moov_atom);
- free(ftyp_atom);
- return 1;
-}
diff --git a/multimedia/qt-faststart/pkg-descr b/multimedia/qt-faststart/pkg-descr
deleted file mode 100644
index 5df827a5c483..000000000000
--- a/multimedia/qt-faststart/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-This utility rearranges a Quicktime file such that the moov atom
-is in front of the data, thus facilitating network streaming.
-
-This is needed to prepare .mp4 and .3gp files for playing on an
-Android device.
diff --git a/multimedia/qt5-multimedia/Makefile b/multimedia/qt5-multimedia/Makefile
index a7c958564a5b..c0517ed54392 100644
--- a/multimedia/qt5-multimedia/Makefile
+++ b/multimedia/qt5-multimedia/Makefile
@@ -8,12 +8,13 @@ COMMENT= Qt audio, video, radio and camera support module
# LICENSE set via USES_QT5 (bsd.qt.mk)
-USES= compiler:c++11-lang gl gnome pkgconfig qmake:norecursive \
+USES= compiler:c++11-lang gl gnome perl5 pkgconfig qmake:norecursive \
qt-dist:5,multimedia xorg
USE_GL= gl
USE_GNOME= glib20
+USE_PERL5= build
USE_QT= core declarative gui network opengl widgets \
- buildtools_build
+ buildtools:build
USE_XORG= x11 xext xv
QT_CONFIG= xlib
diff --git a/multimedia/qt5-multimedia/distinfo b/multimedia/qt5-multimedia/distinfo
index 8c0134e6959c..bf4069fad925 100644
--- a/multimedia/qt5-multimedia/distinfo
+++ b/multimedia/qt5-multimedia/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1639423899
-SHA256 (KDE/Qt/5.15.2/kde-qtmultimedia-5.15.2p3.tar.xz) = 4eee6b7d15d88a0bff9285687196a2e7703f18927995443c1de7fb82c47f03ec
-SIZE (KDE/Qt/5.15.2/kde-qtmultimedia-5.15.2p3.tar.xz) = 3788908
+TIMESTAMP = 1711771152
+SHA256 (KDE/Qt/5.15.13/kde-qtmultimedia-5.15.13p2.tar.xz) = 13effe1bdd58a6cb1f9e03972aca2ede3116cb08ff31eff27510298ac2704a13
+SIZE (KDE/Qt/5.15.13/kde-qtmultimedia-5.15.13p2.tar.xz) = 3789940
diff --git a/multimedia/qt6-multimedia/Makefile b/multimedia/qt6-multimedia/Makefile
new file mode 100644
index 000000000000..08660da6d670
--- /dev/null
+++ b/multimedia/qt6-multimedia/Makefile
@@ -0,0 +1,65 @@
+PORTNAME= multimedia
+DISTVERSION= ${QT6_VERSION}
+CATEGORIES= multimedia
+PKGNAMEPREFIX= qt6-
+
+MAINTAINER= kde@FreeBSD.org
+COMMENT= Qt audio, video, radio and camera support module
+
+BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
+LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon
+
+USES= cmake compiler:c++17-lang gl localbase:ldflags pkgconfig qt-dist:6
+USE_GL= opengl
+USE_QT= base declarative
+
+CXXFLAGS_powerpc64= -mvsx
+CFLAGS_powerpc= -DPFFFT_SIMD_DISABLE
+
+OPTIONS_DEFINE= FFMPEG GSTREAMER Q3D V4L VAAPI X11
+OPTIONS_DEFAULT=FFMPEG GSTREAMER PULSEAUDIO Q3D V4L VAAPI X11
+OPTIONS_SINGLE= AUDIO
+OPTIONS_SINGLE_AUDIO= ALSA PULSEAUDIO
+OPTIONS_SUB= yes
+
+AUDIO_DESC= Low level Audio Backend
+
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_CMAKE_BOOL= FEATURE_alsa
+
+FFMPEG_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
+FFMPEG_CMAKE_BOOL= FEATURE_ffmpeg
+
+GSTREAMER_USES= gnome gstreamer:1
+GSTREAMER_USE= GL=egl GNOME=glib20 GSTREAMER=bad,gl,good,ugly
+GSTREAMER_CMAKE_BOOL= FEATURE_gstreamer
+
+PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+PULSEAUDIO_CMAKE_BOOL= FEATURE_pulseaudio
+
+Q3D_DESC= Spatial Audio via Quick3D
+Q3D_USE= QT=quick3d,shadertools
+Q3D_CMAKE_BOOL= FEATURE_spatialaudio_quick3d
+
+V4L_BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
+V4L_CMAKE_BOOL= FEATURE_linux_v4l
+V4L_IMPLIES= ${"${PORT_OPTIONS:MFFMPEG}":?FFMPEG:GSTREAMER}
+
+VAAPI_LIB_DEPENDS= libva.so:multimedia/libva
+VAAPI_USE= GL=egl
+VAAPI_CMAKE_BOOL= FEATURE_vaapi
+VAAPI_IMPLIES= FFMPEG
+
+X11_USES= xorg
+X11_USE= XORG=x11,xext,xrandr
+X11_CMAKE_BOOL= FEATURE_xlib
+X11_IMPLIES= FFMPEG
+
+.include <bsd.port.options.mk>
+
+post-install:
+.if !(${PORT_OPTIONS:MFFMPEG} || ${PORT_OPTIONS:MGSTREAMER})
+ @${REINPLACE_CMD} '/MultimediaPlugins\.cmake/d' ${TMPPLIST}
+.endif
+
+.include <bsd.port.mk>
diff --git a/multimedia/qt6-multimedia/distinfo b/multimedia/qt6-multimedia/distinfo
new file mode 100644
index 000000000000..5becbb32f2b0
--- /dev/null
+++ b/multimedia/qt6-multimedia/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1711663460
+SHA256 (KDE/Qt/6.6.3/qtmultimedia-everywhere-src-6.6.3.tar.xz) = be00f830d2b14c9a12f3b6812ba3a23fdaaceb2dd9c1c6394c329c8bf6e53ab2
+SIZE (KDE/Qt/6.6.3/qtmultimedia-everywhere-src-6.6.3.tar.xz) = 8266612
diff --git a/multimedia/qt6-multimedia/files/patch-src_CMakeLists.txt b/multimedia/qt6-multimedia/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..5b783c6ccaaf
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_CMakeLists.txt
@@ -0,0 +1,14 @@
+Prevent building spatialaudio_quick3d if quick3d is installed and the feature
+is disabled.
+
+--- src/CMakeLists.txt.orig 2023-11-08 02:47:23 UTC
++++ src/CMakeLists.txt
+@@ -16,7 +16,7 @@ endif()
+ if(TARGET Qt::Quick)
+ add_subdirectory(multimediaquick)
+ endif()
+-if(TARGET Qt::Quick3D AND QT_FEATURE_spatialaudio)
++if(TARGET Qt::Quick3D AND QT_FEATURE_spatialaudio AND QT_FEATURE_spatialaudio_quick3d)
+ add_subdirectory(spatialaudioquick3d)
+ endif()
+
diff --git a/multimedia/qt6-multimedia/files/patch-src_multimedia_configure.cmake b/multimedia/qt6-multimedia/files/patch-src_multimedia_configure.cmake
new file mode 100644
index 000000000000..6dc30b473b06
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_multimedia_configure.cmake
@@ -0,0 +1,20 @@
+--- src/multimedia/configure.cmake.orig 2024-03-19 05:09:26 UTC
++++ src/multimedia/configure.cmake
+@@ -76,7 +76,7 @@ qt_feature("ffmpeg" PRIVATE
+ LABEL "FFmpeg"
+ ENABLE INPUT_ffmpeg STREQUAL 'yes'
+ DISABLE INPUT_ffmpeg STREQUAL 'no'
+- CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR QT_FEATURE_pulseaudio)
++ CONDITION FFmpeg_FOUND AND (APPLE OR WIN32 OR ANDROID OR QNX OR QT_FEATURE_alsa OR QT_FEATURE_pulseaudio)
+ )
+ qt_feature("alsa" PUBLIC PRIVATE
+ LABEL "ALSA (experimental)"
+@@ -101,7 +101,7 @@ qt_feature("gstreamer_1_0" PRIVATE
+ )
+ qt_feature("gstreamer_1_0" PRIVATE
+ LABEL "GStreamer 1.0"
+- CONDITION ( LINUX AND GStreamer_FOUND )
++ CONDITION GStreamer_FOUND
+ ENABLE INPUT_gstreamer STREQUAL 'yes'
+ DISABLE INPUT_gstreamer STREQUAL 'no'
+ )
diff --git a/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_qv4l2camera__p.h b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_qv4l2camera__p.h
new file mode 100644
index 000000000000..f968a8db5070
--- /dev/null
+++ b/multimedia/qt6-multimedia/files/patch-src_plugins_multimedia_ffmpeg_qv4l2camera__p.h
@@ -0,0 +1,11 @@
+--- src/plugins/multimedia/ffmpeg/qv4l2camera_p.h.orig 2024-03-19 05:09:26 UTC
++++ src/plugins/multimedia/ffmpeg/qv4l2camera_p.h
+@@ -18,6 +18,8 @@
+ #include <private/qplatformcamera_p.h>
+ #include <sys/time.h>
+
++#include <sys/time.h> // timeval
++
+ QT_BEGIN_NAMESPACE
+
+ class QV4L2FileDescriptor;
diff --git a/multimedia/qt6-multimedia/pkg-descr b/multimedia/qt6-multimedia/pkg-descr
new file mode 100644
index 000000000000..cc80d413c21d
--- /dev/null
+++ b/multimedia/qt6-multimedia/pkg-descr
@@ -0,0 +1,4 @@
+Qt Multimedia is an essential module that provides a rich set of QML types and
+C++ classes to handle multimedia content. It also provides necessary APIs to
+access the camera and radio functionality. The included Qt Audio Engine
+provides types for 3D positional audio playback and content management.
diff --git a/multimedia/qt6-multimedia/pkg-plist b/multimedia/qt6-multimedia/pkg-plist
new file mode 100644
index 000000000000..6e320bc0920e
--- /dev/null
+++ b/multimedia/qt6-multimedia/pkg-plist
@@ -0,0 +1,313 @@
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qabstractvideobuffer_p.h
+%%ALSA%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qalsaaudiodevice_p.h
+%%ALSA%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qalsaaudiosink_p.h
+%%ALSA%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qalsaaudiosource_p.h
+%%ALSA%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qalsamediadevices_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qaudiodevice_p.h
+%%PULSEAUDIO%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qaudioengine_pulse_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qaudiohelpers_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qaudiostatemachine_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qaudiostatemachineutils_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qaudiosystem_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qcamera_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qcameradevice_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qcapturablewindow_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qerrorinfo_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qimagevideobuffer_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qmediaplayer_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qmediarecorder_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qmediastoragelocation_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qmemoryvideobuffer_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qmultimediautils_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformaudiodecoder_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformaudioinput_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformaudiooutput_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformaudioresampler_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformcamera_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformcapturablewindows_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformimagecapture_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediacapture_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediadevices_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediaformatinfo_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediaintegration_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediaplayer_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediaplugin_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformmediarecorder_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformsurfacecapture_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformvideodevices_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformvideosink_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qplatformvideosource_p.h
+%%PULSEAUDIO%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qpulseaudiodevice_p.h
+%%PULSEAUDIO%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qpulseaudiomediadevices_p.h
+%%PULSEAUDIO%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qpulseaudiosink_p.h
+%%PULSEAUDIO%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qpulseaudiosource_p.h
+%%PULSEAUDIO%%%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qpulsehelpers_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qsamplecache_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qtmultimedia-config_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qtmultimediaglobal_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qtvideo_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideoframe_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideoframeconversionhelper_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideoframeconverter_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideooutputorientationhandler_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideotexturehelper_p.h
+%%QT_INCDIR%%/QtMultimedia/%%FULLVER%%/QtMultimedia/private/qvideowindow_p.h
+%%QT_INCDIR%%/QtMultimedia/QAudio
+%%QT_INCDIR%%/QtMultimedia/QAudioBuffer
+%%QT_INCDIR%%/QtMultimedia/QAudioDecoder
+%%QT_INCDIR%%/QtMultimedia/QAudioDevice
+%%QT_INCDIR%%/QtMultimedia/QAudioFormat
+%%QT_INCDIR%%/QtMultimedia/QAudioFrame
+%%QT_INCDIR%%/QtMultimedia/QAudioInput
+%%QT_INCDIR%%/QtMultimedia/QAudioOutput
+%%QT_INCDIR%%/QtMultimedia/QAudioSink
+%%QT_INCDIR%%/QtMultimedia/QAudioSource
+%%QT_INCDIR%%/QtMultimedia/QCamera
+%%QT_INCDIR%%/QtMultimedia/QCameraDevice
+%%QT_INCDIR%%/QtMultimedia/QCameraFormat
+%%QT_INCDIR%%/QtMultimedia/QCapturableWindow
+%%QT_INCDIR%%/QtMultimedia/QImageCapture
+%%QT_INCDIR%%/QtMultimedia/QMediaCaptureSession
+%%QT_INCDIR%%/QtMultimedia/QMediaDevices
+%%QT_INCDIR%%/QtMultimedia/QMediaFormat
+%%QT_INCDIR%%/QtMultimedia/QMediaMetaData
+%%QT_INCDIR%%/QtMultimedia/QMediaPlayer
+%%QT_INCDIR%%/QtMultimedia/QMediaRecorder
+%%QT_INCDIR%%/QtMultimedia/QMediaTimeRange
+%%QT_INCDIR%%/QtMultimedia/QScreenCapture
+%%QT_INCDIR%%/QtMultimedia/QSoundEffect
+%%QT_INCDIR%%/QtMultimedia/QVideoFrame
+%%QT_INCDIR%%/QtMultimedia/QVideoFrameFormat
+%%QT_INCDIR%%/QtMultimedia/QVideoSink
+%%QT_INCDIR%%/QtMultimedia/QWaveDecoder
+%%QT_INCDIR%%/QtMultimedia/QWindowCapture
+%%QT_INCDIR%%/QtMultimedia/QtMultimedia
+%%QT_INCDIR%%/QtMultimedia/QtMultimediaDepends
+%%QT_INCDIR%%/QtMultimedia/QtMultimediaVersion
+%%QT_INCDIR%%/QtMultimedia/qaudio.h
+%%QT_INCDIR%%/QtMultimedia/qaudiobuffer.h
+%%QT_INCDIR%%/QtMultimedia/qaudiodecoder.h
+%%QT_INCDIR%%/QtMultimedia/qaudiodevice.h
+%%QT_INCDIR%%/QtMultimedia/qaudioformat.h
+%%QT_INCDIR%%/QtMultimedia/qaudioinput.h
+%%QT_INCDIR%%/QtMultimedia/qaudiooutput.h
+%%QT_INCDIR%%/QtMultimedia/qaudiosink.h
+%%QT_INCDIR%%/QtMultimedia/qaudiosource.h
+%%QT_INCDIR%%/QtMultimedia/qcamera.h
+%%QT_INCDIR%%/QtMultimedia/qcameradevice.h
+%%QT_INCDIR%%/QtMultimedia/qcapturablewindow.h
+%%QT_INCDIR%%/QtMultimedia/qimagecapture.h
+%%QT_INCDIR%%/QtMultimedia/qmediacapturesession.h
+%%QT_INCDIR%%/QtMultimedia/qmediadevices.h
+%%QT_INCDIR%%/QtMultimedia/qmediaenumdebug.h
+%%QT_INCDIR%%/QtMultimedia/qmediaformat.h
+%%QT_INCDIR%%/QtMultimedia/qmediametadata.h
+%%QT_INCDIR%%/QtMultimedia/qmediaplayer.h
+%%QT_INCDIR%%/QtMultimedia/qmediarecorder.h
+%%QT_INCDIR%%/QtMultimedia/qmediatimerange.h
+%%QT_INCDIR%%/QtMultimedia/qscreencapture.h
+%%QT_INCDIR%%/QtMultimedia/qsoundeffect.h
+%%QT_INCDIR%%/QtMultimedia/qtmultimedia-config.h
+%%QT_INCDIR%%/QtMultimedia/qtmultimediadefs.h
+%%QT_INCDIR%%/QtMultimedia/qtmultimediaexports.h
+%%QT_INCDIR%%/QtMultimedia/qtmultimediaglobal.h
+%%QT_INCDIR%%/QtMultimedia/qtmultimediaversion.h
+%%QT_INCDIR%%/QtMultimedia/qvideoframe.h
+%%QT_INCDIR%%/QtMultimedia/qvideoframeformat.h
+%%QT_INCDIR%%/QtMultimedia/qvideosink.h
+%%QT_INCDIR%%/QtMultimedia/qwavedecoder.h
+%%QT_INCDIR%%/QtMultimedia/qwindowcapture.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qquickimagecapture_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qquickimagepreviewprovider_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qquickmediaplayer_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qquickscreencapture_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qquicksoundeffect_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qquickvideooutput_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qsgvideonode_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qsgvideotexture_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qtmultimediaquickglobal_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/%%FULLVER%%/QtMultimediaQuick/private/qtmultimediaquicktypes_p.h
+%%QT_INCDIR%%/QtMultimediaQuick/QtMultimediaQuick
+%%QT_INCDIR%%/QtMultimediaQuick/QtMultimediaQuickDepends
+%%QT_INCDIR%%/QtMultimediaQuick/QtMultimediaQuickVersion
+%%QT_INCDIR%%/QtMultimediaQuick/qtmultimediaquickexports.h
+%%QT_INCDIR%%/QtMultimediaQuick/qtmultimediaquickversion.h
+%%QT_INCDIR%%/QtMultimediaWidgets/%%FULLVER%%/QtMultimediaWidgets/private/qvideowidget_p.h
+%%QT_INCDIR%%/QtMultimediaWidgets/QGraphicsVideoItem
+%%QT_INCDIR%%/QtMultimediaWidgets/QVideoWidget
+%%QT_INCDIR%%/QtMultimediaWidgets/QtMultimediaWidgets
+%%QT_INCDIR%%/QtMultimediaWidgets/QtMultimediaWidgetsDepends
+%%QT_INCDIR%%/QtMultimediaWidgets/QtMultimediaWidgetsVersion
+%%QT_INCDIR%%/QtMultimediaWidgets/qgraphicsvideoitem.h
+%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetdefs.h
+%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetsexports.h
+%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetsglobal.h
+%%QT_INCDIR%%/QtMultimediaWidgets/qtmultimediawidgetsversion.h
+%%QT_INCDIR%%/QtMultimediaWidgets/qvideowidget.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qquick3dambientsound_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qquick3daudioengine_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qquick3daudiolistener_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qquick3daudioroom_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qquick3dspatialsound_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qtquick3daudioglobal_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/%%FULLVER%%/QtQuick3DSpatialAudio/private/qtquick3daudiotypes_p.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/QtQuick3DSpatialAudio
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/QtQuick3DSpatialAudioDepends
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/QtQuick3DSpatialAudioVersion
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/qtquick3dspatialaudioexports.h
+%%Q3D%%%%QT_INCDIR%%/QtQuick3DSpatialAudio/qtquick3dspatialaudioversion.h
+%%QT_INCDIR%%/QtSpatialAudio/%%FULLVER%%/QtSpatialAudio/private/qambisonicdecoder_p.h
+%%QT_INCDIR%%/QtSpatialAudio/%%FULLVER%%/QtSpatialAudio/private/qambisonicdecoderdata_p.h
+%%QT_INCDIR%%/QtSpatialAudio/%%FULLVER%%/QtSpatialAudio/private/qaudioengine_p.h
+%%QT_INCDIR%%/QtSpatialAudio/%%FULLVER%%/QtSpatialAudio/private/qaudioroom_p.h
+%%QT_INCDIR%%/QtSpatialAudio/%%FULLVER%%/QtSpatialAudio/private/qtspatialaudioglobal_p.h
+%%QT_INCDIR%%/QtSpatialAudio/QAmbientSound
+%%QT_INCDIR%%/QtSpatialAudio/QAudioEngine
+%%QT_INCDIR%%/QtSpatialAudio/QAudioListener
+%%QT_INCDIR%%/QtSpatialAudio/QAudioRoom
+%%QT_INCDIR%%/QtSpatialAudio/QSpatialSound
+%%QT_INCDIR%%/QtSpatialAudio/QtSpatialAudio
+%%QT_INCDIR%%/QtSpatialAudio/QtSpatialAudioDepends
+%%QT_INCDIR%%/QtSpatialAudio/QtSpatialAudioVersion
+%%QT_INCDIR%%/QtSpatialAudio/qambientsound.h
+%%QT_INCDIR%%/QtSpatialAudio/qaudioengine.h
+%%QT_INCDIR%%/QtSpatialAudio/qaudiolistener.h
+%%QT_INCDIR%%/QtSpatialAudio/qaudioroom.h
+%%QT_INCDIR%%/QtSpatialAudio/qspatialsound.h
+%%QT_INCDIR%%/QtSpatialAudio/qtspatialaudioexports.h
+%%QT_INCDIR%%/QtSpatialAudio/qtspatialaudioglobal.h
+%%QT_INCDIR%%/QtSpatialAudio/qtspatialaudioversion.h
+lib/cmake/Qt6/FindAVFoundation.cmake
+lib/cmake/Qt6/FindFFmpeg.cmake
+lib/cmake/Qt6/FindGObject.cmake
+lib/cmake/Qt6/FindGStreamer.cmake
+lib/cmake/Qt6/FindMMRenderer.cmake
+lib/cmake/Qt6/FindMMRendererCore.cmake
+lib/cmake/Qt6/FindVAAPI.cmake
+lib/cmake/Qt6/FindWMF.cmake
+lib/cmake/Qt6/FindWrapBundledResonanceAudioConfigExtra.cmake
+lib/cmake/Qt6/FindWrapPulseAudio.cmake
+lib/cmake/Qt6BuildInternals/StandaloneTests/QtMultimediaTestsConfig.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioAdditionalTargetInfo.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioConfig.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioConfigVersion.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioConfigVersionImpl.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioTargets.cmake
+lib/cmake/Qt6BundledResonanceAudio/Qt6BundledResonanceAudioVersionlessTargets.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaAdditionalTargetInfo.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaConfig.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaConfigVersion.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaConfigVersionImpl.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaDependencies.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaPlugins.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaTargets.cmake
+lib/cmake/Qt6Multimedia/Qt6MultimediaVersionlessTargets.cmake
+%%FFMPEG%%lib/cmake/Qt6Multimedia/Qt6QFFmpegMediaPluginAdditionalTargetInfo.cmake
+%%FFMPEG%%lib/cmake/Qt6Multimedia/Qt6QFFmpegMediaPluginConfig.cmake
+%%FFMPEG%%lib/cmake/Qt6Multimedia/Qt6QFFmpegMediaPluginConfigVersion.cmake
+%%FFMPEG%%lib/cmake/Qt6Multimedia/Qt6QFFmpegMediaPluginConfigVersionImpl.cmake
+%%FFMPEG%%lib/cmake/Qt6Multimedia/Qt6QFFmpegMediaPluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%FFMPEG%%lib/cmake/Qt6Multimedia/Qt6QFFmpegMediaPluginTargets.cmake
+%%GSTREAMER%%lib/cmake/Qt6Multimedia/Qt6QGstreamerMediaPluginAdditionalTargetInfo.cmake
+%%GSTREAMER%%lib/cmake/Qt6Multimedia/Qt6QGstreamerMediaPluginConfig.cmake
+%%GSTREAMER%%lib/cmake/Qt6Multimedia/Qt6QGstreamerMediaPluginConfigVersion.cmake
+%%GSTREAMER%%lib/cmake/Qt6Multimedia/Qt6QGstreamerMediaPluginConfigVersionImpl.cmake
+%%GSTREAMER%%lib/cmake/Qt6Multimedia/Qt6QGstreamerMediaPluginTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%GSTREAMER%%lib/cmake/Qt6Multimedia/Qt6QGstreamerMediaPluginTargets.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateAdditionalTargetInfo.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateConfig.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateConfigVersion.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateConfigVersionImpl.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateDependencies.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateTargets.cmake
+lib/cmake/Qt6MultimediaQuickPrivate/Qt6MultimediaQuickPrivateVersionlessTargets.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsAdditionalTargetInfo.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsConfig.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsConfigVersion.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsConfigVersionImpl.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsDependencies.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsTargets.cmake
+lib/cmake/Qt6MultimediaWidgets/Qt6MultimediaWidgetsVersionlessTargets.cmake
+%%Q3D%%lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dspatialaudioAdditionalTargetInfo.cmake
+%%Q3D%%lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dspatialaudioConfig.cmake
+%%Q3D%%lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dspatialaudioConfigVersion.cmake
+%%Q3D%%lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dspatialaudioConfigVersionImpl.cmake
+%%Q3D%%lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dspatialaudioTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%Q3D%%lib/cmake/Qt6Qml/QmlPlugins/Qt6quick3dspatialaudioTargets.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quickmultimediaAdditionalTargetInfo.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quickmultimediaConfig.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quickmultimediaConfigVersion.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quickmultimediaConfigVersionImpl.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quickmultimediaTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6Qml/QmlPlugins/Qt6quickmultimediaTargets.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateAdditionalTargetInfo.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateConfig.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateConfigVersion.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateConfigVersionImpl.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateDependencies.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateTargets-%%CMAKE_BUILD_TYPE%%.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateTargets.cmake
+%%Q3D%%lib/cmake/Qt6Quick3DSpatialAudioPrivate/Qt6Quick3DSpatialAudioPrivateVersionlessTargets.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioAdditionalTargetInfo.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioConfig.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioConfigVersion.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioConfigVersionImpl.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioDependencies.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioTargets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioTargets.cmake
+lib/cmake/Qt6SpatialAudio/Qt6SpatialAudioVersionlessTargets.cmake
+%%QT_LIBDIR%%/libQt6BundledResonanceAudio.a
+%%QT_LIBDIR%%/libQt6Multimedia.prl
+%%QT_LIBDIR%%/libQt6Multimedia.so
+%%QT_LIBDIR%%/libQt6Multimedia.so.6
+%%QT_LIBDIR%%/libQt6Multimedia.so.%%FULLVER%%
+%%QT_LIBDIR%%/libQt6MultimediaQuick.prl
+%%QT_LIBDIR%%/libQt6MultimediaQuick.so
+%%QT_LIBDIR%%/libQt6MultimediaQuick.so.6
+%%QT_LIBDIR%%/libQt6MultimediaQuick.so.%%FULLVER%%
+%%QT_LIBDIR%%/libQt6MultimediaWidgets.prl
+%%QT_LIBDIR%%/libQt6MultimediaWidgets.so
+%%QT_LIBDIR%%/libQt6MultimediaWidgets.so.6
+%%QT_LIBDIR%%/libQt6MultimediaWidgets.so.%%FULLVER%%
+%%Q3D%%%%QT_LIBDIR%%/libQt6Quick3DSpatialAudio.prl
+%%Q3D%%%%QT_LIBDIR%%/libQt6Quick3DSpatialAudio.so
+%%Q3D%%%%QT_LIBDIR%%/libQt6Quick3DSpatialAudio.so.6
+%%Q3D%%%%QT_LIBDIR%%/libQt6Quick3DSpatialAudio.so.%%FULLVER%%
+%%QT_LIBDIR%%/libQt6SpatialAudio.prl
+%%QT_LIBDIR%%/libQt6SpatialAudio.so
+%%QT_LIBDIR%%/libQt6SpatialAudio.so.6
+%%QT_LIBDIR%%/libQt6SpatialAudio.so.%%FULLVER%%
+%%QT_LIBDIR%%/metatypes/qt6multimedia_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_LIBDIR%%/metatypes/qt6multimediaquickprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_LIBDIR%%/metatypes/qt6multimediawidgets_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%Q3D%%%%QT_LIBDIR%%/metatypes/qt6quick3dspatialaudioprivate_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_LIBDIR%%/metatypes/qt6spatialaudio_%%CMAKE_BUILD_TYPE%%_metatypes.json
+%%QT_MKSPECDIR%%/modules/qt_lib_multimedia.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_multimedia_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_multimediaquick_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_multimediawidgets.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_multimediawidgets_private.pri
+%%Q3D%%%%QT_MKSPECDIR%%/modules/qt_lib_quick3dspatialaudio_private.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_spatialaudio.pri
+%%QT_MKSPECDIR%%/modules/qt_lib_spatialaudio_private.pri
+%%FFMPEG%%%%QT_PLUGINDIR%%/multimedia/libffmpegmediaplugin.so
+%%GSTREAMER%%%%QT_PLUGINDIR%%/multimedia/libgstreamermediaplugin.so
+%%QT_QMLDIR%%/QtMultimedia/Video.qml
+%%QT_QMLDIR%%/QtMultimedia/libquickmultimediaplugin.so
+%%QT_QMLDIR%%/QtMultimedia/plugins.qmltypes
+%%QT_QMLDIR%%/QtMultimedia/qmldir
+%%Q3D%%%%QT_QMLDIR%%/QtQuick3D/SpatialAudio/libquick3dspatialaudioplugin.so
+%%Q3D%%%%QT_QMLDIR%%/QtQuick3D/SpatialAudio/plugins.qmltypes
+%%Q3D%%%%QT_QMLDIR%%/QtQuick3D/SpatialAudio/qmldir
+libdata/pkgconfig/Qt6Multimedia.pc
+libdata/pkgconfig/Qt6MultimediaWidgets.pc
+libdata/pkgconfig/Qt6SpatialAudio.pc
+%%QT_DATADIR%%/modules/Multimedia.json
+%%QT_DATADIR%%/modules/MultimediaQuickPrivate.json
+%%QT_DATADIR%%/modules/MultimediaWidgets.json
+%%Q3D%%%%QT_DATADIR%%/modules/Quick3DSpatialAudioPrivate.json
+%%QT_DATADIR%%/modules/SpatialAudio.json
diff --git a/multimedia/quodlibet/Makefile b/multimedia/quodlibet/Makefile
index 5faea9fd2399..33e114739d84 100644
--- a/multimedia/quodlibet/Makefile
+++ b/multimedia/quodlibet/Makefile
@@ -1,13 +1,13 @@
-# Created by: Byung-Hee HWANG <bh@izb.knu.ac.kr>
-
PORTNAME= quodlibet
DISTVERSION= 4.3.0
+PORTREVISION= 3
CATEGORIES= multimedia audio python
MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/release-${DISTVERSION}/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= aly@aaronly.me
COMMENT= Music library/editor/player written in Python
+WWW= https://quodlibet.readthedocs.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -19,7 +19,7 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}cairo>0:graphics/py-cairo@${PY_FLAVOR} \
${LOCALBASE}/libexec/notification-daemon:deskutils/notification-daemon
LIB_DEPENDS= libsoup-2.4.so:devel/libsoup
-USES= desktop-file-utils gettext gnome gstreamer python:3.6+ shebangfix
+USES= desktop-file-utils gettext gnome gstreamer python shebangfix
SHEBANG_FILES= exfalso.py operon.py quodlibet.py
USE_PYTHON= distutils autoplist
USE_GNOME= gtk30 pygobject3
diff --git a/multimedia/quodlibet/files/patch-gdist_man.py b/multimedia/quodlibet/files/patch-gdist_man.py
deleted file mode 100644
index e27a5c15a9e0..000000000000
--- a/multimedia/quodlibet/files/patch-gdist_man.py
+++ /dev/null
@@ -1,11 +0,0 @@
---- gdist/man.py.orig 2019-10-05 20:22:11 UTC
-+++ gdist/man.py
-@@ -54,7 +54,7 @@ class install_man(Command):
- )
-
- if self.mandir is None:
-- self.mandir = os.path.join(self.install_dir, 'share', 'man')
-+ self.mandir = os.path.join(self.install_dir, 'man')
-
- self.man_pages = self.distribution.man_pages
- for man_page in self.man_pages:
diff --git a/multimedia/quodlibet/pkg-descr b/multimedia/quodlibet/pkg-descr
index ea237d587aef..a4739b1e0b7e 100644
--- a/multimedia/quodlibet/pkg-descr
+++ b/multimedia/quodlibet/pkg-descr
@@ -2,5 +2,3 @@ Quod Libet is a music management program. It provides several different
ways to view your audio library, as well as support for Internet radio
and audio feeds. It has extremely flexible metadata tag editing and
searching capabilities.
-
-WWW: https://quodlibet.readthedocs.org/
diff --git a/multimedia/quvi/Makefile b/multimedia/quvi/Makefile
deleted file mode 100644
index 15ec8de0ba6a..000000000000
--- a/multimedia/quvi/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Created by: Toni Gundogdu <legatvs@gmail.com>
-
-PORTNAME= quvi
-PORTVERSION= 0.4.2
-PORTREVISION= 3
-CATEGORIES= multimedia devel
-MASTER_SITES= SF/quvi/${PORTVERSION:R}/quvi/ \
- LOCAL/sunpoet
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Command line tool for parsing flash media stream URLs
-
-LICENSE= LGPL21+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= libquvi>=0.4.0:multimedia/libquvi
-LIB_DEPENDS= libcurl.so:ftp/curl \
- libquvi.so:multimedia/libquvi
-
-USES= pkgconfig tar:xz
-
-GNU_CONFIGURE= yes
-
-PLIST_FILES= bin/quvi \
- man/man1/quvi.1.gz
-
-PORTSCOUT= limit:^0\.4\.
-
-.include <bsd.port.mk>
diff --git a/multimedia/quvi/distinfo b/multimedia/quvi/distinfo
deleted file mode 100644
index 916aba08927e..000000000000
--- a/multimedia/quvi/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (quvi-0.4.2.tar.xz) = 91a1396ce9a56ac3cfa3a5edabf8d214b3c6b2a35afad3b5f2f9feb29ba19026
-SIZE (quvi-0.4.2.tar.xz) = 118756
diff --git a/multimedia/quvi/pkg-descr b/multimedia/quvi/pkg-descr
deleted file mode 100644
index 9846aabe2d99..000000000000
--- a/multimedia/quvi/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-quvi is a command line tool for parsing flash media stream URLs. It supports
-many websites including YouTube and Dailymotion.
-
-Starting from 0.4.0, the quvi distribution has split into libquvi-scripts,
-libquvi and quvi.
-
-WWW: http://quvi.sourceforge.net/
-WWW: https://github.com/legatvs/quvi-tool
diff --git a/multimedia/quvi09/Makefile b/multimedia/quvi09/Makefile
deleted file mode 100644
index 3da58ea0f47c..000000000000
--- a/multimedia/quvi09/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# Created by: Toni Gundogdu <legatvs@gmail.com>
-
-PORTNAME= quvi
-PORTVERSION= 0.9.5
-PORTREVISION= 2
-CATEGORIES= multimedia devel
-MASTER_SITES= SF/quvi/${PORTVERSION:R}/quvi/ \
- LOCAL/sunpoet
-PKGNAMESUFFIX= 09
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= Command line tool for parsing flash media stream URLs
-
-LICENSE= AGPLv3
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-DEPRECATED= Deprecated upstream, please consider using www/yt-dlp or multimedia/streamlink
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= libquvi09>=0.9:multimedia/libquvi09
-LIB_DEPENDS= libcurl.so:ftp/curl \
- libquvi-0.9.so:multimedia/libquvi09
-
-USES= gettext-runtime gnome pkgconfig tar:xz
-
-CONFIGURE_ARGS= --program-suffix=${PKGNAMESUFFIX}
-GNU_CONFIGURE= yes
-USE_GNOME= glib20
-
-PLIST_SUB= PKGNAMESUFFIX=${PKGNAMESUFFIX}
-
-.include <bsd.port.mk>
diff --git a/multimedia/quvi09/distinfo b/multimedia/quvi09/distinfo
deleted file mode 100644
index a7b6b14ce387..000000000000
--- a/multimedia/quvi09/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (quvi-0.9.5.tar.xz) = cb3918aad990b9bc49828a5071159646247199a63de0dd4c706adc5c8cd0a2c0
-SIZE (quvi-0.9.5.tar.xz) = 316676
diff --git a/multimedia/quvi09/pkg-descr b/multimedia/quvi09/pkg-descr
deleted file mode 100644
index 9846aabe2d99..000000000000
--- a/multimedia/quvi09/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-quvi is a command line tool for parsing flash media stream URLs. It supports
-many websites including YouTube and Dailymotion.
-
-Starting from 0.4.0, the quvi distribution has split into libquvi-scripts,
-libquvi and quvi.
-
-WWW: http://quvi.sourceforge.net/
-WWW: https://github.com/legatvs/quvi-tool
diff --git a/multimedia/quvi09/pkg-plist b/multimedia/quvi09/pkg-plist
deleted file mode 100644
index f5ff70b14951..000000000000
--- a/multimedia/quvi09/pkg-plist
+++ /dev/null
@@ -1,7 +0,0 @@
-bin/quvi%%PKGNAMESUFFIX%%
-man/man1/quvi-dump%%PKGNAMESUFFIX%%.1.gz
-man/man1/quvi-get%%PKGNAMESUFFIX%%.1.gz
-man/man1/quvi-info%%PKGNAMESUFFIX%%.1.gz
-man/man1/quvi-scan%%PKGNAMESUFFIX%%.1.gz
-man/man1/quvi%%PKGNAMESUFFIX%%.1.gz
-man/man5/quvirc%%PKGNAMESUFFIX%%.5.gz
diff --git a/multimedia/qwinff/Makefile b/multimedia/qwinff/Makefile
index 3c6d1a8d6cff..cdd6e1f5753d 100644
--- a/multimedia/qwinff/Makefile
+++ b/multimedia/qwinff/Makefile
@@ -1,13 +1,13 @@
-# Created by: Emanuel Haupt <ehaupt@FreeBSD.org>
-
PORTNAME= qwinff
DISTVERSIONPREFIX= v
DISTVERSION= 0.2.1-22
DISTVERSIONSUFFIX= -g17e987e
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= ehaupt@FreeBSD.org
COMMENT= Qt5 GUI Frontend for FFmpeg
+WWW= https://qwinff.github.io/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING.txt
@@ -17,8 +17,8 @@ RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
USES= cmake:noninja compiler:c++11-lang qt:5
USE_GITHUB= yes
-USE_QT= core gui linguisttools network widgets buildtools_build \
- qmake_build
+USE_QT= core gui linguisttools network widgets buildtools:build \
+ qmake:build
post-patch:
@${REINPLACE_CMD} -e "s|%%DATADIR%%|${DATADIR}|" \
diff --git a/multimedia/qwinff/files/patch-src_translations_CMakeLists.txt b/multimedia/qwinff/files/patch-src_translations_CMakeLists.txt
new file mode 100644
index 000000000000..ed8bd77b100d
--- /dev/null
+++ b/multimedia/qwinff/files/patch-src_translations_CMakeLists.txt
@@ -0,0 +1,11 @@
+--- src/translations/CMakeLists.txt.orig 2023-04-28 19:51:06 UTC
++++ src/translations/CMakeLists.txt
+@@ -17,7 +17,7 @@ set(TS_FILES
+ qwinff_zh_TW.ts
+ )
+
+-qt5_create_translation(QM_FILES ${TS_FILES})
++qt_add_translation(QM_FILES ${TS_FILES})
+ add_custom_target(translations ALL DEPENDS ${QM_FILES})
+
+ install(FILES ${QM_FILES} DESTINATION share/qwinff/translations)
diff --git a/multimedia/qwinff/pkg-descr b/multimedia/qwinff/pkg-descr
index 366f8174c988..0bf18ac92b16 100644
--- a/multimedia/qwinff/pkg-descr
+++ b/multimedia/qwinff/pkg-descr
@@ -11,5 +11,3 @@ select the time range you want to convert. There is also an option that
changes the speed of the video, making it possible to create slow-motion
or fast-motion animations. Audio will also be rescaled without changing
the pitch.
-
-WWW: http://qwinff.github.io/
diff --git a/multimedia/rage/Makefile b/multimedia/rage/Makefile
index 5e42236ab4a3..3af9006ca29c 100644
--- a/multimedia/rage/Makefile
+++ b/multimedia/rage/Makefile
@@ -1,12 +1,12 @@
-# Created by: Grzegorz Blach <gblach@FreeBSD.org>
-
PORTNAME= rage
PORTVERSION= 0.4.0
+PORTREVISION= 3
CATEGORIES= multimedia enlightenment
MASTER_SITES= http://download.enlightenment.org/rel/apps/${PORTNAME}/
MAINTAINER= enlightenment@FreeBSD.org
COMMENT= EFL video and audio player with some extra bells and whistles
+WWW= https://www.enlightenment.org/
LICENSE= BSD2CLAUSE
@@ -15,4 +15,6 @@ LIB_DEPENDS= libefl.so:devel/efl
DIST_SUBDIR= enlightenment
USES= compiler:c11 desktop-file-utils meson pkgconfig tar:xz
+CONFLICTS= rage-encryption
+
.include <bsd.port.mk>
diff --git a/multimedia/rage/pkg-descr b/multimedia/rage/pkg-descr
index a7542be57866..f0228404f567 100644
--- a/multimedia/rage/pkg-descr
+++ b/multimedia/rage/pkg-descr
@@ -1,4 +1,2 @@
Rage is a video and audio player written with Enlightenment Foundation
Libraries with some extra bells and whistles.
-
-WWW: https://www.enlightenment.org/
diff --git a/multimedia/rav1e/Makefile b/multimedia/rav1e/Makefile
index 8f4975c57da3..12f605385869 100644
--- a/multimedia/rav1e/Makefile
+++ b/multimedia/rav1e/Makefile
@@ -1,11 +1,12 @@
PORTNAME= rav1e
DISTVERSIONPREFIX= v
-DISTVERSION= 0.5.1
-PORTREVISION?= 4
+DISTVERSION= 0.7.1
+PORTREVISION?= 2
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Fast and safe AV1 encoder
+WWW= https://github.com/xiph/rav1e
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,181 +19,11 @@ USE_GITHUB= yes
GH_ACCOUNT= xiph
PLIST_FILES?= bin/${PORTNAME}
-CARGO_CRATES= addr2line-0.17.0 \
- adler-1.0.2 \
- adler32-1.2.0 \
- aho-corasick-0.7.18 \
- ansi_term-0.12.1 \
- anyhow-1.0.51 \
- aom-sys-0.3.0 \
- arbitrary-0.4.7 \
- arg_enum_proc_macro-0.3.2 \
- arrayvec-0.7.2 \
- assert_cmd-2.0.2 \
- atty-0.2.14 \
- autocfg-1.0.1 \
- av-metrics-0.7.2 \
- backtrace-0.3.63 \
- bindgen-0.58.1 \
- bitflags-1.3.2 \
- bitstream-io-1.2.0 \
- bstr-0.2.17 \
- bumpalo-3.8.0 \
- bytemuck-1.7.2 \
- byteorder-1.4.3 \
- cast-0.2.7 \
- cc-1.0.72 \
- cexpr-0.4.0 \
- cfg-expr-0.7.4 \
- cfg-if-1.0.0 \
- chrono-0.4.19 \
- clang-sys-1.3.0 \
- clap-2.34.0 \
- cmake-0.1.46 \
- color_quant-1.1.0 \
- console-0.14.1 \
- crc32fast-1.3.0 \
- criterion-0.3.5 \
- criterion-plot-0.4.4 \
- crossbeam-0.8.1 \
- crossbeam-channel-0.5.1 \
- crossbeam-deque-0.8.1 \
- crossbeam-epoch-0.9.5 \
- crossbeam-queue-0.3.2 \
- crossbeam-utils-0.8.5 \
- csv-1.1.6 \
- csv-core-0.1.10 \
- ctor-0.1.21 \
- dav1d-sys-0.3.4 \
- deflate-0.8.6 \
- diff-0.1.12 \
- difflib-0.4.0 \
- doc-comment-0.3.3 \
- either-1.6.1 \
- encode_unicode-0.3.6 \
- env_logger-0.8.4 \
- fern-0.6.0 \
- getrandom-0.2.3 \
- gimli-0.26.1 \
- glob-0.3.0 \
- half-1.8.2 \
- heck-0.3.3 \
- hermit-abi-0.1.19 \
- humantime-2.1.0 \
- image-0.23.14 \
- interpolate_name-0.2.3 \
- itertools-0.8.2 \
- itertools-0.10.3 \
- itoa-0.4.8 \
- jobserver-0.1.24 \
- js-sys-0.3.55 \
- lab-0.11.0 \
- lazy_static-1.4.0 \
- lazycell-1.3.0 \
- libc-0.2.112 \
- libfuzzer-sys-0.3.5 \
- libloading-0.7.2 \
- log-0.4.14 \
- memchr-2.4.1 \
- memoffset-0.6.5 \
- miniz_oxide-0.3.7 \
- miniz_oxide-0.4.4 \
- nasm-rs-0.2.2 \
- nom-5.1.2 \
- noop_proc_macro-0.3.0 \
- num-derive-0.3.3 \
- num-integer-0.1.44 \
- num-iter-0.1.42 \
- num-rational-0.3.2 \
- num-traits-0.2.14 \
- num_cpus-1.13.0 \
- object-0.27.1 \
- oorandom-11.1.3 \
- output_vt100-0.1.2 \
- paste-1.0.6 \
- peeking_take_while-0.1.2 \
- pkg-config-0.3.24 \
- plotters-0.3.1 \
- plotters-backend-0.3.2 \
- plotters-svg-0.3.1 \
- png-0.16.8 \
- ppv-lite86-0.2.15 \
- predicates-2.1.0 \
- predicates-core-1.0.2 \
- predicates-tree-1.0.4 \
- pretty_assertions-0.7.2 \
- proc-macro2-1.0.33 \
- quote-1.0.10 \
- rand-0.8.4 \
- rand_chacha-0.3.1 \
- rand_core-0.6.3 \
- rand_hc-0.3.1 \
- rayon-1.5.1 \
- rayon-core-1.9.1 \
- regex-1.5.4 \
- regex-automata-0.1.10 \
- regex-syntax-0.6.25 \
- rust_hawktracer-0.7.0 \
- rust_hawktracer_normal_macro-0.4.1 \
- rust_hawktracer_proc_macro-0.4.1 \
- rust_hawktracer_sys-0.4.2 \
- rustc-demangle-0.1.21 \
- rustc-hash-1.1.0 \
- rustc_version-0.4.0 \
- ryu-1.0.9 \
- same-file-1.0.6 \
- scan_fmt-0.2.6 \
- scopeguard-1.1.0 \
- semver-1.0.4 \
- serde-1.0.131 \
- serde_cbor-0.11.2 \
- serde_derive-1.0.131 \
- serde_json-1.0.72 \
- shlex-1.1.0 \
- signal-hook-0.3.12 \
- signal-hook-registry-1.4.0 \
- simd_helpers-0.1.0 \
- smallvec-1.7.0 \
- strsim-0.8.0 \
- strum-0.21.0 \
- strum_macros-0.21.1 \
- syn-1.0.82 \
- system-deps-3.1.2 \
- termcolor-1.1.2 \
- terminal_size-0.1.17 \
- termtree-0.2.3 \
- textwrap-0.11.0 \
- thiserror-1.0.30 \
- thiserror-impl-1.0.30 \
- time-0.1.43 \
- tinytemplate-1.2.1 \
- toml-0.5.8 \
- unicode-segmentation-1.8.0 \
- unicode-width-0.1.9 \
- unicode-xid-0.2.2 \
- vec_map-0.8.2 \
- version-compare-0.0.11 \
- version_check-0.9.3 \
- wait-timeout-0.2.0 \
- walkdir-2.3.2 \
- wasi-0.10.2+wasi-snapshot-preview1 \
- wasm-bindgen-0.2.78 \
- wasm-bindgen-backend-0.2.78 \
- wasm-bindgen-macro-0.2.78 \
- wasm-bindgen-macro-support-0.2.78 \
- wasm-bindgen-shared-0.2.78 \
- web-sys-0.3.55 \
- which-3.1.1 \
- winapi-0.3.9 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.5 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- y4m-0.7.0
-
post-patch:
# Extract (snapshot) version from the port instead of CARGO_PKG_VERSION
- @${REINPLACE_CMD} 's/env!("VERGEN_SEMVER_LIGHTWEIGHT")/"${DISTVERSIONFULL}"/' \
- ${WRKSRC}/src/capi.rs ${WRKSRC}/src/lib.rs
+ @${REINPLACE_CMD} -e 's/\<.*GIT_VERSION\.unwrap.*/"${DISTVERSIONFULL}"/' \
+ -e $$'/GIT_VERSION/,/UNKNOWN/c\\\n\t"${DISTVERSIONFULL}",\n' \
+ ${WRKSRC}/src/bin/common.rs ${WRKSRC}/src/lib.rs
.if !target(post-install)
post-install:
diff --git a/multimedia/rav1e/Makefile.crates b/multimedia/rav1e/Makefile.crates
new file mode 100644
index 000000000000..1db48c82c5f4
--- /dev/null
+++ b/multimedia/rav1e/Makefile.crates
@@ -0,0 +1,227 @@
+CARGO_CRATES= addr2line-0.21.0 \
+ adler-1.0.2 \
+ aho-corasick-1.1.2 \
+ anes-0.1.6 \
+ anstream-0.6.5 \
+ anstyle-1.0.4 \
+ anstyle-parse-0.2.3 \
+ anstyle-query-1.0.2 \
+ anstyle-wincon-3.0.2 \
+ anyhow-1.0.79 \
+ aom-sys-0.3.3 \
+ arbitrary-1.3.2 \
+ arg_enum_proc_macro-0.3.4 \
+ arrayvec-0.7.4 \
+ assert_cmd-2.0.12 \
+ autocfg-1.1.0 \
+ av-metrics-0.9.1 \
+ av1-grain-0.2.3 \
+ backtrace-0.3.69 \
+ bindgen-0.69.1 \
+ bitflags-1.3.2 \
+ bitflags-2.4.1 \
+ bitstream-io-2.2.0 \
+ bstr-1.9.0 \
+ built-0.7.1 \
+ bumpalo-3.14.0 \
+ bytemuck-1.14.0 \
+ byteorder-1.5.0 \
+ cast-0.3.0 \
+ cc-1.0.83 \
+ cexpr-0.6.0 \
+ cfg-expr-0.15.6 \
+ cfg-if-1.0.0 \
+ ciborium-0.2.1 \
+ ciborium-io-0.2.1 \
+ ciborium-ll-0.2.1 \
+ clang-sys-1.7.0 \
+ clap-4.4.14 \
+ clap_builder-4.4.14 \
+ clap_complete-4.4.6 \
+ clap_derive-4.4.7 \
+ clap_lex-0.6.0 \
+ color_quant-1.1.0 \
+ colorchoice-1.0.0 \
+ console-0.15.8 \
+ crc32fast-1.3.2 \
+ criterion-0.5.1 \
+ criterion-plot-0.5.0 \
+ crossbeam-0.8.4 \
+ crossbeam-channel-0.5.11 \
+ crossbeam-deque-0.8.5 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-queue-0.3.11 \
+ crossbeam-utils-0.8.19 \
+ diff-0.1.13 \
+ difflib-0.4.0 \
+ doc-comment-0.3.3 \
+ either-1.9.0 \
+ encode_unicode-0.3.6 \
+ env_logger-0.8.4 \
+ equivalent-1.0.1 \
+ errno-0.3.8 \
+ fdeflate-0.3.3 \
+ fern-0.6.2 \
+ flate2-1.0.28 \
+ form_urlencoded-1.2.1 \
+ getrandom-0.2.12 \
+ gimli-0.28.1 \
+ git2-0.18.1 \
+ glob-0.3.1 \
+ half-1.8.2 \
+ hashbrown-0.14.3 \
+ heck-0.4.1 \
+ hermit-abi-0.3.3 \
+ home-0.5.9 \
+ idna-0.5.0 \
+ image-0.24.7 \
+ indexmap-2.1.0 \
+ interpolate_name-0.2.4 \
+ is-terminal-0.4.10 \
+ itertools-0.10.5 \
+ itertools-0.11.0 \
+ itertools-0.12.0 \
+ itoa-1.0.10 \
+ jobserver-0.1.27 \
+ js-sys-0.3.66 \
+ lab-0.11.0 \
+ lazy_static-1.4.0 \
+ lazycell-1.3.0 \
+ libc-0.2.152 \
+ libdav1d-sys-0.6.0 \
+ libfuzzer-sys-0.4.7 \
+ libgit2-sys-0.16.1+1.7.1 \
+ libloading-0.8.1 \
+ libz-sys-1.1.14 \
+ linux-raw-sys-0.4.12 \
+ log-0.4.20 \
+ maybe-rayon-0.1.1 \
+ memchr-2.7.1 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.7.1 \
+ nasm-rs-0.2.5 \
+ new_debug_unreachable-1.0.4 \
+ nom-7.1.3 \
+ noop_proc_macro-0.3.0 \
+ nu-ansi-term-0.46.0 \
+ num-bigint-0.4.4 \
+ num-derive-0.4.1 \
+ num-integer-0.1.45 \
+ num-rational-0.4.1 \
+ num-traits-0.2.17 \
+ object-0.32.2 \
+ once_cell-1.19.0 \
+ oorandom-11.1.3 \
+ overload-0.1.1 \
+ paste-1.0.14 \
+ peeking_take_while-0.1.2 \
+ percent-encoding-2.3.1 \
+ pin-project-lite-0.2.13 \
+ pkg-config-0.3.28 \
+ plotters-0.3.5 \
+ plotters-backend-0.3.5 \
+ plotters-svg-0.3.5 \
+ png-0.17.10 \
+ ppv-lite86-0.2.17 \
+ predicates-3.0.4 \
+ predicates-core-1.0.6 \
+ predicates-tree-1.0.9 \
+ pretty_assertions-1.4.0 \
+ prettyplease-0.2.16 \
+ proc-macro2-1.0.76 \
+ profiling-1.0.13 \
+ profiling-procmacros-1.0.13 \
+ quickcheck-1.0.3 \
+ quote-1.0.35 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ rayon-1.8.0 \
+ rayon-core-1.12.0 \
+ regex-1.10.2 \
+ regex-automata-0.4.3 \
+ regex-syntax-0.8.2 \
+ rustc-demangle-0.1.23 \
+ rustc-hash-1.1.0 \
+ rustix-0.38.28 \
+ ryu-1.0.16 \
+ same-file-1.0.6 \
+ scan_fmt-0.2.6 \
+ semver-1.0.21 \
+ serde-1.0.195 \
+ serde-big-array-0.5.1 \
+ serde_derive-1.0.195 \
+ serde_json-1.0.111 \
+ serde_spanned-0.6.5 \
+ sharded-slab-0.1.7 \
+ shlex-1.2.0 \
+ signal-hook-0.3.17 \
+ signal-hook-registry-1.4.1 \
+ simd-adler32-0.3.7 \
+ simd_helpers-0.1.0 \
+ smallvec-1.11.2 \
+ syn-2.0.48 \
+ system-deps-6.2.0 \
+ target-lexicon-0.12.13 \
+ terminal_size-0.3.0 \
+ termtree-0.4.1 \
+ thiserror-1.0.56 \
+ thiserror-impl-1.0.56 \
+ thread_local-1.1.7 \
+ tinytemplate-1.2.1 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ toml-0.8.8 \
+ toml_datetime-0.6.5 \
+ toml_edit-0.21.0 \
+ tracing-0.1.40 \
+ tracing-attributes-0.1.27 \
+ tracing-chrome-0.7.1 \
+ tracing-core-0.1.32 \
+ tracing-log-0.2.0 \
+ tracing-subscriber-0.3.18 \
+ unicode-bidi-0.3.14 \
+ unicode-ident-1.0.12 \
+ unicode-normalization-0.1.22 \
+ unicode-width-0.1.11 \
+ url-2.5.0 \
+ utf8parse-0.2.1 \
+ v_frame-0.3.7 \
+ valuable-0.1.0 \
+ vcpkg-0.2.15 \
+ version-compare-0.1.1 \
+ wait-timeout-0.2.0 \
+ walkdir-2.4.0 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.89 \
+ wasm-bindgen-backend-0.2.89 \
+ wasm-bindgen-macro-0.2.89 \
+ wasm-bindgen-macro-support-0.2.89 \
+ wasm-bindgen-shared-0.2.89 \
+ web-sys-0.3.66 \
+ which-4.4.2 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.6 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.0 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.0 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.0 \
+ winnow-0.5.33 \
+ y4m-0.8.0 \
+ yansi-0.5.1
diff --git a/multimedia/rav1e/distinfo b/multimedia/rav1e/distinfo
index 103934cbcce9..6a251044f688 100644
--- a/multimedia/rav1e/distinfo
+++ b/multimedia/rav1e/distinfo
@@ -1,343 +1,457 @@
-TIMESTAMP = 1639428901
-SHA256 (rust/crates/addr2line-0.17.0.crate) = b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b
-SIZE (rust/crates/addr2line-0.17.0.crate) = 32260
+TIMESTAMP = 1704876138
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
SIZE (rust/crates/adler-1.0.2.crate) = 12778
-SHA256 (rust/crates/adler32-1.2.0.crate) = aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234
-SIZE (rust/crates/adler32-1.2.0.crate) = 6411
-SHA256 (rust/crates/aho-corasick-0.7.18.crate) = 1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f
-SIZE (rust/crates/aho-corasick-0.7.18.crate) = 112923
-SHA256 (rust/crates/ansi_term-0.12.1.crate) = d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2
-SIZE (rust/crates/ansi_term-0.12.1.crate) = 24838
-SHA256 (rust/crates/anyhow-1.0.51.crate) = 8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203
-SIZE (rust/crates/anyhow-1.0.51.crate) = 44100
-SHA256 (rust/crates/aom-sys-0.3.0.crate) = 88a75eed31ae96fa30bdeeb24210dda329ed215c942ea9ae66ca167aa89b1136
-SIZE (rust/crates/aom-sys-0.3.0.crate) = 3064
-SHA256 (rust/crates/arbitrary-0.4.7.crate) = db55d72333851e17d572bec876e390cd3b11eb1ef53ae821dd9f3b653d2b4569
-SIZE (rust/crates/arbitrary-0.4.7.crate) = 26282
-SHA256 (rust/crates/arg_enum_proc_macro-0.3.2.crate) = d7c29b43ee8654590587cd033b3eca2f9c4f8cdff945ec0e6ee91ceb057d87f3
-SIZE (rust/crates/arg_enum_proc_macro-0.3.2.crate) = 5367
-SHA256 (rust/crates/arrayvec-0.7.2.crate) = 8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6
-SIZE (rust/crates/arrayvec-0.7.2.crate) = 29341
-SHA256 (rust/crates/assert_cmd-2.0.2.crate) = e996dc7940838b7ef1096b882e29ec30a3149a3a443cdc8dba19ed382eca1fe2
-SIZE (rust/crates/assert_cmd-2.0.2.crate) = 29433
-SHA256 (rust/crates/atty-0.2.14.crate) = d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8
-SIZE (rust/crates/atty-0.2.14.crate) = 5470
-SHA256 (rust/crates/autocfg-1.0.1.crate) = cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a
-SIZE (rust/crates/autocfg-1.0.1.crate) = 12908
-SHA256 (rust/crates/av-metrics-0.7.2.crate) = a0f026f02dbfbc41706d9b4092df79c6e192ce46372f4103ec924205693038f8
-SIZE (rust/crates/av-metrics-0.7.2.crate) = 22690
-SHA256 (rust/crates/backtrace-0.3.63.crate) = 321629d8ba6513061f26707241fa9bc89524ff1cd7a915a97ef0c62c666ce1b6
-SIZE (rust/crates/backtrace-0.3.63.crate) = 74280
-SHA256 (rust/crates/bindgen-0.58.1.crate) = 0f8523b410d7187a43085e7e064416ea32ded16bd0a4e6fc025e21616d01258f
-SIZE (rust/crates/bindgen-0.58.1.crate) = 201394
+SHA256 (rust/crates/aho-corasick-1.1.2.crate) = b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0
+SIZE (rust/crates/aho-corasick-1.1.2.crate) = 183136
+SHA256 (rust/crates/anes-0.1.6.crate) = 4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299
+SIZE (rust/crates/anes-0.1.6.crate) = 23857
+SHA256 (rust/crates/anstream-0.6.5.crate) = d664a92ecae85fd0a7392615844904654d1d5f5514837f471ddef4a057aba1b6
+SIZE (rust/crates/anstream-0.6.5.crate) = 30004
+SHA256 (rust/crates/anstyle-1.0.4.crate) = 7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87
+SIZE (rust/crates/anstyle-1.0.4.crate) = 13998
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.79.crate) = 080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca
+SIZE (rust/crates/anyhow-1.0.79.crate) = 44931
+SHA256 (rust/crates/aom-sys-0.3.3.crate) = 623675d7dbe1d65db81582231b0971384277a4dd2006763021ba2436e86f812d
+SIZE (rust/crates/aom-sys-0.3.3.crate) = 3736
+SHA256 (rust/crates/arbitrary-1.3.2.crate) = 7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110
+SIZE (rust/crates/arbitrary-1.3.2.crate) = 32037
+SHA256 (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea
+SIZE (rust/crates/arg_enum_proc_macro-0.3.4.crate) = 5102
+SHA256 (rust/crates/arrayvec-0.7.4.crate) = 96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711
+SIZE (rust/crates/arrayvec-0.7.4.crate) = 29856
+SHA256 (rust/crates/assert_cmd-2.0.12.crate) = 88903cb14723e4d4003335bb7f8a14f27691649105346a0f0957466c096adfe6
+SIZE (rust/crates/assert_cmd-2.0.12.crate) = 25347
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/av-metrics-0.9.1.crate) = 996ce95bbdb0203e5b91d4a0c9b81c0d67d11c80f884482a0c1ea19e732e3530
+SIZE (rust/crates/av-metrics-0.9.1.crate) = 22681
+SHA256 (rust/crates/av1-grain-0.2.3.crate) = 6678909d8c5d46a42abcf571271e15fdbc0a225e3646cf23762cd415046c78bf
+SIZE (rust/crates/av1-grain-0.2.3.crate) = 34703
+SHA256 (rust/crates/backtrace-0.3.69.crate) = 2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837
+SIZE (rust/crates/backtrace-0.3.69.crate) = 77299
+SHA256 (rust/crates/bindgen-0.69.1.crate) = 9ffcebc3849946a7170a05992aac39da343a90676ab392c51a4280981d6379c2
+SIZE (rust/crates/bindgen-0.69.1.crate) = 219972
SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
-SHA256 (rust/crates/bitstream-io-1.2.0.crate) = 521f9cfb75191e53bc98586398c3104a2b10812475930f09eeccb5144fc3e68b
-SIZE (rust/crates/bitstream-io-1.2.0.crate) = 27108
-SHA256 (rust/crates/bstr-0.2.17.crate) = ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223
-SIZE (rust/crates/bstr-0.2.17.crate) = 330350
-SHA256 (rust/crates/bumpalo-3.8.0.crate) = 8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c
-SIZE (rust/crates/bumpalo-3.8.0.crate) = 79835
-SHA256 (rust/crates/bytemuck-1.7.2.crate) = 72957246c41db82b8ef88a5486143830adeb8227ef9837740bdec67724cf2c5b
-SIZE (rust/crates/bytemuck-1.7.2.crate) = 27489
-SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
-SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
-SHA256 (rust/crates/cast-0.2.7.crate) = 4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a
-SIZE (rust/crates/cast-0.2.7.crate) = 11222
-SHA256 (rust/crates/cc-1.0.72.crate) = 22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee
-SIZE (rust/crates/cc-1.0.72.crate) = 57495
-SHA256 (rust/crates/cexpr-0.4.0.crate) = f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27
-SIZE (rust/crates/cexpr-0.4.0.crate) = 18023
-SHA256 (rust/crates/cfg-expr-0.7.4.crate) = 30aa9e2ffbb838c6b451db14f3cd8e63ed622bf859f9956bc93845a10fafc26a
-SIZE (rust/crates/cfg-expr-0.7.4.crate) = 34162
+SHA256 (rust/crates/bitflags-2.4.1.crate) = 327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07
+SIZE (rust/crates/bitflags-2.4.1.crate) = 37043
+SHA256 (rust/crates/bitstream-io-2.2.0.crate) = 06c9989a51171e2e81038ab168b6ae22886fe9ded214430dbb4f41c28cf176da
+SIZE (rust/crates/bitstream-io-2.2.0.crate) = 34113
+SHA256 (rust/crates/bstr-1.9.0.crate) = c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc
+SIZE (rust/crates/bstr-1.9.0.crate) = 380170
+SHA256 (rust/crates/built-0.7.1.crate) = 38d17f4d6e4dc36d1a02fbedc2753a096848e7c1b0772f7654eab8e2c927dd53
+SIZE (rust/crates/built-0.7.1.crate) = 21085
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/bytemuck-1.14.0.crate) = 374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6
+SIZE (rust/crates/bytemuck-1.14.0.crate) = 44933
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/cast-0.3.0.crate) = 37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5
+SIZE (rust/crates/cast-0.3.0.crate) = 11452
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
+SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
+SHA256 (rust/crates/cfg-expr-0.15.6.crate) = 6100bc57b6209840798d95cb2775684849d332f7bd788db2a8c8caf7ef82a41a
+SIZE (rust/crates/cfg-expr-0.15.6.crate) = 41989
SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
-SHA256 (rust/crates/chrono-0.4.19.crate) = 670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73
-SIZE (rust/crates/chrono-0.4.19.crate) = 155663
-SHA256 (rust/crates/clang-sys-1.3.0.crate) = fa66045b9cb23c2e9c1520732030608b02ee07e5cfaa5a521ec15ded7fa24c90
-SIZE (rust/crates/clang-sys-1.3.0.crate) = 37713
-SHA256 (rust/crates/clap-2.34.0.crate) = a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c
-SIZE (rust/crates/clap-2.34.0.crate) = 202210
-SHA256 (rust/crates/cmake-0.1.46.crate) = b7b858541263efe664aead4a5209a4ae5c5d2811167d4ed4ee0944503f8d2089
-SIZE (rust/crates/cmake-0.1.46.crate) = 15119
+SHA256 (rust/crates/ciborium-0.2.1.crate) = effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926
+SIZE (rust/crates/ciborium-0.2.1.crate) = 34974
+SHA256 (rust/crates/ciborium-io-0.2.1.crate) = cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656
+SIZE (rust/crates/ciborium-io-0.2.1.crate) = 6679
+SHA256 (rust/crates/ciborium-ll-0.2.1.crate) = defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b
+SIZE (rust/crates/ciborium-ll-0.2.1.crate) = 14649
+SHA256 (rust/crates/clang-sys-1.7.0.crate) = 67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1
+SIZE (rust/crates/clang-sys-1.7.0.crate) = 42088
+SHA256 (rust/crates/clap-4.4.14.crate) = 33e92c5c1a78c62968ec57dbc2440366a2d6e5a23faf829970ff1585dc6b18e2
+SIZE (rust/crates/clap-4.4.14.crate) = 55522
+SHA256 (rust/crates/clap_builder-4.4.14.crate) = f4323769dc8a61e2c39ad7dc26f6f2800524691a44d74fe3d1071a5c24db6370
+SIZE (rust/crates/clap_builder-4.4.14.crate) = 163339
+SHA256 (rust/crates/clap_complete-4.4.6.crate) = 97aeaa95557bd02f23fbb662f981670c3d20c5a26e69f7354b28f57092437fcd
+SIZE (rust/crates/clap_complete-4.4.6.crate) = 38177
+SHA256 (rust/crates/clap_derive-4.4.7.crate) = cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442
+SIZE (rust/crates/clap_derive-4.4.7.crate) = 29046
+SHA256 (rust/crates/clap_lex-0.6.0.crate) = 702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1
+SIZE (rust/crates/clap_lex-0.6.0.crate) = 12272
SHA256 (rust/crates/color_quant-1.1.0.crate) = 3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b
SIZE (rust/crates/color_quant-1.1.0.crate) = 6649
-SHA256 (rust/crates/console-0.14.1.crate) = 3993e6445baa160675931ec041a5e03ca84b9c6e32a056150d3aa2bdda0a1f45
-SIZE (rust/crates/console-0.14.1.crate) = 22844
-SHA256 (rust/crates/crc32fast-1.3.0.crate) = 738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836
-SIZE (rust/crates/crc32fast-1.3.0.crate) = 38565
-SHA256 (rust/crates/criterion-0.3.5.crate) = 1604dafd25fba2fe2d5895a9da139f8dc9b319a5fe5354ca137cbbce4e178d10
-SIZE (rust/crates/criterion-0.3.5.crate) = 110662
-SHA256 (rust/crates/criterion-plot-0.4.4.crate) = d00996de9f2f7559f7f4dc286073197f83e92256a59ed395f9aac01fe717da57
-SIZE (rust/crates/criterion-plot-0.4.4.crate) = 22546
-SHA256 (rust/crates/crossbeam-0.8.1.crate) = 4ae5588f6b3c3cb05239e90bd110f257254aecd01e4635400391aeae07497845
-SIZE (rust/crates/crossbeam-0.8.1.crate) = 10429
-SHA256 (rust/crates/crossbeam-channel-0.5.1.crate) = 06ed27e177f16d65f0f0c22a213e17c696ace5dd64b14258b52f9417ccb52db4
-SIZE (rust/crates/crossbeam-channel-0.5.1.crate) = 86919
-SHA256 (rust/crates/crossbeam-deque-0.8.1.crate) = 6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e
-SIZE (rust/crates/crossbeam-deque-0.8.1.crate) = 20852
-SHA256 (rust/crates/crossbeam-epoch-0.9.5.crate) = 4ec02e091aa634e2c3ada4a392989e7c3116673ef0ac5b72232439094d73b7fd
-SIZE (rust/crates/crossbeam-epoch-0.9.5.crate) = 43883
-SHA256 (rust/crates/crossbeam-queue-0.3.2.crate) = 9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9
-SIZE (rust/crates/crossbeam-queue-0.3.2.crate) = 14993
-SHA256 (rust/crates/crossbeam-utils-0.8.5.crate) = d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db
-SIZE (rust/crates/crossbeam-utils-0.8.5.crate) = 38414
-SHA256 (rust/crates/csv-1.1.6.crate) = 22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1
-SIZE (rust/crates/csv-1.1.6.crate) = 886999
-SHA256 (rust/crates/csv-core-0.1.10.crate) = 2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90
-SIZE (rust/crates/csv-core-0.1.10.crate) = 25668
-SHA256 (rust/crates/ctor-0.1.21.crate) = ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa
-SIZE (rust/crates/ctor-0.1.21.crate) = 9303
-SHA256 (rust/crates/dav1d-sys-0.3.4.crate) = 25eb4a9a2082b4e9314ec3c9bacfd5610969350a58cff592f171804385a21408
-SIZE (rust/crates/dav1d-sys-0.3.4.crate) = 2748
-SHA256 (rust/crates/deflate-0.8.6.crate) = 73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174
-SIZE (rust/crates/deflate-0.8.6.crate) = 62365
-SHA256 (rust/crates/diff-0.1.12.crate) = 0e25ea47919b1560c4e3b7fe0aaab9becf5b84a10325ddf7db0f0ba5e1026499
-SIZE (rust/crates/diff-0.1.12.crate) = 10223
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/console-0.15.8.crate) = 0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb
+SIZE (rust/crates/console-0.15.8.crate) = 36364
+SHA256 (rust/crates/crc32fast-1.3.2.crate) = b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d
+SIZE (rust/crates/crc32fast-1.3.2.crate) = 38661
+SHA256 (rust/crates/criterion-0.5.1.crate) = f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f
+SIZE (rust/crates/criterion-0.5.1.crate) = 110088
+SHA256 (rust/crates/criterion-plot-0.5.0.crate) = 6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1
+SIZE (rust/crates/criterion-plot-0.5.0.crate) = 22706
+SHA256 (rust/crates/crossbeam-0.8.4.crate) = 1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8
+SIZE (rust/crates/crossbeam-0.8.4.crate) = 10500
+SHA256 (rust/crates/crossbeam-channel-0.5.11.crate) = 176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b
+SIZE (rust/crates/crossbeam-channel-0.5.11.crate) = 90434
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-queue-0.3.11.crate) = df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35
+SIZE (rust/crates/crossbeam-queue-0.3.11.crate) = 15581
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/diff-0.1.13.crate) = 56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8
+SIZE (rust/crates/diff-0.1.13.crate) = 46216
SHA256 (rust/crates/difflib-0.4.0.crate) = 6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8
SIZE (rust/crates/difflib-0.4.0.crate) = 7638
SHA256 (rust/crates/doc-comment-0.3.3.crate) = fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10
SIZE (rust/crates/doc-comment-0.3.3.crate) = 4123
-SHA256 (rust/crates/either-1.6.1.crate) = e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457
-SIZE (rust/crates/either-1.6.1.crate) = 13641
+SHA256 (rust/crates/either-1.9.0.crate) = a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07
+SIZE (rust/crates/either-1.9.0.crate) = 16660
SHA256 (rust/crates/encode_unicode-0.3.6.crate) = a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f
SIZE (rust/crates/encode_unicode-0.3.6.crate) = 45741
SHA256 (rust/crates/env_logger-0.8.4.crate) = a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3
SIZE (rust/crates/env_logger-0.8.4.crate) = 33342
-SHA256 (rust/crates/fern-0.6.0.crate) = 8c9a4820f0ccc8a7afd67c39a0f1a0f4b07ca1725164271a64939d7aeb9af065
-SIZE (rust/crates/fern-0.6.0.crate) = 299856
-SHA256 (rust/crates/getrandom-0.2.3.crate) = 7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753
-SIZE (rust/crates/getrandom-0.2.3.crate) = 26261
-SHA256 (rust/crates/gimli-0.26.1.crate) = 78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4
-SIZE (rust/crates/gimli-0.26.1.crate) = 716168
-SHA256 (rust/crates/glob-0.3.0.crate) = 9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574
-SIZE (rust/crates/glob-0.3.0.crate) = 18724
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/fdeflate-0.3.3.crate) = 209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd
+SIZE (rust/crates/fdeflate-0.3.3.crate) = 25011
+SHA256 (rust/crates/fern-0.6.2.crate) = d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee
+SIZE (rust/crates/fern-0.6.2.crate) = 304626
+SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e
+SIZE (rust/crates/flate2-1.0.28.crate) = 73690
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5
+SIZE (rust/crates/getrandom-0.2.12.crate) = 36163
+SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
+SIZE (rust/crates/gimli-0.28.1.crate) = 270497
+SHA256 (rust/crates/git2-0.18.1.crate) = fbf97ba92db08df386e10c8ede66a2a0369bd277090afd8710e19e38de9ec0cd
+SIZE (rust/crates/git2-0.18.1.crate) = 211466
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
SHA256 (rust/crates/half-1.8.2.crate) = eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7
SIZE (rust/crates/half-1.8.2.crate) = 41874
-SHA256 (rust/crates/heck-0.3.3.crate) = 6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c
-SIZE (rust/crates/heck-0.3.3.crate) = 10260
-SHA256 (rust/crates/hermit-abi-0.1.19.crate) = 62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33
-SIZE (rust/crates/hermit-abi-0.1.19.crate) = 9979
-SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
-SIZE (rust/crates/humantime-2.1.0.crate) = 16749
-SHA256 (rust/crates/image-0.23.14.crate) = 24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1
-SIZE (rust/crates/image-0.23.14.crate) = 226804
-SHA256 (rust/crates/interpolate_name-0.2.3.crate) = b4b35f4a811037cfdcd44c5db40678464b2d5d248fc1abeeaaa125b370d47f17
-SIZE (rust/crates/interpolate_name-0.2.3.crate) = 4165
-SHA256 (rust/crates/itertools-0.8.2.crate) = f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484
-SIZE (rust/crates/itertools-0.8.2.crate) = 89203
-SHA256 (rust/crates/itertools-0.10.3.crate) = a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3
-SIZE (rust/crates/itertools-0.10.3.crate) = 118661
-SHA256 (rust/crates/itoa-0.4.8.crate) = b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4
-SIZE (rust/crates/itoa-0.4.8.crate) = 11926
-SHA256 (rust/crates/jobserver-0.1.24.crate) = af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa
-SIZE (rust/crates/jobserver-0.1.24.crate) = 21303
-SHA256 (rust/crates/js-sys-0.3.55.crate) = 7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84
-SIZE (rust/crates/js-sys-0.3.55.crate) = 70499
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7
+SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253
+SHA256 (rust/crates/home-0.5.9.crate) = e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5
+SIZE (rust/crates/home-0.5.9.crate) = 8760
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/image-0.24.7.crate) = 6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711
+SIZE (rust/crates/image-0.24.7.crate) = 290618
+SHA256 (rust/crates/indexmap-2.1.0.crate) = d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f
+SIZE (rust/crates/indexmap-2.1.0.crate) = 68224
+SHA256 (rust/crates/interpolate_name-0.2.4.crate) = c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60
+SIZE (rust/crates/interpolate_name-0.2.4.crate) = 4027
+SHA256 (rust/crates/is-terminal-0.4.10.crate) = 0bad00257d07be169d870ab665980b06cdb366d792ad690bf2e76876dc503455
+SIZE (rust/crates/is-terminal-0.4.10.crate) = 7683
+SHA256 (rust/crates/itertools-0.10.5.crate) = b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473
+SIZE (rust/crates/itertools-0.10.5.crate) = 115354
+SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
+SIZE (rust/crates/itertools-0.11.0.crate) = 125074
+SHA256 (rust/crates/itertools-0.12.0.crate) = 25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0
+SIZE (rust/crates/itertools-0.12.0.crate) = 133620
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/jobserver-0.1.27.crate) = 8c37f63953c4c63420ed5fd3d6d398c719489b9f872b9fa683262f8edd363c7d
+SIZE (rust/crates/jobserver-0.1.27.crate) = 24774
+SHA256 (rust/crates/js-sys-0.3.66.crate) = cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca
+SIZE (rust/crates/js-sys-0.3.66.crate) = 80765
SHA256 (rust/crates/lab-0.11.0.crate) = bf36173d4167ed999940f804952e6b08197cae5ad5d572eb4db150ce8ad5d58f
SIZE (rust/crates/lab-0.11.0.crate) = 15140
SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
-SHA256 (rust/crates/libc-0.2.112.crate) = 1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125
-SIZE (rust/crates/libc-0.2.112.crate) = 571445
-SHA256 (rust/crates/libfuzzer-sys-0.3.5.crate) = fcf184a4b6b274f82a5df6b357da6055d3e82272327bba281c28bbba6f1664ef
-SIZE (rust/crates/libfuzzer-sys-0.3.5.crate) = 112480
-SHA256 (rust/crates/libloading-0.7.2.crate) = afe203d669ec979b7128619bae5a63b7b42e9203c1b29146079ee05e2f604b52
-SIZE (rust/crates/libloading-0.7.2.crate) = 27229
-SHA256 (rust/crates/log-0.4.14.crate) = 51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710
-SIZE (rust/crates/log-0.4.14.crate) = 34582
-SHA256 (rust/crates/memchr-2.4.1.crate) = 308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a
-SIZE (rust/crates/memchr-2.4.1.crate) = 64977
-SHA256 (rust/crates/memoffset-0.6.5.crate) = 5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce
-SIZE (rust/crates/memoffset-0.6.5.crate) = 7686
-SHA256 (rust/crates/miniz_oxide-0.3.7.crate) = 791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435
-SIZE (rust/crates/miniz_oxide-0.3.7.crate) = 44996
-SHA256 (rust/crates/miniz_oxide-0.4.4.crate) = a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b
-SIZE (rust/crates/miniz_oxide-0.4.4.crate) = 49938
-SHA256 (rust/crates/nasm-rs-0.2.2.crate) = a06380d23b58dcdaf892fa36c3950cad3110e7d76851275d5f85c22eb9cdd614
-SIZE (rust/crates/nasm-rs-0.2.2.crate) = 9733
-SHA256 (rust/crates/nom-5.1.2.crate) = ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af
-SIZE (rust/crates/nom-5.1.2.crate) = 136174
+SHA256 (rust/crates/libc-0.2.152.crate) = 13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7
+SIZE (rust/crates/libc-0.2.152.crate) = 740278
+SHA256 (rust/crates/libdav1d-sys-0.6.0.crate) = 12c9cc342dc258130a727ad15f48d01ebb181aafec30dd65338d8e51db930572
+SIZE (rust/crates/libdav1d-sys-0.6.0.crate) = 1450473
+SHA256 (rust/crates/libfuzzer-sys-0.4.7.crate) = a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7
+SIZE (rust/crates/libfuzzer-sys-0.4.7.crate) = 128332
+SHA256 (rust/crates/libgit2-sys-0.16.1+1.7.1.crate) = f2a2bb3680b094add03bb3732ec520ece34da31a8cd2d633d1389d0f0fb60d0c
+SIZE (rust/crates/libgit2-sys-0.16.1+1.7.1.crate) = 1773446
+SHA256 (rust/crates/libloading-0.8.1.crate) = c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161
+SIZE (rust/crates/libloading-0.8.1.crate) = 27893
+SHA256 (rust/crates/libz-sys-1.1.14.crate) = 295c17e837573c8c821dbaeb3cceb3d745ad082f7572191409e69cbc1b3fd050
+SIZE (rust/crates/libz-sys-1.1.14.crate) = 3939803
+SHA256 (rust/crates/linux-raw-sys-0.4.12.crate) = c4cd1a83af159aa67994778be9070f0ae1bd732942279cabb14f86f986a21456
+SIZE (rust/crates/linux-raw-sys-0.4.12.crate) = 1465800
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/maybe-rayon-0.1.1.crate) = 8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519
+SIZE (rust/crates/maybe-rayon-0.1.1.crate) = 2901
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.7.1.crate) = e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7
+SIZE (rust/crates/miniz_oxide-0.7.1.crate) = 55194
+SHA256 (rust/crates/nasm-rs-0.2.5.crate) = fe4d98d0065f4b1daf164b3eafb11974c94662e5e2396cf03f32d0bb5c17da51
+SIZE (rust/crates/nasm-rs-0.2.5.crate) = 9920
+SHA256 (rust/crates/new_debug_unreachable-1.0.4.crate) = e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54
+SIZE (rust/crates/new_debug_unreachable-1.0.4.crate) = 2561
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
SHA256 (rust/crates/noop_proc_macro-0.3.0.crate) = 0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8
SIZE (rust/crates/noop_proc_macro-0.3.0.crate) = 2157
-SHA256 (rust/crates/num-derive-0.3.3.crate) = 876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d
-SIZE (rust/crates/num-derive-0.3.3.crate) = 14545
-SHA256 (rust/crates/num-integer-0.1.44.crate) = d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db
-SIZE (rust/crates/num-integer-0.1.44.crate) = 22216
-SHA256 (rust/crates/num-iter-0.1.42.crate) = b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59
-SIZE (rust/crates/num-iter-0.1.42.crate) = 10450
-SHA256 (rust/crates/num-rational-0.3.2.crate) = 12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07
-SIZE (rust/crates/num-rational-0.3.2.crate) = 26359
-SHA256 (rust/crates/num-traits-0.2.14.crate) = 9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290
-SIZE (rust/crates/num-traits-0.2.14.crate) = 45476
-SHA256 (rust/crates/num_cpus-1.13.0.crate) = 05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3
-SIZE (rust/crates/num_cpus-1.13.0.crate) = 14704
-SHA256 (rust/crates/object-0.27.1.crate) = 67ac1d3f9a1d3616fd9a60c8d74296f22406a238b6a72f5cc1e6f314df4ffbf9
-SIZE (rust/crates/object-0.27.1.crate) = 228030
+SHA256 (rust/crates/nu-ansi-term-0.46.0.crate) = 77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84
+SIZE (rust/crates/nu-ansi-term-0.46.0.crate) = 24311
+SHA256 (rust/crates/num-bigint-0.4.4.crate) = 608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0
+SIZE (rust/crates/num-bigint-0.4.4.crate) = 99369
+SHA256 (rust/crates/num-derive-0.4.1.crate) = cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712
+SIZE (rust/crates/num-derive-0.4.1.crate) = 14840
+SHA256 (rust/crates/num-integer-0.1.45.crate) = 225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9
+SIZE (rust/crates/num-integer-0.1.45.crate) = 22529
+SHA256 (rust/crates/num-rational-0.4.1.crate) = 0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0
+SIZE (rust/crates/num-rational-0.4.1.crate) = 27889
+SHA256 (rust/crates/num-traits-0.2.17.crate) = 39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c
+SIZE (rust/crates/num-traits-0.2.17.crate) = 50190
+SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
SHA256 (rust/crates/oorandom-11.1.3.crate) = 0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575
SIZE (rust/crates/oorandom-11.1.3.crate) = 10068
-SHA256 (rust/crates/output_vt100-0.1.2.crate) = 53cdc5b785b7a58c5aad8216b3dfa114df64b0b06ae6e1501cef91df2fbdf8f9
-SIZE (rust/crates/output_vt100-0.1.2.crate) = 4062
-SHA256 (rust/crates/paste-1.0.6.crate) = 0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5
-SIZE (rust/crates/paste-1.0.6.crate) = 17808
+SHA256 (rust/crates/overload-0.1.1.crate) = b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39
+SIZE (rust/crates/overload-0.1.1.crate) = 24439
+SHA256 (rust/crates/paste-1.0.14.crate) = de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c
+SIZE (rust/crates/paste-1.0.14.crate) = 18157
SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
-SHA256 (rust/crates/pkg-config-0.3.24.crate) = 58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe
-SIZE (rust/crates/pkg-config-0.3.24.crate) = 16489
-SHA256 (rust/crates/plotters-0.3.1.crate) = 32a3fd9ec30b9749ce28cd91f255d569591cdf937fe280c312143e3c4bad6f2a
-SIZE (rust/crates/plotters-0.3.1.crate) = 8595577
-SHA256 (rust/crates/plotters-backend-0.3.2.crate) = d88417318da0eaf0fdcdb51a0ee6c3bed624333bff8f946733049380be67ac1c
-SIZE (rust/crates/plotters-backend-0.3.2.crate) = 13524
-SHA256 (rust/crates/plotters-svg-0.3.1.crate) = 521fa9638fa597e1dc53e9412a4f9cefb01187ee1f7413076f9e6749e2885ba9
-SIZE (rust/crates/plotters-svg-0.3.1.crate) = 7596
-SHA256 (rust/crates/png-0.16.8.crate) = 3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6
-SIZE (rust/crates/png-0.16.8.crate) = 52598
-SHA256 (rust/crates/ppv-lite86-0.2.15.crate) = ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba
-SIZE (rust/crates/ppv-lite86-0.2.15.crate) = 22002
-SHA256 (rust/crates/predicates-2.1.0.crate) = 95e5a7689e456ab905c22c2b48225bb921aba7c8dfa58440d68ba13f6222a715
-SIZE (rust/crates/predicates-2.1.0.crate) = 23141
-SHA256 (rust/crates/predicates-core-1.0.2.crate) = 57e35a3326b75e49aa85f5dc6ec15b41108cf5aee58eabb1f274dd18b73c2451
-SIZE (rust/crates/predicates-core-1.0.2.crate) = 8185
-SHA256 (rust/crates/predicates-tree-1.0.4.crate) = 338c7be2905b732ae3984a2f40032b5e94fd8f52505b186c7d4d68d193445df7
-SIZE (rust/crates/predicates-tree-1.0.4.crate) = 7682
-SHA256 (rust/crates/pretty_assertions-0.7.2.crate) = 1cab0e7c02cf376875e9335e0ba1da535775beb5450d21e1dffca068818ed98b
-SIZE (rust/crates/pretty_assertions-0.7.2.crate) = 79200
-SHA256 (rust/crates/proc-macro2-1.0.33.crate) = fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a
-SIZE (rust/crates/proc-macro2-1.0.33.crate) = 41040
-SHA256 (rust/crates/quote-1.0.10.crate) = 38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05
-SIZE (rust/crates/quote-1.0.10.crate) = 29960
-SHA256 (rust/crates/rand-0.8.4.crate) = 2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8
-SIZE (rust/crates/rand-0.8.4.crate) = 87406
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pkg-config-0.3.28.crate) = 69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a
+SIZE (rust/crates/pkg-config-0.3.28.crate) = 20330
+SHA256 (rust/crates/plotters-0.3.5.crate) = d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45
+SIZE (rust/crates/plotters-0.3.5.crate) = 143975
+SHA256 (rust/crates/plotters-backend-0.3.5.crate) = 9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609
+SIZE (rust/crates/plotters-backend-0.3.5.crate) = 13440
+SHA256 (rust/crates/plotters-svg-0.3.5.crate) = 38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab
+SIZE (rust/crates/plotters-svg-0.3.5.crate) = 6948
+SHA256 (rust/crates/png-0.17.10.crate) = dd75bf2d8dd3702b9707cdbc56a5b9ef42cec752eb8b3bafc01234558442aa64
+SIZE (rust/crates/png-0.17.10.crate) = 89384
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/predicates-3.0.4.crate) = 6dfc28575c2e3f19cb3c73b93af36460ae898d426eba6fc15b9bd2a5220758a0
+SIZE (rust/crates/predicates-3.0.4.crate) = 23240
+SHA256 (rust/crates/predicates-core-1.0.6.crate) = b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174
+SIZE (rust/crates/predicates-core-1.0.6.crate) = 8084
+SHA256 (rust/crates/predicates-tree-1.0.9.crate) = 368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf
+SIZE (rust/crates/predicates-tree-1.0.9.crate) = 7960
+SHA256 (rust/crates/pretty_assertions-1.4.0.crate) = af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66
+SIZE (rust/crates/pretty_assertions-1.4.0.crate) = 78846
+SHA256 (rust/crates/prettyplease-0.2.16.crate) = a41cf62165e97c7f814d2221421dbb9afcbcdb0a88068e5ea206e19951c2cbb5
+SIZE (rust/crates/prettyplease-0.2.16.crate) = 57630
+SHA256 (rust/crates/proc-macro2-1.0.76.crate) = 95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c
+SIZE (rust/crates/proc-macro2-1.0.76.crate) = 45660
+SHA256 (rust/crates/profiling-1.0.13.crate) = d135ede8821cf6376eb7a64148901e1690b788c11ae94dc297ae917dbc91dc0e
+SIZE (rust/crates/profiling-1.0.13.crate) = 13109
+SHA256 (rust/crates/profiling-procmacros-1.0.13.crate) = 4b322d7d65c1ab449be3c890fcbd0db6e1092d0dd05d79dba2dd28032cebeb05
+SIZE (rust/crates/profiling-procmacros-1.0.13.crate) = 5598
+SHA256 (rust/crates/quickcheck-1.0.3.crate) = 588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6
+SIZE (rust/crates/quickcheck-1.0.3.crate) = 28069
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
-SHA256 (rust/crates/rand_core-0.6.3.crate) = d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7
-SIZE (rust/crates/rand_core-0.6.3.crate) = 21938
-SHA256 (rust/crates/rand_hc-0.3.1.crate) = d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7
-SIZE (rust/crates/rand_hc-0.3.1.crate) = 11891
-SHA256 (rust/crates/rayon-1.5.1.crate) = c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90
-SIZE (rust/crates/rayon-1.5.1.crate) = 160424
-SHA256 (rust/crates/rayon-core-1.9.1.crate) = d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e
-SIZE (rust/crates/rayon-core-1.9.1.crate) = 64961
-SHA256 (rust/crates/regex-1.5.4.crate) = d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461
-SIZE (rust/crates/regex-1.5.4.crate) = 236581
-SHA256 (rust/crates/regex-automata-0.1.10.crate) = 6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132
-SIZE (rust/crates/regex-automata-0.1.10.crate) = 114533
-SHA256 (rust/crates/regex-syntax-0.6.25.crate) = f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b
-SIZE (rust/crates/regex-syntax-0.6.25.crate) = 293293
-SHA256 (rust/crates/rust_hawktracer-0.7.0.crate) = e3480a29b927f66c6e06527be7f49ef4d291a01d694ec1fe85b0de71d6b02ac1
-SIZE (rust/crates/rust_hawktracer-0.7.0.crate) = 4718
-SHA256 (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 8a570059949e1dcdc6f35228fa389f54c2c84dfe0c94c05022baacd56eacd2e9
-SIZE (rust/crates/rust_hawktracer_normal_macro-0.4.1.crate) = 3000
-SHA256 (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = cb626abdbed5e93f031baae60d72032f56bc964e11ac2ff65f2ba3ed98d6d3e1
-SIZE (rust/crates/rust_hawktracer_proc_macro-0.4.1.crate) = 3028
-SHA256 (rust/crates/rust_hawktracer_sys-0.4.2.crate) = 67cc853071df5815fa6c087452d1b533f7c884c836b8a7393b4ff88090cc4c95
-SIZE (rust/crates/rust_hawktracer_sys-0.4.2.crate) = 319968
-SHA256 (rust/crates/rustc-demangle-0.1.21.crate) = 7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342
-SIZE (rust/crates/rustc-demangle-0.1.21.crate) = 27920
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/rayon-1.8.0.crate) = 9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1
+SIZE (rust/crates/rayon-1.8.0.crate) = 170172
+SHA256 (rust/crates/rayon-core-1.12.0.crate) = 5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed
+SIZE (rust/crates/rayon-core-1.12.0.crate) = 70081
+SHA256 (rust/crates/regex-1.10.2.crate) = 380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343
+SIZE (rust/crates/regex-1.10.2.crate) = 252839
+SHA256 (rust/crates/regex-automata-0.4.3.crate) = 5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f
+SIZE (rust/crates/regex-automata-0.4.3.crate) = 617011
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
-SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
-SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
-SHA256 (rust/crates/ryu-1.0.9.crate) = 73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f
-SIZE (rust/crates/ryu-1.0.9.crate) = 48391
+SHA256 (rust/crates/rustix-0.38.28.crate) = 72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316
+SIZE (rust/crates/rustix-0.38.28.crate) = 365398
+SHA256 (rust/crates/ryu-1.0.16.crate) = f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c
+SIZE (rust/crates/ryu-1.0.16.crate) = 47351
SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
SIZE (rust/crates/same-file-1.0.6.crate) = 10183
SHA256 (rust/crates/scan_fmt-0.2.6.crate) = 0b53b0a5db882a8e2fdaae0a43f7b39e7e9082389e978398bdf223a55b581248
SIZE (rust/crates/scan_fmt-0.2.6.crate) = 9676
-SHA256 (rust/crates/scopeguard-1.1.0.crate) = d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd
-SIZE (rust/crates/scopeguard-1.1.0.crate) = 11470
-SHA256 (rust/crates/semver-1.0.4.crate) = 568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012
-SIZE (rust/crates/semver-1.0.4.crate) = 29375
-SHA256 (rust/crates/serde-1.0.131.crate) = b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1
-SIZE (rust/crates/serde-1.0.131.crate) = 75357
-SHA256 (rust/crates/serde_cbor-0.11.2.crate) = 2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5
-SIZE (rust/crates/serde_cbor-0.11.2.crate) = 44570
-SHA256 (rust/crates/serde_derive-1.0.131.crate) = b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2
-SIZE (rust/crates/serde_derive-1.0.131.crate) = 54729
-SHA256 (rust/crates/serde_json-1.0.72.crate) = d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527
-SIZE (rust/crates/serde_json-1.0.72.crate) = 115888
-SHA256 (rust/crates/shlex-1.1.0.crate) = 43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3
-SIZE (rust/crates/shlex-1.1.0.crate) = 5199
-SHA256 (rust/crates/signal-hook-0.3.12.crate) = c35dfd12afb7828318348b8c408383cf5071a086c1d4ab1c0f9840ec92dbb922
-SIZE (rust/crates/signal-hook-0.3.12.crate) = 49213
-SHA256 (rust/crates/signal-hook-registry-1.4.0.crate) = e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0
-SIZE (rust/crates/signal-hook-registry-1.4.0.crate) = 17912
+SHA256 (rust/crates/semver-1.0.21.crate) = b97ed7a9823b74f99c7742f5336af7be5ecd3eeafcb1507d1fa93347b1d589b0
+SIZE (rust/crates/semver-1.0.21.crate) = 30445
+SHA256 (rust/crates/serde-1.0.195.crate) = 63261df402c67811e9ac6def069e4786148c4563f4b50fd4bf30aa370d626b02
+SIZE (rust/crates/serde-1.0.195.crate) = 76856
+SHA256 (rust/crates/serde-big-array-0.5.1.crate) = 11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f
+SIZE (rust/crates/serde-big-array-0.5.1.crate) = 6618
+SHA256 (rust/crates/serde_derive-1.0.195.crate) = 46fe8f8603d81ba86327b23a2e9cdf49e1255fb94a4c5f297f6ee0547178ea2c
+SIZE (rust/crates/serde_derive-1.0.195.crate) = 55687
+SHA256 (rust/crates/serde_json-1.0.111.crate) = 176e46fa42316f18edd598015a5166857fc835ec732f5215eac6b7bdbf0a84f4
+SIZE (rust/crates/serde_json-1.0.111.crate) = 146447
+SHA256 (rust/crates/serde_spanned-0.6.5.crate) = eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1
+SIZE (rust/crates/serde_spanned-0.6.5.crate) = 8349
+SHA256 (rust/crates/sharded-slab-0.1.7.crate) = f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6
+SIZE (rust/crates/sharded-slab-0.1.7.crate) = 58227
+SHA256 (rust/crates/shlex-1.2.0.crate) = a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380
+SIZE (rust/crates/shlex-1.2.0.crate) = 6584
+SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
+SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/simd-adler32-0.3.7.crate) = d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe
+SIZE (rust/crates/simd-adler32-0.3.7.crate) = 12086
SHA256 (rust/crates/simd_helpers-0.1.0.crate) = 95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6
SIZE (rust/crates/simd_helpers-0.1.0.crate) = 1527
-SHA256 (rust/crates/smallvec-1.7.0.crate) = 1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309
-SIZE (rust/crates/smallvec-1.7.0.crate) = 27459
-SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
-SIZE (rust/crates/strsim-0.8.0.crate) = 9309
-SHA256 (rust/crates/strum-0.21.0.crate) = aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2
-SIZE (rust/crates/strum-0.21.0.crate) = 5296
-SHA256 (rust/crates/strum_macros-0.21.1.crate) = d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec
-SIZE (rust/crates/strum_macros-0.21.1.crate) = 16280
-SHA256 (rust/crates/syn-1.0.82.crate) = 8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59
-SIZE (rust/crates/syn-1.0.82.crate) = 234316
-SHA256 (rust/crates/system-deps-3.1.2.crate) = 7ab7dbd121ce66af2176147a48c7e01aaf1f001837a18a7cf4317858606bbdf8
-SIZE (rust/crates/system-deps-3.1.2.crate) = 20920
-SHA256 (rust/crates/termcolor-1.1.2.crate) = 2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4
-SIZE (rust/crates/termcolor-1.1.2.crate) = 17287
-SHA256 (rust/crates/terminal_size-0.1.17.crate) = 633c1a546cee861a1a6d0dc69ebeca693bf4296661ba7852b9d21d159e0506df
-SIZE (rust/crates/terminal_size-0.1.17.crate) = 9141
-SHA256 (rust/crates/termtree-0.2.3.crate) = 13a4ec180a2de59b57434704ccfad967f789b12737738798fa08798cd5824c16
-SIZE (rust/crates/termtree-0.2.3.crate) = 6926
-SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
-SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
-SHA256 (rust/crates/thiserror-1.0.30.crate) = 854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417
-SIZE (rust/crates/thiserror-1.0.30.crate) = 17748
-SHA256 (rust/crates/thiserror-impl-1.0.30.crate) = aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b
-SIZE (rust/crates/thiserror-impl-1.0.30.crate) = 15230
-SHA256 (rust/crates/time-0.1.43.crate) = ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438
-SIZE (rust/crates/time-0.1.43.crate) = 28653
+SHA256 (rust/crates/smallvec-1.11.2.crate) = 4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970
+SIZE (rust/crates/smallvec-1.11.2.crate) = 34801
+SHA256 (rust/crates/syn-2.0.48.crate) = 0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f
+SIZE (rust/crates/syn-2.0.48.crate) = 250566
+SHA256 (rust/crates/system-deps-6.2.0.crate) = 2a2d580ff6a20c55dfb86be5f9c238f67835d0e81cbdea8bf5680e0897320331
+SIZE (rust/crates/system-deps-6.2.0.crate) = 24961
+SHA256 (rust/crates/target-lexicon-0.12.13.crate) = 69758bda2e78f098e4ccb393021a0963bb3442eac05f135c30f61b7370bbafae
+SIZE (rust/crates/target-lexicon-0.12.13.crate) = 25424
+SHA256 (rust/crates/terminal_size-0.3.0.crate) = 21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7
+SIZE (rust/crates/terminal_size-0.3.0.crate) = 10096
+SHA256 (rust/crates/termtree-0.4.1.crate) = 3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76
+SIZE (rust/crates/termtree-0.4.1.crate) = 4557
+SHA256 (rust/crates/thiserror-1.0.56.crate) = d54378c645627613241d077a3a79db965db602882668f9136ac42af9ecb730ad
+SIZE (rust/crates/thiserror-1.0.56.crate) = 20592
+SHA256 (rust/crates/thiserror-impl-1.0.56.crate) = fa0faa943b50f3db30a20aa7e265dbc66076993efed8463e8de414e5d06d3471
+SIZE (rust/crates/thiserror-impl-1.0.56.crate) = 15367
+SHA256 (rust/crates/thread_local-1.1.7.crate) = 3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152
+SIZE (rust/crates/thread_local-1.1.7.crate) = 13585
SHA256 (rust/crates/tinytemplate-1.2.1.crate) = be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc
SIZE (rust/crates/tinytemplate-1.2.1.crate) = 26490
-SHA256 (rust/crates/toml-0.5.8.crate) = a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa
-SIZE (rust/crates/toml-0.5.8.crate) = 54219
-SHA256 (rust/crates/unicode-segmentation-1.8.0.crate) = 8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b
-SIZE (rust/crates/unicode-segmentation-1.8.0.crate) = 94011
-SHA256 (rust/crates/unicode-width-0.1.9.crate) = 3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973
-SIZE (rust/crates/unicode-width-0.1.9.crate) = 16745
-SHA256 (rust/crates/unicode-xid-0.2.2.crate) = 8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3
-SIZE (rust/crates/unicode-xid-0.2.2.crate) = 14955
-SHA256 (rust/crates/vec_map-0.8.2.crate) = f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191
-SIZE (rust/crates/vec_map-0.8.2.crate) = 14466
-SHA256 (rust/crates/version-compare-0.0.11.crate) = 1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b
-SIZE (rust/crates/version-compare-0.0.11.crate) = 15208
-SHA256 (rust/crates/version_check-0.9.3.crate) = 5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe
-SIZE (rust/crates/version_check-0.9.3.crate) = 12547
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml-0.8.8.crate) = a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35
+SIZE (rust/crates/toml-0.8.8.crate) = 50451
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.21.0.crate) = d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03
+SIZE (rust/crates/toml_edit-0.21.0.crate) = 101265
+SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
+SIZE (rust/crates/tracing-0.1.40.crate) = 79459
+SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
+SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
+SHA256 (rust/crates/tracing-chrome-0.7.1.crate) = 496b3cd5447f7ff527bbbf19b071ad542a000adf297d4127078b4dfdb931f41a
+SIZE (rust/crates/tracing-chrome-0.7.1.crate) = 13796
+SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
+SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/tracing-log-0.2.0.crate) = ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3
+SIZE (rust/crates/tracing-log-0.2.0.crate) = 17561
+SHA256 (rust/crates/tracing-subscriber-0.3.18.crate) = ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b
+SIZE (rust/crates/tracing-subscriber-0.3.18.crate) = 196312
+SHA256 (rust/crates/unicode-bidi-0.3.14.crate) = 6f2528f27a9eb2b21e69c95319b30bd0efd85d09c379741b0f78ea1d86be2416
+SIZE (rust/crates/unicode-bidi-0.3.14.crate) = 56429
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/unicode-width-0.1.11.crate) = e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85
+SIZE (rust/crates/unicode-width-0.1.11.crate) = 19187
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/v_frame-0.3.7.crate) = c372e4e6fad129795fb86fda6021b258948560b39883b80ed00510a7d19846b0
+SIZE (rust/crates/v_frame-0.3.7.crate) = 14640
+SHA256 (rust/crates/valuable-0.1.0.crate) = 830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d
+SIZE (rust/crates/valuable-0.1.0.crate) = 27718
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29
+SIZE (rust/crates/version-compare-0.1.1.crate) = 13224
SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
-SHA256 (rust/crates/walkdir-2.3.2.crate) = 808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56
-SIZE (rust/crates/walkdir-2.3.2.crate) = 23516
-SHA256 (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6
-SIZE (rust/crates/wasi-0.10.2+wasi-snapshot-preview1.crate) = 27505
-SHA256 (rust/crates/wasm-bindgen-0.2.78.crate) = 632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce
-SIZE (rust/crates/wasm-bindgen-0.2.78.crate) = 162111
-SHA256 (rust/crates/wasm-bindgen-backend-0.2.78.crate) = a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b
-SIZE (rust/crates/wasm-bindgen-backend-0.2.78.crate) = 25576
-SHA256 (rust/crates/wasm-bindgen-macro-0.2.78.crate) = d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9
-SIZE (rust/crates/wasm-bindgen-macro-0.2.78.crate) = 11700
-SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab
-SIZE (rust/crates/wasm-bindgen-macro-support-0.2.78.crate) = 17858
-SHA256 (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc
-SIZE (rust/crates/wasm-bindgen-shared-0.2.78.crate) = 7206
-SHA256 (rust/crates/web-sys-0.3.55.crate) = 38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb
-SIZE (rust/crates/web-sys-0.3.55.crate) = 664827
-SHA256 (rust/crates/which-3.1.1.crate) = d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724
-SIZE (rust/crates/which-3.1.1.crate) = 8071
+SHA256 (rust/crates/walkdir-2.4.0.crate) = d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee
+SIZE (rust/crates/walkdir-2.4.0.crate) = 23550
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.89.crate) = 0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e
+SIZE (rust/crates/wasm-bindgen-0.2.89.crate) = 181935
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826
+SIZE (rust/crates/wasm-bindgen-backend-0.2.89.crate) = 28205
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2
+SIZE (rust/crates/wasm-bindgen-macro-0.2.89.crate) = 13906
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.89.crate) = 20008
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f
+SIZE (rust/crates/wasm-bindgen-shared-0.2.89.crate) = 7265
+SHA256 (rust/crates/web-sys-0.3.66.crate) = 50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f
+SIZE (rust/crates/web-sys-0.3.66.crate) = 733024
+SHA256 (rust/crates/which-4.4.2.crate) = 87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7
+SIZE (rust/crates/which-4.4.2.crate) = 15953
SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.5.crate) = 70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178
-SIZE (rust/crates/winapi-util-0.1.5.crate) = 10164
+SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/y4m-0.7.0.crate) = a72a9921af8237fe25097a1ae31c92a05c1d39b2454653ad48f2f407cf7a0dae
-SIZE (rust/crates/y4m-0.7.0.crate) = 12045
-SHA256 (xiph-rav1e-v0.5.1_GH0.tar.gz) = 7b3060e8305e47f10b79f3a3b3b6adc3a56d7a58b2cb14e86951cc28e1b089fd
-SIZE (xiph-rav1e-v0.5.1_GH0.tar.gz) = 2697850
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (rust/crates/winnow-0.5.33.crate) = b7520bbdec7211caa7c4e682eb1fbe07abe20cee6756b6e00f537c82c11816aa
+SIZE (rust/crates/winnow-0.5.33.crate) = 154059
+SHA256 (rust/crates/y4m-0.8.0.crate) = 7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448
+SIZE (rust/crates/y4m-0.8.0.crate) = 12455
+SHA256 (rust/crates/yansi-0.5.1.crate) = 09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec
+SIZE (rust/crates/yansi-0.5.1.crate) = 16525
+SHA256 (xiph-rav1e-v0.7.1_GH0.tar.gz) = da7ae0df2b608e539de5d443c096e109442cdfa6c5e9b4014361211cf61d030c
+SIZE (xiph-rav1e-v0.7.1_GH0.tar.gz) = 3048929
diff --git a/multimedia/rav1e/files/patch-build.rs b/multimedia/rav1e/files/patch-build.rs
deleted file mode 100644
index 16c84abb0dd6..000000000000
--- a/multimedia/rav1e/files/patch-build.rs
+++ /dev/null
@@ -1,40 +0,0 @@
-error: failed to run custom build command for `rav1e v0.4.0 (/wrkdirs/usr/ports/multimedia/librav1e/work/rav1e-0.4.0)`
-
-Caused by:
- process didn't exit successfully: `/wrkdirs/usr/ports/multimedia/librav1e/work/target/release/build/rav1e-b2f4b3ce116fbed0/build-script-build` (exit code: 101)
- --- stderr
- thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: LlvmVersionError(TooManyComponents)', build.rs:179:16
- stack backtrace:
- 0: rust_begin_unwind
- 1: core::panicking::panic_fmt
- 2: core::result::unwrap_failed
- 3: core::result::Result<T,E>::unwrap
- at /wrkdirs/usr/ports/lang/rust/work/rustc-1.51.0-src/library/core/src/result.rs:1037:23
- 4: build_script_build::rustc_version_check
- at ./build.rs:179:6
- 5: build_script_build::main
- at ./build.rs:268:3
- 6: core::ops::function::FnOnce::call_once
- at /wrkdirs/usr/ports/lang/rust/work/rustc-1.51.0-src/library/core/src/ops/function.rs:227:5
- note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
-
---- build.rs.orig 2021-08-09 11:09:02 UTC
-+++ build.rs
-@@ -213,17 +213,6 @@ fn build_asm_files() {
- }
-
- fn rustc_version_check() {
-- // This should match the version in the CI
-- // Make sure to updated README.md when this changes.
-- const REQUIRED_VERSION: &str = "1.51.0";
-- if version().unwrap() < Version::parse(REQUIRED_VERSION).unwrap() {
-- eprintln!("rav1e requires rustc >= {}.", REQUIRED_VERSION);
-- exit(1);
-- }
--
-- if version_meta().unwrap().channel == Channel::Nightly {
-- println!("cargo:rustc-cfg=nightly_rustc");
-- }
- }
-
- #[cfg(feature = "asm")]
diff --git a/multimedia/rav1e/files/patch-powerpc b/multimedia/rav1e/files/patch-powerpc
deleted file mode 100644
index 0f536b57abf4..000000000000
--- a/multimedia/rav1e/files/patch-powerpc
+++ /dev/null
@@ -1,20 +0,0 @@
---- cargo-crates/crossbeam-epoch-0.9.5/no_atomic.rs.orig 2021-07-12 16:01:21.814570000 +0200
-+++ cargo-crates/crossbeam-epoch-0.9.5/no_atomic.rs 2021-07-12 16:01:34.083879000 +0200
-@@ -30,6 +30,7 @@
- "mipsel-unknown-none",
- "mipsisa32r6-unknown-linux-gnu",
- "mipsisa32r6el-unknown-linux-gnu",
-+ "powerpc-unknown-freebsd",
- "powerpc-unknown-linux-gnu",
- "powerpc-unknown-linux-gnuspe",
- "powerpc-unknown-linux-musl",
---- cargo-crates/crossbeam-utils-0.8.5/no_atomic.rs.orig 2021-07-12 16:01:05.023177000 +0200
-+++ cargo-crates/crossbeam-utils-0.8.5/no_atomic.rs 2021-07-12 16:01:16.538869000 +0200
-@@ -30,6 +30,7 @@
- "mipsel-unknown-none",
- "mipsisa32r6-unknown-linux-gnu",
- "mipsisa32r6el-unknown-linux-gnu",
-+ "powerpc-unknown-freebsd",
- "powerpc-unknown-linux-gnu",
- "powerpc-unknown-linux-gnuspe",
- "powerpc-unknown-linux-musl",
diff --git a/multimedia/rav1e/pkg-descr b/multimedia/rav1e/pkg-descr
index e745bb369ded..f735d11ee313 100644
--- a/multimedia/rav1e/pkg-descr
+++ b/multimedia/rav1e/pkg-descr
@@ -1,5 +1,3 @@
rav1e is an AV1 video encoder. It is designed to eventually cover all
use cases, though in its current form it is most suitable for cases
where libaom (the reference encoder) is too slow.
-
-WWW: https://github.com/xiph/rav1e
diff --git a/multimedia/recmpeg/Makefile b/multimedia/recmpeg/Makefile
index 67322b141073..81a88b9c89fc 100644
--- a/multimedia/recmpeg/Makefile
+++ b/multimedia/recmpeg/Makefile
@@ -1,20 +1,20 @@
-# Created by: ijliao
-
PORTNAME= recmpeg
PORTVERSION= 1.0.5
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= SF/fame/${PORTNAME}/${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= Simple video encoder
+WWW= https://fame.sourceforge.net/
LIB_DEPENDS= libfame.so:multimedia/libfame
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
PLIST_FILES= bin/recmpeg \
- man/man1/recmpeg.1.gz
+ share/man/man1/recmpeg.1.gz
CPPFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
diff --git a/multimedia/recmpeg/pkg-descr b/multimedia/recmpeg/pkg-descr
index 81f5a6908710..d782ae2993cd 100644
--- a/multimedia/recmpeg/pkg-descr
+++ b/multimedia/recmpeg/pkg-descr
@@ -1,4 +1,2 @@
recmpeg is a simple video encoder, based on libfame, which compresses raw
video sequences to MPEG video.
-
-WWW: http://fame.sourceforge.net/
diff --git a/multimedia/recordmydesktop/Makefile b/multimedia/recordmydesktop/Makefile
index 20c4ecc6ef11..bcf40591ca07 100644
--- a/multimedia/recordmydesktop/Makefile
+++ b/multimedia/recordmydesktop/Makefile
@@ -6,6 +6,7 @@ MASTER_SITES= SF
MAINTAINER= danfe@FreeBSD.org
COMMENT= Record desktop sessions to an Ogg-Theora-Vorbis file
+WWW= http://recordmydesktop.sourceforge.net/
LICENSE= GPLv2+
@@ -14,9 +15,10 @@ LIB_DEPENDS= libtheora.so:multimedia/libtheora
USES= xorg
USE_XORG= ice sm x11 xdamage xext xfixes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
CONFIGURE_ARGS= --enable-oss=yes
-PLIST_FILES= bin/recordmydesktop man/man1/recordmydesktop.1.gz
+PLIST_FILES= bin/recordmydesktop share/man/man1/recordmydesktop.1.gz
PORTDOCS= ChangeLog
OPTIONS_DEFINE= DOCS JACK
diff --git a/multimedia/recordmydesktop/pkg-descr b/multimedia/recordmydesktop/pkg-descr
index f258cb7b7ba0..1e0f1e9c1b9a 100644
--- a/multimedia/recordmydesktop/pkg-descr
+++ b/multimedia/recordmydesktop/pkg-descr
@@ -2,5 +2,3 @@ recordMyDesktop produces a file (default out.ogg) that contains a video
and audio recording of a desktop session. The default behavior of
recording is to mark areas that have changed (through libxdamage) and
update the frame.
-
-WWW: http://recordmydesktop.sourceforge.net/
diff --git a/multimedia/ringrtc/Makefile b/multimedia/ringrtc/Makefile
new file mode 100644
index 000000000000..d06e98d01557
--- /dev/null
+++ b/multimedia/ringrtc/Makefile
@@ -0,0 +1,157 @@
+PORTNAME= ringrtc
+DISTVERSIONPREFIX= v
+DISTVERSION= 2.39.3
+CATEGORIES= multimedia
+MASTER_SITES= LOCAL/mikael/ringrtc/:base \
+ LOCAL/mikael/ringrtc/:boringssl \
+ LOCAL/mikael/ringrtc/:build \
+ LOCAL/mikael/ringrtc/:buildtools \
+ LOCAL/mikael/ringrtc/:catapult \
+ LOCAL/mikael/ringrtc/:icu \
+ LOCAL/mikael/ringrtc/:nasm \
+ LOCAL/mikael/ringrtc/:libjpeg_turbo \
+ LOCAL/mikael/ringrtc/:libsrtp \
+ LOCAL/mikael/ringrtc/:libvpx \
+ LOCAL/mikael/ringrtc/:libyuv \
+ LOCAL/mikael/ringrtc/:third_party \
+ LOCAL/mikael/ringrtc/:testing \
+ LOCAL/mikael/ringrtc/:opus
+DISTFILES= base-${BASE_REV}.tar.gz:base \
+ boringssl-${BORINGSSL_REV}.tar.gz:boringssl \
+ build-${BUILD_REV}.tar.gz:build \
+ buildtools-${BUILDTOOLS_REV}.tar.gz:buildtools \
+ catapult-${CATAPULT_REV}.tar.gz:catapult \
+ icu-${ICU_REV}.tar.gz:icu \
+ nasm-${NASM_REV}.tar.gz:nasm \
+ libjpeg_turbo-${LIBJPEG_TURBO_REV}.tar.gz:libjpeg_turbo \
+ libsrtp-${LIBSRTP_REV}.tar.gz:libsrtp \
+ libvpx-${LIBVPX_REV}.tar.gz:libvpx \
+ libyuv-${LIBYUV_REV}.tar.gz:libyuv \
+ third_party-${THIRD_PARTY_REV}.tar.gz:third_party \
+ testing-${TESTING_REV}.tar.gz:testing \
+ opus-${OPUS_REV}.tar.gz:opus
+
+MAINTAINER= ports@FreeBSD.org
+COMMENT= Middleware library for Signal-Desktop
+WWW= https://github.com/signalapp/ringrtc
+
+LICENSE= AGPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+ONLY_FOR_ARCHS= aarch64 amd64
+
+BUILD_DEPENDS= gn:devel/gn \
+ protoc:devel/protobuf
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libfreetype.so:print/freetype2 \
+ libpulse.so:audio/pulseaudio
+
+USES= cargo gnome localbase:ldflags ninja pkgconfig python:build \
+ tar:xz
+USE_GNOME= glib20
+USE_GITHUB= yes
+GH_ACCOUNT= signalapp
+GH_TUPLE= signalapp:ringrtc:${DISTVERSIONPREFIX}${DISTVERSION} \
+ signalapp:webrtc:${WEBRTC_REV}:webrtc
+
+# sh net-im/signal-desktop/get_deps.sh
+WEBRTC_REV= 6261d
+
+# modify webrtc_fetch.sh, then sh webrtc_fetch.sh
+BASE_REV= 36ecc8e397422620def3bb19a7ba392810ca2442
+BORINGSSL_REV= 414f69504d30d0848b69f6453ea7fb5e88004cb4
+BUILD_REV= 28cd6ea727d171ec990e6174308451d4178d7f8e
+BUILDTOOLS_REV= aadc2aa5f7382cdb5bc8e9309971356cf7722773
+CATAPULT_REV= 3e413d7b62c09fda8713146714ba2146a0369d86
+ICU_REV= a622de35ac311c5ad390a7af80724634e5dc61ed
+LIBJPEG_TURBO_REV= 9b894306ec3b28cea46e84c32b56773a98c483da
+LIBSRTP_REV= 5b7c744eb8310250ccc534f3f86a2015b3887a0a
+LIBVPX_REV= b95d17572629c676bdcfd535fb3990b9f6f8fb11
+LIBYUV_REV= 04821d1e7d60845525e8db55c7bcd41ef5be9406
+NASM_REV= f477acb1049f5e043904b87b825c5915084a9a29
+TESTING_REV= 450bfd79ee0369ac1a5465a12820b5d94a5956be
+THIRD_PARTY_REV= 692fab5c0074bc6fa486dce1a4aa7b2cc5609928
+OPUS_REV= 593419e833acab4d15b4901fe156177fb7315468
+
+BINARY_ALIAS= vpython3=${PYTHON_CMD}
+
+# Keep in sync with https://github.com/signalapp/ringrtc/blob/v${DISTVERSION}/bin/build-electron#L101
+# Run "gn args out/Release --list" for all variables.
+# Some parts don't have use_system_* flag, and can be turned on/off by using
+# replace_gn_files.py script, some parts just turned on/off for target host
+# OS "target_os == is_bsd", like libusb, libpci.
+GN_ARGS+= rtc_build_examples=false \
+ rtc_build_tools=false \
+ rtc_include_tests=false \
+ rtc_enable_protobuf=false \
+ rtc_use_x11=false \
+ rtc_enable_sctp=false \
+ rtc_libvpx_build_vp9=true \
+ rtc_include_ilbc=false \
+ use_custom_libcxx=false \
+ is_debug=false \
+ is_clang=true \
+ clang_use_chrome_plugins=false \
+ treat_warnings_as_errors=false \
+ extra_cxxflags="${CXXFLAGS}" \
+ extra_ldflags="${LDFLAGS}"
+NPM_RINGRTC_DIR= npm-@signalapp-ringrtc-2.36.0-67d1b48bd4c1ea31c155ea14a0bd28f04e46eff5-integrity
+NPM_SIGNAL_DIR= npm-@signalapp-libsignal-client-0.39.1-15b41f15c516ae3eecf8a098a9c9c7aac00444d7-integrity
+NPM_SQLITE3_DIR= npm-@signalapp-better-sqlite3-8.6.0-0413f4d0626b99838cd64ad09c88720aa2bec6ed-integrity
+SQLCIPHER= sqlcipher-4.5.5-fts5-fix--3.0.7--0.2.1-ef53ea45ed92b928ecfd33c552d8d405263e86e63dec38e1ec63e1b0193b630b
+
+MAKE_ARGS= -C out/${BUILDTYPE}
+
+WEBRTCDIR= ${WRKDIR}/${PORTNAME}-${DISTVERSION}/src/webrtc/src
+
+CARGO_BUILD_ARGS= --package ringrtc --features electron
+CARGO_INSTALL= no
+
+USE_LDCONFIG= yes
+
+MAKE_ENV= OUTPUT_DIR=${WEBRTCDIR}/out
+
+PLIST_FILES= lib/libringrtc.so
+
+post-extract:
+ ${MKDIR} ${WRKDIR}/${PORTNAME}-${DISTVERSION}/src/webrtc
+ ${MV} ${WRKDIR}/webrtc-${WEBRTC_REV} ${WEBRTCDIR}
+ ${MV} ${WRKDIR}/base ${WEBRTCDIR}
+ ${MV} ${WRKDIR}/build ${WEBRTCDIR}
+ ${MV} ${WRKDIR}/buildtools ${WEBRTCDIR}
+ ${MV} ${WRKDIR}/testing ${WEBRTCDIR}
+ ${MV} ${WRKDIR}/third_party ${WEBRTCDIR}
+ ${MV} ${WRKDIR}/catapult ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/boringssl ${WEBRTCDIR}/third_party/boringssl/src
+ ${MV} ${WRKDIR}/icu ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/libjpeg_turbo ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/libsrtp ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/libvpx ${WEBRTCDIR}/third_party/libvpx/source
+ ${MV} ${WRKDIR}/libyuv ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/nasm ${WEBRTCDIR}/third_party
+ ${MV} ${WRKDIR}/opus ${WEBRTCDIR}/ringrtc/opus/src
+
+post-patch:
+ ${REINPLACE_CMD} "s|LOCALBASE|${LOCALBASE}|" \
+ ${WEBRTCDIR}/build/toolchain/gcc_toolchain.gni \
+ ${WEBRTCDIR}/buildtools/third_party/libc++/BUILD.gn
+
+ ${ECHO_CMD} "# Generated from 'DEPS'" > ${WEBRTCDIR}/build/config/gclient_args.gni
+ ${ECHO_CMD} 1591703586 > ${WEBRTCDIR}/build/util/LASTCHANGE.committime
+ ${ECHO_CMD} "qqchose " > ${WEBRTCDIR}/build/util/LASTCHANGE
+
+pre-build:
+ cd ${WEBRTCDIR} && \
+ ${SETENV} ${CONFIGURE_ENV} gn gen out/release --args='${GN_ARGS}'
+
+# build webrtc first, ringrtc needs libwebrtc.a
+ cd ${WEBRTCDIR} \
+ && ${MAKE_ENV} CC=ccache CXX=ccache ninja -C out/release
+
+# it's not intended to be used outside of signal-desktop, put that in
+# /usr/local/share/ringrtc instead?
+do-install:
+ ${INSTALL_LIB} ${CARGO_TARGET_DIR}/${CARGO_BUILD_TARGET}/release/libringrtc.so \
+ ${STAGEDIR}${PREFIX}/lib/
+
+.include <bsd.port.mk>
diff --git a/multimedia/ringrtc/Makefile.crates b/multimedia/ringrtc/Makefile.crates
new file mode 100644
index 000000000000..b3a0137e71cf
--- /dev/null
+++ b/multimedia/ringrtc/Makefile.crates
@@ -0,0 +1,332 @@
+# fetch -qo - https://raw.githubusercontent.com/signalapp/ringrtc/v2.34.4/Cargo.lock | awk -f /usr/ports/Mk/Scripts/cargo-crates.awk | portedit merge -i Makefile.crates
+CARGO_CRATES= addr2line-0.21.0 \
+ adler-1.0.2 \
+ aead-0.5.2 \
+ aes-0.8.4 \
+ aes-gcm-siv-0.11.1 \
+ aho-corasick-1.1.3 \
+ android-tzdata-0.1.1 \
+ android_system_properties-0.1.5 \
+ anstream-0.6.13 \
+ anstyle-1.0.6 \
+ anstyle-parse-0.2.3 \
+ anstyle-query-1.0.2 \
+ anstyle-wincon-3.0.2 \
+ anyhow-1.0.81 \
+ askama-0.12.1 \
+ askama_derive-0.12.5 \
+ askama_escape-0.10.3 \
+ askama_parser-0.2.1 \
+ async-stream-0.3.5 \
+ async-stream-impl-0.3.5 \
+ async-trait-0.1.79 \
+ autocfg-1.1.0 \
+ axum-0.6.20 \
+ axum-core-0.3.4 \
+ backtrace-0.3.71 \
+ base64-0.13.1 \
+ base64-0.21.7 \
+ base64-0.22.0 \
+ basic-toml-0.1.9 \
+ bincode-1.3.3 \
+ bitflags-1.3.2 \
+ bitflags-2.5.0 \
+ bitvec-1.0.1 \
+ block-buffer-0.9.0 \
+ block-buffer-0.10.4 \
+ block-padding-0.3.3 \
+ bollard-0.15.0 \
+ bollard-stubs-1.43.0-rc.2 \
+ bumpalo-3.15.4 \
+ byteorder-1.5.0 \
+ bytes-1.6.0 \
+ bzip2-0.4.4 \
+ bzip2-sys-0.1.11+1.0.8 \
+ cbc-0.1.2 \
+ cc-1.0.90 \
+ cesu8-1.1.0 \
+ cfg-if-1.0.0 \
+ chrono-0.4.35 \
+ cipher-0.4.4 \
+ clap-4.5.3 \
+ clap_builder-4.5.2 \
+ clap_derive-4.5.3 \
+ clap_lex-0.7.0 \
+ colorchoice-1.0.0 \
+ combine-4.6.6 \
+ core-foundation-sys-0.8.6 \
+ cpufeatures-0.2.12 \
+ crc32fast-1.4.0 \
+ crypto-common-0.1.6 \
+ crypto-mac-0.11.0 \
+ ctr-0.9.2 \
+ darling-0.14.4 \
+ darling-0.20.8 \
+ darling_core-0.14.4 \
+ darling_core-0.20.8 \
+ darling_macro-0.14.4 \
+ darling_macro-0.20.8 \
+ deranged-0.3.11 \
+ derive-where-1.2.7 \
+ digest-0.9.0 \
+ digest-0.10.7 \
+ directories-4.0.1 \
+ dirs-sys-0.3.7 \
+ displaydoc-0.2.4 \
+ dunce-1.0.4 \
+ dyn-clone-1.0.17 \
+ either-1.10.0 \
+ env_filter-0.1.0 \
+ env_logger-0.11.3 \
+ equivalent-1.0.1 \
+ erased-serde-0.3.31 \
+ errno-0.3.8 \
+ fastrand-2.0.2 \
+ fern-0.6.2 \
+ fiat-crypto-0.2.7 \
+ fixedbitset-0.4.2 \
+ flate2-1.0.28 \
+ fnv-1.0.7 \
+ form_urlencoded-1.2.1 \
+ funty-2.0.0 \
+ futures-0.3.30 \
+ futures-channel-0.3.30 \
+ futures-core-0.3.30 \
+ futures-executor-0.3.30 \
+ futures-io-0.3.30 \
+ futures-macro-0.3.30 \
+ futures-sink-0.3.30 \
+ futures-task-0.3.30 \
+ futures-util-0.3.30 \
+ generic-array-0.14.7 \
+ getrandom-0.2.12 \
+ ghash-0.5.1 \
+ gimli-0.28.1 \
+ h2-0.3.25 \
+ hashbrown-0.12.3 \
+ hashbrown-0.14.3 \
+ heck-0.4.1 \
+ heck-0.5.0 \
+ hermit-abi-0.3.9 \
+ hex-0.4.3 \
+ hex-literal-0.4.1 \
+ hkdf-0.11.0 \
+ hkdf-0.12.4 \
+ hmac-0.11.0 \
+ hmac-0.12.1 \
+ home-0.5.9 \
+ hound-3.5.1 \
+ http-0.2.12 \
+ http-body-0.4.6 \
+ httparse-1.8.0 \
+ httpdate-1.0.3 \
+ humansize-2.1.3 \
+ humantime-2.1.0 \
+ hyper-0.14.28 \
+ hyper-timeout-0.4.1 \
+ hyperlocal-0.8.0 \
+ iana-time-zone-0.1.60 \
+ iana-time-zone-haiku-0.1.2 \
+ ident_case-1.0.1 \
+ idna-0.5.0 \
+ indexmap-1.9.3 \
+ indexmap-2.2.6 \
+ inout-0.1.3 \
+ itertools-0.11.0 \
+ itertools-0.12.1 \
+ itoa-1.0.10 \
+ jni-0.21.1 \
+ jni-sys-0.3.0 \
+ js-sys-0.3.69 \
+ lazy_static-1.4.0 \
+ libc-0.2.153 \
+ libloading-0.8.3 \
+ libm-0.2.8 \
+ libredox-0.0.1 \
+ linux-raw-sys-0.4.13 \
+ log-0.4.21 \
+ matchit-0.7.3 \
+ memchr-2.7.1 \
+ mime-0.3.17 \
+ mime_guess-2.0.4 \
+ minimal-lexical-0.2.1 \
+ miniz_oxide-0.7.2 \
+ mio-0.8.11 \
+ multimap-0.8.3 \
+ neon-1.0.0 \
+ neon-macros-1.0.0 \
+ nom-7.1.3 \
+ ntapi-0.4.1 \
+ num-conv-0.1.0 \
+ num-traits-0.2.18 \
+ num_cpus-1.16.0 \
+ num_enum-0.6.1 \
+ num_enum-0.7.2 \
+ num_enum_derive-0.6.1 \
+ num_enum_derive-0.7.2 \
+ object-0.32.2 \
+ once_cell-1.19.0 \
+ opaque-debug-0.3.1 \
+ partial-default-0.1.0 \
+ partial-default-derive-0.1.0 \
+ percent-encoding-2.3.1 \
+ petgraph-0.6.4 \
+ pin-project-1.1.5 \
+ pin-project-internal-1.1.5 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ pkg-config-0.3.30 \
+ platforms-3.3.0 \
+ plotly-0.8.4 \
+ plotly_derive-0.8.4 \
+ plotly_kaleido-0.8.4 \
+ polyval-0.6.2 \
+ powerfmt-0.2.0 \
+ ppv-lite86-0.2.17 \
+ prettyplease-0.2.17 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-crate-3.1.0 \
+ proc-macro2-1.0.79 \
+ prost-0.12.3 \
+ prost-build-0.12.3 \
+ prost-derive-0.12.3 \
+ prost-types-0.12.3 \
+ quote-1.0.35 \
+ radium-0.7.0 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ redox_syscall-0.4.1 \
+ redox_users-0.4.4 \
+ regex-1.10.4 \
+ regex-automata-0.4.6 \
+ regex-syntax-0.8.2 \
+ relative-path-1.9.2 \
+ ring-0.17.8 \
+ rustc-demangle-0.1.23 \
+ rustc_version-0.4.0 \
+ rustix-0.38.32 \
+ rustls-0.22.3 \
+ rustls-pki-types-1.4.0 \
+ rustls-webpki-0.102.2 \
+ rustversion-1.0.14 \
+ ryu-1.0.17 \
+ same-file-1.0.6 \
+ semver-1.0.22 \
+ send_wrapper-0.6.0 \
+ serde-1.0.197 \
+ serde_derive-1.0.197 \
+ serde_json-1.0.114 \
+ serde_repr-0.1.18 \
+ serde_urlencoded-0.7.1 \
+ serde_with-2.3.3 \
+ serde_with-3.7.0 \
+ serde_with_macros-2.3.3 \
+ serde_with_macros-3.7.0 \
+ sha1-0.10.6 \
+ sha2-0.9.9 \
+ sha2-0.10.8 \
+ signal-hook-registry-1.4.1 \
+ slab-0.4.9 \
+ smallvec-1.13.2 \
+ socket2-0.5.6 \
+ spin-0.9.8 \
+ static_assertions-1.1.0 \
+ strsim-0.10.0 \
+ strsim-0.11.0 \
+ subtle-2.5.0 \
+ syn-1.0.109 \
+ syn-2.0.55 \
+ syn-mid-0.6.0 \
+ sync_wrapper-0.1.2 \
+ sysinfo-0.29.11 \
+ tap-1.0.1 \
+ tempfile-3.10.1 \
+ thiserror-1.0.58 \
+ thiserror-impl-1.0.58 \
+ time-0.1.45 \
+ time-0.3.34 \
+ time-core-0.1.2 \
+ time-macros-0.2.17 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ tokio-1.36.0 \
+ tokio-io-timeout-1.2.0 \
+ tokio-macros-2.2.0 \
+ tokio-stream-0.1.15 \
+ tokio-util-0.7.10 \
+ toml_datetime-0.6.5 \
+ toml_edit-0.19.15 \
+ toml_edit-0.21.1 \
+ tonic-0.11.0 \
+ tonic-build-0.11.0 \
+ tower-0.4.13 \
+ tower-layer-0.3.2 \
+ tower-service-0.3.2 \
+ tracing-0.1.40 \
+ tracing-attributes-0.1.27 \
+ tracing-core-0.1.32 \
+ try-lock-0.2.5 \
+ typenum-1.17.0 \
+ unicase-2.7.0 \
+ unicode-bidi-0.3.15 \
+ unicode-ident-1.0.12 \
+ unicode-normalization-0.1.23 \
+ universal-hash-0.5.1 \
+ untrusted-0.9.0 \
+ ureq-2.9.6 \
+ url-2.5.0 \
+ utf8parse-0.2.1 \
+ uuid-1.8.0 \
+ version_check-0.9.4 \
+ walkdir-2.5.0 \
+ want-0.3.1 \
+ wasi-0.10.0+wasi-snapshot-preview1 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.92 \
+ wasm-bindgen-backend-0.2.92 \
+ wasm-bindgen-macro-0.2.92 \
+ wasm-bindgen-macro-support-0.2.92 \
+ wasm-bindgen-shared-0.2.92 \
+ webpki-roots-0.26.1 \
+ which-4.4.2 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.6 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-core-0.52.0 \
+ windows-sys-0.45.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.42.2 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.4 \
+ windows_aarch64_gnullvm-0.42.2 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.4 \
+ windows_aarch64_msvc-0.42.2 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.4 \
+ windows_i686_gnu-0.42.2 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.4 \
+ windows_i686_msvc-0.42.2 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.4 \
+ windows_x86_64_gnu-0.42.2 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.4 \
+ windows_x86_64_gnullvm-0.42.2 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.4 \
+ windows_x86_64_msvc-0.42.2 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.4 \
+ winnow-0.5.40 \
+ wyz-0.5.1 \
+ x25519-dalek-2.0.1 \
+ zeroize-1.7.0 \
+ zeroize_derive-1.4.2 \
+ zip-0.5.13 \
+ libsignal-core,poksho,signal-crypto,zkcredential,zkgroup@git+https://github.com/signalapp/libsignal?tag=v0.37.0\#d47f96abff97d19a0b125376737655c268dd20b9 \
+ curve25519-dalek,curve25519-dalek-derive@git+https://github.com/signalapp/curve25519-dalek?tag=signal-curve25519-4.1.1\#a12ab4e58455bb3dc7cd73a0f9f3443507b2854b
diff --git a/multimedia/ringrtc/distinfo b/multimedia/ringrtc/distinfo
new file mode 100644
index 000000000000..43a2e2e90eb5
--- /dev/null
+++ b/multimedia/ringrtc/distinfo
@@ -0,0 +1,695 @@
+TIMESTAMP = 1713355305
+SHA256 (base-36ecc8e397422620def3bb19a7ba392810ca2442.tar.gz) = ba385d4499e3a3d13b5a76f70425da1c22a8eb3e6d58b8350380b459e06169f5
+SIZE (base-36ecc8e397422620def3bb19a7ba392810ca2442.tar.gz) = 5885707
+SHA256 (boringssl-414f69504d30d0848b69f6453ea7fb5e88004cb4.tar.gz) = 5fce22b30ae7c19649a8f1d8340010e90264ef21ed1085b30d8f41f0be3ab837
+SIZE (boringssl-414f69504d30d0848b69f6453ea7fb5e88004cb4.tar.gz) = 36613551
+SHA256 (build-28cd6ea727d171ec990e6174308451d4178d7f8e.tar.gz) = f7bbd878d311c41be31d0458254513799956b9c5e0cf764a5be0468d521b3edf
+SIZE (build-28cd6ea727d171ec990e6174308451d4178d7f8e.tar.gz) = 1551990
+SHA256 (buildtools-aadc2aa5f7382cdb5bc8e9309971356cf7722773.tar.gz) = 3c8ab9c96887a4106813afc322fde64bdc88f1bd83f98d864b8ee5f8b23427ea
+SIZE (buildtools-aadc2aa5f7382cdb5bc8e9309971356cf7722773.tar.gz) = 93244
+SHA256 (catapult-3e413d7b62c09fda8713146714ba2146a0369d86.tar.gz) = d19b3079828a871b800b1f83170ca0113aad9b6285271e24d92bb492234f8b3d
+SIZE (catapult-3e413d7b62c09fda8713146714ba2146a0369d86.tar.gz) = 165952886
+SHA256 (icu-a622de35ac311c5ad390a7af80724634e5dc61ed.tar.gz) = bcb6c1fc9e8d88123ac6210ee84846d3eadfca163756bcf7bd11ea30769613d3
+SIZE (icu-a622de35ac311c5ad390a7af80724634e5dc61ed.tar.gz) = 52300593
+SHA256 (nasm-f477acb1049f5e043904b87b825c5915084a9a29.tar.gz) = fa0c68caca289e2e9dac4fee0142150faf7c8bf2f15ff156e738e619a9c76bbd
+SIZE (nasm-f477acb1049f5e043904b87b825c5915084a9a29.tar.gz) = 1546897
+SHA256 (libjpeg_turbo-9b894306ec3b28cea46e84c32b56773a98c483da.tar.gz) = 62598a235f4d09b74e8ed3a262c148c0a95cfd5c0c59df92449d1be145c98af0
+SIZE (libjpeg_turbo-9b894306ec3b28cea46e84c32b56773a98c483da.tar.gz) = 2376833
+SHA256 (libsrtp-5b7c744eb8310250ccc534f3f86a2015b3887a0a.tar.gz) = 9bd3de42693cf0d9481da168dff6a83a2151f764c5f192cab36e109d65d86943
+SIZE (libsrtp-5b7c744eb8310250ccc534f3f86a2015b3887a0a.tar.gz) = 142033
+SHA256 (libvpx-b95d17572629c676bdcfd535fb3990b9f6f8fb11.tar.gz) = 7b70965dfaa857db92bf31719aea9c3a572ecc859f04f7110ae5be44f42b5b7a
+SIZE (libvpx-b95d17572629c676bdcfd535fb3990b9f6f8fb11.tar.gz) = 5684787
+SHA256 (libyuv-04821d1e7d60845525e8db55c7bcd41ef5be9406.tar.gz) = 41d50ba3db95cdf9350651deec3aa9ddfc71cbf7608c9d53bf3420ba2cfdf375
+SIZE (libyuv-04821d1e7d60845525e8db55c7bcd41ef5be9406.tar.gz) = 564067
+SHA256 (third_party-692fab5c0074bc6fa486dce1a4aa7b2cc5609928.tar.gz) = dba09b06ade357345cf899075861ed1da073765110fa8ff5cb03b168f38ddbb1
+SIZE (third_party-692fab5c0074bc6fa486dce1a4aa7b2cc5609928.tar.gz) = 826388101
+SHA256 (testing-450bfd79ee0369ac1a5465a12820b5d94a5956be.tar.gz) = 46c66a5b429681ccad1096b9431682cfc6a40f25a2d17d0c4e7e50b3674eb3ee
+SIZE (testing-450bfd79ee0369ac1a5465a12820b5d94a5956be.tar.gz) = 2412905
+SHA256 (opus-593419e833acab4d15b4901fe156177fb7315468.tar.gz) = cf62fdbf33205e3d15e1bee829a2cb275e82fb6944826d2afb7666623470b816
+SIZE (opus-593419e833acab4d15b4901fe156177fb7315468.tar.gz) = 869636
+SHA256 (rust/crates/addr2line-0.21.0.crate) = 8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb
+SIZE (rust/crates/addr2line-0.21.0.crate) = 40807
+SHA256 (rust/crates/adler-1.0.2.crate) = f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe
+SIZE (rust/crates/adler-1.0.2.crate) = 12778
+SHA256 (rust/crates/aead-0.5.2.crate) = d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0
+SIZE (rust/crates/aead-0.5.2.crate) = 15509
+SHA256 (rust/crates/aes-0.8.4.crate) = b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0
+SIZE (rust/crates/aes-0.8.4.crate) = 124812
+SHA256 (rust/crates/aes-gcm-siv-0.11.1.crate) = ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d
+SIZE (rust/crates/aes-gcm-siv-0.11.1.crate) = 26633
+SHA256 (rust/crates/aho-corasick-1.1.3.crate) = 8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916
+SIZE (rust/crates/aho-corasick-1.1.3.crate) = 183311
+SHA256 (rust/crates/android-tzdata-0.1.1.crate) = e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0
+SIZE (rust/crates/android-tzdata-0.1.1.crate) = 7674
+SHA256 (rust/crates/android_system_properties-0.1.5.crate) = 819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311
+SIZE (rust/crates/android_system_properties-0.1.5.crate) = 5243
+SHA256 (rust/crates/anstream-0.6.13.crate) = d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb
+SIZE (rust/crates/anstream-0.6.13.crate) = 30928
+SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
+SIZE (rust/crates/anstyle-1.0.6.crate) = 14604
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.81.crate) = 0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247
+SIZE (rust/crates/anyhow-1.0.81.crate) = 45142
+SHA256 (rust/crates/askama-0.12.1.crate) = b79091df18a97caea757e28cd2d5fda49c6cd4bd01ddffd7ff01ace0c0ad2c28
+SIZE (rust/crates/askama-0.12.1.crate) = 16976
+SHA256 (rust/crates/askama_derive-0.12.5.crate) = 19fe8d6cb13c4714962c072ea496f3392015f0989b1a2847bb4b2d9effd71d83
+SIZE (rust/crates/askama_derive-0.12.5.crate) = 31218
+SHA256 (rust/crates/askama_escape-0.10.3.crate) = 619743e34b5ba4e9703bba34deac3427c72507c7159f5fd030aea8cac0cfe341
+SIZE (rust/crates/askama_escape-0.10.3.crate) = 8875
+SHA256 (rust/crates/askama_parser-0.2.1.crate) = acb1161c6b64d1c3d83108213c2a2533a342ac225aabd0bda218278c2ddb00c0
+SIZE (rust/crates/askama_parser-0.2.1.crate) = 20707
+SHA256 (rust/crates/async-stream-0.3.5.crate) = cd56dd203fef61ac097dd65721a419ddccb106b2d2b70ba60a6b529f03961a51
+SIZE (rust/crates/async-stream-0.3.5.crate) = 11916
+SHA256 (rust/crates/async-stream-impl-0.3.5.crate) = 16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193
+SIZE (rust/crates/async-stream-impl-0.3.5.crate) = 4173
+SHA256 (rust/crates/async-trait-0.1.79.crate) = a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681
+SIZE (rust/crates/async-trait-0.1.79.crate) = 29558
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/axum-0.6.20.crate) = 3b829e4e32b91e643de6eafe82b1d90675f5874230191a4ffbc1b336dec4d6bf
+SIZE (rust/crates/axum-0.6.20.crate) = 146227
+SHA256 (rust/crates/axum-core-0.3.4.crate) = 759fa577a247914fd3f7f76d62972792636412fbfd634cd452f6a385a74d2d2c
+SIZE (rust/crates/axum-core-0.3.4.crate) = 21088
+SHA256 (rust/crates/backtrace-0.3.71.crate) = 26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d
+SIZE (rust/crates/backtrace-0.3.71.crate) = 86553
+SHA256 (rust/crates/base64-0.13.1.crate) = 9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8
+SIZE (rust/crates/base64-0.13.1.crate) = 61002
+SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567
+SIZE (rust/crates/base64-0.21.7.crate) = 82576
+SHA256 (rust/crates/base64-0.22.0.crate) = 9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51
+SIZE (rust/crates/base64-0.22.0.crate) = 81568
+SHA256 (rust/crates/basic-toml-0.1.9.crate) = 823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8
+SIZE (rust/crates/basic-toml-0.1.9.crate) = 50234
+SHA256 (rust/crates/bincode-1.3.3.crate) = b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad
+SIZE (rust/crates/bincode-1.3.3.crate) = 28958
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.5.0.crate) = cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1
+SIZE (rust/crates/bitflags-2.5.0.crate) = 43821
+SHA256 (rust/crates/bitvec-1.0.1.crate) = 1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c
+SIZE (rust/crates/bitvec-1.0.1.crate) = 224375
+SHA256 (rust/crates/block-buffer-0.9.0.crate) = 4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4
+SIZE (rust/crates/block-buffer-0.9.0.crate) = 7108
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/block-padding-0.3.3.crate) = a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93
+SIZE (rust/crates/block-padding-0.3.3.crate) = 8504
+SHA256 (rust/crates/bollard-0.15.0.crate) = f03db470b3c0213c47e978da93200259a1eb4dae2e5512cba9955e2b540a6fc6
+SIZE (rust/crates/bollard-0.15.0.crate) = 105321
+SHA256 (rust/crates/bollard-stubs-1.43.0-rc.2.crate) = b58071e8fd9ec1e930efd28e3a90c1251015872a2ce49f81f36421b86466932e
+SIZE (rust/crates/bollard-stubs-1.43.0-rc.2.crate) = 55796
+SHA256 (rust/crates/bumpalo-3.15.4.crate) = 7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa
+SIZE (rust/crates/bumpalo-3.15.4.crate) = 85028
+SHA256 (rust/crates/byteorder-1.5.0.crate) = 1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b
+SIZE (rust/crates/byteorder-1.5.0.crate) = 23288
+SHA256 (rust/crates/bytes-1.6.0.crate) = 514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9
+SIZE (rust/crates/bytes-1.6.0.crate) = 60605
+SHA256 (rust/crates/bzip2-0.4.4.crate) = bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8
+SIZE (rust/crates/bzip2-0.4.4.crate) = 34197
+SHA256 (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc
+SIZE (rust/crates/bzip2-sys-0.1.11+1.0.8.crate) = 633444
+SHA256 (rust/crates/cbc-0.1.2.crate) = 26b52a9543ae338f279b96b0b9fed9c8093744685043739079ce85cd58f289a6
+SIZE (rust/crates/cbc-0.1.2.crate) = 23501
+SHA256 (rust/crates/cc-1.0.90.crate) = 8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5
+SIZE (rust/crates/cc-1.0.90.crate) = 73954
+SHA256 (rust/crates/cesu8-1.1.0.crate) = 6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c
+SIZE (rust/crates/cesu8-1.1.0.crate) = 10555
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/chrono-0.4.35.crate) = 8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a
+SIZE (rust/crates/chrono-0.4.35.crate) = 234267
+SHA256 (rust/crates/cipher-0.4.4.crate) = 773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad
+SIZE (rust/crates/cipher-0.4.4.crate) = 19073
+SHA256 (rust/crates/clap-4.5.3.crate) = 949626d00e063efc93b6dca932419ceb5432f99769911c0b995f7e884c778813
+SIZE (rust/crates/clap-4.5.3.crate) = 55388
+SHA256 (rust/crates/clap_builder-4.5.2.crate) = ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4
+SIZE (rust/crates/clap_builder-4.5.2.crate) = 163566
+SHA256 (rust/crates/clap_derive-4.5.3.crate) = 90239a040c80f5e14809ca132ddc4176ab33d5e17e49691793296e3fcb34d72f
+SIZE (rust/crates/clap_derive-4.5.3.crate) = 29043
+SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
+SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/combine-4.6.6.crate) = 35ed6e9d84f0b51a7f52daf1c7d71dd136fd7a3f41a8462b8cdb8c78d920fad4
+SIZE (rust/crates/combine-4.6.6.crate) = 132428
+SHA256 (rust/crates/core-foundation-sys-0.8.6.crate) = 06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f
+SIZE (rust/crates/core-foundation-sys-0.8.6.crate) = 37629
+SHA256 (rust/crates/cpufeatures-0.2.12.crate) = 53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504
+SIZE (rust/crates/cpufeatures-0.2.12.crate) = 12837
+SHA256 (rust/crates/crc32fast-1.4.0.crate) = b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa
+SIZE (rust/crates/crc32fast-1.4.0.crate) = 38665
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/crypto-mac-0.11.0.crate) = 25fab6889090c8133f3deb8f73ba3c65a7f456f66436fc012a1b1e272b1e103e
+SIZE (rust/crates/crypto-mac-0.11.0.crate) = 9457
+SHA256 (rust/crates/ctr-0.9.2.crate) = 0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835
+SIZE (rust/crates/ctr-0.9.2.crate) = 18344
+SHA256 (rust/crates/darling-0.14.4.crate) = 7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850
+SIZE (rust/crates/darling-0.14.4.crate) = 25168
+SHA256 (rust/crates/darling-0.20.8.crate) = 54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391
+SIZE (rust/crates/darling-0.20.8.crate) = 31234
+SHA256 (rust/crates/darling_core-0.14.4.crate) = 109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0
+SIZE (rust/crates/darling_core-0.14.4.crate) = 57485
+SHA256 (rust/crates/darling_core-0.20.8.crate) = 9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f
+SIZE (rust/crates/darling_core-0.20.8.crate) = 64442
+SHA256 (rust/crates/darling_macro-0.14.4.crate) = a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e
+SIZE (rust/crates/darling_macro-0.14.4.crate) = 1896
+SHA256 (rust/crates/darling_macro-0.20.8.crate) = a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f
+SIZE (rust/crates/darling_macro-0.20.8.crate) = 1856
+SHA256 (rust/crates/deranged-0.3.11.crate) = b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4
+SIZE (rust/crates/deranged-0.3.11.crate) = 18043
+SHA256 (rust/crates/derive-where-1.2.7.crate) = 62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25
+SIZE (rust/crates/derive-where-1.2.7.crate) = 46524
+SHA256 (rust/crates/digest-0.9.0.crate) = d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066
+SIZE (rust/crates/digest-0.9.0.crate) = 13247
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/directories-4.0.1.crate) = f51c5d4ddabd36886dd3e1438cb358cdcb0d7c499cb99cb4ac2e38e18b5cb210
+SIZE (rust/crates/directories-4.0.1.crate) = 16040
+SHA256 (rust/crates/dirs-sys-0.3.7.crate) = 1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6
+SIZE (rust/crates/dirs-sys-0.3.7.crate) = 10597
+SHA256 (rust/crates/displaydoc-0.2.4.crate) = 487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d
+SIZE (rust/crates/displaydoc-0.2.4.crate) = 23200
+SHA256 (rust/crates/dunce-1.0.4.crate) = 56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b
+SIZE (rust/crates/dunce-1.0.4.crate) = 8034
+SHA256 (rust/crates/dyn-clone-1.0.17.crate) = 0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125
+SIZE (rust/crates/dyn-clone-1.0.17.crate) = 11848
+SHA256 (rust/crates/either-1.10.0.crate) = 11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a
+SIZE (rust/crates/either-1.10.0.crate) = 18334
+SHA256 (rust/crates/env_filter-0.1.0.crate) = a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea
+SIZE (rust/crates/env_filter-0.1.0.crate) = 11553
+SHA256 (rust/crates/env_logger-0.11.3.crate) = 38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9
+SIZE (rust/crates/env_logger-0.11.3.crate) = 29704
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/erased-serde-0.3.31.crate) = 6c138974f9d5e7fe373eb04df7cae98833802ae4b11c24ac7039a21d5af4b26c
+SIZE (rust/crates/erased-serde-0.3.31.crate) = 24182
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/fastrand-2.0.2.crate) = 658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984
+SIZE (rust/crates/fastrand-2.0.2.crate) = 14674
+SHA256 (rust/crates/fern-0.6.2.crate) = d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee
+SIZE (rust/crates/fern-0.6.2.crate) = 304626
+SHA256 (rust/crates/fiat-crypto-0.2.7.crate) = c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f
+SIZE (rust/crates/fiat-crypto-0.2.7.crate) = 495388
+SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80
+SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954
+SHA256 (rust/crates/flate2-1.0.28.crate) = 46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e
+SIZE (rust/crates/flate2-1.0.28.crate) = 73690
+SHA256 (rust/crates/fnv-1.0.7.crate) = 3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1
+SIZE (rust/crates/fnv-1.0.7.crate) = 11266
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/funty-2.0.0.crate) = e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c
+SIZE (rust/crates/funty-2.0.0.crate) = 13160
+SHA256 (rust/crates/futures-0.3.30.crate) = 645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0
+SIZE (rust/crates/futures-0.3.30.crate) = 53828
+SHA256 (rust/crates/futures-channel-0.3.30.crate) = eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78
+SIZE (rust/crates/futures-channel-0.3.30.crate) = 31736
+SHA256 (rust/crates/futures-core-0.3.30.crate) = dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d
+SIZE (rust/crates/futures-core-0.3.30.crate) = 14071
+SHA256 (rust/crates/futures-executor-0.3.30.crate) = a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d
+SIZE (rust/crates/futures-executor-0.3.30.crate) = 17744
+SHA256 (rust/crates/futures-io-0.3.30.crate) = a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1
+SIZE (rust/crates/futures-io-0.3.30.crate) = 8910
+SHA256 (rust/crates/futures-macro-0.3.30.crate) = 87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac
+SIZE (rust/crates/futures-macro-0.3.30.crate) = 11278
+SHA256 (rust/crates/futures-sink-0.3.30.crate) = 9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5
+SIZE (rust/crates/futures-sink-0.3.30.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.30.crate) = 38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004
+SIZE (rust/crates/futures-task-0.3.30.crate) = 11126
+SHA256 (rust/crates/futures-util-0.3.30.crate) = 3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48
+SIZE (rust/crates/futures-util-0.3.30.crate) = 159977
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/getrandom-0.2.12.crate) = 190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5
+SIZE (rust/crates/getrandom-0.2.12.crate) = 36163
+SHA256 (rust/crates/ghash-0.5.1.crate) = f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1
+SIZE (rust/crates/ghash-0.5.1.crate) = 9482
+SHA256 (rust/crates/gimli-0.28.1.crate) = 4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253
+SIZE (rust/crates/gimli-0.28.1.crate) = 270497
+SHA256 (rust/crates/h2-0.3.25.crate) = 4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb
+SIZE (rust/crates/h2-0.3.25.crate) = 167894
+SHA256 (rust/crates/hashbrown-0.12.3.crate) = 8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888
+SIZE (rust/crates/hashbrown-0.12.3.crate) = 102968
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/heck-0.5.0.crate) = 2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea
+SIZE (rust/crates/heck-0.5.0.crate) = 11517
+SHA256 (rust/crates/hermit-abi-0.3.9.crate) = d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024
+SIZE (rust/crates/hermit-abi-0.3.9.crate) = 16165
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/hex-literal-0.4.1.crate) = 6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46
+SIZE (rust/crates/hex-literal-0.4.1.crate) = 8559
+SHA256 (rust/crates/hkdf-0.11.0.crate) = 01706d578d5c281058480e673ae4086a9f4710d8df1ad80a5b03e39ece5f886b
+SIZE (rust/crates/hkdf-0.11.0.crate) = 171707
+SHA256 (rust/crates/hkdf-0.12.4.crate) = 7b5f8eb2ad728638ea2c7d47a21db23b7b58a72ed6a38256b8a1849f15fbbdf7
+SIZE (rust/crates/hkdf-0.12.4.crate) = 171163
+SHA256 (rust/crates/hmac-0.11.0.crate) = 2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b
+SIZE (rust/crates/hmac-0.11.0.crate) = 11385
+SHA256 (rust/crates/hmac-0.12.1.crate) = 6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e
+SIZE (rust/crates/hmac-0.12.1.crate) = 42657
+SHA256 (rust/crates/home-0.5.9.crate) = e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5
+SIZE (rust/crates/home-0.5.9.crate) = 8760
+SHA256 (rust/crates/hound-3.5.1.crate) = 62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f
+SIZE (rust/crates/hound-3.5.1.crate) = 39446
+SHA256 (rust/crates/http-0.2.12.crate) = 601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1
+SIZE (rust/crates/http-0.2.12.crate) = 101964
+SHA256 (rust/crates/http-body-0.4.6.crate) = 7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2
+SIZE (rust/crates/http-body-0.4.6.crate) = 10773
+SHA256 (rust/crates/httparse-1.8.0.crate) = d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904
+SIZE (rust/crates/httparse-1.8.0.crate) = 29954
+SHA256 (rust/crates/httpdate-1.0.3.crate) = df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9
+SIZE (rust/crates/httpdate-1.0.3.crate) = 10639
+SHA256 (rust/crates/humansize-2.1.3.crate) = 6cb51c9a029ddc91b07a787f1d86b53ccfa49b0e86688c946ebe8d3555685dd7
+SIZE (rust/crates/humansize-2.1.3.crate) = 11953
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/hyper-0.14.28.crate) = bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80
+SIZE (rust/crates/hyper-0.14.28.crate) = 197204
+SHA256 (rust/crates/hyper-timeout-0.4.1.crate) = bbb958482e8c7be4bc3cf272a766a2b0bf1a6755e7a6ae777f017a31d11b13b1
+SIZE (rust/crates/hyper-timeout-0.4.1.crate) = 13805
+SHA256 (rust/crates/hyperlocal-0.8.0.crate) = 0fafdf7b2b2de7c9784f76e02c0935e65a8117ec3b768644379983ab333ac98c
+SIZE (rust/crates/hyperlocal-0.8.0.crate) = 11626
+SHA256 (rust/crates/iana-time-zone-0.1.60.crate) = e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141
+SIZE (rust/crates/iana-time-zone-0.1.60.crate) = 27074
+SHA256 (rust/crates/iana-time-zone-haiku-0.1.2.crate) = f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f
+SIZE (rust/crates/iana-time-zone-haiku-0.1.2.crate) = 7185
+SHA256 (rust/crates/ident_case-1.0.1.crate) = b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39
+SIZE (rust/crates/ident_case-1.0.1.crate) = 3492
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/indexmap-1.9.3.crate) = bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99
+SIZE (rust/crates/indexmap-1.9.3.crate) = 54653
+SHA256 (rust/crates/indexmap-2.2.6.crate) = 168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26
+SIZE (rust/crates/indexmap-2.2.6.crate) = 82420
+SHA256 (rust/crates/inout-0.1.3.crate) = a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5
+SIZE (rust/crates/inout-0.1.3.crate) = 10743
+SHA256 (rust/crates/itertools-0.11.0.crate) = b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57
+SIZE (rust/crates/itertools-0.11.0.crate) = 125074
+SHA256 (rust/crates/itertools-0.12.1.crate) = ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569
+SIZE (rust/crates/itertools-0.12.1.crate) = 137761
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/jni-0.21.1.crate) = 1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97
+SIZE (rust/crates/jni-0.21.1.crate) = 105028
+SHA256 (rust/crates/jni-sys-0.3.0.crate) = 8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130
+SIZE (rust/crates/jni-sys-0.3.0.crate) = 10232
+SHA256 (rust/crates/js-sys-0.3.69.crate) = 29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d
+SIZE (rust/crates/js-sys-0.3.69.crate) = 81083
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/libloading-0.8.3.crate) = 0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19
+SIZE (rust/crates/libloading-0.8.3.crate) = 28480
+SHA256 (rust/crates/libm-0.2.8.crate) = 4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058
+SIZE (rust/crates/libm-0.2.8.crate) = 113450
+SHA256 (rust/crates/libredox-0.0.1.crate) = 85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8
+SIZE (rust/crates/libredox-0.0.1.crate) = 4212
+SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c
+SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855
+SHA256 (rust/crates/log-0.4.21.crate) = 90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c
+SIZE (rust/crates/log-0.4.21.crate) = 43442
+SHA256 (rust/crates/matchit-0.7.3.crate) = 0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94
+SIZE (rust/crates/matchit-0.7.3.crate) = 30372
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef
+SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/miniz_oxide-0.7.2.crate) = 9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7
+SIZE (rust/crates/miniz_oxide-0.7.2.crate) = 55731
+SHA256 (rust/crates/mio-0.8.11.crate) = a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c
+SIZE (rust/crates/mio-0.8.11.crate) = 102983
+SHA256 (rust/crates/multimap-0.8.3.crate) = e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a
+SIZE (rust/crates/multimap-0.8.3.crate) = 13518
+SHA256 (rust/crates/neon-1.0.0.crate) = 7d75440242411c87dc39847b0e33e961ec1f10326a9d8ecf9c1ea64a3b3c13dc
+SIZE (rust/crates/neon-1.0.0.crate) = 86108
+SHA256 (rust/crates/neon-macros-1.0.0.crate) = c6813fde79b646e47e7ad75f480aa80ef76a5d9599e2717407961531169ee38b
+SIZE (rust/crates/neon-macros-1.0.0.crate) = 5886
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/ntapi-0.4.1.crate) = e8a3895c6391c39d7fe7ebc444a87eb2991b2a0bc718fdabd071eec617fc68e4
+SIZE (rust/crates/ntapi-0.4.1.crate) = 126552
+SHA256 (rust/crates/num-conv-0.1.0.crate) = 51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9
+SIZE (rust/crates/num-conv-0.1.0.crate) = 7444
+SHA256 (rust/crates/num-traits-0.2.18.crate) = da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a
+SIZE (rust/crates/num-traits-0.2.18.crate) = 51930
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/num_enum-0.6.1.crate) = 7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1
+SIZE (rust/crates/num_enum-0.6.1.crate) = 17911
+SHA256 (rust/crates/num_enum-0.7.2.crate) = 02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845
+SIZE (rust/crates/num_enum-0.7.2.crate) = 18571
+SHA256 (rust/crates/num_enum_derive-0.6.1.crate) = 96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6
+SIZE (rust/crates/num_enum_derive-0.6.1.crate) = 15403
+SHA256 (rust/crates/num_enum_derive-0.7.2.crate) = 681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b
+SIZE (rust/crates/num_enum_derive-0.7.2.crate) = 17090
+SHA256 (rust/crates/object-0.32.2.crate) = a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441
+SIZE (rust/crates/object-0.32.2.crate) = 286994
+SHA256 (rust/crates/once_cell-1.19.0.crate) = 3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92
+SIZE (rust/crates/once_cell-1.19.0.crate) = 33046
+SHA256 (rust/crates/opaque-debug-0.3.1.crate) = c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381
+SIZE (rust/crates/opaque-debug-0.3.1.crate) = 7066
+SHA256 (rust/crates/partial-default-0.1.0.crate) = 124dc3c21ffb6fb3a0562d129929a8a54998766ef7adc1ba09ddc467d092c14b
+SIZE (rust/crates/partial-default-0.1.0.crate) = 15031
+SHA256 (rust/crates/partial-default-derive-0.1.0.crate) = 7459127d7a18cb202d418e4b7df1103ffd6d82a106e9b2091c250624c2ace70d
+SIZE (rust/crates/partial-default-derive-0.1.0.crate) = 4842
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/petgraph-0.6.4.crate) = e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9
+SIZE (rust/crates/petgraph-0.6.4.crate) = 185895
+SHA256 (rust/crates/pin-project-1.1.5.crate) = b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3
+SIZE (rust/crates/pin-project-1.1.5.crate) = 54214
+SHA256 (rust/crates/pin-project-internal-1.1.5.crate) = 2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965
+SIZE (rust/crates/pin-project-internal-1.1.5.crate) = 28280
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
+SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
+SHA256 (rust/crates/platforms-3.3.0.crate) = 626dec3cac7cc0e1577a2ec3fc496277ec2baa084bebad95bb6fdbfae235f84c
+SIZE (rust/crates/platforms-3.3.0.crate) = 28955
+SHA256 (rust/crates/plotly-0.8.4.crate) = b7174c07682d8c13cded3fcdf54d9c1d09249b4e821f26e4ab7a60eb39e9783d
+SIZE (rust/crates/plotly-0.8.4.crate) = 1173311
+SHA256 (rust/crates/plotly_derive-0.8.4.crate) = b2fcc11cdbc83c1a49ed868156cc485037e01c612b03128ce98519e5662ede63
+SIZE (rust/crates/plotly_derive-0.8.4.crate) = 4735
+SHA256 (rust/crates/plotly_kaleido-0.8.4.crate) = 40b8d0cd0d7884dbfe9d986d5c2e372dec74db6ffe825666f72fd91017ff685c
+SIZE (rust/crates/plotly_kaleido-0.8.4.crate) = 4283
+SHA256 (rust/crates/polyval-0.6.2.crate) = 9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25
+SIZE (rust/crates/polyval-0.6.2.crate) = 18425
+SHA256 (rust/crates/powerfmt-0.2.0.crate) = 439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391
+SIZE (rust/crates/powerfmt-0.2.0.crate) = 15165
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/prettyplease-0.2.17.crate) = 8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7
+SIZE (rust/crates/prettyplease-0.2.17.crate) = 57713
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
+SHA256 (rust/crates/proc-macro-crate-3.1.0.crate) = 6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284
+SIZE (rust/crates/proc-macro-crate-3.1.0.crate) = 11084
+SHA256 (rust/crates/proc-macro2-1.0.79.crate) = e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e
+SIZE (rust/crates/proc-macro2-1.0.79.crate) = 47200
+SHA256 (rust/crates/prost-0.12.3.crate) = 146c289cda302b98a28d40c8b3b90498d6e526dd24ac2ecea73e4e491685b94a
+SIZE (rust/crates/prost-0.12.3.crate) = 29461
+SHA256 (rust/crates/prost-build-0.12.3.crate) = c55e02e35260070b6f716a2423c2ff1c3bb1642ddca6f99e1f26d06268a0e2d2
+SIZE (rust/crates/prost-build-0.12.3.crate) = 39018
+SHA256 (rust/crates/prost-derive-0.12.3.crate) = efb6c9a1dd1def8e2124d17e83a20af56f1570d6c2d2bd9e266ccb768df3840e
+SIZE (rust/crates/prost-derive-0.12.3.crate) = 19603
+SHA256 (rust/crates/prost-types-0.12.3.crate) = 193898f59edcf43c26227dcd4c8427f00d99d61e95dcde58dabd49fa291d470e
+SIZE (rust/crates/prost-types-0.12.3.crate) = 42091
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/radium-0.7.0.crate) = dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09
+SIZE (rust/crates/radium-0.7.0.crate) = 10906
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/redox_users-0.4.4.crate) = a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4
+SIZE (rust/crates/redox_users-0.4.4.crate) = 15438
+SHA256 (rust/crates/regex-1.10.4.crate) = c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c
+SIZE (rust/crates/regex-1.10.4.crate) = 253191
+SHA256 (rust/crates/regex-automata-0.4.6.crate) = 86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea
+SIZE (rust/crates/regex-automata-0.4.6.crate) = 617565
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/relative-path-1.9.2.crate) = e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc
+SIZE (rust/crates/relative-path-1.9.2.crate) = 22420
+SHA256 (rust/crates/ring-0.17.8.crate) = c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d
+SIZE (rust/crates/ring-0.17.8.crate) = 4188554
+SHA256 (rust/crates/rustc-demangle-0.1.23.crate) = d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76
+SIZE (rust/crates/rustc-demangle-0.1.23.crate) = 28970
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/rustix-0.38.32.crate) = 65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89
+SIZE (rust/crates/rustix-0.38.32.crate) = 376999
+SHA256 (rust/crates/rustls-0.22.3.crate) = 99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c
+SIZE (rust/crates/rustls-0.22.3.crate) = 332877
+SHA256 (rust/crates/rustls-pki-types-1.4.0.crate) = 868e20fada228fefaf6b652e00cc73623d54f8171e7352c18bb281571f2d92da
+SIZE (rust/crates/rustls-pki-types-1.4.0.crate) = 29296
+SHA256 (rust/crates/rustls-webpki-0.102.2.crate) = faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610
+SIZE (rust/crates/rustls-webpki-0.102.2.crate) = 196881
+SHA256 (rust/crates/rustversion-1.0.14.crate) = 7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4
+SIZE (rust/crates/rustversion-1.0.14.crate) = 17261
+SHA256 (rust/crates/ryu-1.0.17.crate) = e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1
+SIZE (rust/crates/ryu-1.0.17.crate) = 47537
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/semver-1.0.22.crate) = 92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca
+SIZE (rust/crates/semver-1.0.22.crate) = 30446
+SHA256 (rust/crates/send_wrapper-0.6.0.crate) = cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73
+SIZE (rust/crates/send_wrapper-0.6.0.crate) = 10519
+SHA256 (rust/crates/serde-1.0.197.crate) = 3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2
+SIZE (rust/crates/serde-1.0.197.crate) = 77087
+SHA256 (rust/crates/serde_derive-1.0.197.crate) = 7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b
+SIZE (rust/crates/serde_derive-1.0.197.crate) = 55771
+SHA256 (rust/crates/serde_json-1.0.114.crate) = c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0
+SIZE (rust/crates/serde_json-1.0.114.crate) = 146986
+SHA256 (rust/crates/serde_repr-0.1.18.crate) = 0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb
+SIZE (rust/crates/serde_repr-0.1.18.crate) = 9974
+SHA256 (rust/crates/serde_urlencoded-0.7.1.crate) = d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd
+SIZE (rust/crates/serde_urlencoded-0.7.1.crate) = 12822
+SHA256 (rust/crates/serde_with-2.3.3.crate) = 07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe
+SIZE (rust/crates/serde_with-2.3.3.crate) = 123415
+SHA256 (rust/crates/serde_with-3.7.0.crate) = ee80b0e361bbf88fd2f6e242ccd19cfda072cb0faa6ae694ecee08199938569a
+SIZE (rust/crates/serde_with-3.7.0.crate) = 140905
+SHA256 (rust/crates/serde_with_macros-2.3.3.crate) = 881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f
+SIZE (rust/crates/serde_with_macros-2.3.3.crate) = 28198
+SHA256 (rust/crates/serde_with_macros-3.7.0.crate) = 6561dc161a9224638a31d876ccdfefbc1df91d3f3a8342eddb35f055d48c7655
+SIZE (rust/crates/serde_with_macros-3.7.0.crate) = 30834
+SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
+SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/sha2-0.9.9.crate) = 4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800
+SIZE (rust/crates/sha2-0.9.9.crate) = 22247
+SHA256 (rust/crates/sha2-0.10.8.crate) = 793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8
+SIZE (rust/crates/sha2-0.10.8.crate) = 26357
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.13.2.crate) = 3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67
+SIZE (rust/crates/smallvec-1.13.2.crate) = 35216
+SHA256 (rust/crates/socket2-0.5.6.crate) = 05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871
+SIZE (rust/crates/socket2-0.5.6.crate) = 55270
+SHA256 (rust/crates/spin-0.9.8.crate) = 6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67
+SIZE (rust/crates/spin-0.9.8.crate) = 38958
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/strsim-0.10.0.crate) = 73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623
+SIZE (rust/crates/strsim-0.10.0.crate) = 11355
+SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01
+SIZE (rust/crates/strsim-0.11.0.crate) = 13710
+SHA256 (rust/crates/subtle-2.5.0.crate) = 81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc
+SIZE (rust/crates/subtle-2.5.0.crate) = 13909
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.55.crate) = 002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0
+SIZE (rust/crates/syn-2.0.55.crate) = 254901
+SHA256 (rust/crates/syn-mid-0.6.0.crate) = b5dc35bb08dd1ca3dfb09dce91fd2d13294d6711c88897d9a9d60acf39bce049
+SIZE (rust/crates/syn-mid-0.6.0.crate) = 12915
+SHA256 (rust/crates/sync_wrapper-0.1.2.crate) = 2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160
+SIZE (rust/crates/sync_wrapper-0.1.2.crate) = 6933
+SHA256 (rust/crates/sysinfo-0.29.11.crate) = cd727fc423c2060f6c92d9534cef765c65a6ed3f428a03d7def74a8c4348e666
+SIZE (rust/crates/sysinfo-0.29.11.crate) = 156557
+SHA256 (rust/crates/tap-1.0.1.crate) = 55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369
+SIZE (rust/crates/tap-1.0.1.crate) = 11316
+SHA256 (rust/crates/tempfile-3.10.1.crate) = 85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1
+SIZE (rust/crates/tempfile-3.10.1.crate) = 33653
+SHA256 (rust/crates/thiserror-1.0.58.crate) = 03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297
+SIZE (rust/crates/thiserror-1.0.58.crate) = 21025
+SHA256 (rust/crates/thiserror-impl-1.0.58.crate) = c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7
+SIZE (rust/crates/thiserror-impl-1.0.58.crate) = 15645
+SHA256 (rust/crates/time-0.1.45.crate) = 1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a
+SIZE (rust/crates/time-0.1.45.crate) = 28911
+SHA256 (rust/crates/time-0.3.34.crate) = c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749
+SIZE (rust/crates/time-0.3.34.crate) = 118430
+SHA256 (rust/crates/time-core-0.1.2.crate) = ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3
+SIZE (rust/crates/time-core-0.1.2.crate) = 7191
+SHA256 (rust/crates/time-macros-0.2.17.crate) = 7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774
+SIZE (rust/crates/time-macros-0.2.17.crate) = 24443
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/tokio-1.36.0.crate) = 61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931
+SIZE (rust/crates/tokio-1.36.0.crate) = 757286
+SHA256 (rust/crates/tokio-io-timeout-1.2.0.crate) = 30b74022ada614a1b4834de765f9bb43877f910cc8ce4be40e89042c9223a8bf
+SIZE (rust/crates/tokio-io-timeout-1.2.0.crate) = 8993
+SHA256 (rust/crates/tokio-macros-2.2.0.crate) = 5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b
+SIZE (rust/crates/tokio-macros-2.2.0.crate) = 11520
+SHA256 (rust/crates/tokio-stream-0.1.15.crate) = 267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af
+SIZE (rust/crates/tokio-stream-0.1.15.crate) = 36284
+SHA256 (rust/crates/tokio-util-0.7.10.crate) = 5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15
+SIZE (rust/crates/tokio-util-0.7.10.crate) = 110508
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421
+SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324
+SHA256 (rust/crates/toml_edit-0.21.1.crate) = 6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1
+SIZE (rust/crates/toml_edit-0.21.1.crate) = 101661
+SHA256 (rust/crates/tonic-0.11.0.crate) = 76c4eb7a4e9ef9d4763600161f12f5070b92a578e1b634db88a6887844c91a13
+SIZE (rust/crates/tonic-0.11.0.crate) = 92841
+SHA256 (rust/crates/tonic-build-0.11.0.crate) = be4ef6dd70a610078cb4e338a0f79d06bc759ff1b22d2120c2ff02ae264ba9c2
+SIZE (rust/crates/tonic-build-0.11.0.crate) = 17932
+SHA256 (rust/crates/tower-0.4.13.crate) = b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c
+SIZE (rust/crates/tower-0.4.13.crate) = 106906
+SHA256 (rust/crates/tower-layer-0.3.2.crate) = c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0
+SIZE (rust/crates/tower-layer-0.3.2.crate) = 6023
+SHA256 (rust/crates/tower-service-0.3.2.crate) = b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52
+SIZE (rust/crates/tower-service-0.3.2.crate) = 6847
+SHA256 (rust/crates/tracing-0.1.40.crate) = c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef
+SIZE (rust/crates/tracing-0.1.40.crate) = 79459
+SHA256 (rust/crates/tracing-attributes-0.1.27.crate) = 34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7
+SIZE (rust/crates/tracing-attributes-0.1.27.crate) = 32241
+SHA256 (rust/crates/tracing-core-0.1.32.crate) = c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54
+SIZE (rust/crates/tracing-core-0.1.32.crate) = 61221
+SHA256 (rust/crates/try-lock-0.2.5.crate) = e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b
+SIZE (rust/crates/try-lock-0.2.5.crate) = 4314
+SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
+SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/unicase-2.7.0.crate) = f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89
+SIZE (rust/crates/unicase-2.7.0.crate) = 23783
+SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75
+SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.23.crate) = a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5
+SIZE (rust/crates/unicode-normalization-0.1.23.crate) = 122649
+SHA256 (rust/crates/universal-hash-0.5.1.crate) = fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea
+SIZE (rust/crates/universal-hash-0.5.1.crate) = 9146
+SHA256 (rust/crates/untrusted-0.9.0.crate) = 8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1
+SIZE (rust/crates/untrusted-0.9.0.crate) = 14447
+SHA256 (rust/crates/ureq-2.9.6.crate) = 11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35
+SIZE (rust/crates/ureq-2.9.6.crate) = 113677
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/uuid-1.8.0.crate) = a183cf7feeba97b4dd1c0d46788634f6221d87fa961b305bed08c851829efcc0
+SIZE (rust/crates/uuid-1.8.0.crate) = 44043
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/walkdir-2.5.0.crate) = 29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b
+SIZE (rust/crates/walkdir-2.5.0.crate) = 23951
+SHA256 (rust/crates/want-0.3.1.crate) = bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e
+SIZE (rust/crates/want-0.3.1.crate) = 6398
+SHA256 (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f
+SIZE (rust/crates/wasi-0.10.0+wasi-snapshot-preview1.crate) = 26964
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.92.crate) = 4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8
+SIZE (rust/crates/wasm-bindgen-0.2.92.crate) = 184119
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da
+SIZE (rust/crates/wasm-bindgen-backend-0.2.92.crate) = 28348
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.92.crate) = a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726
+SIZE (rust/crates/wasm-bindgen-macro-0.2.92.crate) = 13835
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.92.crate) = 20092
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.92.crate) = af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96
+SIZE (rust/crates/wasm-bindgen-shared-0.2.92.crate) = 7263
+SHA256 (rust/crates/webpki-roots-0.26.1.crate) = b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009
+SIZE (rust/crates/webpki-roots-0.26.1.crate) = 249748
+SHA256 (rust/crates/which-4.4.2.crate) = 87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7
+SIZE (rust/crates/which-4.4.2.crate) = 15953
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-core-0.52.0.crate) = 33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9
+SIZE (rust/crates/windows-core-0.52.0.crate) = 42154
+SHA256 (rust/crates/windows-sys-0.45.0.crate) = 75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0
+SIZE (rust/crates/windows-sys-0.45.0.crate) = 2568659
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.42.2.crate) = 8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071
+SIZE (rust/crates/windows-targets-0.42.2.crate) = 5492
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.4.crate) = 7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b
+SIZE (rust/crates/windows-targets-0.52.4.crate) = 6310
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.42.2.crate) = 364071
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.4.crate) = 433373
+SHA256 (rust/crates/windows_aarch64_msvc-0.42.2.crate) = e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43
+SIZE (rust/crates/windows_aarch64_msvc-0.42.2.crate) = 666981
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.4.crate) = da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675
+SIZE (rust/crates/windows_aarch64_msvc-0.52.4.crate) = 828055
+SHA256 (rust/crates/windows_i686_gnu-0.42.2.crate) = c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f
+SIZE (rust/crates/windows_i686_gnu-0.42.2.crate) = 736236
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.4.crate) = b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3
+SIZE (rust/crates/windows_i686_gnu-0.52.4.crate) = 875736
+SHA256 (rust/crates/windows_i686_msvc-0.42.2.crate) = 44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060
+SIZE (rust/crates/windows_i686_msvc-0.42.2.crate) = 724951
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.4.crate) = 1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02
+SIZE (rust/crates/windows_i686_msvc-0.52.4.crate) = 895530
+SHA256 (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36
+SIZE (rust/crates/windows_x86_64_gnu-0.42.2.crate) = 699373
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03
+SIZE (rust/crates/windows_x86_64_gnu-0.52.4.crate) = 831627
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3
+SIZE (rust/crates/windows_x86_64_gnullvm-0.42.2.crate) = 364068
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.4.crate) = 433358
+SHA256 (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0
+SIZE (rust/crates/windows_x86_64_msvc-0.42.2.crate) = 666936
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8
+SIZE (rust/crates/windows_x86_64_msvc-0.52.4.crate) = 828019
+SHA256 (rust/crates/winnow-0.5.40.crate) = f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876
+SIZE (rust/crates/winnow-0.5.40.crate) = 159316
+SHA256 (rust/crates/wyz-0.5.1.crate) = 05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed
+SIZE (rust/crates/wyz-0.5.1.crate) = 18790
+SHA256 (rust/crates/x25519-dalek-2.0.1.crate) = c7e468321c81fb07fa7f4c636c3972b9100f0346e5b6a9f2bd0603a52f7ed277
+SIZE (rust/crates/x25519-dalek-2.0.1.crate) = 87820
+SHA256 (rust/crates/zeroize-1.7.0.crate) = 525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d
+SIZE (rust/crates/zeroize-1.7.0.crate) = 19039
+SHA256 (rust/crates/zeroize_derive-1.4.2.crate) = ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69
+SIZE (rust/crates/zeroize_derive-1.4.2.crate) = 11141
+SHA256 (rust/crates/zip-0.5.13.crate) = 93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815
+SIZE (rust/crates/zip-0.5.13.crate) = 48237
+SHA256 (signalapp-libsignal-v0.37.0_GH0.tar.gz) = 7943a8ed8f6f75cae63d9de9200649fb62b84beb796260f75f85990f013df4d4
+SIZE (signalapp-libsignal-v0.37.0_GH0.tar.gz) = 1067773
+SHA256 (signalapp-curve25519-dalek-signal-curve25519-4.1.1_GH0.tar.gz) = f129765413794896efd19667acda3645b9cd17b01181700fd781df68b584ec3d
+SIZE (signalapp-curve25519-dalek-signal-curve25519-4.1.1_GH0.tar.gz) = 801981
+SHA256 (signalapp-ringrtc-v2.39.3_GH0.tar.gz) = bd9c7a0325e4198e823a05f79bc681c73bb813ad78377fb342e959c776eea7ee
+SIZE (signalapp-ringrtc-v2.39.3_GH0.tar.gz) = 811359
+SHA256 (signalapp-webrtc-6261d_GH0.tar.gz) = bdd63f731f9e9e6bbe31cc109cc0c74918410f2cb886878e2e5c4904d6f1f5d1
+SIZE (signalapp-webrtc-6261d_GH0.tar.gz) = 39777153
diff --git a/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm b/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm
new file mode 100644
index 000000000000..492bd902dbb9
--- /dev/null
+++ b/multimedia/ringrtc/files/extra-patch-no-mempcpy-nasm
@@ -0,0 +1,11 @@
+--- src/webrtc/src/third_party/nasm/config/config-linux.h.orig 2021-04-14 18:43:05 UTC
++++ src/webrtc/src/third_party/nasm/config/config-linux.h
+@@ -336,7 +336,7 @@
+ #define HAVE_MEMORY_H 1
+
+ /* Define to 1 if you have the `mempcpy' function. */
+-#define HAVE_MEMPCPY 1
++/* #undef HAVE_MEMPCPY */
+
+ /* Define to 1 if you have a working `mmap' system call. */
+ #define HAVE_MMAP 1
diff --git a/multimedia/ringrtc/files/patch-src_rust_build.rs b/multimedia/ringrtc/files/patch-src_rust_build.rs
new file mode 100644
index 000000000000..bc67ceba6d2e
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_rust_build.rs
@@ -0,0 +1,13 @@
+--- src/rust/build.rs.orig 2021-03-15 17:47:59 UTC
++++ src/rust/build.rs
+@@ -21,7 +21,9 @@ fn main() {
+ println!("cargo:rustc-link-search=native=src/webrtc/src/out/Release/obj/",);
+ }
+
+- if cfg!(target_os = "macos") {
++ if cfg!(target_os = "freebsd") {
++ println!("cargo:rustc-link-lib=dylib=c++");
++ } else if cfg!(target_os = "macos") {
+ println!("cargo:rustc-link-lib=dylib=c++");
+ println!("cargo:rustc-link-lib=framework=Foundation");
+ println!("cargo:rustc-link-lib=framework=CoreAudio");
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn
new file mode 100644
index 000000000000..3cd0b0a1eb19
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_BUILD.gn
@@ -0,0 +1,23 @@
+--- src/webrtc/src/BUILD.gn.orig 2021-03-15 15:09:17 UTC
++++ src/webrtc/src/BUILD.gn
+@@ -188,6 +188,9 @@ config("common_inherited_config") {
+ if (is_linux || is_chromeos) {
+ defines += [ "WEBRTC_LINUX" ]
+ }
++ if (is_bsd) {
++ defines += [ "WEBRTC_BSD" ]
++ }
+ if (is_mac) {
+ defines += [ "WEBRTC_MAC" ]
+ }
+@@ -431,10 +434,6 @@ config("common_config") {
+ "/U_UNICODE",
+ ]
+ }
+-}
+-
+-config("common_objc") {
+- frameworks = [ "Foundation.framework" ]
+ }
+
+ if (!build_with_chromium) {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn
new file mode 100644
index 000000000000..2d1d7d5fec77
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILD.gn
@@ -0,0 +1,22 @@
+--- src/webrtc/src/build/config/BUILD.gn.orig 2021-05-26 12:26:11 UTC
++++ src/webrtc/src/build/config/BUILD.gn
+@@ -214,13 +214,17 @@ config("default_libs") {
+ # Targets should choose to explicitly link frameworks they require. Since
+ # linking can have run-time side effects, nothing should be listed here.
+ libs = []
+- } else if (is_linux || is_chromeos) {
++ } else if ((is_linux && !is_bsd) || is_chromeos) {
+ libs = [
+ "dl",
+ "pthread",
+ "rt",
+ ]
+- }
++ } else if (is_bsd) {
++ libs = [
++ "pthread",
++ ]
++ }
+ }
+
+ group("common_deps") {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn
new file mode 100644
index 000000000000..bd2e44be0118
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_BUILDCONFIG.gn
@@ -0,0 +1,45 @@
+--- src/webrtc/src/build/config/BUILDCONFIG.gn.orig 2021-11-15 18:52:18 UTC
++++ src/webrtc/src/build/config/BUILDCONFIG.gn
+@@ -139,7 +139,8 @@ declare_args() {
+ is_official_build = false
+
+ # Set to true when compiling with the Clang compiler.
+- is_clang = current_os != "linux" ||
++ is_clang = current_os != "linux" || current_os == "openbsd" ||
++ current_os == "freebsd" ||
+ (current_cpu != "s390x" && current_cpu != "s390" &&
+ current_cpu != "ppc64" && current_cpu != "ppc" &&
+ current_cpu != "mips" && current_cpu != "mips64" &&
+@@ -228,6 +229,10 @@ if (host_toolchain == "") {
+ host_toolchain = "//build/toolchain/aix:$host_cpu"
+ } else if (host_os == "zos") {
+ host_toolchain = "//build/toolchain/zos:$host_cpu"
++ } else if (host_os == "openbsd") {
++ host_toolchain = "//build/toolchain/openbsd:clang_$host_cpu"
++ } else if (host_os == "freebsd") {
++ host_toolchain = "//build/toolchain/freebsd:clang_$host_cpu"
+ } else {
+ assert(false, "Unsupported host_os: $host_os")
+ }
+@@ -271,6 +276,8 @@ if (target_os == "android") {
+ _default_toolchain = "//build/toolchain/aix:$target_cpu"
+ } else if (target_os == "zos") {
+ _default_toolchain = "//build/toolchain/zos:$target_cpu"
++} else if (target_os == "openbsd" || target_os == "freebsd") {
++ _default_toolchain = host_toolchain
+ } else {
+ assert(false, "Unsupported target_os: $target_os")
+ }
+@@ -305,7 +312,11 @@ is_android = current_os == "android"
+ is_chromeos = current_os == "chromeos"
+ is_fuchsia = current_os == "fuchsia"
+ is_ios = current_os == "ios"
+-is_linux = current_os == "linux"
++is_linux = current_os == "linux" || current_os == "openbsd" ||
++ current_os == "freebsd"
++is_openbsd = current_os == "openbsd"
++is_freebsd = current_os == "freebsd"
++is_bsd = current_os == "openbsd" || current_os == "freebsd"
+ is_mac = current_os == "mac"
+ is_nacl = current_os == "nacl"
+ is_win = current_os == "win" || current_os == "winuwp"
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn
new file mode 100644
index 000000000000..157729e9eb0a
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_BUILD.gn
@@ -0,0 +1,145 @@
+--- src/webrtc/src/build/config/compiler/BUILD.gn.orig 2022-02-16 12:34:12 UTC
++++ src/webrtc/src/build/config/compiler/BUILD.gn
+@@ -204,7 +204,7 @@ declare_args() {
+ # This greatly reduces the size of debug builds, at the cost of
+ # debugging information which is required by some specialized
+ # debugging tools.
+- simple_template_names = is_clang && !is_nacl && !is_win && !is_apple
++ simple_template_names = is_clang && !is_nacl && !is_win && !is_apple && !is_bsd
+ }
+
+ declare_args() {
+@@ -268,13 +268,16 @@ config("no_unresolved_symbols") {
+ # Compiler instrumentation can introduce dependencies in DSOs to symbols in
+ # the executable they are loaded into, so they are unresolved at link-time.
+ config("no_unresolved_symbols") {
+- if (!using_sanitizer &&
++ if (!using_sanitizer && !is_bsd &&
+ (is_linux || is_chromeos || is_android || is_fuchsia)) {
+ ldflags = [
+ "-Wl,-z,defs",
+ "-Wl,--as-needed",
+ ]
+ }
++ if (current_cpu == "x86" && is_openbsd) {
++ ldflags = [ "-Wl,-z,notext" ]
++ }
+ }
+
+ # compiler ---------------------------------------------------------------------
+@@ -520,6 +523,10 @@ config("compiler") {
+ }
+ }
+
++ if (is_openbsd) {
++ ldflags += [ "-Wl,-z,wxneeded" ]
++ }
++
+ # Linux-specific compiler flags setup.
+ # ------------------------------------
+ if (use_gold) {
+@@ -595,7 +602,7 @@ config("compiler") {
+ ldflags += [ "-Wl,-z,keep-text-section-prefix" ]
+ }
+
+- if (is_clang && !is_nacl && current_os != "zos") {
++ if (is_clang && !is_nacl && current_os != "zos" && !is_bsd) {
+ cflags += [ "-fcrash-diagnostics-dir=" + clang_diagnostic_dir ]
+ if (save_reproducers_on_lld_crash && use_lld) {
+ ldflags += [
+@@ -1174,7 +1181,7 @@ config("compiler_cpu_abi") {
+ ]
+ }
+ } else if (current_cpu == "arm") {
+- if (is_clang && !is_android && !is_nacl &&
++ if (is_clang && !is_android && !is_nacl && !is_bsd &&
+ !(is_chromeos_lacros && is_chromeos_device)) {
+ cflags += [ "--target=arm-linux-gnueabihf" ]
+ ldflags += [ "--target=arm-linux-gnueabihf" ]
+@@ -1189,7 +1196,7 @@ config("compiler_cpu_abi") {
+ cflags += [ "-mtune=$arm_tune" ]
+ }
+ } else if (current_cpu == "arm64") {
+- if (is_clang && !is_android && !is_nacl && !is_fuchsia &&
++ if (is_clang && !is_android && !is_nacl && !is_fuchsia && !is_bsd &&
+ !(is_chromeos_lacros && is_chromeos_device)) {
+ cflags += [ "--target=aarch64-linux-gnu" ]
+ ldflags += [ "--target=aarch64-linux-gnu" ]
+@@ -1524,7 +1531,7 @@ config("compiler_deterministic") {
+ # different build directory like "out/feature_a" and "out/feature_b" if
+ # we build same files with same compile flag.
+ # Other paths are already given in relative, no need to normalize them.
+- if (is_nacl) {
++ if (is_nacl || is_bsd) {
+ # TODO(https://crbug.com/1231236): Use -ffile-compilation-dir= here.
+ cflags += [
+ "-Xclang",
+@@ -1576,7 +1583,7 @@ config("clang_revision") {
+ }
+
+ config("clang_revision") {
+- if (is_clang && clang_base_path == default_clang_base_path) {
++ if (is_clang && !is_bsd && clang_base_path == default_clang_base_path) {
+ update_args = [
+ "--print-revision",
+ "--verify-version=$clang_version",
+@@ -1874,12 +1881,9 @@ config("default_warnings") {
+
+ # TODO(crbug.com/1494809): Evaluate and possibly enable.
+ "-Wno-vla-extension",
+-
+- # TODO(https://crbug.com/1490607): Fix and re-enable.
+- "-Wno-thread-safety-reference-return",
+ ]
+
+- if (!is_nacl) {
++ if (!is_nacl && !is_bsd) {
+ cflags_cc += [
+ # TODO(https://crbug.com/1513724): Fix and re-enable.
+ "-Wno-c++11-narrowing-const-reference",
+@@ -2018,7 +2022,7 @@ config("chromium_code") {
+ ]
+
+ # Thread safety analysis is broken under nacl: https://crbug.com/982423.
+- if (!is_nacl || is_nacl_saigo) {
++ if (!is_bsd && (!is_nacl || is_nacl_saigo)) {
+ cflags += [
+ # Thread safety analysis. See base/thread_annotations.h and
+ # https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
+@@ -2067,7 +2071,7 @@ config("no_chromium_code") {
+ # third-party libraries.
+ "-Wno-c++11-narrowing",
+ ]
+- if (!is_nacl) {
++ if (!is_nacl && !is_freebsd) {
+ cflags += [
+ # Disabled for similar reasons as -Wunused-variable.
+ "-Wno-unused-but-set-variable",
+@@ -2596,7 +2600,7 @@ config("afdo") {
+ # There are some targeted places that AFDO regresses, so we provide a separate
+ # config to allow AFDO to be disabled per-target.
+ config("afdo") {
+- if (is_clang) {
++ if (is_clang && !is_bsd) {
+ cflags = []
+ if (clang_emit_debug_info_for_profiling) {
+ # Add the following flags to generate debug info for profiling.
+@@ -2623,7 +2627,7 @@ config("afdo") {
+ cflags += [ "-Wno-backend-plugin" ]
+ inputs = [ _clang_sample_profile ]
+ }
+- } else if (auto_profile_path != "" && is_a_target_toolchain) {
++ } else if (auto_profile_path != "" && is_a_target_toolchain && !is_bsd) {
+ cflags = [ "-fauto-profile=${auto_profile_path}" ]
+ inputs = [ auto_profile_path ]
+ }
+@@ -2787,7 +2791,8 @@ config("symbols") {
+ configs += [ "//build/config:compress_debug_sections" ]
+ }
+
+- if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos") {
++ if (is_clang && (!is_nacl || is_nacl_saigo) && current_os != "zos" &&
++ !is_bsd) {
+ if (is_apple) {
+ # TODO(https://crbug.com/1050118): Investigate missing debug info on mac.
+ # Make sure we don't use constructor homing on mac.
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni
new file mode 100644
index 000000000000..42353cb83d4e
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_compiler_compiler.gni
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/config/compiler/compiler.gni.orig 2021-11-15 18:52:18 UTC
++++ src/webrtc/src/build/config/compiler/compiler.gni
+@@ -230,7 +230,7 @@ declare_args() {
+
+ declare_args() {
+ # Whether to use the gold linker from binutils instead of lld or bfd.
+- use_gold = !use_lld && !(is_castos &&
++ use_gold = !is_bsd && !use_lld && !(is_castos &&
+ (current_cpu == "arm" || current_cpu == "mipsel")) &&
+ (((is_linux || is_chromeos_lacros) &&
+ (current_cpu == "x64" || current_cpu == "x86" ||
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni
new file mode 100644
index 000000000000..fe60d15c1686
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_features.gni
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/config/features.gni.orig 2020-09-19 19:50:44 UTC
++++ src/webrtc/src/build/config/features.gni
+@@ -31,7 +31,7 @@ declare_args() {
+ proprietary_codecs = is_chrome_branded || is_castos || is_cast_android
+
+ # libudev usage. This currently only affects the content layer.
+- use_udev = (is_linux && !is_castos) || is_chromeos
++ use_udev = !is_bsd && ((is_linux && !is_castos) || is_chromeos)
+
+ use_dbus = is_linux || is_chromeos
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni
new file mode 100644
index 000000000000..c0f46decc5a2
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_freetype_freetype.gni
@@ -0,0 +1,9 @@
+--- src/webrtc/src/build/config/freetype/freetype.gni.orig 2019-03-18 08:59:45 UTC
++++ src/webrtc/src/build/config/freetype/freetype.gni
+@@ -10,5 +10,5 @@ declare_args() {
+ # than version 2.7.1 and have color bitmap support compiled in. WARNING:
+ # System FreeType configurations other than as described WILL INTRODUCE TEXT
+ # RENDERING AND SECURITY REGRESSIONS.
+- use_system_freetype = false
++ use_system_freetype = true
+ }
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn
new file mode 100644
index 000000000000..82d156e8558d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/config/linux/BUILD.gn.orig 2021-10-13 07:49:03 UTC
++++ src/webrtc/src/build/config/linux/BUILD.gn
+@@ -41,7 +41,7 @@ config("runtime_library") {
+ }
+
+ if ((!is_chromeos || default_toolchain != "//build/toolchain/cros:target") &&
+- (!use_custom_libcxx || current_cpu == "mipsel")) {
++ (!use_custom_libcxx || current_cpu == "mipsel") && !is_bsd) {
+ libs = [ "atomic" ]
+ }
+ }
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py
new file mode 100644
index 000000000000..7890572bd313
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_linux_pkg-config.py
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/config/linux/pkg-config.py.orig 2019-07-24 18:58:02 UTC
++++ src/webrtc/src/build/config/linux/pkg-config.py
+@@ -108,7 +108,7 @@ def main():
+ # If this is run on non-Linux platforms, just return nothing and indicate
+ # success. This allows us to "kind of emulate" a Linux build from other
+ # platforms.
+- if "linux" not in sys.platform:
++ if not sys.platform.startswith(tuple(['linux', 'openbsd', 'freebsd'])):
+ print("[[],[],[],[],[]]")
+ return 0
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni
new file mode 100644
index 000000000000..49235361b682
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_config_sysroot.gni
@@ -0,0 +1,15 @@
+--- src/webrtc/src/build/config/sysroot.gni.orig 2020-05-13 18:39:36 UTC
++++ src/webrtc/src/build/config/sysroot.gni
+@@ -19,10 +19,10 @@ declare_args() {
+
+ # Controls default is_linux sysroot. If set to true, and sysroot
+ # is empty, default sysroot is calculated.
+- use_sysroot =
++ use_sysroot = !is_bsd && (
+ current_cpu == "x86" || current_cpu == "x64" || current_cpu == "arm" ||
+ current_cpu == "arm64" || current_cpu == "mipsel" ||
+- current_cpu == "mips64el" || (current_cpu == "riscv64" && is_android)
++ current_cpu == "mips64el" || (current_cpu == "riscv64" && is_android))
+ }
+
+ if (sysroot == "") {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py
new file mode 100644
index 000000000000..9df4617d9ed2
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_detect__host__arch.py
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/detect_host_arch.py.orig 2019-07-24 18:58:02 UTC
++++ src/webrtc/src/build/detect_host_arch.py
+@@ -20,6 +20,8 @@ def HostArch():
+ host_arch = 'ia32'
+ elif host_arch in ['x86_64', 'amd64']:
+ host_arch = 'x64'
++ elif host_arch.startswith('arm64'):
++ host_arch = 'arm64'
+ elif host_arch.startswith('arm'):
+ host_arch = 'arm'
+ elif host_arch.startswith('aarch64'):
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py
new file mode 100644
index 000000000000..63992f0c889d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_gn__run__binary.py
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/gn_run_binary.py.orig 2019-07-24 18:58:02 UTC
++++ src/webrtc/src/build/gn_run_binary.py
+@@ -23,7 +23,7 @@ if not os.path.isabs(path):
+ # The rest of the arguments are passed directly to the executable.
+ args = [path] + sys.argv[2:]
+
+-ret = subprocess.call(args)
++ret = subprocess.call(args, env={"CHROME_EXE_PATH":"${WRKSRC}/out/Release/chrome","LD_LIBRARY_PATH":"${WRKSRC}/out/Release"})
+ if ret != 0:
+ if ret <= -100:
+ # Windows error codes such as 0xC0000005 and 0xC0000409 are much easier to
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map
new file mode 100644
index 000000000000..c3f97aeafa2c
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_chrome.map
@@ -0,0 +1,13 @@
+--- src/webrtc/src/build/linux/chrome.map.orig 2021-05-01 21:15:31 UTC
++++ src/webrtc/src/build/linux/chrome.map
+@@ -20,6 +20,10 @@ global:
+ # Program entry point.
+ _start;
+
++ # FreeBSD specific variables.
++ __progname;
++ environ;
++
+ # Memory allocation symbols. We want chrome and any libraries to
+ # share the same heap, so it is correct to export these symbols.
+ aligned_alloc;
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn
new file mode 100644
index 000000000000..b8a4d07953ef
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_libpci_BUILD.gn
@@ -0,0 +1,53 @@
+--- src/webrtc/src/build/linux/libpci/BUILD.gn.orig 2019-03-11 22:00:52 UTC
++++ src/webrtc/src/build/linux/libpci/BUILD.gn
+@@ -3,20 +3,36 @@
+ # found in the LICENSE file.
+
+ import("//tools/generate_library_loader/generate_library_loader.gni")
++import("//build/config/linux/pkg_config.gni")
+
+-# This generates a target named "libpci".
+-generate_library_loader("libpci") {
+- name = "LibPciLoader"
+- output_h = "libpci.h"
+- output_cc = "libpci_loader.cc"
+- header = "<pci/pci.h>"
++declare_args() {
++ use_system_libpci = is_bsd
++}
+
+- functions = [
+- "pci_alloc",
+- "pci_init",
+- "pci_cleanup",
+- "pci_scan_bus",
+- "pci_fill_info",
+- "pci_lookup_name",
+- ]
++if (use_system_libpci) {
++ pkg_config("system_libpci") {
++ packages = [ "libpci" ]
++ }
++
++ source_set("libpci") {
++ public_configs = [ ":system_libpci" ]
++ }
++
++} else {
++ # This generates a target named "libpci".
++ generate_library_loader("libpci") {
++ name = "LibPciLoader"
++ output_h = "libpci.h"
++ output_cc = "libpci_loader.cc"
++ header = "<pci/pci.h>"
++
++ functions = [
++ "pci_alloc",
++ "pci_init",
++ "pci_cleanup",
++ "pci_scan_bus",
++ "pci_fill_info",
++ "pci_lookup_name",
++ ]
++ }
+ }
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn
new file mode 100644
index 000000000000..81f57ef449f9
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_libusb.gn
@@ -0,0 +1,27 @@
+--- src/webrtc/src/build/linux/unbundle/libusb.gn.orig 2019-03-17 01:47:13 UTC
++++ src/webrtc/src/build/linux/unbundle/libusb.gn
+@@ -0,0 +1,24 @@
++# Copyright 2016 The Chromium Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("system_libusb") {
++ packages = [ "libusb-1.0" ]
++}
++
++shim_headers("libusb_shim") {
++ root_path = "src/libusb"
++ headers = [
++ "libusb.h",
++ ]
++}
++
++source_set("libusb") {
++ deps = [
++ ":libusb_shim",
++ ]
++ public_configs = [ ":system_libusb" ]
++}
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py
new file mode 100644
index 000000000000..64f971e383a2
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_linux_unbundle_replace__gn__files.py
@@ -0,0 +1,10 @@
+--- src/webrtc/src/build/linux/unbundle/replace_gn_files.py.orig 2021-11-15 18:52:18 UTC
++++ src/webrtc/src/build/linux/unbundle/replace_gn_files.py
+@@ -56,6 +56,7 @@ REPLACEMENTS = {
+ 'libevent': 'third_party/libevent/BUILD.gn',
+ 'libjpeg': 'third_party/libjpeg.gni',
+ 'libpng': 'third_party/libpng/BUILD.gn',
++ 'libusb': 'third_party/libusb/BUILD.gn',
+ 'libsecret' : 'third_party/libsecret/BUILD.gn',
+ 'libusb': 'third_party/libusb/BUILD.gn',
+ 'libvpx': 'third_party/libvpx/BUILD.gn',
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn
new file mode 100644
index 000000000000..c2f3f8e28d2d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_freebsd_BUILD.gn
@@ -0,0 +1,69 @@
+--- src/webrtc/src/build/toolchain/freebsd/BUILD.gn.orig 2022-02-07 13:39:41 UTC
++++ src/webrtc/src/build/toolchain/freebsd/BUILD.gn
+@@ -0,0 +1,66 @@
++# Copyright 2013 The Chromium Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/sysroot.gni")
++import("//build/toolchain/gcc_toolchain.gni")
++
++clang_toolchain("clang_x86") {
++ toolchain_args = {
++ current_cpu = "x86"
++ current_os = "freebsd"
++ }
++}
++
++gcc_toolchain("x86") {
++ cc = "gcc"
++ cxx = "g++"
++
++ readelf = "readelf"
++ nm = "nm"
++ ar = "ar"
++ ld = cxx
++
++ toolchain_args = {
++ current_cpu = "x86"
++ current_os = "freebsd"
++ is_clang = false
++ }
++}
++
++clang_toolchain("clang_x64") {
++ toolchain_args = {
++ current_cpu = "x64"
++ current_os = "freebsd"
++ }
++}
++
++gcc_toolchain("x64") {
++ cc = "gcc"
++ cxx = "g++"
++
++ readelf = "readelf"
++ nm = "nm"
++ ar = "ar"
++ ld = cxx
++
++ toolchain_args = {
++ current_cpu = "x64"
++ current_os = "freebsd"
++ is_clang = false
++ }
++}
++
++clang_toolchain("clang_arm") {
++ toolchain_args = {
++ current_cpu = "arm64"
++ current_os = "freebsd"
++ }
++}
++
++clang_toolchain("clang_arm64") {
++ toolchain_args = {
++ current_cpu = "arm64"
++ current_os = "freebsd"
++ }
++}
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni
new file mode 100644
index 000000000000..e3def33f6fcb
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_gcc__toolchain.gni
@@ -0,0 +1,44 @@
+--- src/webrtc/src/build/toolchain/gcc_toolchain.gni.orig 2022-02-16 12:34:12 UTC
++++ src/webrtc/src/build/toolchain/gcc_toolchain.gni
+@@ -53,6 +53,13 @@ if (enable_resource_allowlist_generation) {
+ "enable_resource_allowlist_generation=true does not work for target_os=$target_os")
+ }
+
++declare_args() {
++ extra_cflags = ""
++ extra_cppflags = ""
++ extra_cxxflags = ""
++ extra_ldflags = ""
++}
++
+ # This template defines a toolchain for something that works like gcc
+ # (including clang).
+ #
+@@ -825,22 +832,12 @@ template("gcc_toolchain") {
+ # use_gold too.
+ template("clang_toolchain") {
+ gcc_toolchain(target_name) {
+- _path = "$clang_base_path/bin"
+- _is_path_absolute = get_path_info(_path, "abspath") == _path
+-
+- # Preserve absolute paths for tools like distcc.
+- if (_is_path_absolute && filter_include([ _path ], [ "//*" ]) == []) {
+- prefix = _path
+- } else {
+- prefix = rebase_path(_path, root_build_dir)
+- }
+-
+- cc = "${prefix}/clang"
+- cxx = "${prefix}/clang++"
++ cc = "cc"
++ cxx = "c++"
+ ld = cxx
+- readelf = "${prefix}/llvm-readelf"
+- ar = "${prefix}/llvm-ar"
+- nm = "${prefix}/llvm-nm"
++ readelf = "llvm-readelf"
++ ar = "llvm-ar"
++ nm = "llvm-nm"
+
+ forward_variables_from(invoker,
+ [
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py
new file mode 100644
index 000000000000..adb6cc98db76
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_get__concurrent__links.py
@@ -0,0 +1,17 @@
+--- src/webrtc/src/build/toolchain/get_concurrent_links.py.orig 2021-05-01 21:15:31 UTC
++++ src/webrtc/src/build/toolchain/get_concurrent_links.py
+@@ -53,6 +53,14 @@ def _GetTotalMemoryInBytes():
+ return int(subprocess.check_output(['sysctl', '-n', 'hw.memsize']))
+ except Exception:
+ return 0
++ elif sys.platform.startswith('freebsd'):
++ try:
++ avail_bytes = int(subprocess.check_output(['sysctl', '-n', 'hw.physmem']))
++ # With -fuse-lld it doesn't take a lot of ram, feel free to change that
++ # 1 * ... to needed amount
++ return max(1, avail_bytes / (1 * (2 ** 30))) # total / 4GB
++ except Exception:
++ return 1
+ # TODO(scottmg): Implement this for other platforms.
+ return 0
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni
new file mode 100644
index 000000000000..1936f91498d1
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_build_toolchain_toolchain.gni
@@ -0,0 +1,11 @@
+--- src/webrtc/src/build/toolchain/toolchain.gni.orig 2023-12-10 09:44:57 UTC
++++ src/webrtc/src/build/toolchain/toolchain.gni
+@@ -67,7 +67,7 @@ if (host_os == "mac") {
+ host_shlib_extension = ".dylib"
+ } else if (host_os == "win") {
+ host_shlib_extension = ".dll"
+-} else if (host_os == "linux" || host_os == "aix") {
++} else if (host_os == "freebsd" || host_os == "linux" || host_os == "aix") {
+ host_shlib_extension = ".so"
+ } else {
+ assert(false, "Host platform not supported")
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn
new file mode 100644
index 000000000000..b4be3b72062b
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_buildtools_third__party_libc++_BUILD.gn
@@ -0,0 +1,10 @@
+--- src/webrtc/src/buildtools/third_party/libc++/BUILD.gn.orig 2021-09-19 10:01:13 UTC
++++ src/webrtc/src/buildtools/third_party/libc++/BUILD.gn
+@@ -21,6 +21,7 @@ config("config") {
+ # upstream libc++ requires C++20 so we have to make an exception here.
+ # No other target should override the default -std= flag.
+ "-std:c++20",
++ "-I%%LOCALBASE%%/include",
+ ]
+ } else {
+ cflags += [ "-fPIC" ]
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc
new file mode 100644
index 000000000000..d71efbe545a0
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_rtp__rtcp_source_forward__error__correction.cc
@@ -0,0 +1,10 @@
+--- src/webrtc/src/modules/rtp_rtcp/source/forward_error_correction.cc.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/modules/rtp_rtcp/source/forward_error_correction.cc
+@@ -13,6 +13,7 @@
+ #include <string.h>
+
+ #include <algorithm>
++#include <cstdlib>
+ #include <utility>
+
+ #include "absl/algorithm/container.h"
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn
new file mode 100644
index 000000000000..3938185b8a8a
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_modules_video__capture_BUILD.gn
@@ -0,0 +1,11 @@
+--- src/webrtc/src/modules/video_capture/BUILD.gn.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/modules/video_capture/BUILD.gn
+@@ -69,7 +69,7 @@ if (!build_with_chromium || is_linux || is_chromeos) {
+ "video_capture_options.h",
+ ]
+
+- if (is_linux || is_chromeos) {
++ if ((is_linux || is_chromeos) && !is_bsd) {
+ sources += [
+ "linux/device_info_linux.cc",
+ "linux/device_info_v4l2.cc",
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn
new file mode 100644
index 000000000000..e807b8274b70
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_ringrtc_opus_BUILD.gn
@@ -0,0 +1,18 @@
+Use VAR_ARRAYS on FreeBSD (same as audio/opus)
+
+--- src/webrtc/src/ringrtc/opus/BUILD.gn 2021-03-15 17:51:55 UTC
++++ src/webrtc/src/ringrtc/opus/BUILD.gn
+@@ -37,10 +37,11 @@ config("opus_private_config") {
+ "OPUS_EXPORT=",
+ "ENABLE_HARDENING",
+
++ "VAR_ARRAYS",
+ # Prefer alloca() over variable length arrays which are often inefficient;
+ # the opus code will automatically handle this correctly per-platform.
+- "USE_ALLOCA",
+- "HAVE_ALLOCA_H",
++# "USE_ALLOCA",
++# "HAVE_ALLOCA_H",
+ ]
+
+ include_dirs = [
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h
new file mode 100644
index 000000000000..1bb643da9177
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_byte__order.h
@@ -0,0 +1,11 @@
+--- src/webrtc/src/rtc_base/byte_order.h.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/byte_order.h
+@@ -89,7 +89,7 @@
+ #endif // defined(WEBRTC_ARCH_LITTLE_ENDIAN)
+
+ #elif defined(WEBRTC_POSIX)
+-#include <endian.h>
++#include <sys/endian.h>
+ #else
+ #error "Missing byte order functions for this arch."
+ #endif // defined(WEBRTC_MAC)
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h
new file mode 100644
index 000000000000..f27dd1ac6f4f
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ifaddrs__converter.h
@@ -0,0 +1,11 @@
+--- src/webrtc/src/rtc_base/ifaddrs_converter.h.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/ifaddrs_converter.h
+@@ -14,6 +14,8 @@
+ #if defined(WEBRTC_ANDROID)
+ #include "rtc_base/ifaddrs_android.h"
+ #else
++#include <sys/types.h>
++#include <sys/socket.h>
+ #include <ifaddrs.h>
+ #endif // WEBRTC_ANDROID
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc
new file mode 100644
index 000000000000..bba5d3e1eeaf
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.cc
@@ -0,0 +1,12 @@
+--- src/webrtc/src/rtc_base/ip_address.cc.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/ip_address.cc
+@@ -11,6 +11,9 @@
+ #if defined(WEBRTC_POSIX)
+ #include <netinet/in.h>
+ #include <sys/socket.h>
++#if defined(WEBRTC_BSD)
++#include <sys/types.h>
++#endif
+
+ #include "absl/strings/string_view.h"
+ #ifdef OPENBSD
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h
new file mode 100644
index 000000000000..4b39705e5cc2
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_ip__address.h
@@ -0,0 +1,13 @@
+--- src/webrtc/src/rtc_base/ip_address.h.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/ip_address.h
+@@ -17,6 +17,10 @@
+ #include <netinet/in.h>
+ #include <sys/socket.h>
+ #endif
++#if defined(WEBRTC_BSD)
++#include <sys/types.h>
++#include <sys/socket.h>
++#endif
+ #if defined(WEBRTC_WIN)
+ #include <winsock2.h>
+ #include <ws2tcpip.h>
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc
new file mode 100644
index 000000000000..51cf980a4976
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.cc
@@ -0,0 +1,15 @@
+--- src/webrtc/src/rtc_base/network.cc.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/network.cc
+@@ -244,7 +244,12 @@ AdapterType GetAdapterTypeFromName(const char* network
+ }
+ #endif
+
++#if defined(WEBRTC_BSD)
++ // Treat all other network interface names as ethernet on BSD
++ return ADAPTER_TYPE_ETHERNET;
++#else
+ return ADAPTER_TYPE_UNKNOWN;
++#endif
+ }
+
+ NetworkManager::NetworkManager() {}
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h
new file mode 100644
index 000000000000..0d80db98eb29
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_network.h
@@ -0,0 +1,13 @@
+--- src/webrtc/src/rtc_base/network.h.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/network.h
+@@ -26,6 +26,10 @@
+ #include "rtc_base/system/rtc_export.h"
+ #include "rtc_base/third_party/sigslot/sigslot.h"
+
++#if defined(WEBRTC_BSD)
++#include <sys/types.h>
++#endif
++
+ #if defined(WEBRTC_POSIX)
+ struct ifaddrs;
+ #endif // defined(WEBRTC_POSIX)
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc
new file mode 100644
index 000000000000..496f00d8f61e
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.cc
@@ -0,0 +1,47 @@
+--- src/webrtc/src/rtc_base/physical_socket_server.cc.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/physical_socket_server.cc
+@@ -50,7 +50,7 @@
+ #include "rtc_base/null_socket_server.h"
+ #include "rtc_base/time_utils.h"
+
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+ #include <linux/sockios.h>
+ #endif
+
+@@ -69,7 +69,7 @@ typedef void* SockOptArg;
+
+ #endif // WEBRTC_POSIX
+
+-#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
++#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(WEBRTC_BSD) && !defined(__native_client__)
+
+ int64_t GetSocketRecvTimestamp(int socket) {
+ struct timeval tv_ioctl;
+@@ -291,7 +291,7 @@ int PhysicalSocket::GetOption(Option opt, int* value)
+ return -1;
+ }
+ if (opt == OPT_DONTFRAGMENT) {
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ *value = (*value != IP_PMTUDISC_DONT) ? 1 : 0;
+ #endif
+ } else if (opt == OPT_DSCP) {
+@@ -309,7 +309,7 @@ int PhysicalSocket::SetOption(Option opt, int value) {
+ if (TranslateOption(opt, &slevel, &sopt) == -1)
+ return -1;
+ if (opt == OPT_DONTFRAGMENT) {
+-#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_ANDROID) && !defined(WEBRTC_BSD)
+ value = (value) ? IP_PMTUDISC_DO : IP_PMTUDISC_DONT;
+ #endif
+ } else if (opt == OPT_DSCP) {
+@@ -550,7 +550,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* s
+ *slevel = IPPROTO_IP;
+ *sopt = IP_DONTFRAGMENT;
+ break;
+-#elif defined(WEBRTC_MAC) || defined(BSD) || defined(__native_client__)
++#elif defined(WEBRTC_MAC) || defined(WEBRTC_BSD) || defined(__native_client__)
+ RTC_LOG(LS_WARNING) << "Socket::OPT_DONTFRAGMENT not supported.";
+ return -1;
+ #elif defined(WEBRTC_POSIX)
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h
new file mode 100644
index 000000000000..3992028b009d
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_physical__socket__server.h
@@ -0,0 +1,11 @@
+--- src/webrtc/src/rtc_base/physical_socket_server.h.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/physical_socket_server.h
+@@ -14,7 +14,7 @@
+ #include "api/units/time_delta.h"
+
+ #if defined(WEBRTC_POSIX)
+-#if defined(WEBRTC_LINUX)
++#if defined(WEBRTC_LINUX) && !defined(WEBRTC_BSD)
+ // On Linux, use epoll.
+ #include <sys/epoll.h>
+ #define WEBRTC_USE_EPOLL 1
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc
new file mode 100644
index 000000000000..9afe13c478b9
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_platform__thread__types.cc
@@ -0,0 +1,39 @@
+--- src/webrtc/src/rtc_base/platform_thread_types.cc.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/platform_thread_types.cc
+@@ -11,7 +11,11 @@
+ #include "rtc_base/platform_thread_types.h"
+
+ #if defined(WEBRTC_LINUX)
++#if !defined(__FreeBSD__)
+ #include <sys/prctl.h>
++#else
++#include <pthread_np.h>
++#endif
+ #include <sys/syscall.h>
+ #endif
+
+@@ -44,6 +48,8 @@ PlatformThreadId CurrentThreadId() {
+ return gettid();
+ #elif defined(WEBRTC_FUCHSIA)
+ return zx_thread_self();
++#elif defined(__FreeBSD__)
++ return pthread_getthreadid_np();
+ #elif defined(WEBRTC_LINUX)
+ return syscall(__NR_gettid);
+ #elif defined(__EMSCRIPTEN__)
+@@ -74,6 +80,7 @@ void SetCurrentThreadName(const char* name) {
+ }
+
+ void SetCurrentThreadName(const char* name) {
++#if !defined(__FreeBSD__)
+ #if defined(WEBRTC_WIN)
+ // The SetThreadDescription API works even if no debugger is attached.
+ // The names set with this API also show up in ETW traces. Very handy.
+@@ -120,6 +127,7 @@ void SetCurrentThreadName(const char* name) {
+ zx_status_t status = zx_object_set_property(zx_thread_self(), ZX_PROP_NAME,
+ name, strlen(name));
+ RTC_DCHECK_EQ(status, ZX_OK);
++#endif
+ #endif
+ }
+
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h
new file mode 100644
index 000000000000..b864485827e3
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_rtc__base_third__party_sigslot_sigslot.h
@@ -0,0 +1,19 @@
+--- src/webrtc/src/rtc_base/third_party/sigslot/sigslot.h.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/rtc_base/third_party/sigslot/sigslot.h
+@@ -178,6 +178,8 @@ class multi_threaded_local {
+ #endif // _SIGSLOT_HAS_WIN32_THREADS
+
+ #ifdef _SIGSLOT_HAS_POSIX_THREADS
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wthread-safety-analysis"
+ // The multi threading policies only get compiled in if they are enabled.
+ class multi_threaded_global {
+ public:
+@@ -201,6 +203,7 @@ class multi_threaded_local {
+ private:
+ pthread_mutex_t m_mutex;
+ };
++#pragma GCC diagnostic pop
+ #endif // _SIGSLOT_HAS_POSIX_THREADS
+
+ template <class mt_policy>
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn
new file mode 100644
index 000000000000..b34b0548b661
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_system__wrappers_BUILD.gn
@@ -0,0 +1,15 @@
+--- src/webrtc/src/system_wrappers/BUILD.gn.orig 2021-01-28 23:16:17 UTC
++++ src/webrtc/src/system_wrappers/BUILD.gn
+@@ -58,11 +58,9 @@ rtc_library("system_wrappers") {
+ }
+
+ if (is_linux || is_chromeos) {
+- if (!build_with_chromium) {
++ if (!build_with_chromium && !is_bsd) {
+ sources += [ "source/cpu_features_linux.cc" ]
+ }
+-
+- libs += [ "rt" ]
+ }
+
+ if (is_win) {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_testing_test.gni b/multimedia/ringrtc/files/patch-src_webrtc_src_testing_test.gni
new file mode 100644
index 000000000000..133fddbcdd19
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_testing_test.gni
@@ -0,0 +1,11 @@
+--- src/webrtc/src/testing/test.gni.orig 2022-02-18 09:31:19 UTC
++++ src/webrtc/src/testing/test.gni
+@@ -17,7 +17,7 @@ declare_args() {
+ # "location_tags.json", and so we don't want to try and upload the tags
+ # for their tests.
+ # And, some build configs may simply turn off generation altogether.
+- tests_have_location_tags = generate_location_tags
++ tests_have_location_tags = false
+ }
+
+ if (is_android) {
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn
new file mode 100644
index 000000000000..2877c76d5fc1
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__nasm_BUILD.gn
@@ -0,0 +1,16 @@
+--- src/webrtc/src/third_party/nasm/BUILD.gn.orig 2023-02-01 18:45:20 UTC
++++ src/webrtc/src/third_party/nasm/BUILD.gn
+@@ -63,6 +63,13 @@ config("nasm_config") {
+
+ defines = [ "HAVE_CONFIG_H" ]
+
++ _string_h_lines =
++ read_file("/usr/include/string.h", "list lines")
++ _mempcpy = filter_include(_string_h_lines, [ "*\*mempcpy*" ])
++ if (_mempcpy != []) {
++ defines += [ "HAVE_MEMPCPY=1" ]
++ }
++
+ if (is_clang) {
+ cflags = [
+ # The inline functions in NASM's headers flag this.
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn
new file mode 100644
index 000000000000..4c2a5a7a8e61
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_libevent_BUILD.gn
@@ -0,0 +1,16 @@
+--- src/webrtc/src/third_party/libevent/BUILD.gn.orig 2021-03-15 17:07:00 UTC
++++ src/webrtc/src/third_party/libevent/BUILD.gn
+@@ -48,6 +48,13 @@ static_library("libevent") {
+ "mac/event-config.h",
+ ]
+ include_dirs += [ "mac" ]
++ } else if (is_bsd) {
++ sources += [
++ "kqueue.c",
++ "freebsd/config.h",
++ "freebsd/event-config.h",
++ ]
++ include_dirs = [ "freebsd" ]
+ } else if (is_linux || is_chromeos) {
+ sources += [
+ "epoll.c",
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h
new file mode 100644
index 000000000000..30f2390890d4
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_nasm_config_config-linux.h
@@ -0,0 +1,102 @@
+--- src/webrtc/src/third_party/nasm/config/config-linux.h 2021-03-15 17:51:55 UTC
++++ src/webrtc/src/third_party/nasm/config/config-linux.h
+@@ -160,7 +160,7 @@
+
+ /* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
+ don't. */
+-#define HAVE_DECL_STRLCPY 0
++#define HAVE_DECL_STRLCPY 1
+
+ /* Define to 1 if you have the declaration of `strncasecmp', and to 0 if you
+ don't. */
+@@ -183,7 +183,7 @@
+ #define HAVE_DECL_STRSEP 1
+
+ /* Define to 1 if you have the <endian.h> header file. */
+-#define HAVE_ENDIAN_H 1
++/* #undef HAVE_ENDIAN_H */
+
+ /* Define to 1 if you have the `faccessat' function. */
+ #define HAVE_FACCESSAT 1
+@@ -327,16 +327,16 @@
+ #define HAVE_ISASCII 1
+
+ /* Define to 1 if you have the `iscntrl' function. */
+-/* #undef HAVE_ISCNTRL */
++#define HAVE_ISCNTRL 1
+
+ /* Define to 1 if you have the <machine/endian.h> header file. */
+-/* #undef HAVE_MACHINE_ENDIAN_H */
++#define HAVE_MACHINE_ENDIAN_H 1
+
+ /* Define to 1 if you have the <memory.h> header file. */
+ #define HAVE_MEMORY_H 1
+
+ /* Define to 1 if you have the `mempcpy' function. */
+-#define HAVE_MEMPCPY 1
++/* #undef HAVE_MEMPCPY */
+
+ /* Define to 1 if you have a working `mmap' system call. */
+ #define HAVE_MMAP 1
+@@ -357,7 +357,7 @@
+ #define HAVE_STDARG_H 1
+
+ /* Define to 1 if stdbool.h conforms to C99. */
+-/* #undef HAVE_STDBOOL_H */
++#define HAVE_STDBOOL_H 1
+
+ /* Define to 1 if your compiler supports C99 extern inline */
+ #define HAVE_STDC_INLINE 1
+@@ -384,7 +384,7 @@
+ #define HAVE_STRING_H 1
+
+ /* Define to 1 if you have the `strlcpy' function. */
+-/* #undef HAVE_STRLCPY */
++#define HAVE_STRLCPY 1
+
+ /* Define to 1 if you have the `strncasecmp' function. */
+ #define HAVE_STRNCASECMP 1
+@@ -411,7 +411,7 @@
+ #define HAVE_SYSCONF 1
+
+ /* Define to 1 if you have the <sys/endian.h> header file. */
+-/* #undef HAVE_SYS_ENDIAN_H */
++#define HAVE_SYS_ENDIAN_H 1
+
+ /* Define to 1 if you have the <sys/mman.h> header file. */
+ #define HAVE_SYS_MMAN_H 1
+@@ -486,13 +486,13 @@
+ /* #undef HAVE__STATI64 */
+
+ /* Define to 1 if you have the `__bswap_16' intrinsic function. */
+-#define HAVE___BSWAP_16 1
++/* #undef HAVE___BSWAP_16 */
+
+ /* Define to 1 if you have the `__bswap_32' intrinsic function. */
+-#define HAVE___BSWAP_32 1
++/* #undef HAVE___BSWAP_32 */
+
+ /* Define to 1 if you have the `__bswap_64' intrinsic function. */
+-#define HAVE___BSWAP_64 1
++/* #undef HAVE___BSWAP_64 */
+
+ /* Define to 1 if you have the `__builtin_bswap16' intrinsic function. */
+ #define HAVE___BUILTIN_BSWAP16 1
+@@ -620,7 +620,7 @@
+ /* Define to the equivalent of the C99 'restrict' keyword, or to
+ nothing if this is not supported. Do not define if restrict is
+ supported directly. */
+-#define restrict __restrict
++#define restrict __restrict__
+ /* Work around a bug in Sun C++: it does not support _Restrict or
+ __restrict__, even though the corresponding Sun C compiler ends up with
+ "#define restrict _Restrict" or "#define restrict __restrict__" in the
+@@ -637,7 +637,7 @@
+ /* Define if your snprintf function is not named snprintf. */
+ /* #undef snprintf */
+
+-/* Define if your typeof operator is not named typeof. */
++/* Define if your typeof operator is not named `typeof'. */
+ #define typeof __typeof
+
+ /* Define to the type of an unsigned integer type wide enough to hold a
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn
new file mode 100644
index 000000000000..c218cd9ce6f3
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third__party_opus_BUILD.gn
@@ -0,0 +1,18 @@
+Use VAR_ARRAYS on FreeBSD (same as audio/opus)
+
+--- src/webrtc/src/third_party/opus/BUILD.gn 2021-03-15 17:51:55 UTC
++++ src/webrtc/src/third_party/opus/BUILD.gn
+@@ -37,10 +37,11 @@ config("opus_private_config") {
+ "OPUS_EXPORT=",
+ "ENABLE_HARDENING",
+
++ "VAR_ARRAYS",
+ # Prefer alloca() over variable length arrays which are often inefficient;
+ # the opus code will automatically handle this correctly per-platform.
+- "USE_ALLOCA",
+- "HAVE_ALLOCA_H",
++# "USE_ALLOCA",
++# "HAVE_ALLOCA_H",
+ ]
+
+ include_dirs = [
diff --git a/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c b/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
new file mode 100644
index 000000000000..a56242ca4220
--- /dev/null
+++ b/multimedia/ringrtc/files/patch-src_webrtc_src_third_party_libvpx_source_libvpx_vpx__ports_aarch64__cpudetect.c
@@ -0,0 +1,29 @@
+- Implement runtime detection on FreeBSD
+
+--- src/webrtc/src/third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c.orig 2024-02-09 17:15:31 UTC
++++ src/webrtc/src/third_party/libvpx/source/libvpx/vpx_ports/aarch64_cpudetect.c
+@@ -91,9 +91,23 @@ static int arm_get_cpu_caps(void) {
+ return flags;
+ }
+
+-#elif defined(__linux__) // end defined(VPX_USE_ANDROID_CPU_FEATURES)
++#elif defined(__linux__) || defined(__FreeBSD__) // end defined(VPX_USE_ANDROID_CPU_FEATURES)
+
+ #include <sys/auxv.h>
++
++#if defined(__FreeBSD__)
++static unsigned long getauxval(unsigned long type)
++{
++ /* Only AT_HWCAP* return unsigned long */
++ if (type != AT_HWCAP && type != AT_HWCAP2) {
++ return 0;
++ }
++
++ unsigned long ret = 0;
++ elf_aux_info(type, &ret, sizeof(ret));
++ return ret;
++}
++#endif
+
+ // Define hwcap values ourselves: building with an old auxv header where these
+ // hwcap values are not defined should not prevent features from being enabled.
diff --git a/multimedia/ringrtc/pkg-descr b/multimedia/ringrtc/pkg-descr
new file mode 100644
index 000000000000..b14d99297cff
--- /dev/null
+++ b/multimedia/ringrtc/pkg-descr
@@ -0,0 +1,2 @@
+RingRTC is a middleware library providing Signal Messenger applications
+with video and voice calling services built on top of WebRTC.
diff --git a/multimedia/ringrtc/update.txt b/multimedia/ringrtc/update.txt
new file mode 100644
index 000000000000..eed05b228665
--- /dev/null
+++ b/multimedia/ringrtc/update.txt
@@ -0,0 +1,5 @@
+To update this port:
+Bump DISTVERSION
+eventually bump WEBRTC_REV (sh net-im/signal-desktop/get_deps.sh)
+eventually update *_REV (sh multimedia/ringrtc/webrtc_fetch.sh)
+eventually update CARGO_CRATES (fetch -qo - https://raw.githubusercontent.com/signalapp/ringrtc/v2.39.3/Cargo.lock | awk -f /usr/ports/Mk/Scripts/cargo-crates.awk | portedit merge -i Makefile.crates)
diff --git a/multimedia/ringrtc/webrtc_fetch.sh b/multimedia/ringrtc/webrtc_fetch.sh
new file mode 100644
index 000000000000..c8e59d32d1d4
--- /dev/null
+++ b/multimedia/ringrtc/webrtc_fetch.sh
@@ -0,0 +1,129 @@
+#!/bin/sh
+
+WEBRTC_REV=6261d
+OPUS_BRANCH=6261
+# XXX also change fetch opus
+
+base_url="https://chromium.googlesource.com/chromium/src/base.git/+archive/"
+boringssl_url="https://boringssl.googlesource.com/boringssl.git/+archive/"
+build_url="https://chromium.googlesource.com/chromium/src/build.git/+archive/"
+buildtools_url="https://chromium.googlesource.com/chromium/src/buildtools.git/+archive/"
+catapult_url="https://chromium.googlesource.com/catapult.git/+archive/"
+icu_url="https://chromium.googlesource.com/chromium/deps/icu.git/+archive/"
+libjpeg_turbo_url="https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+archive/"
+libsrtp_url="https://chromium.googlesource.com/chromium/deps/libsrtp.git/+archive/"
+libvpx_url="https://chromium.googlesource.com/webm/libvpx.git/+archive/"
+libyuv_url="https://chromium.googlesource.com/libyuv/libyuv.git/+archive/"
+nasm_url="https://chromium.googlesource.com/chromium/deps/nasm.git/+archive/"
+testing_url="https://chromium.googlesource.com/chromium/src/testing.git/+archive/"
+third_party_url="https://chromium.googlesource.com/chromium/src/third_party.git/+archive/"
+
+fetch -q -o /tmp/DEPS https://raw.githubusercontent.com/signalapp/webrtc/${WEBRTC_REV}/DEPS
+
+base_hash=$(grep 'base@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "BASE_REV=\t${base_hash}\n"
+printf "BASE_REV=\t${base_hash}\n" | portedit merge -i Makefile
+
+boringssl_hash=$(grep 'boringssl.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "BORINGSSL_REV=\t${boringssl_hash}\n"
+printf "BORINGSSL_REV=\t${boringssl_hash}\n" | portedit merge -i Makefile
+
+build_hash=$(grep 'build@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "BUILD_REV=\t${build_hash}\n"
+printf "BUILD_REV=\t${build_hash}\n" | portedit merge -i Makefile
+
+buildtools_hash=$(grep 'buildtools@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "BUILDTOOLS_REV=\t${buildtools_hash}\n"
+printf "BUILDTOOLS_REV=\t${buildtools_hash}\n" | portedit merge -i Makefile
+
+catapult_hash=$(grep 'catapult.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "CATAPULT_REV=\t${catapult_hash}\n"
+printf "CATAPULT_REV=\t${catapult_hash}\n" | portedit merge -i Makefile
+
+icu_hash=$(grep 'icu.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "ICU_REV=\t${icu_hash}\n"
+printf "ICU_REV=\t${icu_hash}\n" | portedit merge -i Makefile
+
+libjpeg_turbo_hash=$(grep 'libjpeg_turbo.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "LIBJPEG_TURBO_REV=\t${libjpeg_turbo_hash}\n"
+printf "LIBJPEG_TURBO_REV=\t${libjpeg_turbo_hash}\n" | portedit merge -i Makefile
+
+libsrtp_hash=$(grep 'libsrtp.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "LIBSRTP_REV=\t${libsrtp_hash}\n"
+printf "LIBSRTP_REV=\t${libsrtp_hash}\n" | portedit merge -i Makefile
+
+libvpx_hash=$(grep 'libvpx.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "LIBVPX_REV=\t${libvpx_hash}\n"
+printf "LIBVPX_REV=\t${libvpx_hash}\n" | portedit merge -i Makefile
+
+libyuv_hash=$(grep 'libyuv.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "LIBYUV_REV=\t${libyuv_hash}\n"
+printf "LIBYUV_REV=\t${libyuv_hash}\n" | portedit merge -i Makefile
+
+nasm_hash=$(grep 'nasm.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "NASM_REV=\t${nasm_hash}\n"
+printf "NASM_REV=\t${nasm_hash}\n" | portedit merge -i Makefile
+
+opus_hash=$(grep 'opus.git@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "OPUS_REV=\t${opus_hash}\n"
+printf "OPUS_REV=\t${opus_hash}\n" | portedit merge -i Makefile
+
+testing_hash=$(grep 'testing@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "TESTING_REV=\t${testing_hash}\n"
+printf "TESTING_REV=\t${testing_hash}\n" | portedit merge -i Makefile
+
+third_party_hash=$(grep 'third_party@' /tmp/DEPS | awk -F '@' '{print $2}' | sed -e "s#',##" -e "s#'##")
+printf "THIRD_PARTY_REV=\t${third_party_hash}\n"
+printf "THIRD_PARTY_REV=\t${third_party_hash}\n" | portedit merge -i Makefile
+
+mkdir dist_tmp
+echo "fetch -o dist_tmp/base-${base_hash}.tar.gz ${base_url}${base_hash}.tar.gz"
+echo "fetch -o dist_tmp/boringssl-${boringssl_hash}.tar.gz ${boringssl_url}${boringssl_hash}.tar.gz"
+echo "fetch -o dist_tmp/build-${build_hash}.tar.gz ${build_url}${build_hash}.tar.gz"
+echo "fetch -o dist_tmp/buildtools-${buildtools_hash}.tar.gz ${buildtools_url}${buildtools_hash}.tar.gz"
+echo "fetch -o dist_tmp/catapult-${catapult_hash}.tar.gz ${catapult_url}${catapult_hash}.tar.gz"
+echo "fetch -o dist_tmp/icu-${icu_hash}.tar.gz ${icu_url}${icu_hash}.tar.gz"
+echo "fetch -o dist_tmp/libjpeg_turbo-${libjpeg_turbo_hash}.tar.gz ${libjpeg_turbo_url}${libjpeg_turbo_hash}.tar.gz"
+echo "fetch -o dist_tmp/libsrtp-${libsrtp_hash}.tar.gz ${libsrtp_url}${libsrtp_hash}.tar.gz"
+echo "fetch -o dist_tmp/libvpx-${libvpx_hash}.tar.gz ${libvpx_url}${libvpx_hash}.tar.gz"
+echo "fetch -o dist_tmp/libyuv-${libyuv_hash}.tar.gz ${libyuv_url}${libyuv_hash}.tar.gz"
+echo "fetch -o dist_tmp/nasm-${nasm_hash}.tar.gz ${nasm_url}${nasm_hash}.tar.gz"
+echo "fetch -o dist_tmp/opus-${opus_hash}.tar.gz https://codeload.github.com/signalapp/opus/tar.gz/webrtc-${OPUS_BRANCH}?dummy=/"
+echo "fetch -o dist_tmp/testing-${testing_hash}.tar.gz ${testing_url}${testing_hash}.tar.gz"
+echo "fetch -o dist_tmp/third_party-${third_party_hash}.tar.gz ${third_party_url}${third_party_hash}.tar.gz"
+
+exit
+
+mkdir -p base boringssl build buildtools catapult icu libjpeg_turbo libsrtp libvpx libyuv nasm opus testing third_party
+tar xf dist_tmp/base-${base_hash}.tar.gz -C base
+tar xf dist_tmp/boringssl-${boringssl_hash}.tar.gz -C boringssl
+tar xf dist_tmp/build-${build_hash}.tar.gz -C build
+tar xf dist_tmp/buildtools-${buildtools_hash}.tar.gz -C buildtools
+tar xf dist_tmp/catapult-${catapult_hash}.tar.gz -C catapult
+tar xf dist_tmp/icu-${icu_hash}.tar.gz -C icu
+tar xf dist_tmp/libjpeg_turbo-${libjpeg_turbo_hash}.tar.gz -C libjpeg_turbo
+tar xf dist_tmp/libsrtp-${libsrtp_hash}.tar.gz -C libsrtp
+tar xf dist_tmp/libvpx-${libvpx_hash}.tar.gz -C libvpx
+tar xf dist_tmp/libyuv-${libyuv_hash}.tar.gz -C libyuv
+tar xf dist_tmp/nasm-${nasm_hash}.tar.gz -C nasm
+tar xf dist_tmp/opus-${opus_hash}.tar.gz -C opus --strip-components 1
+tar xf dist_tmp/testing-${testing_hash}.tar.gz -C testing
+tar xf dist_tmp/third_party-${third_party_hash}.tar.gz -C third_party
+
+mkdir dist_good
+tar czf dist_good/base-${base_hash}.tar.gz base
+tar czf dist_good/boringssl-${boringssl_hash}.tar.gz boringssl
+tar czf dist_good/build-${build_hash}.tar.gz build
+tar czf dist_good/buildtools-${buildtools_hash}.tar.gz buildtools
+tar czf dist_good/catapult-${catapult_hash}.tar.gz catapult
+tar czf dist_good/icu-${icu_hash}.tar.gz icu
+tar czf dist_good/libjpeg_turbo-${libjpeg_turbo_hash}.tar.gz libjpeg_turbo
+tar czf dist_good/libsrtp-${libsrtp_hash}.tar.gz libsrtp
+tar czf dist_good/libvpx-${libvpx_hash}.tar.gz libvpx
+tar czf dist_good/libyuv-${libyuv_hash}.tar.gz libyuv
+tar czf dist_good/nasm-${nasm_hash}.tar.gz nasm
+tar czf dist_good/opus-${opus_hash}.tar.gz opus
+tar czf dist_good/testing-${testing_hash}.tar.gz testing
+tar czf dist_good/third_party-${third_party_hash}.tar.gz third_party
+
+rm -rf base boringssl build buildtools catapult icu libjpeg_turbo libsrtp libvpx libyuv nasm opus testing third_party
diff --git a/multimedia/rtmpdump/Makefile b/multimedia/rtmpdump/Makefile
index ca9685c3dddf..a9e5b381d824 100644
--- a/multimedia/rtmpdump/Makefile
+++ b/multimedia/rtmpdump/Makefile
@@ -1,14 +1,19 @@
PORTNAME= rtmpdump
DISTVERSION= 2.4.20190330
+PORTREVISION= 1
CATEGORIES= multimedia net
MASTER_SITES= https://git.ffmpeg.org/gitweb/rtmpdump.git/snapshot/c5f04a58fc2aeea6296ca7c44ee4734c18401aa3.tar.gz?/
MAINTAINER= hrs@FreeBSD.org
COMMENT= RTMP streams download utility
+WWW= https://rtmpdump.mplayerhq.hu/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
+DEPRECATED= Depends on deprecated library librtmp, consider migrating to multimedia/ffmpeg
+EXPIRATION_DATE=2024-04-30
+
LIB_DEPENDS= librtmp.so:multimedia/librtmp
USES= cpe pkgconfig ssl
@@ -22,6 +27,10 @@ OPTIONS_DEFINE= DOCS
WRKSRC= ${WRKDIR}/${PORTNAME}-c5f04a5
+post-patch:
+ ${REINPLACE_CMD} -e '/^mandir=/s,$$(prefix),$$(prefix)/share,' \
+ ${WRKSRC}/Makefile
+
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/rtmpdump/pkg-descr b/multimedia/rtmpdump/pkg-descr
index a4d37f11b86f..ac8d2e7090ca 100644
--- a/multimedia/rtmpdump/pkg-descr
+++ b/multimedia/rtmpdump/pkg-descr
@@ -1,4 +1,2 @@
rtmpdump is a tool to download RTMP streams. All forms of RTMP are supported,
including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.
-
-WWW: http://rtmpdump.mplayerhq.hu/
diff --git a/multimedia/rtmpdump/pkg-plist b/multimedia/rtmpdump/pkg-plist
index b63677867627..4e4501cc367e 100644
--- a/multimedia/rtmpdump/pkg-plist
+++ b/multimedia/rtmpdump/pkg-plist
@@ -2,5 +2,5 @@ bin/rtmpdump
sbin/rtmpgw
sbin/rtmpsrv
sbin/rtmpsuck
-man/man1/rtmpdump.1.gz
-man/man8/rtmpgw.8.gz
+share/man/man1/rtmpdump.1.gz
+share/man/man8/rtmpgw.8.gz
diff --git a/multimedia/rubygem-av/Makefile b/multimedia/rubygem-av/Makefile
index 9da9119ae837..0d2b0ca2e620 100644
--- a/multimedia/rubygem-av/Makefile
+++ b/multimedia/rubygem-av/Makefile
@@ -6,6 +6,7 @@ MASTER_SITES= RG
MAINTAINER= ruby@FreeBSD.org
COMMENT= Programmable Ruby interface for FFMPEG/Libav
+WWW= https://github.com/ruby-av
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
@@ -13,7 +14,6 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= rubygem-cocaine>=0.5.3:devel/rubygem-cocaine
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
diff --git a/multimedia/rubygem-av/files/patch-av.gemspec b/multimedia/rubygem-av/files/patch-av.gemspec
index dfd515554b4d..7113feb092ba 100644
--- a/multimedia/rubygem-av/files/patch-av.gemspec
+++ b/multimedia/rubygem-av/files/patch-av.gemspec
@@ -1,11 +1,10 @@
---- av.gemspec.orig 2021-10-27 12:01:07 UTC
+--- av.gemspec.orig 2024-02-27 16:44:30 UTC
+++ av.gemspec
-@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
- s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0.0"])
- s.add_development_dependency(%q<coveralls>.freeze, [">= 0"])
-- s.add_runtime_dependency(%q<cocaine>.freeze, ["~> 0.5.3"])
-+ s.add_runtime_dependency(%q<cocaine>.freeze, [">= 0.5.3"])
- else
- s.add_dependency(%q<bundler>.freeze, ["~> 1.6"])
- s.add_dependency(%q<rake>.freeze, [">= 0"])
+@@ -24,6 +24,6 @@ Gem::Specification.new do |s|
+ s.add_development_dependency(%q<rake>.freeze, [">= 0".freeze])
+ s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0.0".freeze])
+ s.add_development_dependency(%q<coveralls>.freeze, [">= 0".freeze])
+- s.add_runtime_dependency(%q<cocaine>.freeze, ["~> 0.5.3".freeze])
++ s.add_runtime_dependency(%q<cocaine>.freeze, [">= 0.5.3".freeze])
+ end
+
diff --git a/multimedia/rubygem-av/pkg-descr b/multimedia/rubygem-av/pkg-descr
index 1b063cd319a4..72ddee8952ae 100644
--- a/multimedia/rubygem-av/pkg-descr
+++ b/multimedia/rubygem-av/pkg-descr
@@ -1,4 +1,2 @@
This gem provides programmable interface for ffmpeg and avconv. The idea is to
have a common API for both CLIs.
-
-WWW: https://github.com/ruby-av
diff --git a/multimedia/rubygem-clutter-gstreamer/Makefile b/multimedia/rubygem-clutter-gstreamer/Makefile
index 3ad4ab58adc3..717e6f47e719 100644
--- a/multimedia/rubygem-clutter-gstreamer/Makefile
+++ b/multimedia/rubygem-clutter-gstreamer/Makefile
@@ -1,10 +1,12 @@
PORTNAME= clutter-gstreamer
-PORTVERSION= 3.5.1
+PORTVERSION= 4.2.2
CATEGORIES= multimedia rubygems
MASTER_SITES= RG
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Ruby binding of Clutter-GStreamer
+WWW= https://ruby-gnome.github.io/ \
+ https://github.com/ruby-gnome/ruby-gnome
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING.LIB
@@ -13,10 +15,9 @@ BUILD_DEPENDS= rubygem-rake>=0:devel/rubygem-rake
LIB_DEPENDS= libclutter-gst-3.0.so:multimedia/clutter-gst3
RUN_DEPENDS= rubygem-clutter>=${PORTSVERSION}:graphics/rubygem-clutter \
rubygem-gdk_pixbuf2>=${PORTSVERSION}:graphics/rubygem-gdk_pixbuf2 \
- rubygem-gstreamer>=${PORTVERSION}:multimedia/rubygem-gstreamer
+ rubygem-gstreamer>=${PORTVERSION}<${PORTVERSION}_99:multimedia/rubygem-gstreamer
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
diff --git a/multimedia/rubygem-clutter-gstreamer/distinfo b/multimedia/rubygem-clutter-gstreamer/distinfo
index 7cfc54788f46..90b4314e0ef0 100644
--- a/multimedia/rubygem-clutter-gstreamer/distinfo
+++ b/multimedia/rubygem-clutter-gstreamer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643134031
-SHA256 (rubygem/clutter-gstreamer-3.5.1.gem) = 6f72ee587d86e55e08b237196fb58122150a52366ccf796003f4a9b3b74820c4
-SIZE (rubygem/clutter-gstreamer-3.5.1.gem) = 124928
+TIMESTAMP = 1712084596
+SHA256 (rubygem/clutter-gstreamer-4.2.2.gem) = 46de4c61f91174c742785dfd8b77cc4fea1df604519c97dfd5e324ee91e95740
+SIZE (rubygem/clutter-gstreamer-4.2.2.gem) = 124928
diff --git a/multimedia/rubygem-clutter-gstreamer/pkg-descr b/multimedia/rubygem-clutter-gstreamer/pkg-descr
index f81778eb11b8..00f892f2726e 100644
--- a/multimedia/rubygem-clutter-gstreamer/pkg-descr
+++ b/multimedia/rubygem-clutter-gstreamer/pkg-descr
@@ -1,3 +1 @@
Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer.
-
-WWW: https://ruby-gnome2.osdn.jp/
diff --git a/multimedia/rubygem-flvtool2/Makefile b/multimedia/rubygem-flvtool2/Makefile
index 256c0a8cf4f8..30a72cf2b318 100644
--- a/multimedia/rubygem-flvtool2/Makefile
+++ b/multimedia/rubygem-flvtool2/Makefile
@@ -1,5 +1,3 @@
-# Created by: Steve Wills <swills@FreeBSD.org>
-
PORTNAME= flvtool2
PORTVERSION= 1.0.6
CATEGORIES= multimedia rubygems
@@ -7,12 +5,12 @@ MASTER_SITES= RG
MAINTAINER= ruby@FreeBSD.org
COMMENT= Flash video (FLV) manipulation tool
+WWW= https://github.com/unnu/flvtool2
LICENSE= BSD3CLAUSE
NO_ARCH= yes
-USE_RUBY= yes
USES= gem
PLIST_FILES= bin/flvtool2
diff --git a/multimedia/rubygem-flvtool2/pkg-descr b/multimedia/rubygem-flvtool2/pkg-descr
index f8e8e614fc77..67c3cc9349a6 100644
--- a/multimedia/rubygem-flvtool2/pkg-descr
+++ b/multimedia/rubygem-flvtool2/pkg-descr
@@ -2,5 +2,3 @@ FLVTool2 is a manipulation tool for Macromedia Flash Video files (FLV). It can
calculate a lot of meta data, insert an onMetaData tag, cut FLV files, add cue
points (onCuePoint), show the FLV structure and print meta data information in
XML or YAML.
-
-WWW: https://github.com/unnu/flvtool2
diff --git a/multimedia/rubygem-gstreamer/Makefile b/multimedia/rubygem-gstreamer/Makefile
index 0c8a9b823036..be91a1ff37a4 100644
--- a/multimedia/rubygem-gstreamer/Makefile
+++ b/multimedia/rubygem-gstreamer/Makefile
@@ -1,18 +1,19 @@
PORTNAME= gstreamer
-PORTVERSION= 3.5.1
+PORTVERSION= 4.2.2
CATEGORIES= multimedia rubygems
MASTER_SITES= RG
MAINTAINER= sunpoet@FreeBSD.org
COMMENT= Ruby binding of GStreamer
+WWW= https://ruby-gnome.github.io/ \
+ https://github.com/ruby-gnome/ruby-gnome
LICENSE= LGPL21+
LICENSE_FILE= ${WRKSRC}/COPYING.LIB
LIB_DEPENDS= libgstreamer-1.0.so:multimedia/gstreamer1
-RUN_DEPENDS= rubygem-gobject-introspection>=${PORTVERSION}:devel/rubygem-gobject-introspection
+RUN_DEPENDS= rubygem-gobject-introspection>=${PORTVERSION}<${PORTVERSION}_99:devel/rubygem-gobject-introspection
USES= gem
-USE_RUBY= yes
.include <bsd.port.mk>
diff --git a/multimedia/rubygem-gstreamer/distinfo b/multimedia/rubygem-gstreamer/distinfo
index 77e0049dd182..35bed1e99d5a 100644
--- a/multimedia/rubygem-gstreamer/distinfo
+++ b/multimedia/rubygem-gstreamer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1643134033
-SHA256 (rubygem/gstreamer-3.5.1.gem) = a4919d68fc46f860b328d374afaaf96a72689bda6108fbaa357d3150bc95356c
-SIZE (rubygem/gstreamer-3.5.1.gem) = 29184
+TIMESTAMP = 1712084598
+SHA256 (rubygem/gstreamer-4.2.2.gem) = 793fb04155eaeaacb800b5e9045e72ee1b2ba76b3752ce174a5c1b17c31fca40
+SIZE (rubygem/gstreamer-4.2.2.gem) = 29696
diff --git a/multimedia/rubygem-gstreamer/pkg-descr b/multimedia/rubygem-gstreamer/pkg-descr
index 21b125a8fae4..f31153fcc159 100644
--- a/multimedia/rubygem-gstreamer/pkg-descr
+++ b/multimedia/rubygem-gstreamer/pkg-descr
@@ -1,3 +1 @@
Ruby/GStreamer is a Ruby binding for GStreamer.
-
-WWW: https://ruby-gnome2.osdn.jp/
diff --git a/multimedia/rubygem-paperclip-av-transcoder-rails50/Makefile b/multimedia/rubygem-paperclip-av-transcoder-rails50/Makefile
index aa0b335cbee2..d2c6ef58e74d 100644
--- a/multimedia/rubygem-paperclip-av-transcoder-rails50/Makefile
+++ b/multimedia/rubygem-paperclip-av-transcoder-rails50/Makefile
@@ -6,16 +6,19 @@ PKGNAMESUFFIX= -rails50
MAINTAINER= ruby@FreeBSD.org
COMMENT= Audio/Video transcoder for Paperclip using FFMPEG/Avconv
+WWW= https://github.com/ruby-av/paperclip-av-transcoder/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Depends on deprecated port devel/rubygem-paperclip-rails50
+EXPIRATION_DATE=2024-04-30
+
RUN_DEPENDS= rubygem-av>=0.9.0:multimedia/rubygem-av \
rubygem-paperclip-rails50>=2.5.2:devel/rubygem-paperclip-rails50
NO_ARCH= yes
-USE_RUBY= yes
USES= gem
.include <bsd.port.mk>
diff --git a/multimedia/rubygem-paperclip-av-transcoder-rails50/pkg-descr b/multimedia/rubygem-paperclip-av-transcoder-rails50/pkg-descr
index c66a03c66f39..700bc1871560 100644
--- a/multimedia/rubygem-paperclip-av-transcoder-rails50/pkg-descr
+++ b/multimedia/rubygem-paperclip-av-transcoder-rails50/pkg-descr
@@ -8,5 +8,3 @@ With a few lines of code, your application can produce
- a screenshot thumbnail with the requested dimensions regardless of the aspect
ratio.
-
-WWW: https://github.com/ruby-av/paperclip-av-transcoder/
diff --git a/multimedia/rubygem-paperclip-av-transcoder/Makefile b/multimedia/rubygem-paperclip-av-transcoder/Makefile
index f5aa3265e211..0c7b93dbba45 100644
--- a/multimedia/rubygem-paperclip-av-transcoder/Makefile
+++ b/multimedia/rubygem-paperclip-av-transcoder/Makefile
@@ -5,16 +5,19 @@ MASTER_SITES= RG
MAINTAINER= ruby@FreeBSD.org
COMMENT= Audio/Video transcoder for Paperclip using FFMPEG/Avconv
+WWW= https://github.com/ruby-av/paperclip-av-transcoder/
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+DEPRECATED= Depends on deprecated port devel/rubygem-paperclip-rails5
+EXPIRATION_DATE=2024-04-30
+
RUN_DEPENDS= rubygem-av>=0.9.0:multimedia/rubygem-av \
rubygem-paperclip-rails5>=2.5.2:devel/rubygem-paperclip-rails5
NO_ARCH= yes
-USE_RUBY= yes
USES= gem
.include <bsd.port.mk>
diff --git a/multimedia/rubygem-paperclip-av-transcoder/pkg-descr b/multimedia/rubygem-paperclip-av-transcoder/pkg-descr
index c66a03c66f39..700bc1871560 100644
--- a/multimedia/rubygem-paperclip-av-transcoder/pkg-descr
+++ b/multimedia/rubygem-paperclip-av-transcoder/pkg-descr
@@ -8,5 +8,3 @@ With a few lines of code, your application can produce
- a screenshot thumbnail with the requested dimensions regardless of the aspect
ratio.
-
-WWW: https://github.com/ruby-av/paperclip-av-transcoder/
diff --git a/multimedia/rubygem-streamio-ffmpeg/Makefile b/multimedia/rubygem-streamio-ffmpeg/Makefile
index 5629a024a5f5..72391d726726 100644
--- a/multimedia/rubygem-streamio-ffmpeg/Makefile
+++ b/multimedia/rubygem-streamio-ffmpeg/Makefile
@@ -1,11 +1,12 @@
PORTNAME= streamio-ffmpeg
PORTVERSION= 3.0.2
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= multimedia rubygems
MASTER_SITES= RG
MAINTAINER= ruby@FreeBSD.org
COMMENT= Wraps ffmpeg to read metadata and transcodes videos
+WWW= https://github.com/streamio/streamio-ffmpeg
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,7 +15,6 @@ RUN_DEPENDS= rubygem-multi_json>=1.8<2:devel/rubygem-multi_json \
ffmpeg>=3.4.2,1:multimedia/ffmpeg
USES= gem
-USE_RUBY= yes
NO_ARCH= yes
diff --git a/multimedia/rubygem-streamio-ffmpeg/pkg-descr b/multimedia/rubygem-streamio-ffmpeg/pkg-descr
index 615b04a80e5b..35b9204bc552 100644
--- a/multimedia/rubygem-streamio-ffmpeg/pkg-descr
+++ b/multimedia/rubygem-streamio-ffmpeg/pkg-descr
@@ -1,5 +1,3 @@
The streamio-ffmpeg gem is a simple, yet powerful wrapper around the ffmpeg
command for reading metadata and transcoding movies. Other features include:
watermarking, taking screenshots, and creating slideshows from stills.
-
-WWW: https://github.com/streamio/streamio-ffmpeg
diff --git a/multimedia/sabbu/Makefile b/multimedia/sabbu/Makefile
deleted file mode 100644
index 8f9be323c314..000000000000
--- a/multimedia/sabbu/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-PORTNAME= sabbu
-PORTVERSION= 0.3.0
-PORTREVISION= 21
-CATEGORIES= multimedia
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/Sabbu%20${PORTVERSION}
-
-MAINTAINER= dinoex@FreeBSD.org
-COMMENT= Program used to time subtitles
-
-LICENSE= GPLv2
-
-DEPRECATED= please consider using multimedia/aegisub
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= libsndfile.so:audio/libsndfile \
- libharfbuzz.so:print/harfbuzz \
- libfreetype.so:print/freetype2 \
- libfontconfig.so:x11-fonts/fontconfig
-
-USES= tar:bzip2 compiler:c++11-lang gmake pkgconfig iconv sdl gnome
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --without-ffmpeg
-
-USE_SDL= sdl
-USE_CXXSTD= gnu++98
-USE_GNOME= gtk20 cairo gdkpixbuf2
-CFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -lpthread -L${LOCALBASE}/lib
-LDFLAGS+= -lgmodule-2.0
-
-OPTIONS_DEFINE= GTKSPELL NLS
-OPTIONS_DEFAULT=GTKSPELL
-
-GTKSPELL_DESC= Use gtkspell
-GTKSPELL_LIB_DEPENDS= libgtkspell.so:textproc/gtkspell
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MNLS}
-USES+= gettext
-PLIST_SUB+= WITH_NLS=""
-.else
-CONFIGURE_ARGS+= --disable-nls
-PLIST_SUB+= WITH_NLS="@comment "
-.endif
-
-.include <bsd.port.mk>
diff --git a/multimedia/sabbu/distinfo b/multimedia/sabbu/distinfo
deleted file mode 100644
index 195fd3cc14dd..000000000000
--- a/multimedia/sabbu/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (sabbu-0.3.0.tar.bz2) = e510cb2947d45ff6e8a2b5e470f90e1695919e6b3be09f721674b61155b88b98
-SIZE (sabbu-0.3.0.tar.bz2) = 605499
diff --git a/multimedia/sabbu/files/patch-Source-Makefile.in b/multimedia/sabbu/files/patch-Source-Makefile.in
deleted file mode 100644
index e641a2891a85..000000000000
--- a/multimedia/sabbu/files/patch-Source-Makefile.in
+++ /dev/null
@@ -1,13 +0,0 @@
---- Source/Makefile.in.orig 2013-10-08 23:05:45.410158951 -0300
-+++ Source/Makefile.in 2013-10-08 23:09:15.165157059 -0300
-@@ -100,8 +100,8 @@
- DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
--CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-+CXXCOMPILE = $(CXX) $(DEFS) $(AM_CXXFLAGS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-+ $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS)
- CXXLD = $(CXX)
- CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
- -o $@
diff --git a/multimedia/sabbu/files/patch-Source_util.cpp b/multimedia/sabbu/files/patch-Source_util.cpp
deleted file mode 100644
index 7e1e3f7ef215..000000000000
--- a/multimedia/sabbu/files/patch-Source_util.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
---- Source/util.cpp.orig 2005-08-11 14:32:00 UTC
-+++ Source/util.cpp
-@@ -523,7 +523,7 @@ char *sgettext (const char *msgid)
- char *msgval = gettext (msgid);
- if (msgval == msgid)
- {
-- msgval = strrchr (msgid, '|');
-+ msgval = strrchr ((char *) msgid, '|');
- if(!msgval)
- msgval = (char *) msgid;
- else
-@@ -536,7 +536,7 @@ char *sgettext (const char *msgid)
-
- char *sgettext_strip(const char *msgid)
- {
-- char *msgval = strrchr(msgid, '|');
-+ char *msgval = strrchr((char *) msgid, '|');
- if(!msgval)
- return (char *) msgid;
-
diff --git a/multimedia/sabbu/files/patch-common.h b/multimedia/sabbu/files/patch-common.h
deleted file mode 100644
index ee337ff5b194..000000000000
--- a/multimedia/sabbu/files/patch-common.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- Source/common.h.orig Wed Aug 10 17:29:30 2005
-+++ Source/common.h Sun May 27 09:51:29 2007
-@@ -31,4 +31,7 @@
- #include "alloc.h"
- #include "util.h"
-
-+#ifndef __STDC_CONSTANT_MACROS
-+#define __STDC_CONSTANT_MACROS 1
-+#endif
-
diff --git a/multimedia/sabbu/files/patch-configure b/multimedia/sabbu/files/patch-configure
deleted file mode 100644
index c69aa667cc5d..000000000000
--- a/multimedia/sabbu/files/patch-configure
+++ /dev/null
@@ -1,60 +0,0 @@
---- configure.orig 2005-11-27 01:30:25.000000000 +0100
-+++ configure 2008-05-04 10:42:17.000000000 +0200
-@@ -3222,6 +3222,7 @@
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- $ac_declaration
-+#include <stdlib.h>
- int
- main ()
- {
-@@ -6277,6 +6278,7 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-+#include <stdlib.h>
- #include <ffmpeg/avformat.h>
- int
- main ()
-@@ -6320,6 +6322,9 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-+
-+#define __STDC_CONSTANT_MACROS
-+#include <stdlib.h>
- #include <ffmpeg/avformat.h>
- int
- main ()
-@@ -6385,6 +6390,7 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-+#include <stdlib.h>
- #include <iconv.h>
- int
- main ()
-@@ -6428,6 +6434,7 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-+#include <stdlib.h>
- #include <iconv.h>
- int
- main ()
-@@ -6912,6 +6919,7 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-+#include <stdlib.h>
- #include <ctype.h>
- #if ((' ' & 0x0FF) == 0x020)
- # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-@@ -7550,6 +7558,7 @@
- cat confdefs.h >>conftest.$ac_ext
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
-+#include <stdlib.h>
- #include <ctype.h>
- #if ((' ' & 0x0FF) == 0x020)
- # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
diff --git a/multimedia/sabbu/files/patch-video.cpp b/multimedia/sabbu/files/patch-video.cpp
deleted file mode 100644
index d4f530cadb83..000000000000
--- a/multimedia/sabbu/files/patch-video.cpp
+++ /dev/null
@@ -1,146 +0,0 @@
---- Source/video.cpp.orig 2005-08-11 19:16:17.000000000 +0200
-+++ Source/video.cpp 2010-01-24 10:30:13.000000000 +0100
-@@ -74,9 +74,11 @@
- }
- #else
-
-+extern "C" {
- #ifndef _WINDOWS
--#include <ffmpeg/avformat.h>
--#include <ffmpeg/avcodec.h>
-+#include <libavformat/avformat.h>
-+#include <libavcodec/avcodec.h>
-+#include <libswscale/swscale.h>
- #else
- void (*av_register_all)(void) = NULL;
- int (*av_open_input_file)(AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt, int buf_size, AVFormatParameters *ap) = NULL;
-@@ -99,6 +101,7 @@
- int (*avpicture_alloc)(AVPicture *picture, int pix_fmt, int width, int height) = NULL;
- void (*avpicture_free)(AVPicture *picture) = NULL;
- #endif
-+}
-
-
- GModule *module_avformat = NULL;
-@@ -213,7 +216,7 @@
-
- for(i = 0; i < video->ic->nb_streams; i++)
- {
-- AVCodecContext *enc = &video->ic->streams[i]->codec;
-+ AVCodecContext *enc = video->ic->streams[i]->codec;
- if(enc->codec_type == CODEC_TYPE_VIDEO)
- {
- video->video_index = i;
-@@ -227,7 +230,7 @@
- throw kryError(_("The video file does not seem to contain a video stream."));
- }
-
-- enc = &video->ic->streams[video->video_index]->codec;
-+ enc = video->ic->streams[video->video_index]->codec;
- enc->debug_mv = 0;
- enc->debug = 0;
- enc->workaround_bugs = 1;
-@@ -277,10 +280,16 @@
- avpicture_free(pict);
- }
-
-+static struct SwsContext *img_convert_ctx;
-+
- int video_get_picture(struct video_ffmpeg *video, AVPicture *pict)
- {
- AVFrame *frame;
-+#if 0
- int dst_pix_fmt = PIX_FMT_RGBA32;
-+#else
-+ PixelFormat dst_pix_fmt = PIX_FMT_RGB32;
-+#endif
- int got_picture;
- int len;
- int width, height;
-@@ -291,9 +300,9 @@
- frame = avcodec_alloc_frame();
- while(1)
- {
-- len = avcodec_decode_video(&video->ic->streams[video->video_index]->codec,
-- frame, &got_picture,
-- video->last_pkt->data, video->last_pkt->size);
-+ len = avcodec_decode_video(video->ic->streams[video->video_index]->codec,
-+ frame, &got_picture,
-+ video->last_pkt->data, video->last_pkt->size);
-
- if(got_picture)
- break;
-@@ -302,15 +311,26 @@
- return FALSE;
- }
-
-- width = video->ic->streams[video->video_index]->codec.width;
-- height = video->ic->streams[video->video_index]->codec.height;
-+ width = video->ic->streams[video->video_index]->codec->width;
-+ height = video->ic->streams[video->video_index]->codec->height;
-
- pict->data[0] = (uint8_t*) malloc(4 * width * height);
- pict->linesize[0] = width * 4;
-
-+#if 0
- if(img_convert(pict, dst_pix_fmt,
-- (AVPicture *) frame, video->ic->streams[video->video_index]->codec.pix_fmt,
-+ (AVPicture *) frame, video->ic->streams[video->video_index]->codec->pix_fmt,
- width, height) < 0)
-+#else
-+ img_convert_ctx = sws_getContext(width, height,
-+ video->ic->streams[video->video_index]->codec->pix_fmt,
-+ width, height,
-+ dst_pix_fmt, SWS_BICUBIC, NULL, NULL, NULL);
-+ if (sws_scale(img_convert_ctx, frame->data,
-+ frame->linesize, 0,
-+ height,
-+ pict->data, pict->linesize) < 0)
-+#endif
- {
- av_free(frame);
- return FALSE;
-@@ -323,17 +343,17 @@
-
- int video_get_width(struct video_ffmpeg *video)
- {
-- return video->ic->streams[video->video_index]->codec.width;
-+ return video->ic->streams[video->video_index]->codec->width;
- }
-
- int video_get_height(struct video_ffmpeg *video)
- {
-- return video->ic->streams[video->video_index]->codec.height;
-+ return video->ic->streams[video->video_index]->codec->height;
- }
-
- double video_get_fps(struct video_ffmpeg *video)
- {
-- return (video->ic->streams[video->video_index]->r_frame_rate / (double) video->ic->streams[video->video_index]->r_frame_rate_base);
-+ return (video->ic->streams[video->video_index]->r_frame_rate.num / (double) video->ic->streams[video->video_index]->r_frame_rate.den);
- }
-
- int64_t video_get_duration(struct video_ffmpeg *video)
-@@ -348,7 +368,7 @@
- free(video->last_pkt);
- video->last_pkt = NULL;
- }
-- avcodec_close(&video->ic->streams[video->video_index]->codec);
-+ avcodec_close(video->ic->streams[video->video_index]->codec);
- av_close_input_file(video->ic);
- }
-
-@@ -376,11 +396,11 @@
- if(av_seek_frame(video->ic, -1, target_time) < 0)
- #endif
- {
-- g_warning("seek failed... %lld", target_time);
-+ g_warning("seek failed... %lld", (long long) target_time);
- return FALSE;
- }
-
-- avcodec_flush_buffers(&video->ic->streams[video->video_index]->codec);
-+ avcodec_flush_buffers(video->ic->streams[video->video_index]->codec);
- }
-
- if(video->last_pkt)
diff --git a/multimedia/sabbu/files/patch-video.h b/multimedia/sabbu/files/patch-video.h
deleted file mode 100644
index 4a58bbea8f7d..000000000000
--- a/multimedia/sabbu/files/patch-video.h
+++ /dev/null
@@ -1,17 +0,0 @@
---- Source/video.h.orig 2005-07-14 12:52:07.000000000 -0300
-+++ Source/video.h 2013-10-08 23:10:25.214159730 -0300
-@@ -23,11 +23,13 @@
- };
-
- #else
-+extern "C" {
- #ifndef _WINDOWS
--#include <ffmpeg/avformat.h>
-+#include <libavformat/avformat.h>
- #else
- #include "video_ffmpeg.h"
- #endif
-+}
- #endif
-
- void video_uninit();
diff --git a/multimedia/sabbu/files/patch-video_ffmpeg.h b/multimedia/sabbu/files/patch-video_ffmpeg.h
deleted file mode 100644
index 9d4ceea6d151..000000000000
--- a/multimedia/sabbu/files/patch-video_ffmpeg.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- Source/video_ffmpeg.h.orig 2005-03-08 01:23:58.000000000 +0100
-+++ Source/video_ffmpeg.h 2010-08-15 08:11:13.000000000 +0200
-@@ -24,7 +24,7 @@
- PIX_FMT_BGR24, ///< Packed pixel, 3 bytes per pixel, BGRBGR...
- PIX_FMT_YUV422P, ///< Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)
- PIX_FMT_YUV444P, ///< Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)
-- PIX_FMT_RGBA32, ///< Packed pixel, 4 bytes per pixel, BGRABGRA..., stored in cpu endianness
-+ PIX_FMT_RGB32, ///< Packed pixel, 4 bytes per pixel, BGRABGRA..., stored in cpu endianness
- PIX_FMT_YUV410P, ///< Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)
- PIX_FMT_YUV411P, ///< Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)
- PIX_FMT_RGB565, ///< always stored in cpu endianness
diff --git a/multimedia/sabbu/pkg-descr b/multimedia/sabbu/pkg-descr
deleted file mode 100644
index 8dbc9141f15a..000000000000
--- a/multimedia/sabbu/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-program used to "time" subtitles:
-* Any WAVE file can be used for timing
-* Reads/Writes SSA (Sub Station Alpha) and ASS (Advanced Sub Station) formats.
-* Instant preview of subtitle with all effects
-* Ability to place subtitles visually (Needs more testing)
-* Ability to mute specific channel
-* Ability to open alternate views of the same wave
-* Ability to mark key frames from a video on the waveform
-* Ability to save Workspace (saves information such as currently opened sound,
- video files and position in the wave)
-* Ability to format script on save
-* "Code Hiding"
-
-WWW: https://sourceforge.net/projects/sabbu/
diff --git a/multimedia/sabbu/pkg-plist b/multimedia/sabbu/pkg-plist
deleted file mode 100644
index 7e83d9ded1ac..000000000000
--- a/multimedia/sabbu/pkg-plist
+++ /dev/null
@@ -1,52 +0,0 @@
-bin/sabbu
-%%WITH_NLS%%share/locale/es/LC_MESSAGES/sabbu.mo
-%%WITH_NLS%%share/locale/id/LC_MESSAGES/sabbu.mo
-%%WITH_NLS%%share/locale/ja/LC_MESSAGES/sabbu.mo
-%%WITH_NLS%%share/locale/pt_BR/LC_MESSAGES/sabbu.mo
-%%WITH_NLS%%share/locale/pl/LC_MESSAGES/sabbu.mo
-%%WITH_NLS%%share/locale/zh_CN/LC_MESSAGES/sabbu.mo
-%%DATADIR%%/angle.png
-%%DATADIR%%/arrow-down.png
-%%DATADIR%%/arrow-right.png
-%%DATADIR%%/focus-selected.png
-%%DATADIR%%/gear.png
-%%DATADIR%%/grab-times.png
-%%DATADIR%%/karaoke_box.png
-%%DATADIR%%/karaoke_line.png
-%%DATADIR%%/lead-both.png
-%%DATADIR%%/lead-in.png
-%%DATADIR%%/lead-out.png
-%%DATADIR%%/margin-left.png
-%%DATADIR%%/margin-right.png
-%%DATADIR%%/margin-vertical.png
-%%DATADIR%%/play-last.png
-%%DATADIR%%/play-selection.png
-%%DATADIR%%/play-stop.png
-%%DATADIR%%/play.png
-%%DATADIR%%/sabbu.jpg
-%%DATADIR%%/sarrow-center.png
-%%DATADIR%%/sarrow-down-left.png
-%%DATADIR%%/sarrow-down-right.png
-%%DATADIR%%/sarrow-down.png
-%%DATADIR%%/sarrow-left.png
-%%DATADIR%%/sarrow-right.png
-%%DATADIR%%/sarrow-up-left.png
-%%DATADIR%%/sarrow-up-right.png
-%%DATADIR%%/sarrow-up.png
-%%DATADIR%%/scale-down.png
-%%DATADIR%%/scale-up.png
-%%DATADIR%%/scale-x.png
-%%DATADIR%%/scale-y.png
-%%DATADIR%%/search-indicator.png
-%%DATADIR%%/show-keyframes.png
-%%DATADIR%%/show-time.png
-%%DATADIR%%/spacing.png
-%%DATADIR%%/sync-scale.png
-%%DATADIR%%/sync-scroll.png
-%%DATADIR%%/sync-zoom.png
-%%DATADIR%%/syntax.png
-%%DATADIR%%/syntax_off.png
-%%DATADIR%%/time-left-2.png
-%%DATADIR%%/time-left.png
-%%DATADIR%%/time-right-2.png
-%%DATADIR%%/time-right.png
diff --git a/multimedia/schroedinger/Makefile b/multimedia/schroedinger/Makefile
deleted file mode 100644
index db0fba047b16..000000000000
--- a/multimedia/schroedinger/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# Created by: Gea-Suan Lin <gslin@gslin.org>
-
-PORTNAME= schroedinger
-PORTVERSION= 1.0.11
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://diracvideo.org/download/schroedinger/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= High-speed Dirac codec
-
-LICENSE= GPLv2 LGPL20 MIT MPL11
-LICENSE_COMB= dual
-LICENSE_FILE_MIT= ${WRKSRC}/COPYING.MIT
-LICENSE_FILE_MPL11= ${WRKSRC}/COPYING.MPL
-
-BROKEN= Unfetchable
-DEPRECATED= Abandoned legacy video codec, upstream is dead and last release was back in 2012.
-EXPIRATION_DATE=2022-03-31
-
-LIB_DEPENDS= liborc-0.4.so:devel/orc
-
-USES= libtool pkgconfig
-GNU_CONFIGURE= yes
-INSTALL_TARGET= install-strip
-USE_LDCONFIG= yes
-
-post-patch:
- @${REINPLACE_CMD} -e 's|^pkgconfigdir=.*|pkgconfigdir="\\$${prefix}/libdata/pkgconfig"|' \
- ${WRKSRC}/configure
-# Derived from upstream git commit ee011f33f80c9691a6cfd5116101fdcf8c3cd6f7
- @${REINPLACE_CMD} '/^wavelet_max_gain_OBJECTS =/s/=/= tmp-orc.$$(OBJEXT)/' \
- ${WRKSRC}/testsuite/Makefile.in
-
-.include <bsd.port.mk>
diff --git a/multimedia/schroedinger/distinfo b/multimedia/schroedinger/distinfo
deleted file mode 100644
index a3c0d900cc33..000000000000
--- a/multimedia/schroedinger/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (schroedinger-1.0.11.tar.gz) = 1e572a0735b92aca5746c4528f9bebd35aa0ccf8619b22fa2756137a8cc9f912
-SIZE (schroedinger-1.0.11.tar.gz) = 1019247
diff --git a/multimedia/schroedinger/pkg-descr b/multimedia/schroedinger/pkg-descr
deleted file mode 100644
index 2fb6380503cc..000000000000
--- a/multimedia/schroedinger/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-Schrodinger is a high-speed Dirac codec being developed by Fluendo in
-partnership with the BBC. The main developer is David Schleef, who
-developed the liboil optimisation library which is heavily used in
-the project.
-
-WWW: http://www.diracvideo.org/
diff --git a/multimedia/schroedinger/pkg-plist b/multimedia/schroedinger/pkg-plist
deleted file mode 100644
index 52a24475d9e3..000000000000
--- a/multimedia/schroedinger/pkg-plist
+++ /dev/null
@@ -1,78 +0,0 @@
-include/schroedinger-1.0/schroedinger/schro-stdint.h
-include/schroedinger-1.0/schroedinger/schro.h
-include/schroedinger-1.0/schroedinger/schroanalysis.h
-include/schroedinger-1.0/schroedinger/schroarith.h
-include/schroedinger-1.0/schroedinger/schroasync.h
-include/schroedinger-1.0/schroedinger/schrobitstream.h
-include/schroedinger-1.0/schroedinger/schrobuffer.h
-include/schroedinger-1.0/schroedinger/schrobufferlist.h
-include/schroedinger-1.0/schroedinger/schrodebug.h
-include/schroedinger-1.0/schroedinger/schrodecoder.h
-include/schroedinger-1.0/schroedinger/schrodomain.h
-include/schroedinger-1.0/schroedinger/schroencoder.h
-include/schroedinger-1.0/schroedinger/schroengine.h
-include/schroedinger-1.0/schroedinger/schrofft.h
-include/schroedinger-1.0/schroedinger/schrofilter.h
-include/schroedinger-1.0/schroedinger/schroframe.h
-include/schroedinger-1.0/schroedinger/schrohistogram.h
-include/schroedinger-1.0/schroedinger/schrolimits.h
-include/schroedinger-1.0/schroedinger/schrolist.h
-include/schroedinger-1.0/schroedinger/schrometric.h
-include/schroedinger-1.0/schroedinger/schromotion.h
-include/schroedinger-1.0/schroedinger/schromotionest.h
-include/schroedinger-1.0/schroedinger/schropack.h
-include/schroedinger-1.0/schroedinger/schroparams.h
-include/schroedinger-1.0/schroedinger/schroparse.h
-include/schroedinger-1.0/schroedinger/schrophasecorrelation.h
-include/schroedinger-1.0/schroedinger/schroqueue.h
-include/schroedinger-1.0/schroedinger/schrossim.h
-include/schroedinger-1.0/schroedinger/schrotables.h
-include/schroedinger-1.0/schroedinger/schrounpack.h
-include/schroedinger-1.0/schroedinger/schroutils.h
-include/schroedinger-1.0/schroedinger/schroversion.h
-include/schroedinger-1.0/schroedinger/schrovideoformat.h
-include/schroedinger-1.0/schroedinger/schrovirtframe.h
-include/schroedinger-1.0/schroedinger/schrowavelet.h
-lib/libschroedinger-1.0.a
-lib/libschroedinger-1.0.so
-lib/libschroedinger-1.0.so.0
-lib/libschroedinger-1.0.so.0.11.0
-libdata/pkgconfig/schroedinger-1.0.pc
-share/gtk-doc/html/schroedinger/home.png
-share/gtk-doc/html/schroedinger/index.html
-share/gtk-doc/html/schroedinger/index.sgml
-share/gtk-doc/html/schroedinger/left.png
-share/gtk-doc/html/schroedinger/right.png
-share/gtk-doc/html/schroedinger/schroedinger-schro.html
-share/gtk-doc/html/schroedinger/schroedinger-schroarith.html
-share/gtk-doc/html/schroedinger/schroedinger-schroasync.html
-share/gtk-doc/html/schroedinger/schroedinger-schrobitstream.html
-share/gtk-doc/html/schroedinger/schroedinger-schrobuffer.html
-share/gtk-doc/html/schroedinger/schroedinger-schrocuda.html
-share/gtk-doc/html/schroedinger/schroedinger-schrodebug.html
-share/gtk-doc/html/schroedinger/schroedinger-schrodecoder.html
-share/gtk-doc/html/schroedinger/schroedinger-schrodomain.html
-share/gtk-doc/html/schroedinger/schroedinger-schroencoder.html
-share/gtk-doc/html/schroedinger/schroedinger-schrofft.html
-share/gtk-doc/html/schroedinger/schroedinger-schrofilter.html
-share/gtk-doc/html/schroedinger/schroedinger-schroframe.html
-share/gtk-doc/html/schroedinger/schroedinger-schrohistogram.html
-share/gtk-doc/html/schroedinger/schroedinger-schrolimits.html
-share/gtk-doc/html/schroedinger/schroedinger-schrolist.html
-share/gtk-doc/html/schroedinger/schroedinger-schrometric.html
-share/gtk-doc/html/schroedinger/schroedinger-schromotion.html
-share/gtk-doc/html/schroedinger/schroedinger-schromotionest.html
-share/gtk-doc/html/schroedinger/schroedinger-schrooil.html
-share/gtk-doc/html/schroedinger/schroedinger-schropack.html
-share/gtk-doc/html/schroedinger/schroedinger-schroparams.html
-share/gtk-doc/html/schroedinger/schroedinger-schroqueue.html
-share/gtk-doc/html/schroedinger/schroedinger-schrosubband.html
-share/gtk-doc/html/schroedinger/schroedinger-schrounpack.html
-share/gtk-doc/html/schroedinger/schroedinger-schroutils.html
-share/gtk-doc/html/schroedinger/schroedinger-schrovideoformat.html
-share/gtk-doc/html/schroedinger/schroedinger-schrowavelet.html
-share/gtk-doc/html/schroedinger/schroedinger.devhelp2
-share/gtk-doc/html/schroedinger/schrointernal.html
-share/gtk-doc/html/schroedinger/schropublic.html
-share/gtk-doc/html/schroedinger/style.css
-share/gtk-doc/html/schroedinger/up.png
diff --git a/multimedia/scte35dump/Makefile b/multimedia/scte35dump/Makefile
index c6199113b62c..6b0d520df712 100644
--- a/multimedia/scte35dump/Makefile
+++ b/multimedia/scte35dump/Makefile
@@ -1,10 +1,11 @@
PORTNAME= scte35dump
-DISTVERSION= 0.1.6
-PORTREVISION= 10
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.1.8
CATEGORIES= multimedia
MAINTAINER= rodrigo@FreeBSD.org
COMMENT= Dump SCTE-35 data from a Transport Stream
+WWW= https://github.com/m2amedia/scte35dump
LICENSE= MIT
@@ -12,81 +13,6 @@ USES= cargo ssl:build
USE_GITHUB= yes
GH_ACCOUNT= m2amedia
-CARGO_CRATES= aho-corasick-0.7.4 \
- ansi_term-0.11.0 \
- arrayvec-0.3.25 \
- arrayvec-0.4.11 \
- atty-0.2.13 \
- base64-0.10.1 \
- bitflags-1.1.0 \
- bitreader-0.3.1 \
- byteorder-1.3.2 \
- cfg-if-0.1.9 \
- clap-2.33.0 \
- encoding-0.2.33 \
- encoding-index-japanese-1.20141219.5 \
- encoding-index-korean-1.20141219.5 \
- encoding-index-simpchinese-1.20141219.5 \
- encoding-index-singlebyte-1.20141219.5 \
- encoding-index-tradchinese-1.20141219.5 \
- encoding_index_tests-0.1.4 \
- env_logger-0.6.2 \
- fixedbitset-0.1.9 \
- fuchsia-zircon-0.3.3 \
- fuchsia-zircon-sys-0.3.3 \
- hex-0.3.2 \
- hexdump-0.1.0 \
- humantime-1.2.0 \
- iovec-0.1.2 \
- itertools-0.4.19 \
- kernel32-sys-0.2.2 \
- lazy_static-1.3.0 \
- libc-0.2.60 \
- log-0.4.7 \
- memchr-2.2.1 \
- mio-0.6.19 \
- miow-0.2.1 \
- mpeg2ts-reader-0.13.0 \
- net2-0.2.33 \
- nodrop-0.1.13 \
- odds-0.2.26 \
- proc-macro2-0.4.30 \
- quick-error-1.2.2 \
- quote-0.6.13 \
- regex-1.1.9 \
- regex-syntax-0.6.8 \
- rtp-rs-0.3.0 \
- rustc_version-0.2.3 \
- scte35-reader-0.11.0 \
- semver-0.9.0 \
- semver-parser-0.7.0 \
- serde-1.0.97 \
- serde_derive-1.0.97 \
- serdebug-1.0.5 \
- serdebug_derive-1.0.0 \
- slab-0.4.2 \
- smpte2022-1-fec-0.2.0 \
- smpte2022-1-packet-0.4.0 \
- strsim-0.8.0 \
- syn-0.14.9 \
- syn-0.15.39 \
- termcolor-1.0.5 \
- textwrap-0.11.0 \
- thread_local-0.3.6 \
- ucd-util-0.1.3 \
- unicode-width-0.1.5 \
- unicode-xid-0.1.0 \
- utf8-ranges-1.0.3 \
- vec_map-0.8.1 \
- winapi-0.2.8 \
- winapi-0.3.7 \
- winapi-build-0.1.1 \
- winapi-i686-pc-windows-gnu-0.4.0 \
- winapi-util-0.1.2 \
- winapi-x86_64-pc-windows-gnu-0.4.0 \
- wincolor-1.0.1 \
- ws2_32-sys-0.2.1
-
PLIST_FILES= bin/scte35dump
.include <bsd.port.mk>
diff --git a/multimedia/scte35dump/Makefile.crates b/multimedia/scte35dump/Makefile.crates
new file mode 100644
index 000000000000..211964cf0e04
--- /dev/null
+++ b/multimedia/scte35dump/Makefile.crates
@@ -0,0 +1,119 @@
+CARGO_CRATES= aho-corasick-1.1.2 \
+ anstream-0.6.11 \
+ anstyle-1.0.6 \
+ anstyle-parse-0.2.3 \
+ anstyle-query-1.0.2 \
+ anstyle-wincon-3.0.2 \
+ arrayvec-0.5.2 \
+ base64-0.21.7 \
+ bitflags-1.3.2 \
+ bitflags-2.4.2 \
+ bitreader-0.3.8 \
+ cfg-if-0.1.10 \
+ cfg-if-1.0.0 \
+ clap-4.5.1 \
+ clap_builder-4.5.1 \
+ clap_lex-0.7.0 \
+ colorchoice-1.0.0 \
+ content_inspector-0.2.4 \
+ crossbeam-deque-0.8.5 \
+ crossbeam-epoch-0.9.18 \
+ crossbeam-utils-0.8.19 \
+ dunce-1.0.4 \
+ either-1.10.0 \
+ encoding-0.2.33 \
+ encoding-index-japanese-1.20141219.5 \
+ encoding-index-korean-1.20141219.5 \
+ encoding-index-simpchinese-1.20141219.5 \
+ encoding-index-singlebyte-1.20141219.5 \
+ encoding-index-tradchinese-1.20141219.5 \
+ encoding_index_tests-0.1.4 \
+ env_filter-0.1.0 \
+ env_logger-0.11.2 \
+ equivalent-1.0.1 \
+ errno-0.3.8 \
+ fastrand-2.0.1 \
+ filetime-0.2.23 \
+ fixedbitset-0.4.2 \
+ form_urlencoded-1.2.1 \
+ four-cc-0.3.0 \
+ glob-0.3.1 \
+ hashbrown-0.14.3 \
+ hex-0.4.3 \
+ hex-slice-0.1.4 \
+ humantime-2.1.0 \
+ humantime-serde-1.1.1 \
+ idna-0.5.0 \
+ indexmap-2.2.3 \
+ libc-0.2.153 \
+ linux-raw-sys-0.4.13 \
+ log-0.4.20 \
+ memchr-2.7.1 \
+ mio-0.8.10 \
+ mpeg2ts-reader-0.16.0 \
+ net2-0.2.39 \
+ normalize-line-endings-0.3.0 \
+ os_pipe-1.1.5 \
+ percent-encoding-2.3.1 \
+ proc-macro2-1.0.78 \
+ quote-1.0.35 \
+ rayon-1.8.1 \
+ rayon-core-1.12.1 \
+ redox_syscall-0.4.1 \
+ regex-1.10.3 \
+ regex-automata-0.4.5 \
+ regex-syntax-0.8.2 \
+ rtp-rs-0.5.0 \
+ rtp-rs-0.6.0 \
+ rustix-0.38.31 \
+ same-file-1.0.6 \
+ scte35-reader-0.15.0 \
+ serde-1.0.196 \
+ serde_derive-1.0.196 \
+ serde_spanned-0.6.5 \
+ shlex-1.3.0 \
+ similar-2.4.0 \
+ smpte2022-1-fec-0.3.0 \
+ smpte2022-1-packet-0.5.0 \
+ smptera-format-identifiers-rust-0.4.0 \
+ snapbox-0.5.6 \
+ snapbox-macros-0.3.8 \
+ strsim-0.11.0 \
+ syn-2.0.49 \
+ tempfile-3.10.0 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ toml_datetime-0.6.5 \
+ toml_edit-0.22.6 \
+ trycmd-0.15.0 \
+ unicode-bidi-0.3.15 \
+ unicode-ident-1.0.12 \
+ unicode-normalization-0.1.22 \
+ url-2.5.0 \
+ utf8parse-0.2.1 \
+ wait-timeout-0.2.0 \
+ walkdir-2.4.0 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-util-0.1.6 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.0 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.0 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.0 \
+ winnow-0.6.2
diff --git a/multimedia/scte35dump/distinfo b/multimedia/scte35dump/distinfo
index cbff8cc3b42c..8719c29ced9b 100644
--- a/multimedia/scte35dump/distinfo
+++ b/multimedia/scte35dump/distinfo
@@ -1,26 +1,50 @@
-TIMESTAMP = 1619967538
-SHA256 (rust/crates/aho-corasick-0.7.4.crate) = 36b7aa1ccb7d7ea3f437cf025a2ab1c47cc6c1bc9fc84918ff449def12f5e282
-SIZE (rust/crates/aho-corasick-0.7.4.crate) = 55480
-SHA256 (rust/crates/ansi_term-0.11.0.crate) = ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b
-SIZE (rust/crates/ansi_term-0.11.0.crate) = 17087
-SHA256 (rust/crates/arrayvec-0.3.25.crate) = 06f59fe10306bb78facd90d28c2038ad23ffaaefa85bac43c8a434cde383334f
-SIZE (rust/crates/arrayvec-0.3.25.crate) = 18374
-SHA256 (rust/crates/arrayvec-0.4.11.crate) = b8d73f9beda665eaa98ab9e4f7442bd4e7de6652587de55b2525e52e29c1b0ba
-SIZE (rust/crates/arrayvec-0.4.11.crate) = 26439
-SHA256 (rust/crates/atty-0.2.13.crate) = 1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90
-SIZE (rust/crates/atty-0.2.13.crate) = 4764
-SHA256 (rust/crates/base64-0.10.1.crate) = 0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e
-SIZE (rust/crates/base64-0.10.1.crate) = 41988
-SHA256 (rust/crates/bitflags-1.1.0.crate) = 3d155346769a6855b86399e9bc3814ab343cd3d62c7e985113d46a0ec3c281fd
-SIZE (rust/crates/bitflags-1.1.0.crate) = 16322
-SHA256 (rust/crates/bitreader-0.3.1.crate) = a13e712f6e04f0e507a913abf5e008ba2a342ec26d9fac34ba0766bd77ced5b8
-SIZE (rust/crates/bitreader-0.3.1.crate) = 9710
-SHA256 (rust/crates/byteorder-1.3.2.crate) = a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5
-SIZE (rust/crates/byteorder-1.3.2.crate) = 21596
-SHA256 (rust/crates/cfg-if-0.1.9.crate) = b486ce3ccf7ffd79fdeb678eac06a9e6c09fc88d33836340becb8fffe87c5e33
-SIZE (rust/crates/cfg-if-0.1.9.crate) = 7353
-SHA256 (rust/crates/clap-2.33.0.crate) = 5067f5bb2d80ef5d68b4c87db81601f0b75bca627bc2ef76b141d7b846a3c6d9
-SIZE (rust/crates/clap-2.33.0.crate) = 196458
+TIMESTAMP = 1713165497
+SHA256 (rust/crates/aho-corasick-1.1.2.crate) = b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0
+SIZE (rust/crates/aho-corasick-1.1.2.crate) = 183136
+SHA256 (rust/crates/anstream-0.6.11.crate) = 6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5
+SIZE (rust/crates/anstream-0.6.11.crate) = 30239
+SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
+SIZE (rust/crates/anstyle-1.0.6.crate) = 14604
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/arrayvec-0.5.2.crate) = 23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b
+SIZE (rust/crates/arrayvec-0.5.2.crate) = 27838
+SHA256 (rust/crates/base64-0.21.7.crate) = 9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567
+SIZE (rust/crates/base64-0.21.7.crate) = 82576
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.4.2.crate) = ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf
+SIZE (rust/crates/bitflags-2.4.2.crate) = 42602
+SHA256 (rust/crates/bitreader-0.3.8.crate) = bdd859c9d97f7c468252795b35aeccc412bdbb1e90ee6969c4fa6328272eaeff
+SIZE (rust/crates/bitreader-0.3.8.crate) = 11754
+SHA256 (rust/crates/cfg-if-0.1.10.crate) = 4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822
+SIZE (rust/crates/cfg-if-0.1.10.crate) = 7933
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clap-4.5.1.crate) = c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da
+SIZE (rust/crates/clap-4.5.1.crate) = 55389
+SHA256 (rust/crates/clap_builder-4.5.1.crate) = 9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb
+SIZE (rust/crates/clap_builder-4.5.1.crate) = 163569
+SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
+SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/content_inspector-0.2.4.crate) = b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38
+SIZE (rust/crates/content_inspector-0.2.4.crate) = 11386
+SHA256 (rust/crates/crossbeam-deque-0.8.5.crate) = 613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d
+SIZE (rust/crates/crossbeam-deque-0.8.5.crate) = 21726
+SHA256 (rust/crates/crossbeam-epoch-0.9.18.crate) = 5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e
+SIZE (rust/crates/crossbeam-epoch-0.9.18.crate) = 46875
+SHA256 (rust/crates/crossbeam-utils-0.8.19.crate) = 248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345
+SIZE (rust/crates/crossbeam-utils-0.8.19.crate) = 42328
+SHA256 (rust/crates/dunce-1.0.4.crate) = 56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b
+SIZE (rust/crates/dunce-1.0.4.crate) = 8034
+SHA256 (rust/crates/either-1.10.0.crate) = 11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a
+SIZE (rust/crates/either-1.10.0.crate) = 18334
SHA256 (rust/crates/encoding-0.2.33.crate) = 6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec
SIZE (rust/crates/encoding-0.2.33.crate) = 88798
SHA256 (rust/crates/encoding-index-japanese-1.20141219.5.crate) = 04e8b2ff42e9a05335dbf8b5c6f7567e5591d0d916ccef4e0b1710d32a0d0c91
@@ -35,117 +59,183 @@ SHA256 (rust/crates/encoding-index-tradchinese-1.20141219.5.crate) = fd0e20d5688
SIZE (rust/crates/encoding-index-tradchinese-1.20141219.5.crate) = 120862
SHA256 (rust/crates/encoding_index_tests-0.1.4.crate) = a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569
SIZE (rust/crates/encoding_index_tests-0.1.4.crate) = 1631
-SHA256 (rust/crates/env_logger-0.6.2.crate) = aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3
-SIZE (rust/crates/env_logger-0.6.2.crate) = 31078
-SHA256 (rust/crates/fixedbitset-0.1.9.crate) = 86d4de0081402f5e88cdac65c8dcdcc73118c1a7a465e2a05f0da05843a8ea33
-SIZE (rust/crates/fixedbitset-0.1.9.crate) = 11974
-SHA256 (rust/crates/fuchsia-zircon-0.3.3.crate) = 2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82
-SIZE (rust/crates/fuchsia-zircon-0.3.3.crate) = 22565
-SHA256 (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7
-SIZE (rust/crates/fuchsia-zircon-sys-0.3.3.crate) = 7191
-SHA256 (rust/crates/hex-0.3.2.crate) = 805026a5d0141ffc30abb3be3173848ad46a1b1664fe632428479619a3644d77
-SIZE (rust/crates/hex-0.3.2.crate) = 9053
-SHA256 (rust/crates/hexdump-0.1.0.crate) = 850f3f2c33d20c0f96c4485e087dd580ff041d720988ebf4c84a42acf739262b
-SIZE (rust/crates/hexdump-0.1.0.crate) = 7675
-SHA256 (rust/crates/humantime-1.2.0.crate) = 3ca7e5f2e110db35f93b837c81797f3714500b81d517bf20c431b16d3ca4f114
-SIZE (rust/crates/humantime-1.2.0.crate) = 16795
-SHA256 (rust/crates/iovec-0.1.2.crate) = dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08
-SIZE (rust/crates/iovec-0.1.2.crate) = 8565
-SHA256 (rust/crates/itertools-0.4.19.crate) = c4a9b56eb56058f43dc66e58f40a214b2ccbc9f3df51861b63d51dec7b65bc3f
-SIZE (rust/crates/itertools-0.4.19.crate) = 64212
-SHA256 (rust/crates/kernel32-sys-0.2.2.crate) = 7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d
-SIZE (rust/crates/kernel32-sys-0.2.2.crate) = 24537
-SHA256 (rust/crates/lazy_static-1.3.0.crate) = bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14
-SIZE (rust/crates/lazy_static-1.3.0.crate) = 10616
-SHA256 (rust/crates/libc-0.2.60.crate) = d44e80633f007889c7eff624b709ab43c92d708caad982295768a7b13ca3b5eb
-SIZE (rust/crates/libc-0.2.60.crate) = 409744
-SHA256 (rust/crates/log-0.4.7.crate) = c275b6ad54070ac2d665eef9197db647b32239c9d244bfb6f041a766d00da5b3
-SIZE (rust/crates/log-0.4.7.crate) = 30733
-SHA256 (rust/crates/memchr-2.2.1.crate) = 88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e
-SIZE (rust/crates/memchr-2.2.1.crate) = 20862
-SHA256 (rust/crates/mio-0.6.19.crate) = 83f51996a3ed004ef184e16818edc51fadffe8e7ca68be67f9dee67d84d0ff23
-SIZE (rust/crates/mio-0.6.19.crate) = 128192
-SHA256 (rust/crates/miow-0.2.1.crate) = 8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919
-SIZE (rust/crates/miow-0.2.1.crate) = 21133
-SHA256 (rust/crates/mpeg2ts-reader-0.13.0.crate) = 4546f85e279afb5be07e1ae8c6be25e6988e07b11f162fe3006e8c001a04b650
-SIZE (rust/crates/mpeg2ts-reader-0.13.0.crate) = 57299
-SHA256 (rust/crates/net2-0.2.33.crate) = 42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88
-SIZE (rust/crates/net2-0.2.33.crate) = 20936
-SHA256 (rust/crates/nodrop-0.1.13.crate) = 2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945
-SIZE (rust/crates/nodrop-0.1.13.crate) = 7508
-SHA256 (rust/crates/odds-0.2.26.crate) = 4eae0151b9dacf24fcc170d9995e511669a082856a91f958a2fe380bfab3fb22
-SIZE (rust/crates/odds-0.2.26.crate) = 30737
-SHA256 (rust/crates/proc-macro2-0.4.30.crate) = cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759
-SIZE (rust/crates/proc-macro2-0.4.30.crate) = 34731
-SHA256 (rust/crates/quick-error-1.2.2.crate) = 9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0
-SIZE (rust/crates/quick-error-1.2.2.crate) = 15132
-SHA256 (rust/crates/quote-0.6.13.crate) = 6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1
-SIZE (rust/crates/quote-0.6.13.crate) = 17475
-SHA256 (rust/crates/regex-1.1.9.crate) = d9d8297cc20bbb6184f8b45ff61c8ee6a9ac56c156cec8e38c3e5084773c44ad
-SIZE (rust/crates/regex-1.1.9.crate) = 246517
-SHA256 (rust/crates/regex-syntax-0.6.8.crate) = 9b01330cce219c1c6b2e209e5ed64ccd587ae5c67bed91c0b49eecf02ae40e21
-SIZE (rust/crates/regex-syntax-0.6.8.crate) = 273624
-SHA256 (rust/crates/rtp-rs-0.3.0.crate) = e78db1179f207610e377451c3e81cfe177cc101a738430c9bc400729563c598c
-SIZE (rust/crates/rtp-rs-0.3.0.crate) = 4095
-SHA256 (rust/crates/rustc_version-0.2.3.crate) = 138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a
-SIZE (rust/crates/rustc_version-0.2.3.crate) = 10210
-SHA256 (rust/crates/scte35-reader-0.11.0.crate) = f92f372a105c8839b729d613d4e51b7fed9fd8740c6caf447494ff32288d7bf9
-SIZE (rust/crates/scte35-reader-0.11.0.crate) = 14845
-SHA256 (rust/crates/semver-0.9.0.crate) = 1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403
-SIZE (rust/crates/semver-0.9.0.crate) = 17344
-SHA256 (rust/crates/semver-parser-0.7.0.crate) = 388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3
-SIZE (rust/crates/semver-parser-0.7.0.crate) = 10268
-SHA256 (rust/crates/serde-1.0.97.crate) = d46b3dfedb19360a74316866cef04687cd4d6a70df8e6a506c63512790769b72
-SIZE (rust/crates/serde-1.0.97.crate) = 72406
-SHA256 (rust/crates/serde_derive-1.0.97.crate) = c22a0820adfe2f257b098714323563dd06426502abbbce4f51b72ef544c5027f
-SIZE (rust/crates/serde_derive-1.0.97.crate) = 49043
-SHA256 (rust/crates/serdebug-1.0.5.crate) = 195540c83d8d0a4ff60bf4318a7bfe259de8131ccee0bddb737638683dd80a16
-SIZE (rust/crates/serdebug-1.0.5.crate) = 4509
-SHA256 (rust/crates/serdebug_derive-1.0.0.crate) = e82acb3dd791085c6091f48c9175456485c48c10cf37d91a041f4606bf45b341
-SIZE (rust/crates/serdebug_derive-1.0.0.crate) = 1100
-SHA256 (rust/crates/slab-0.4.2.crate) = c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8
-SIZE (rust/crates/slab-0.4.2.crate) = 10136
-SHA256 (rust/crates/smpte2022-1-fec-0.2.0.crate) = 3a45b5abe964cda89ae483c4d4329c811fc10006a80b92b6073c4b7e16e95eba
-SIZE (rust/crates/smpte2022-1-fec-0.2.0.crate) = 19526
-SHA256 (rust/crates/smpte2022-1-packet-0.4.0.crate) = 38b70f1703023f4586c481c0c04c4ddc2ac00e0d3121c2c97e5c319b09efcd21
-SIZE (rust/crates/smpte2022-1-packet-0.4.0.crate) = 11858
-SHA256 (rust/crates/strsim-0.8.0.crate) = 8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a
-SIZE (rust/crates/strsim-0.8.0.crate) = 9309
-SHA256 (rust/crates/syn-0.14.9.crate) = 261ae9ecaa397c42b960649561949d69311f08eeaea86a65696e6e46517cf741
-SIZE (rust/crates/syn-0.14.9.crate) = 135921
-SHA256 (rust/crates/syn-0.15.39.crate) = b4d960b829a55e56db167e861ddb43602c003c7be0bee1d345021703fac2fb7c
-SIZE (rust/crates/syn-0.15.39.crate) = 185194
-SHA256 (rust/crates/termcolor-1.0.5.crate) = 96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e
-SIZE (rust/crates/termcolor-1.0.5.crate) = 14526
-SHA256 (rust/crates/textwrap-0.11.0.crate) = d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060
-SIZE (rust/crates/textwrap-0.11.0.crate) = 17322
-SHA256 (rust/crates/thread_local-0.3.6.crate) = c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b
-SIZE (rust/crates/thread_local-0.3.6.crate) = 12388
-SHA256 (rust/crates/ucd-util-0.1.3.crate) = 535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86
-SIZE (rust/crates/ucd-util-0.1.3.crate) = 25897
-SHA256 (rust/crates/unicode-width-0.1.5.crate) = 882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526
-SIZE (rust/crates/unicode-width-0.1.5.crate) = 15761
-SHA256 (rust/crates/unicode-xid-0.1.0.crate) = fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc
-SIZE (rust/crates/unicode-xid-0.1.0.crate) = 16000
-SHA256 (rust/crates/utf8-ranges-1.0.3.crate) = 9d50aa7650df78abf942826607c62468ce18d9019673d4a2ebe1865dbb96ffde
-SIZE (rust/crates/utf8-ranges-1.0.3.crate) = 8496
-SHA256 (rust/crates/vec_map-0.8.1.crate) = 05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a
-SIZE (rust/crates/vec_map-0.8.1.crate) = 14959
-SHA256 (rust/crates/winapi-0.2.8.crate) = 167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a
-SIZE (rust/crates/winapi-0.2.8.crate) = 455145
-SHA256 (rust/crates/winapi-0.3.7.crate) = f10e386af2b13e47c89e7236a7a14a086791a2b88ebad6df9bf42040195cf770
-SIZE (rust/crates/winapi-0.3.7.crate) = 1075776
-SHA256 (rust/crates/winapi-build-0.1.1.crate) = 2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc
-SIZE (rust/crates/winapi-build-0.1.1.crate) = 669
+SHA256 (rust/crates/env_filter-0.1.0.crate) = a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea
+SIZE (rust/crates/env_filter-0.1.0.crate) = 11553
+SHA256 (rust/crates/env_logger-0.11.2.crate) = 6c012a26a7f605efc424dd53697843a72be7dc86ad2d01f7814337794a12231d
+SIZE (rust/crates/env_logger-0.11.2.crate) = 28310
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/fastrand-2.0.1.crate) = 25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5
+SIZE (rust/crates/fastrand-2.0.1.crate) = 14664
+SHA256 (rust/crates/filetime-0.2.23.crate) = 1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd
+SIZE (rust/crates/filetime-0.2.23.crate) = 14942
+SHA256 (rust/crates/fixedbitset-0.4.2.crate) = 0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80
+SIZE (rust/crates/fixedbitset-0.4.2.crate) = 15954
+SHA256 (rust/crates/form_urlencoded-1.2.1.crate) = e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456
+SIZE (rust/crates/form_urlencoded-1.2.1.crate) = 8969
+SHA256 (rust/crates/four-cc-0.3.0.crate) = 431a4c31778fde52b4400de34975f219eeca55cc829a9de157cd743a5b230ecb
+SIZE (rust/crates/four-cc-0.3.0.crate) = 8629
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/hashbrown-0.14.3.crate) = 290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604
+SIZE (rust/crates/hashbrown-0.14.3.crate) = 141425
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/hex-slice-0.1.4.crate) = 5491a308e0214554f07a81d8944abe45f552871c12e3c3c6e7e5d354039a6c4c
+SIZE (rust/crates/hex-slice-0.1.4.crate) = 2738
+SHA256 (rust/crates/humantime-2.1.0.crate) = 9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4
+SIZE (rust/crates/humantime-2.1.0.crate) = 16749
+SHA256 (rust/crates/humantime-serde-1.1.1.crate) = 57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c
+SIZE (rust/crates/humantime-serde-1.1.1.crate) = 7886
+SHA256 (rust/crates/idna-0.5.0.crate) = 634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6
+SIZE (rust/crates/idna-0.5.0.crate) = 271940
+SHA256 (rust/crates/indexmap-2.2.3.crate) = 233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177
+SIZE (rust/crates/indexmap-2.2.3.crate) = 79019
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c
+SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/mio-0.8.10.crate) = 8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09
+SIZE (rust/crates/mio-0.8.10.crate) = 102345
+SHA256 (rust/crates/mpeg2ts-reader-0.16.0.crate) = 915a961c22ff67149317585dd5cf71e808b5b044a3e38b9551ece14879a02904
+SIZE (rust/crates/mpeg2ts-reader-0.16.0.crate) = 73020
+SHA256 (rust/crates/net2-0.2.39.crate) = b13b648036a2339d06de780866fbdfda0dde886de7b3af2ddeba8b14f4ee34ac
+SIZE (rust/crates/net2-0.2.39.crate) = 20696
+SHA256 (rust/crates/normalize-line-endings-0.3.0.crate) = 61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be
+SIZE (rust/crates/normalize-line-endings-0.3.0.crate) = 5737
+SHA256 (rust/crates/os_pipe-1.1.5.crate) = 57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9
+SIZE (rust/crates/os_pipe-1.1.5.crate) = 11430
+SHA256 (rust/crates/percent-encoding-2.3.1.crate) = e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e
+SIZE (rust/crates/percent-encoding-2.3.1.crate) = 10235
+SHA256 (rust/crates/proc-macro2-1.0.78.crate) = e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae
+SIZE (rust/crates/proc-macro2-1.0.78.crate) = 47158
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/rayon-1.8.1.crate) = fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051
+SIZE (rust/crates/rayon-1.8.1.crate) = 170448
+SHA256 (rust/crates/rayon-core-1.12.1.crate) = 1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2
+SIZE (rust/crates/rayon-core-1.12.1.crate) = 70701
+SHA256 (rust/crates/redox_syscall-0.4.1.crate) = 4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa
+SIZE (rust/crates/redox_syscall-0.4.1.crate) = 24858
+SHA256 (rust/crates/regex-1.10.3.crate) = b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15
+SIZE (rust/crates/regex-1.10.3.crate) = 253101
+SHA256 (rust/crates/regex-automata-0.4.5.crate) = 5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd
+SIZE (rust/crates/regex-automata-0.4.5.crate) = 617406
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/rtp-rs-0.5.0.crate) = e1110d695193d446e901de09921ffbf2d86ae351bbfde9c5b53863ce177e17f5
+SIZE (rust/crates/rtp-rs-0.5.0.crate) = 8300
+SHA256 (rust/crates/rtp-rs-0.6.0.crate) = d4ed274a5b3d36c4434cff6a4de1b42f43e64ae326b1cfa72d13d9037a314355
+SIZE (rust/crates/rtp-rs-0.6.0.crate) = 13932
+SHA256 (rust/crates/rustix-0.38.31.crate) = 6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949
+SIZE (rust/crates/rustix-0.38.31.crate) = 375443
+SHA256 (rust/crates/same-file-1.0.6.crate) = 93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502
+SIZE (rust/crates/same-file-1.0.6.crate) = 10183
+SHA256 (rust/crates/scte35-reader-0.15.0.crate) = c01e9fff7133cf6e4a10d3481bd9738656e724ddc44cf58c6b5a69572e810ac0
+SIZE (rust/crates/scte35-reader-0.15.0.crate) = 21081
+SHA256 (rust/crates/serde-1.0.196.crate) = 870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32
+SIZE (rust/crates/serde-1.0.196.crate) = 77097
+SHA256 (rust/crates/serde_derive-1.0.196.crate) = 33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67
+SIZE (rust/crates/serde_derive-1.0.196.crate) = 55775
+SHA256 (rust/crates/serde_spanned-0.6.5.crate) = eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1
+SIZE (rust/crates/serde_spanned-0.6.5.crate) = 8349
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/similar-2.4.0.crate) = 32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21
+SIZE (rust/crates/similar-2.4.0.crate) = 53147
+SHA256 (rust/crates/smpte2022-1-fec-0.3.0.crate) = 1f0878b774d6805b13f93386006c4a2712cc7517d36d86a8fb89ec8851d437d7
+SIZE (rust/crates/smpte2022-1-fec-0.3.0.crate) = 22165
+SHA256 (rust/crates/smpte2022-1-packet-0.5.0.crate) = b7cf57b46460a7a680d7eb461c2d494749f0ecd3717ff988f52c7a527ac77c1a
+SIZE (rust/crates/smpte2022-1-packet-0.5.0.crate) = 12093
+SHA256 (rust/crates/smptera-format-identifiers-rust-0.4.0.crate) = b79962555faf3a7892357f69d0306269cb1b265007957252c843953804884750
+SIZE (rust/crates/smptera-format-identifiers-rust-0.4.0.crate) = 8612
+SHA256 (rust/crates/snapbox-0.5.6.crate) = 06c5d3f53d7d2d3c2679d4a46fdbc738cf554e6d13a1c0b2c42ed170c92d73af
+SIZE (rust/crates/snapbox-0.5.6.crate) = 49095
+SHA256 (rust/crates/snapbox-macros-0.3.8.crate) = e1c4b838b05d15ab22754068cb73500b2f3b07bf09d310e15b27f88160f1de40
+SIZE (rust/crates/snapbox-macros-0.3.8.crate) = 6328
+SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01
+SIZE (rust/crates/strsim-0.11.0.crate) = 13710
+SHA256 (rust/crates/syn-2.0.49.crate) = 915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496
+SIZE (rust/crates/syn-2.0.49.crate) = 250652
+SHA256 (rust/crates/tempfile-3.10.0.crate) = a365e8cd18e44762ef95d87f284f4b5cd04107fec2ff3052bd6a3e6069669e67
+SIZE (rust/crates/tempfile-3.10.0.crate) = 33376
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml_datetime-0.6.5.crate) = 3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1
+SIZE (rust/crates/toml_datetime-0.6.5.crate) = 10910
+SHA256 (rust/crates/toml_edit-0.22.6.crate) = 2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6
+SIZE (rust/crates/toml_edit-0.22.6.crate) = 103304
+SHA256 (rust/crates/trycmd-0.15.0.crate) = 464edb3603a81a50b4c8f47b11dfade69ef48ffdc0af2f8b194ad87cbda75317
+SIZE (rust/crates/trycmd-0.15.0.crate) = 33990
+SHA256 (rust/crates/unicode-bidi-0.3.15.crate) = 08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75
+SIZE (rust/crates/unicode-bidi-0.3.15.crate) = 56811
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/url-2.5.0.crate) = 31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633
+SIZE (rust/crates/url-2.5.0.crate) = 78605
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/wait-timeout-0.2.0.crate) = 9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6
+SIZE (rust/crates/wait-timeout-0.2.0.crate) = 12441
+SHA256 (rust/crates/walkdir-2.4.0.crate) = d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee
+SIZE (rust/crates/walkdir-2.4.0.crate) = 23550
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
-SHA256 (rust/crates/winapi-util-0.1.2.crate) = 7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9
-SIZE (rust/crates/winapi-util-0.1.2.crate) = 7810
+SHA256 (rust/crates/winapi-util-0.1.6.crate) = f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596
+SIZE (rust/crates/winapi-util-0.1.6.crate) = 12234
SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
-SHA256 (rust/crates/wincolor-1.0.1.crate) = 561ed901ae465d6185fa7864d63fbd5720d0ef718366c9a4dc83cf6170d7e9ba
-SIZE (rust/crates/wincolor-1.0.1.crate) = 4737
-SHA256 (rust/crates/ws2_32-sys-0.2.1.crate) = d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e
-SIZE (rust/crates/ws2_32-sys-0.2.1.crate) = 4697
-SHA256 (m2amedia-scte35dump-0.1.6_GH0.tar.gz) = 2058258760a08c3ff9245c1135eb4abcdb930ca0b96ebdaefaec3a336524c1d1
-SIZE (m2amedia-scte35dump-0.1.6_GH0.tar.gz) = 16860
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (rust/crates/winnow-0.6.2.crate) = 7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178
+SIZE (rust/crates/winnow-0.6.2.crate) = 157140
+SHA256 (m2amedia-scte35dump-v0.1.8_GH0.tar.gz) = cc79a5673157d235308a61910cab6da260f915a2221bdb5f9b311b3cdf2efca1
+SIZE (m2amedia-scte35dump-v0.1.8_GH0.tar.gz) = 20217
diff --git a/multimedia/scte35dump/files/patch-powerpc b/multimedia/scte35dump/files/patch-powerpc
deleted file mode 100644
index 707fe64ed420..000000000000
--- a/multimedia/scte35dump/files/patch-powerpc
+++ /dev/null
@@ -1,62 +0,0 @@
---- cargo-crates/libc-0.2.60/src/unix/bsd/freebsdlike/freebsd/mod.rs.orig 2020-03-17 20:35:43 UTC
-+++ cargo-crates/libc-0.2.60/src/unix/bsd/freebsdlike/freebsd/mod.rs
-@@ -1486,6 +1486,9 @@ cfg_if! {
- } else if #[cfg(target_arch = "powerpc64")] {
- mod powerpc64;
- pub use self::powerpc64::*;
-+ } else if #[cfg(target_arch = "powerpc")] {
-+ mod powerpc;
-+ pub use self::powerpc::*;
- } else {
- // Unknown target_arch
- }
---- cargo-crates/libc-0.2.60/src/unix/bsd/freebsdlike/freebsd/powerpc.rs.orig 2021-06-23 22:40:24 UTC
-+++ cargo-crates/libc-0.2.60/src/unix/bsd/freebsdlike/freebsd/powerpc.rs
-@@ -0,0 +1,47 @@
-+pub type c_char = u8;
-+pub type c_long = i32;
-+pub type c_ulong = u32;
-+pub type wchar_t = i32;
-+pub type time_t = i64;
-+pub type suseconds_t = i32;
-+pub type register_t = i32;
-+
-+s! {
-+ pub struct stat {
-+ pub st_dev: ::dev_t,
-+ pub st_ino: ::ino_t,
-+ pub st_mode: ::mode_t,
-+ pub st_nlink: ::nlink_t,
-+ pub st_uid: ::uid_t,
-+ pub st_gid: ::gid_t,
-+ pub st_rdev: ::dev_t,
-+ pub st_atime: ::time_t,
-+ pub st_atime_nsec: ::c_long,
-+ pub st_mtime: ::time_t,
-+ pub st_mtime_nsec: ::c_long,
-+ pub st_ctime: ::time_t,
-+ pub st_ctime_nsec: ::c_long,
-+ pub st_size: ::off_t,
-+ pub st_blocks: ::blkcnt_t,
-+ pub st_blksize: ::blksize_t,
-+ pub st_flags: ::fflags_t,
-+ pub st_gen: u32,
-+ pub st_lspare: i32,
-+ pub st_birthtime: ::time_t,
-+ pub st_birthtime_nsec: ::c_long,
-+ }
-+}
-+
-+// should be pub(crate), but that requires Rust 1.18.0
-+cfg_if! {
-+ if #[cfg(libc_const_size_of)] {
-+ #[doc(hidden)]
-+ pub const _ALIGNBYTES: usize = ::mem::size_of::<::c_int>() - 1;
-+ } else {
-+ #[doc(hidden)]
-+ pub const _ALIGNBYTES: usize = 4 - 1;
-+ }
-+}
-+
-+pub const MAP_32BIT: ::c_int = 0x00080000;
-+pub const MINSIGSTKSZ: ::size_t = 2048; // 512 * 4
diff --git a/multimedia/scte35dump/pkg-descr b/multimedia/scte35dump/pkg-descr
index 5247aa1a3422..514a15267f82 100644
--- a/multimedia/scte35dump/pkg-descr
+++ b/multimedia/scte35dump/pkg-descr
@@ -1,4 +1,2 @@
Dump SCTE-35 data from a Transport Stream contained
within a file or RTP network stream.
-
-WWW: https://github.com/m2amedia/scte35dump
diff --git a/multimedia/shotcut/Makefile b/multimedia/shotcut/Makefile
index beae7d75f977..7289b76565df 100644
--- a/multimedia/shotcut/Makefile
+++ b/multimedia/shotcut/Makefile
@@ -1,51 +1,43 @@
PORTNAME= shotcut
-DISTVERSIONPREFIX= v
-DISTVERSION= ${FULLVERSION}
-PORTREVISION= 3
+DISTVERSION= 22.06.23
+PORTREVISION= 2
CATEGORIES= multimedia
+MASTER_SITES= https://github.com/${GH_ACCOUNT}/${PORTNAME}/releases/download/v${DISTVERSION}/
+DISTNAME= ${PORTNAME}-src-${DISTVERSION:C/\.//g}
MAINTAINER= vishwin@FreeBSD.org
COMMENT= Free, open source, cross-platform video editor
+WWW= https://shotcut.org/
LICENSE= GPLv3
+LIB_DEPENDS= libfftw3.so:math/fftw3
RUN_DEPENDS= ffmpeg:multimedia/ffmpeg \
${LOCALBASE}/lib/libjack.so:audio/jack
-USES= compiler:c++11-lang cpe desktop-file-utils gl mlt:6 pkgconfig \
- qmake qt:5 sdl shared-mime-info \
- xorg
+USES= cmake compiler:c++11-lang cpe desktop-file-utils gl mlt:7 pkgconfig \
+ qmake:no_env qt:5 sdl shared-mime-info tar:txz xorg
CPE_VENDOR= meltytech
-USE_GITHUB= yes
GH_ACCOUNT= mltframework
-# Needed to be able to correctly check for updates in-app.
-FULLVERSION= 21.03.21
-
-USE_GL+= gl
-USE_QT= buildtools_build concurrent_build core declarative \
- graphicaleffects_run gui multimedia network opengl \
- printsupport quickcontrols2 sql \
- sql-sqlite3_run webkit websockets widgets x11extras xml \
- linguisttools_build
+USE_GL= gl
+USE_QT= core declarative gui multimedia network opengl quickcontrols2 sql \
+ websockets widgets xml buildtools:build concurrent:build linguisttools:build
USE_SDL= sdl2
USE_XORG= x11
-QMAKE_ARGS= ${PORTNAME:tu}_VERSION="${FULLVERSION}"
+# Needed to be able to correctly check for updates in-app.
+CMAKE_ARGS= -D${PORTNAME:tu}_VERSION="${DISTVERSION}"
-OPTIONS_DEFINE= FREI0R LADSPA NLS WEBVFX
-OPTIONS_DEFAULT=FREI0R LADSPA WEBVFX
-OPTIONS_SUB= yes
+WRKSRC= ${WRKDIR}/src
+WRKSRC_SUBDIR= ${PORTNAME}
-WEBVFX_DESC= HTML/QML-based video effects support
+OPTIONS_DEFINE= FREI0R LADSPA NLS
+OPTIONS_DEFAULT=FREI0R LADSPA
+OPTIONS_SUB= yes
FREI0R_RUN_DEPENDS= frei0r-plugins>=0:graphics/frei0r-plugins
LADSPA_RUN_DEPENDS= swhplugins>=0:audio/swhplugins
-WEBVFX_RUN_DEPENDS= ${LOCALBASE}/lib/mlt/libmltwebvfx.so:multimedia/webvfx-qt5
-
-pre-build:
- @${FIND} ${WRKSRC} -name '.depend' -delete
-
.include <bsd.port.mk>
diff --git a/multimedia/shotcut/distinfo b/multimedia/shotcut/distinfo
index acc51bc72c3b..eb64b9e13a4d 100644
--- a/multimedia/shotcut/distinfo
+++ b/multimedia/shotcut/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1616401712
-SHA256 (mltframework-shotcut-v21.03.21_GH0.tar.gz) = be668454896c540746a3d27c42c858d7652399722c7ec073c7cd3e52d7578ccd
-SIZE (mltframework-shotcut-v21.03.21_GH0.tar.gz) = 4101401
+TIMESTAMP = 1658981972
+SHA256 (shotcut-src-220623.txz) = 5f91089ba99ab61b4c41168d8bba4e5abd7d136961973c5289cd2e7de29f210e
+SIZE (shotcut-src-220623.txz) = 60135892
diff --git a/multimedia/shotcut/pkg-descr b/multimedia/shotcut/pkg-descr
index 8da6119ea0b5..f28f7c2823a0 100644
--- a/multimedia/shotcut/pkg-descr
+++ b/multimedia/shotcut/pkg-descr
@@ -3,5 +3,3 @@ Windows, Mac and Linux. Major features include support for a wide
range of formats; no import required meaning native timeline editing;
Blackmagic Design support for input and preview monitoring; and
resolution support to 4k.
-
-WWW: https://shotcut.org/
diff --git a/multimedia/shotcut/pkg-plist b/multimedia/shotcut/pkg-plist
index 2c4f6ab75587..877f59971b8c 100644
--- a/multimedia/shotcut/pkg-plist
+++ b/multimedia/shotcut/pkg-plist
@@ -1,10 +1,17 @@
bin/shotcut
+lib/libCuteLogger.so
share/applications/org.shotcut.Shotcut.desktop
share/icons/hicolor/128x128/apps/org.shotcut.Shotcut.png
share/icons/hicolor/64x64/apps/org.shotcut.Shotcut.png
share/man/man1/shotcut.1.gz
share/metainfo/org.shotcut.Shotcut.metainfo.xml
share/mime/packages/org.shotcut.Shotcut.xml
+%%DATADIR%%/qml/export-chapters/export-chapters.js
+%%DATADIR%%/qml/export-chapters/main.js
+%%DATADIR%%/qml/export-chapters/mlt2chapters.js
+%%DATADIR%%/qml/export-chapters/package.json
+%%DATADIR%%/qml/export-chapters/rebuild.sh
+%%DATADIR%%/qml/export-chapters/test-node.js
%%DATADIR%%/qml/export-edl/export-edl.js
%%DATADIR%%/qml/export-edl/main.js
%%DATADIR%%/qml/export-edl/mlt2edl.js
@@ -27,6 +34,12 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/audio_compressor/ui.qml
%%DATADIR%%/qml/filters/audio_delay/meta.qml
%%DATADIR%%/qml/filters/audio_delay/ui.qml
+%%DATADIR%%/qml/filters/audio_eq15band/meta.qml
+%%DATADIR%%/qml/filters/audio_eq15band/ui.qml
+%%DATADIR%%/qml/filters/audio_eq3band/meta.qml
+%%DATADIR%%/qml/filters/audio_eq3band/ui.qml
+%%DATADIR%%/qml/filters/audio_eqparametric/meta.qml
+%%DATADIR%%/qml/filters/audio_eqparametric/ui.qml
%%DATADIR%%/qml/filters/audio_expander/meta.qml
%%DATADIR%%/qml/filters/audio_expander/ui.qml
%%DATADIR%%/qml/filters/audio_fadein/meta.qml
@@ -59,13 +72,21 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/audio_pitch/ui.qml
%%DATADIR%%/qml/filters/audio_reverb/meta.qml
%%DATADIR%%/qml/filters/audio_reverb/ui.qml
+%%DATADIR%%/qml/filters/audio_stereoenhance/meta.qml
+%%DATADIR%%/qml/filters/audio_stereoenhance/ui.qml
%%DATADIR%%/qml/filters/audio_swapchannels/meta.qml
%%DATADIR%%/qml/filters/audio_swapchannels/ui.qml
+%%DATADIR%%/qml/filters/audiolevelgraph/meta.qml
+%%DATADIR%%/qml/filters/audiolevelgraph/ui.qml
+%%DATADIR%%/qml/filters/audiolevelgraph/vui.qml
%%DATADIR%%/qml/filters/bigsh0t_eq_mask/meta.qml
%%DATADIR%%/qml/filters/bigsh0t_eq_mask/ui.qml
%%DATADIR%%/qml/filters/bigsh0t_eq_to_rect/meta.qml
%%DATADIR%%/qml/filters/bigsh0t_eq_to_rect/ui.qml
%%DATADIR%%/qml/filters/bigsh0t_eq_to_rect/vui.qml
+%%DATADIR%%/qml/filters/bigsh0t_eq_to_stereo/meta.qml
+%%DATADIR%%/qml/filters/bigsh0t_eq_to_stereo/ui.qml
+%%DATADIR%%/qml/filters/bigsh0t_eq_to_stereo/vui.qml
%%DATADIR%%/qml/filters/bigsh0t_hemi_to_eq/meta.qml
%%DATADIR%%/qml/filters/bigsh0t_hemi_to_eq/ui.qml
%%DATADIR%%/qml/filters/bigsh0t_rect_to_eq/meta.qml
@@ -79,14 +100,18 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/blend_mode/ui.qml
%%DATADIR%%/qml/filters/bluescreen0r/meta.qml
%%DATADIR%%/qml/filters/bluescreen0r/ui.qml
+%%DATADIR%%/qml/filters/blur/meta_box_blur.qml
%%DATADIR%%/qml/filters/blur/meta_boxblur.qml
%%DATADIR%%/qml/filters/blur/meta_movit.qml
+%%DATADIR%%/qml/filters/blur/ui_box_blur.qml
%%DATADIR%%/qml/filters/blur/ui_boxblur.qml
%%DATADIR%%/qml/filters/blur/ui_movit.qml
%%DATADIR%%/qml/filters/blur_exponential/meta.qml
%%DATADIR%%/qml/filters/blur_exponential/ui.qml
+%%DATADIR%%/qml/filters/blur_gaussian/meta_av.qml
%%DATADIR%%/qml/filters/blur_gaussian/meta.qml
-%%DATADIR%%/qml/filters/blur_gaussian/ui.qml
+%%DATADIR%%/qml/filters/blur_gaussian/ui_av.qml
+%%DATADIR%%/qml/filters/blur_gaussian/ui_frei0r.qml
%%DATADIR%%/qml/filters/blur_lowpass/meta.qml
%%DATADIR%%/qml/filters/blur_lowpass/ui.qml
%%DATADIR%%/qml/filters/brightness/meta.qml
@@ -118,6 +143,8 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/crop_rectangle/vui.qml
%%DATADIR%%/qml/filters/dance/meta_dance.qml
%%DATADIR%%/qml/filters/dance/ui_dance.qml
+%%DATADIR%%/qml/filters/deband/meta.qml
+%%DATADIR%%/qml/filters/deband/ui.qml
%%DATADIR%%/qml/filters/distort/meta.qml
%%DATADIR%%/qml/filters/distort/ui.qml
%%DATADIR%%/qml/filters/dither/meta.qml
@@ -147,6 +174,9 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/glow/meta_movit.qml
%%DATADIR%%/qml/filters/glow/ui_frei0r.qml
%%DATADIR%%/qml/filters/glow/ui_movit.qml
+%%DATADIR%%/qml/filters/gpstext/meta.qml
+%%DATADIR%%/qml/filters/gpstext/ui.qml
+%%DATADIR%%/qml/filters/gpstext/vui.qml
%%DATADIR%%/qml/filters/gradient/meta.qml
%%DATADIR%%/qml/filters/gradient/ui.qml
%%DATADIR%%/qml/filters/gradient/vui.qml
@@ -181,6 +211,10 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/mask_alphaspot/ui.qml
%%DATADIR%%/qml/filters/mask_apply/meta.qml
%%DATADIR%%/qml/filters/mask_apply/ui.qml
+%%DATADIR%%/qml/filters/mask_chromakey/meta.qml
+%%DATADIR%%/qml/filters/mask_chromakey/ui.qml
+%%DATADIR%%/qml/filters/mask_glaxnimate/meta.qml
+%%DATADIR%%/qml/filters/mask_glaxnimate/ui.qml
%%DATADIR%%/qml/filters/mask_shape/meta.qml
%%DATADIR%%/qml/filters/mask_shape/ui.qml
%%DATADIR%%/qml/filters/mirror/meta.qml
@@ -208,6 +242,8 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/pillar_echo/vui.qml
%%DATADIR%%/qml/filters/posterize/meta.qml
%%DATADIR%%/qml/filters/posterize/ui.qml
+%%DATADIR%%/qml/filters/reflect/meta.qml
+%%DATADIR%%/qml/filters/reflect/ui.qml
%%DATADIR%%/qml/filters/rgbsplit0r/meta.qml
%%DATADIR%%/qml/filters/rgbsplit0r/ui.qml
%%DATADIR%%/qml/filters/richtext/meta.qml
@@ -254,6 +290,8 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/tcolor/ui.qml
%%DATADIR%%/qml/filters/threshold/meta.qml
%%DATADIR%%/qml/filters/threshold/ui.qml
+%%DATADIR%%/qml/filters/time_remap/meta.qml
+%%DATADIR%%/qml/filters/time_remap/ui.qml
%%DATADIR%%/qml/filters/timer/ClockSpinner.qml
%%DATADIR%%/qml/filters/timer/meta.qml
%%DATADIR%%/qml/filters/timer/ui.qml
@@ -278,15 +316,19 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/filters/white/meta_frei0r.qml
%%DATADIR%%/qml/filters/white/meta_movit.qml
%%DATADIR%%/qml/filters/white/ui.qml
+%%DATADIR%%/qml/modules/Shotcut/Controls/AutoSizeMenu.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/Button.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/ColorPicker.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/ComboBox.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/DoubleSpinBox.qml
+%%DATADIR%%/qml/modules/Shotcut/Controls/EditMenu.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/Gauge.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/GradientControl.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/HoverTip.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/KeyframableFilter.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/KeyframesButton.qml
+%%DATADIR%%/qml/modules/Shotcut/Controls/Marker.qml
+%%DATADIR%%/qml/modules/Shotcut/Controls/MarkerBar.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/Preset.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/RectangleControl.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/SaveDefaultButton.qml
@@ -295,6 +337,7 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%DATADIR%%/qml/modules/Shotcut/Controls/TextFilterUi.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/TextFilterVui.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/TimeSpinner.qml
+%%DATADIR%%/qml/modules/Shotcut/Controls/TipBox.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/ToggleButton.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/ToolButton.qml
%%DATADIR%%/qml/modules/Shotcut/Controls/UndoButton.qml
@@ -352,6 +395,7 @@ share/mime/packages/org.shotcut.Shotcut.xml
%%NLS%%%%DATADIR%%/translations/shotcut_pl.qm
%%NLS%%%%DATADIR%%/translations/shotcut_pt_BR.qm
%%NLS%%%%DATADIR%%/translations/shotcut_pt_PT.qm
+%%NLS%%%%DATADIR%%/translations/shotcut_ro.qm
%%NLS%%%%DATADIR%%/translations/shotcut_ru.qm
%%NLS%%%%DATADIR%%/translations/shotcut_sk.qm
%%NLS%%%%DATADIR%%/translations/shotcut_sl.qm
diff --git a/multimedia/simplescreenrecorder/Makefile b/multimedia/simplescreenrecorder/Makefile
index e6790e76d4da..af5eb293e5cd 100644
--- a/multimedia/simplescreenrecorder/Makefile
+++ b/multimedia/simplescreenrecorder/Makefile
@@ -1,17 +1,20 @@
PORTNAME= simplescreenrecorder
-DISTVERSION= 0.4.4
+DISTVERSION= 0.4.4-9
+DISTVERSIONSUFFIX= -gc092f3e
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
-COMMENT= Screen video recorder
+COMMENT= Screen video/audio recorder
+WWW= https://www.maartenbaert.be/simplescreenrecorder/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libavformat.so:multimedia/ffmpeg
-USES= cmake compiler:c++11-lang pkgconfig qt:5 xorg
-USE_QT= core gui widgets x11extras buildtools_build linguisttools_build qmake_build
+USES= cmake compiler:c++11-lang desktop-file-utils pkgconfig qt:5 xorg
+USE_QT= core gui widgets x11extras buildtools:build linguisttools:build qmake:build
USE_XORG= x11 xext xfixes xi xinerama
USE_GITHUB= yes
diff --git a/multimedia/simplescreenrecorder/distinfo b/multimedia/simplescreenrecorder/distinfo
index 9615947c5ed1..b599be4ab99b 100644
--- a/multimedia/simplescreenrecorder/distinfo
+++ b/multimedia/simplescreenrecorder/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1651029508
-SHA256 (MaartenBaert-ssr-0.4.4_GH0.tar.gz) = 69fccf8df6e7285d4df5033eed8748f4eae13b407488906dcf4810a277d557b8
-SIZE (MaartenBaert-ssr-0.4.4_GH0.tar.gz) = 1961269
+TIMESTAMP = 1679290276
+SHA256 (MaartenBaert-ssr-0.4.4-9-gc092f3e_GH0.tar.gz) = 2f0c28058c8a044c1045dca3d674e797e8815fff15ac0c84eb2577b6c9d89dd2
+SIZE (MaartenBaert-ssr-0.4.4-9-gc092f3e_GH0.tar.gz) = 1962897
diff --git a/multimedia/simplescreenrecorder/pkg-descr b/multimedia/simplescreenrecorder/pkg-descr
index 5c7d7bf98526..5eb10b7fda0a 100644
--- a/multimedia/simplescreenrecorder/pkg-descr
+++ b/multimedia/simplescreenrecorder/pkg-descr
@@ -20,5 +20,3 @@ Features:
recording something only to figure out afterwards that some setting was wrong.
* Supports many different codecs and file formats (adding more is trivial).
* Can also do live streaming (experimental).
-
-WWW: https://www.maartenbaert.be/simplescreenrecorder/
diff --git a/multimedia/simplescreenrecorder/pkg-plist b/multimedia/simplescreenrecorder/pkg-plist
index e71b7233a06d..6a4b5317a407 100644
--- a/multimedia/simplescreenrecorder/pkg-plist
+++ b/multimedia/simplescreenrecorder/pkg-plist
@@ -81,6 +81,7 @@ share/metainfo/simplescreenrecorder.metainfo.xml
%%DATADIR%%/translations/simplescreenrecorder_pl.qm
%%DATADIR%%/translations/simplescreenrecorder_pt_BR.qm
%%DATADIR%%/translations/simplescreenrecorder_ru.qm
+%%DATADIR%%/translations/simplescreenrecorder_sk.qm
%%DATADIR%%/translations/simplescreenrecorder_sr.qm
%%DATADIR%%/translations/simplescreenrecorder_sv.qm
%%DATADIR%%/translations/simplescreenrecorder_uk.qm
diff --git a/multimedia/smpeg/Makefile b/multimedia/smpeg/Makefile
index 5327f969c50b..f5546de8da27 100644
--- a/multimedia/smpeg/Makefile
+++ b/multimedia/smpeg/Makefile
@@ -1,14 +1,12 @@
-# Created by: Chris Piazza <cpiazza@FreeBSD.org>
-
PORTNAME= smpeg
PORTVERSION= 0.4.4
-PORTREVISION= 15
+PORTREVISION= 18
CATEGORIES= multimedia
-MASTER_SITES= ftp://sunsite.auc.dk/pub/os/linux/loki/open-source/smpeg/ \
- GENTOO
+MASTER_SITES= GENTOO
MAINTAINER= acm@FreeBSD.org
COMMENT= Free MPEG1 video player library with sound support
+WWW= https://www.lokigames.com/development/smpeg.php3
LICENSE= LGPL20
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,8 +16,9 @@ USE_SDL= sdl
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_ENV= GLBASE="${LOCALBASE}" \
- CC="${CXX}" REAL_CC="${CC}" \
+ CC="${CC}" CXX="${CXX} -std=gnu++98" \
SDL_CONFIG="${SDL_CONFIG}"
#If you want to try the opengl/gtk player (which doesn't seem to work)
#comment out the following line.
diff --git a/multimedia/smpeg/files/patch-configure b/multimedia/smpeg/files/patch-configure
index c698a2f816b0..a433c14ea052 100644
--- a/multimedia/smpeg/files/patch-configure
+++ b/multimedia/smpeg/files/patch-configure
@@ -1,13 +1,5 @@
--- configure.orig 2001-04-24 19:25:46 UTC
+++ configure
-@@ -58,7 +58,6 @@ ac_help="$ac_help
- # The variables have the same names as the options, with
- # dashes changed to underlines.
- build=NONE
--cache_file=./config.cache
- exec_prefix=NONE
- host=NONE
- no_create=
@@ -1055,7 +1054,7 @@ cat > conftest.$ac_ext << EOF
#line 1056 "configure"
#include "confdefs.h"
@@ -17,29 +9,3 @@
EOF
if { (eval echo configure:1061: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
ac_cv_prog_cc_works=yes
-@@ -1850,7 +1849,7 @@ esac
-
-
- # Save cache, so that ltconfig can load it
--cat > confcache <<\EOF
-+<<\EOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
- # scripts and configure runs. It is not useful on other systems.
-@@ -1903,8 +1902,6 @@ CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \
- LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \
- LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \
- DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \
--${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \
--$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $lt_target \
- || { echo "configure: error: libtool configure failed" 1>&2; exit 1; }
-
- # Reload cache, that may have been modified by ltconfig
-@@ -2335,6 +2332,7 @@ rm -f conftest*
-
- CFLAGS="$CFLAGS $SDL_CFLAGS"
- LIBS="$LIBS $SDL_LIBS"
-+CC="$REAL_CC"
-
- echo $ac_n "checking for sqrt in -lm""... $ac_c" 1>&6
- echo "configure:2341: checking for sqrt in -lm" >&5
diff --git a/multimedia/smpeg/pkg-descr b/multimedia/smpeg/pkg-descr
index 40372a325b4b..5564627b8980 100644
--- a/multimedia/smpeg/pkg-descr
+++ b/multimedia/smpeg/pkg-descr
@@ -10,5 +10,3 @@ library interface is spread out over the MPEG*.h files.
This is a work in progress. Only 16 bit color depth is supported.
The player will dynamically conver to other color depths, but playback
will be much faster if your display is already set to 16 bit color depth.
-
-WWW: http://www.lokigames.com/development/smpeg.php3
diff --git a/multimedia/smpeg/pkg-plist b/multimedia/smpeg/pkg-plist
index 1cd9225332f3..60ffa80b4fc3 100644
--- a/multimedia/smpeg/pkg-plist
+++ b/multimedia/smpeg/pkg-plist
@@ -16,5 +16,5 @@ lib/libsmpeg-0.4.so.0.1.3
lib/libsmpeg.a
lib/libsmpeg.so
share/aclocal/smpeg.m4
-man/man1/gtv.1.gz
-man/man1/plaympeg.1.gz
+share/man/man1/gtv.1.gz
+share/man/man1/plaympeg.1.gz
diff --git a/multimedia/smpeg2/Makefile b/multimedia/smpeg2/Makefile
index 01bd9866e82e..a74121eda156 100644
--- a/multimedia/smpeg2/Makefile
+++ b/multimedia/smpeg2/Makefile
@@ -1,22 +1,23 @@
-# Created by: Vladimir Kondratiev <wulf@mail.mipt.ru>
-
PORTNAME= smpeg2
PORTVERSION= 2.0.0
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= https://www.libsdl.org/projects/smpeg/release/ \
https://distfiles.macports.org/smpeg2/
MAINTAINER= ports@FreeBSD.org
COMMENT= Free MPEG1 video player library with sound support
+WWW= https://icculus.org/smpeg/
LICENSE= MIT LGPL20+
LICENSE_COMB= multi
+USES= compiler:features libtool sdl
+
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
INSTALL_TARGET= install-strip
CFLAGS+= ${COMPILER_FEATURES:Mc++11:C/.+/-Wno-error=narrowing/}
-USES= compiler:features libtool sdl
USE_SDL= sdl2
USE_LDCONFIG= yes
@@ -30,6 +31,12 @@ CONFIGURE_ARGS= --enable-mmx
PLAYMPEG_CONFLICTS_INSTALL= smpeg
PLAYMPEG_VARS= LICENSE+=GPLv2+
+.include <bsd.port.options.mk>
+
+.if ${OPSYS} == FreeBSD && ( ${OSVERSION} >= 1400091 || ( ${OSVERSION} >= 1302507 && ${OSVERSION} < 1400000 ))
+CPPFLAGS+= -Dregister=
+.endif
+
post-patch-PLAYMPEG-off:
@${REINPLACE_CMD} -e '/^bin_PROGRAMS =/s/plaympeg$$(EXEEXT)// ; \
/^man_MANS =/s/plaympeg\.1//' ${WRKSRC}/Makefile.in
diff --git a/multimedia/smpeg2/pkg-descr b/multimedia/smpeg2/pkg-descr
index d6d6f21c4fc3..df6ce48722e5 100644
--- a/multimedia/smpeg2/pkg-descr
+++ b/multimedia/smpeg2/pkg-descr
@@ -10,5 +10,3 @@ out over the MPEG*.h files.
This is a work in progress. Only 16 or 32 bit color depth is supported.
The player will dynamically convert to other color depths, but playback
will be much faster if your display is already set to 16 bit color depth.
-
-WWW: https://icculus.org/smpeg/
diff --git a/multimedia/smpeg2/pkg-plist b/multimedia/smpeg2/pkg-plist
index 4bdbbb4dc2e1..8000bbb5ca07 100644
--- a/multimedia/smpeg2/pkg-plist
+++ b/multimedia/smpeg2/pkg-plist
@@ -15,5 +15,5 @@ lib/libsmpeg2-2.0.so.0
lib/libsmpeg2-2.0.so.0.0.0
lib/libsmpeg2.a
lib/libsmpeg2.so
-%%PLAYMPEG%%man/man1/plaympeg.1.gz
+%%PLAYMPEG%%share/man/man1/plaympeg.1.gz
share/aclocal/smpeg2.m4
diff --git a/multimedia/smplayer-skins/Makefile b/multimedia/smplayer-skins/Makefile
index 462b4148563e..5b7bf6c93671 100644
--- a/multimedia/smplayer-skins/Makefile
+++ b/multimedia/smplayer-skins/Makefile
@@ -1,5 +1,3 @@
-# Created by: Pawel Pekala <pawel@FreeBSD.org>
-
PORTNAME= smplayer-skins
DISTVERSION= 20.11.0
PORTREVISION= 1
@@ -7,18 +5,19 @@ PORTEPOCH= 1
CATEGORIES= multimedia audio kde
MASTER_SITES= SF/smplayer/SMPlayer-skins/${PORTVERSION}
-MAINTAINER= vvd@unislabs.com
+MAINTAINER= vvd@FreeBSD.org
COMMENT= Skins for SMPlayer (Skinnable GUI)
+WWW= https://www.smplayer.info/
USES= qt:5 tar:bzip2
-USE_QT= buildtools_build
-
-NO_ARCH= yes
+USE_QT= buildtools:build
DATADIR= ${PREFIX}/share/smplayer
BINARY_ALIAS= rcc=${RCC}
+NO_ARCH= yes
+
post-patch:
@${REINPLACE_CMD} -e 's|PREFIX=/usr/local|PREFIX=${PREFIX}|g' \
${WRKSRC}/Makefile
diff --git a/multimedia/smplayer-skins/pkg-descr b/multimedia/smplayer-skins/pkg-descr
index fb5a09b7803e..e07a181e8a43 100644
--- a/multimedia/smplayer-skins/pkg-descr
+++ b/multimedia/smplayer-skins/pkg-descr
@@ -1,3 +1 @@
Skins for SMPlayer (Skinnable GUI)
-
-WWW: http://smplayer.sourceforge.net/
diff --git a/multimedia/smplayer-themes/Makefile b/multimedia/smplayer-themes/Makefile
index e3262648a889..7a0b0674028a 100644
--- a/multimedia/smplayer-themes/Makefile
+++ b/multimedia/smplayer-themes/Makefile
@@ -1,5 +1,3 @@
-# Created by: Diego Depaoli <trebestie@gmail.com> and Yinghong Liu <relaxbsd@gmail.com>
-
PORTNAME= smplayer-themes
PORTVERSION= 20.11.0
PORTREVISION= 1
@@ -7,21 +5,22 @@ PORTEPOCH= 1
CATEGORIES= multimedia audio kde
MASTER_SITES= SF/smplayer/SMPlayer-themes/${PORTVERSION}/
-MAINTAINER= vvd@unislabs.com
+MAINTAINER= vvd@FreeBSD.org
COMMENT= Themes for SMPlayer
+WWW= https://www.smplayer.info/
USES= qt:5 tar:bzip2
-USE_QT= buildtools_build
-
-NO_ARCH= yes
+USE_QT= buildtools:build
DATADIR= ${PREFIX}/share/smplayer
+BINARY_ALIAS= rcc=${RCC}
+
+NO_ARCH= yes
+
PORTDOCS= Changelog README.txt
OPTIONS_DEFINE= DOCS
-BINARY_ALIAS= rcc=${RCC}
-
post-install:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/smplayer-themes/pkg-descr b/multimedia/smplayer-themes/pkg-descr
index 18f1fd7fb760..cf3787553f1a 100644
--- a/multimedia/smplayer-themes/pkg-descr
+++ b/multimedia/smplayer-themes/pkg-descr
@@ -1,3 +1 @@
Themes for SMPlayer.
-
-WWW: http://smplayer.sourceforge.net/
diff --git a/multimedia/smplayer/Makefile b/multimedia/smplayer/Makefile
index 338b0dd929ab..9ccfd5917d19 100644
--- a/multimedia/smplayer/Makefile
+++ b/multimedia/smplayer/Makefile
@@ -1,40 +1,44 @@
-# Created by: Diego Depaoli <trebestie@gmail.com> and Yinghong Liu <relaxbsd@gmail.com>
-
PORTNAME= smplayer
-DISTVERSION= 22.2.0
+DISTVERSION= 23.12.0
CATEGORIES= multimedia audio kde
MASTER_SITES= SF/${PORTNAME}/SMPlayer/${PORTVERSION}
-MAINTAINER= vvd@unislabs.com
+MAINTAINER= vvd@FreeBSD.org
COMMENT= Complete front-end based on Qt for mplayer
+WWW= https://www.smplayer.info/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/Copying.txt
USES= cpe compiler:c++11-lang desktop-file-utils dos2unix gl \
gmake qmake qt:5 tar:bzip2 xorg
+CPE_VENDOR= ricardo_villalba
+DOS2UNIX_GLOB= *.md *.txt
USE_GL= gl
-USE_QT= buildtools_build linguisttools_build \
- core dbus gui network script widgets xml
+USE_QT= buildtools:build linguisttools:build \
+ core dbus declarative gui network widgets xml
USE_XORG= x11 xext
-CPE_VENDOR= ricardo_villalba
-DOS2UNIX_REGEX= .*.[^p][^n][^g]$
-
+QMAKE_ARGS= "DEFINES_DISABLED+=MPLAYER2_SUPPORT"
+MAKE_ENV= DESTDIR=${STAGEDIR} LRELEASE=${LRELEASE}
ALL_TARGET= src/smplayer
+
+# Do not use unstable versions
+PORTSCOUT= site:http://sourceforge.net/projects/smplayer/files/Unstable/releases/
+
+SUB_FILES= pkg-message
+
CONFIGURE_WRKSRC= ${WRKSRC}/src
-MAKE_ARGS= PREFIX=${PREFIX} DESTDIR=${STAGEDIR}
-QMAKE_ARGS= "DEFINES_DISABLED+=MPLAYER2_SUPPORT"
PORTDOCS= ${DOCS:T}
DOCS= old-docs/Changelog old-docs/dvdmenus.txt old-docs/Finding_subtitles.txt \
old-docs/Not_so_obvious_things.txt old-docs/Release_notes.txt \
old-docs/Watching_TV.txt README.md Readme.txt Release_notes.md
-OPTIONS_MULTI= ENGINE
-OPTIONS_MULTI_ENGINE= MPLAYER MPV
OPTIONS_DEFINE= DOCS DEBUG SKINS THEMES
OPTIONS_DEFAULT= MPV SKINS THEMES
+OPTIONS_MULTI= ENGINE
+OPTIONS_MULTI_ENGINE= MPLAYER MPV
ENGINE_DESC= Multimedia engine
MPLAYER_DESC= Allow to use MPlayer as multimedia engine
@@ -51,16 +55,7 @@ MPV_QMAKE_OFF= "DEFINES_DISABLED+=MPV_SUPPORT"
SKINS_RUN_DEPENDS= smplayer-skins>=0:multimedia/smplayer-skins
THEMES_RUN_DEPENDS= smplayer-themes>=0:multimedia/smplayer-themes
-# Do not use unstable versions
-PORTSCOUT= site:http://sourceforge.net/projects/smplayer/files/Unstable/releases/
-
-SUB_FILES= pkg-message
-
post-patch:
- @${REINPLACE_CMD} -e 's|&& $$(QMAKE) $$(QMAKE_OPTS)||; \
- s|lrelease|${LRELEASE}|; \
- s| make| ${MAKE_CMD}|g' \
- ${WRKSRC}/Makefile
@${REINPLACE_CMD} -e 's|-O2 -W -Wall -Werror|${CFLAGS}|' \
${WRKSRC}/webserver/Makefile
@${REINPLACE_CMD} -e 's|^sed|#sed|' \
diff --git a/multimedia/smplayer/distinfo b/multimedia/smplayer/distinfo
index 8eca6cc6a00e..3ad509bf955e 100644
--- a/multimedia/smplayer/distinfo
+++ b/multimedia/smplayer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650927145
-SHA256 (smplayer-22.2.0.tar.bz2) = f8937e44a77e6ad8b3ab366731961f39a33c4c859ffb136b8ab06b6d997158ed
-SIZE (smplayer-22.2.0.tar.bz2) = 5165034
+TIMESTAMP = 1704718045
+SHA256 (smplayer-23.12.0.tar.bz2) = d7b10afd8854229372e3b9647f48bcaf56201bb8c4089f3e14d9f4ffc8a5d7ed
+SIZE (smplayer-23.12.0.tar.bz2) = 5233977
diff --git a/multimedia/smplayer/files/patch-Makefile b/multimedia/smplayer/files/patch-Makefile
index 7559e40252aa..e5751409740a 100644
--- a/multimedia/smplayer/files/patch-Makefile
+++ b/multimedia/smplayer/files/patch-Makefile
@@ -1,6 +1,11 @@
---- Makefile.orig 2018-01-12 15:20:18 UTC
+--- Makefile.orig 2021-08-01 06:29:39 UTC
+++ Makefile
-@@ -5,7 +5,6 @@ PREFIX=/usr/local
+@@ -1,11 +1,10 @@
+
+-PREFIX=/usr/local
++PREFIX?=/usr/local
+ #PREFIX=/tmp/smplayer
+
CONF_PREFIX=$(PREFIX)
DATA_PATH=$(PREFIX)/share/smplayer
@@ -8,7 +13,14 @@
TRANSLATION_PATH=$(PREFIX)/share/smplayer/translations
THEMES_PATH=$(PREFIX)/share/smplayer/themes
SHORTCUTS_PATH=$(PREFIX)/share/smplayer/shortcuts
-@@ -19,7 +18,7 @@ LRELEASE=lrelease
+@@ -14,26 +13,26 @@ ICONS_DIR=$(PREFIX)/share/icons/hicolor/
+ APPLNK_DIR=$(PREFIX)/share/applications/
+ METAINFO_DIR=$(PREFIX)/share/metainfo/
+
+-QMAKE=qmake
+-LRELEASE=lrelease
++QMAKE?=qmake
++LRELEASE?=lrelease
DEFS=DATA_PATH=\\\"$(DATA_PATH)\\\" \
TRANSLATION_PATH=\\\"$(TRANSLATION_PATH)\\\" \
@@ -17,6 +29,23 @@
SHORTCUTS_PATH=\\\"$(SHORTCUTS_PATH)\\\"
all: src/smplayer webserver/simple_web_server
+
+ src/smplayer:
+ ./get_svn_revision.sh
+- +cd src && $(QMAKE) $(QMAKE_OPTS) && $(DEFS) make
++ $(MAKE) -C src $(DEFS)
+ cd src && $(LRELEASE) smplayer.pro
+
+ webserver/simple_web_server:
+- cd webserver && make
++ $(MAKE) -C webserver
+
+ clean:
+- if [ -f src/Makefile ]; then cd src && make distclean; fi
++ if [ -f src/Makefile ]; then $(MAKE) -C src distclean; fi
+ -rm src/translations/smplayer_*.qm
+ -rm webserver/simple_web_server
+
@@ -44,13 +43,8 @@ install: all
install -m 644 src/input.conf $(DESTDIR)$(DATA_PATH)
-install -d $(DESTDIR)$(TRANSLATION_PATH)
diff --git a/multimedia/smplayer/files/pkg-message.in b/multimedia/smplayer/files/pkg-message.in
index 80daf058d0e5..366f08894263 100644
--- a/multimedia/smplayer/files/pkg-message.in
+++ b/multimedia/smplayer/files/pkg-message.in
@@ -3,7 +3,7 @@
message: <<EOM
SMPlayer has been installed.
-For Youtube Videos please use multimedia/smtube port.
+For YouTube videos please use multimedia/smtube port.
EOM
}
]
diff --git a/multimedia/smplayer/pkg-descr b/multimedia/smplayer/pkg-descr
index 804075c7c6f1..e19e0ae8d5f3 100644
--- a/multimedia/smplayer/pkg-descr
+++ b/multimedia/smplayer/pkg-descr
@@ -1,5 +1,3 @@
SMPlayer intends to be a complete front-end for MPlayer, from basic
features like playing videos, DVDs, and VCDs to more advanced features
like support for MPlayer filters and more.
-
-WWW: https://www.smplayer.info/
diff --git a/multimedia/smtube/Makefile b/multimedia/smtube/Makefile
deleted file mode 100644
index 6d5e3e22e88b..000000000000
--- a/multimedia/smtube/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# Created by: Pawel Pekala <pawel@FreeBSD.org>
-
-PORTNAME= smtube
-DISTVERSION= 21.10.0
-PORTREVISION= 1
-CATEGORIES= multimedia
-MASTER_SITES= SF/smtube/SMTube/${PORTVERSION}/
-
-MAINTAINER= vvd@unislabs.com
-COMMENT= SMPlayer YouTube browser
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/Copying.txt
-
-RUN_DEPENDS= yt-dlp:www/yt-dlp
-
-USES= gl gmake qt:5 tar:bzip2
-USE_GL= gl
-USE_QT= qmake_build buildtools_build linguisttools_build \
- core network script gui webkit widgets
-
-ALL_TARGET= #empty
-MAKE_ARGS= DATA_PATH="${DATADIR}" DOC_PATH="${DOCSDIR}" \
- LRELEASE="${LRELEASE}" MAKE="${MAKE_CMD}" \
- QMAKE="${QMAKE}"
-
-PORTDOCS= *
-
-OPTIONS_MULTI= PLAYER
-OPTIONS_MULTI_PLAYER= MPLAYER MPV SMPLAYER VLC
-OPTIONS_DEFINE= DOCS
-OPTIONS_DEFAULT= QT5 SMPLAYER
-
-PLAYER_DESC= Video player
-MPLAYER_DESC= MPlayer dependency for video playback
-MPV_DESC= mpv dependency for video playback
-SMPLAYER_DESC= SMPlayer dependency for video playback
-VLC_DESC= VLC dependency for video playback
-
-MPLAYER_RUN_DEPENDS= mplayer:multimedia/mplayer
-MPV_RUN_DEPENDS= mpv:multimedia/mpv
-SMPLAYER_RUN_DEPENDS= smplayer:multimedia/smplayer
-VLC_RUN_DEPENDS= vlc:multimedia/vlc
-
-post-patch:
- @${REINPLACE_CMD} 's|$$(QMAKE_OPTS)|${QMAKE_ARGS:S,\$,\$\$,g}|' \
- ${WRKSRC}/Makefile
-
-post-install:
- @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
-
-.include <bsd.port.mk>
diff --git a/multimedia/smtube/distinfo b/multimedia/smtube/distinfo
deleted file mode 100644
index 50999c0c5217..000000000000
--- a/multimedia/smtube/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1635602857
-SHA256 (smtube-21.10.0.tar.bz2) = 650214022fd80becec607561969ad9e4ae8d1af4fa2e88e6750d59f960a0d655
-SIZE (smtube-21.10.0.tar.bz2) = 931110
diff --git a/multimedia/smtube/pkg-descr b/multimedia/smtube/pkg-descr
deleted file mode 100644
index 321c36962d68..000000000000
--- a/multimedia/smtube/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-SMTube is a YouTube browser for SMPlayer. You can browse, search, download
-and play YouTube videos. The videos are currently played in SMPlayer but
-in the future it may be added the possibility to use other players.
-
-WWW: https://www.smtube.org/
diff --git a/multimedia/smtube/pkg-plist b/multimedia/smtube/pkg-plist
deleted file mode 100644
index 06926c693eb2..000000000000
--- a/multimedia/smtube/pkg-plist
+++ /dev/null
@@ -1,40 +0,0 @@
-bin/smtube
-share/applications/smtube.desktop
-share/icons/hicolor/128x128/apps/smtube.png
-share/icons/hicolor/16x16/apps/smtube.png
-share/icons/hicolor/256x256/apps/smtube.png
-share/icons/hicolor/32x32/apps/smtube.png
-share/icons/hicolor/48x48/apps/smtube.png
-share/icons/hicolor/64x64/apps/smtube.png
-%%DATADIR%%/translations/smtube_bg.qm
-%%DATADIR%%/translations/smtube_ca.qm
-%%DATADIR%%/translations/smtube_cs.qm
-%%DATADIR%%/translations/smtube_da.qm
-%%DATADIR%%/translations/smtube_de.qm
-%%DATADIR%%/translations/smtube_el.qm
-%%DATADIR%%/translations/smtube_en.qm
-%%DATADIR%%/translations/smtube_en_GB.qm
-%%DATADIR%%/translations/smtube_es.qm
-%%DATADIR%%/translations/smtube_es_ES.qm
-%%DATADIR%%/translations/smtube_eu.qm
-%%DATADIR%%/translations/smtube_fr.qm
-%%DATADIR%%/translations/smtube_gl.qm
-%%DATADIR%%/translations/smtube_he_IL.qm
-%%DATADIR%%/translations/smtube_hr.qm
-%%DATADIR%%/translations/smtube_hu.qm
-%%DATADIR%%/translations/smtube_it.qm
-%%DATADIR%%/translations/smtube_ja.qm
-%%DATADIR%%/translations/smtube_ko.qm
-%%DATADIR%%/translations/smtube_ms.qm
-%%DATADIR%%/translations/smtube_nb_NO.qm
-%%DATADIR%%/translations/smtube_nn_NO.qm
-%%DATADIR%%/translations/smtube_pl.qm
-%%DATADIR%%/translations/smtube_pt.qm
-%%DATADIR%%/translations/smtube_pt_BR.qm
-%%DATADIR%%/translations/smtube_ru.qm
-%%DATADIR%%/translations/smtube_sq.qm
-%%DATADIR%%/translations/smtube_sr.qm
-%%DATADIR%%/translations/smtube_tr.qm
-%%DATADIR%%/translations/smtube_uk.qm
-%%DATADIR%%/translations/smtube_zh_CN.qm
-%%DATADIR%%/translations/smtube_zh_TW.qm
diff --git a/multimedia/snapcast/Makefile b/multimedia/snapcast/Makefile
index 8b9c9c097078..1d9c36f64110 100644
--- a/multimedia/snapcast/Makefile
+++ b/multimedia/snapcast/Makefile
@@ -1,16 +1,18 @@
PORTNAME= snapcast
DISTVERSIONPREFIX= v
-DISTVERSION= 0.25.0
+DISTVERSION= 0.28.0
CATEGORIES= multimedia audio
MAINTAINER= yuri@FreeBSD.org
COMMENT= Multiroom client-server audio player
+WWW= https://github.com/badaix/snapcast
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
BUILD_DEPENDS= ${LOCALBASE}/include/boost/asio.hpp:devel/boost-libs
-LIB_DEPENDS= libavahi-common.so:net/avahi-app \
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libavahi-common.so:net/avahi-app \
libexpat.so:textproc/expat2 \
libFLAC.so:audio/flac \
libogg.so:audio/libogg \
@@ -18,19 +20,24 @@ LIB_DEPENDS= libavahi-common.so:net/avahi-app \
libvorbis.so:audio/libvorbis \
libsoxr.so:audio/libsoxr
-BROKEN= error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'int' in initializer list
-
-USES= cmake compiler:c++14-lang pkgconfig
+USES= cmake compiler:c++17-lang pkgconfig python shebangfix
USE_GITHUB= yes
GH_ACCOUNT= badaix
+SHEBANG_FILES= server/etc/plug-ins/meta_mpd.py server/etc/plug-ins/meta_mopidy.py \
+ server/etc/plug-ins/meta_librespot-java.py
+
OPTIONS_DEFINE= CLIENT
-OPTIONS_DEFAULT= CLIENT
+OPTIONS_DEFAULT= #CLIENT
OPTIONS_SUB= yes
CLIENT_DESC= Build and install client in addition to server
CLIENT_CMAKE_BOOL= BUILD_CLIENT
CLIENT_LIB_DEPENDS= libpulse.so:audio/pulseaudio
+CLIENT_BROKEN= Snapclient not yet supported for FreeBSD (according to CMakeLists.txt) # see https://github.com/badaix/snapcast/issues/1098
+
+post-install: # workaround for https://github.com/badaix/snapcast/issues/1021
+ @${CHMOD} +r ${STAGEDIR}${PREFIX}/share/snapserver/plug-ins/meta_mpd.py
.include <bsd.port.mk>
diff --git a/multimedia/snapcast/distinfo b/multimedia/snapcast/distinfo
index c55fd038dbc9..696c22c79e6b 100644
--- a/multimedia/snapcast/distinfo
+++ b/multimedia/snapcast/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1621177575
-SHA256 (badaix-snapcast-v0.25.0_GH0.tar.gz) = c4e449cb693e091261727421f4965492be049632537e034fa9c59c92d091a846
-SIZE (badaix-snapcast-v0.25.0_GH0.tar.gz) = 1412827
+TIMESTAMP = 1713585937
+SHA256 (badaix-snapcast-v0.28.0_GH0.tar.gz) = 7911037dd4b06fe98166db1d49a7cd83ccf131210d5aaad47507bfa0cfc31407
+SIZE (badaix-snapcast-v0.28.0_GH0.tar.gz) = 1198568
diff --git a/multimedia/snapcast/files/patch-CMakeLists.txt b/multimedia/snapcast/files/patch-CMakeLists.txt
deleted file mode 100644
index 0b28024b3671..000000000000
--- a/multimedia/snapcast/files/patch-CMakeLists.txt
+++ /dev/null
@@ -1,20 +0,0 @@
---- CMakeLists.txt.orig 2021-01-09 21:43:59 UTC
-+++ CMakeLists.txt
-@@ -73,7 +73,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- set(MACOSX TRUE)
- elseif (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
- set (FREEBSD TRUE)
-- if (BUILD_CLIENT)
-+ if (FALSE AND BUILD_CLIENT)
- message(FATAL_ERROR "Snapclient not yet supported for FreeBSD, use \"-DBUILD_CLIENT=OFF\"")
- endif()
- elseif (${CMAKE_SYSTEM_NAME} MATCHES "Android")
-@@ -163,7 +163,7 @@ if(NOT WIN32 AND NOT ANDROID)
- list(APPEND INCLUDE_DIRS "/usr/local/include")
- else()
-
-- pkg_search_module(ALSA REQUIRED alsa)
-+ #pkg_search_module(ALSA REQUIRED alsa)
- if (ALSA_FOUND)
- add_definitions(-DHAS_ALSA)
- endif (ALSA_FOUND)
diff --git a/multimedia/snapcast/pkg-descr b/multimedia/snapcast/pkg-descr
index a8f7afecbb28..4e92ab38a61f 100644
--- a/multimedia/snapcast/pkg-descr
+++ b/multimedia/snapcast/pkg-descr
@@ -9,5 +9,3 @@ play the same audio stream.
One of the most generic ways to use Snapcast is in conjunction with the music
player daemon (MPD) or Mopidy.
-
-WWW: https://github.com/badaix/snapcast
diff --git a/multimedia/snapcast/pkg-plist b/multimedia/snapcast/pkg-plist
index 3269fac9eeb2..580daa32b441 100644
--- a/multimedia/snapcast/pkg-plist
+++ b/multimedia/snapcast/pkg-plist
@@ -5,16 +5,7 @@ etc/snapserver.conf
share/man/man1/snapserver.1.gz
%%CLIENT%%share/pixmaps/snapcast.svg
share/snapserver/index.html
-share/snapserver/snapweb/3rd-party/libflac.js
-share/snapserver/snapweb/config.js
-share/snapserver/snapweb/favicon.ico
+share/snapserver/plug-ins/meta_librespot-java.py
+share/snapserver/plug-ins/meta_mopidy.py
+share/snapserver/plug-ins/meta_mpd.py
share/snapserver/snapweb/index.html
-share/snapserver/snapweb/launcher-icon.png
-share/snapserver/snapweb/manifest.json
-share/snapserver/snapweb/mute_icon.png
-share/snapserver/snapweb/play.png
-share/snapserver/snapweb/snapcontrol.js
-share/snapserver/snapweb/snapstream.js
-share/snapserver/snapweb/speaker_icon.png
-share/snapserver/snapweb/stop.png
-share/snapserver/snapweb/styles.css
diff --git a/multimedia/snappy/Makefile b/multimedia/snappy/Makefile
deleted file mode 100644
index 444abf6dd864..000000000000
--- a/multimedia/snappy/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Created by: Gustau Perez <gustau.perez@gmail.com>
-# $MCom: ports/trunk/multimedia/snappy/Makefile 19571 2014-04-25 18:12:46Z kwm $
-
-PORTNAME= snappy
-PORTVERSION= 1.0
-PORTREVISION= 1
-CATEGORIES= multimedia gnome
-MASTER_SITES= GNOME
-DIST_SUBDIR= gnome3
-PKGNAMESUFFIX= player
-
-MAINTAINER= gnome@FreeBSD.org
-COMMENT= Open source gstreamer media player
-
-DEPRECATED= Deprecated upstream, please consider multimedia/mpv or multimedia/vlc
-EXPIRATION_DATE=2022-06-30
-
-LIB_DEPENDS= libclutter-gst-2.0.so:multimedia/clutter-gst \
- libclutter-1.0.so:graphics/clutter \
- libclutter-gtk-1.0.so:graphics/clutter-gtk3
-
-USES= desktop-file-utils gettext gmake gnome gstreamer pathfix pkgconfig tar:xz
-USE_GNOME= gnomeprefix gtk30 intlhack
-USE_LDCONFIG= yes
-GNU_CONFIGURE= yes
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-
-.include <bsd.port.mk>
diff --git a/multimedia/snappy/distinfo b/multimedia/snappy/distinfo
deleted file mode 100644
index 449d3e4748c0..000000000000
--- a/multimedia/snappy/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (gnome3/snappy-1.0.tar.xz) = 0d33a05c1ad3cc075b8b9bf38d45634ea5204159454597b0882dd6a8d9763f58
-SIZE (gnome3/snappy-1.0.tar.xz) = 282964
diff --git a/multimedia/snappy/pkg-descr b/multimedia/snappy/pkg-descr
deleted file mode 100644
index f9d8e931a536..000000000000
--- a/multimedia/snappy/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Snappy is an open source media player that gathers the power and flexibility
-of gstreamer inside the comfort of a minimalistic clutter interface.
-
-WWW: https://wiki.gnome.org/Apps/Snappy
diff --git a/multimedia/snappy/pkg-plist b/multimedia/snappy/pkg-plist
deleted file mode 100644
index 819395d3ad63..000000000000
--- a/multimedia/snappy/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-bin/snappy
-share/applications/snappy.desktop
-share/icons/hicolor/256x256/apps/snappy.png
-share/icons/hicolor/48x48/apps/snappy.png
-%%DATADIR%%/audio-stream-toggle.png
-%%DATADIR%%/audio-volume-high.svg
-%%DATADIR%%/audio-volume-low.svg
-%%DATADIR%%/fullscreen.svg
-%%DATADIR%%/media-actions-pause.svg
-%%DATADIR%%/media-actions-start.svg
-%%DATADIR%%/subtitles-active.svg
-%%DATADIR%%/subtitles-inactive.svg
-%%DATADIR%%/video-stream-toggle.png
diff --git a/multimedia/spigot/Makefile b/multimedia/spigot/Makefile
deleted file mode 100644
index 77d82bc35987..000000000000
--- a/multimedia/spigot/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# Created by: james@cs.uwm.edu
-
-PORTNAME= spigot
-PORTVERSION= 1.7
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/fenner
-DISTFILES= ${PORTNAME}.${PORTVERSION}${EXTRACT_SUFX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video spigot for Windows library
-
-DEPRECATED= Deprecated hardware, released in the early 90s
-EXPIRATION_DATE=2022-06-30
-
-# binary package
-NO_BUILD= yes
-NO_WRKSUBDIR= yes
-ONLY_FOR_ARCHS= i386
-
-.include <bsd.port.mk>
diff --git a/multimedia/spigot/distinfo b/multimedia/spigot/distinfo
deleted file mode 100644
index db3f286ad0db..000000000000
--- a/multimedia/spigot/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (spigot.1.7.tar.gz) = 0c0276648d07f3310599c880ec1d962c0662c7ddbccd54ab6212d1b24882d820
-SIZE (spigot.1.7.tar.gz) = 22695
diff --git a/multimedia/spigot/files/patch-Makefile b/multimedia/spigot/files/patch-Makefile
deleted file mode 100644
index 334c8bcb7b2e..000000000000
--- a/multimedia/spigot/files/patch-Makefile
+++ /dev/null
@@ -1,16 +0,0 @@
---- Makefile.orig 2014-07-16 14:15:30.269735497 +0800
-+++ Makefile 2014-07-16 14:16:09.749730176 +0800
-@@ -1,9 +1,9 @@
--DESTDIR?=/usr/local
-+PREFIX?=/usr/local
-
- all:
- echo "Nothing to make."
-
- install:
-- cp libspigot.a ${DESTDIR}/lib/libspigot.a
-- ranlib libspigot.a
-- cp spigot_saa7191.h /usr/local/include
-+ cp libspigot.a $(DESTDIR)${PREFIX}/lib/libspigot.a
-+ ranlib $(DESTDIR)${PREFIX}/lib/libspigot.a
-+ cp spigot_saa7191.h $(DESTDIR)${PREFIX}/include
diff --git a/multimedia/spigot/pkg-descr b/multimedia/spigot/pkg-descr
deleted file mode 100644
index 365ef10841a2..000000000000
--- a/multimedia/spigot/pkg-descr
+++ /dev/null
@@ -1,2 +0,0 @@
-The package contains a library to use the Video Spigot for Windows
-video aquistion board.
diff --git a/multimedia/spigot/pkg-plist b/multimedia/spigot/pkg-plist
deleted file mode 100644
index 01d57a9aa21a..000000000000
--- a/multimedia/spigot/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/libspigot.a
-include/spigot_saa7191.h
diff --git a/multimedia/spook/Makefile b/multimedia/spook/Makefile
index aa31eb2b2061..6f86cc2eec1e 100644
--- a/multimedia/spook/Makefile
+++ b/multimedia/spook/Makefile
@@ -1,5 +1,3 @@
-# Created by: Bruce M Simpson <bms@FreeBSD.org>
-
PORTNAME= spook
PORTVERSION= 20050207
PORTREVISION= 5
@@ -8,6 +6,7 @@ MASTER_SITES= http://www.litech.org/spook/dist/
MAINTAINER= mizhka@gmail.com
COMMENT= Embedded RTP/RTSP/HTTP video streamer
+WWW= http://www.litech.org/spook/
LICENSE= GPLv2
diff --git a/multimedia/spook/pkg-descr b/multimedia/spook/pkg-descr
index 43603424fbb7..b5e81fed6d32 100644
--- a/multimedia/spook/pkg-descr
+++ b/multimedia/spook/pkg-descr
@@ -2,5 +2,3 @@ Spook is a Linux server application to capture live video and audio
and stream it over an IP network. Currently, Spook supports capturing
from a Firewire IIDC camera or Video4Linux(2) source and streaming
MPEG4 with RTSP or JPEG stills with HTTP.
-
-WWW: http://www.litech.org/spook/
diff --git a/multimedia/streamlink/Makefile b/multimedia/streamlink/Makefile
index 14afea460139..f40f0c2612a7 100644
--- a/multimedia/streamlink/Makefile
+++ b/multimedia/streamlink/Makefile
@@ -1,49 +1,43 @@
PORTNAME= streamlink
-PORTVERSION= 2.1.2
+DISTVERSION= 6.5.1
CATEGORIES= multimedia
-MASTER_SITES= CHEESESHOP
+MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
MAINTAINER= takefu@airport.fm
COMMENT= Command-line utility that pipes video streams
+WWW= https://streamlink.github.io/
LICENSE= BSD2CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}isodate>0:devel/py-isodate@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.4.3:security/py-pycryptodome@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pysocks>0:net/py-pysocks@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}requests>0:www/py-requests@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}websocket-client>=0.58.0:www/py-websocket-client@${PY_FLAVOR}
-
-TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}backports>0:devel/py-backports@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}country>0:devel/py-country@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}freezegun>0:devel/py-freezegun@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}mock>0:devel/py-mock@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
+BUILD_DEPENDS= ${PY_SETUPTOOLS}\
+ ${PYTHON_PKGNAMEPREFIX}versioningit>=2.0.0:devel/py-versioningit@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}certifi>0:security/py-certifi@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}country>0:devel/py-country@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}isodate>0:devel/py-isodate@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}lxml>=4.6.4:devel/py-lxml@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}pycryptodome>=3.4.3:security/py-pycryptodome@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}pysocks>1.5.7:net/py-pysocks@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}requests>2.26.0:www/py-requests@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}trio>=0.22.0:net/py-trio@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}trio-websocket>=0.9.0:net/py-trio-websocket@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}typing-extensions>=4.0.0:devel/py-typing-extensions@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}urllib3>=1.26.0:net/py-urllib3@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}websocket-client>=1.2.1:www/py-websocket-client@${PY_FLAVOR}
+TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}backports>0:devel/py-backports@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}freezegun>0:devel/py-freezegun@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}pytest-asyncio>0:devel/py-pytest-asyncio@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}pytest-trio>0:devel/py-pytest-trio@${PY_FLAVOR}\
+ ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR}\
${PYTHON_PKGNAMEPREFIX}requests-mock>0:www/py-requests-mock@${PY_FLAVOR}
-USES= python:3.6+
-USE_PYTHON= autoplist concurrent distutils
-
+USES= python
+USE_PYTHON= autoplist concurrent distutils pytest
NO_ARCH= yes
-
-OPTIONS_DEFINE= FFMPEG PYCOUNTRY RTMPDUMP
-OPTIONS_DEFAULT= FFMPEG RTMPDUMP
-.if !exists(../../textproc/py-iso3166/Makefile)
-OPTIONS_DEFAULT+= PYCOUNTRY
-.endif
-PYCOUNTRY_DESC= Use pycountry instead of py-iso-639 and py-iso3166
-
-FFMPEG_RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
-PYCOUNTRY_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}country>0:devel/py-country@${PY_FLAVOR}
-PYCOUNTRY_RUN_DEPENDS_OFF= ${PYTHON_PKGNAMEPREFIX}iso-639>0:textproc/py-iso-639@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}iso3166>0:textproc/py-iso3166@${PY_FLAVOR}
-PYCOUNTRY_MAKE_ENV= STREAMLINK_USE_PYCOUNTRY=1
-RTMPDUMP_RUN_DEPENDS= rtmpdump:multimedia/rtmpdump
-
-do-test: .PHONY
- cd ${WRKSRC} && ${SETENV} PYTHONPATH=${WRKSRC}/src ${PYTHON_CMD} -u -m pytest -v -ra \
- || ${SETENV} PYTHONPATH=${WRKSRC}/src ${PYTHON_CMD} -um unittest discover -v
+OPTIONS_DEFINE= FFMPEG
+OPTIONS_DEFAULT= FFMPEG
+FFMPEG_RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
.include <bsd.port.mk>
diff --git a/multimedia/streamlink/distinfo b/multimedia/streamlink/distinfo
index c4c55e7687b7..60f1d0bb9be0 100644
--- a/multimedia/streamlink/distinfo
+++ b/multimedia/streamlink/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1621854352
-SHA256 (streamlink-2.1.2.tar.gz) = 5e3be17673ed6b7da359a4636bd1e6961b4e58acb2dd7d219f9aaab377a4c84d
-SIZE (streamlink-2.1.2.tar.gz) = 509287
+TIMESTAMP = 1705468344
+SHA256 (streamlink-6.5.1.tar.gz) = 207fb4ce99c35bfeb1b8f7c76b96cfcb4076ad6881c61eaea553c2ec13d97c57
+SIZE (streamlink-6.5.1.tar.gz) = 717297
diff --git a/multimedia/streamlink/pkg-descr b/multimedia/streamlink/pkg-descr
index 11e71973f472..260face4bfbf 100644
--- a/multimedia/streamlink/pkg-descr
+++ b/multimedia/streamlink/pkg-descr
@@ -1,12 +1,10 @@
-Streamlink is a command-line utility that pipes video streams from various
+Streamlink is a command-line utility which pipes video streams from various
services into a video player, such as VLC.
-The main purpose of Streamlink is to allow the user to avoid buggy and CPU
-heavy flash plugins but still be able to enjoy various streamed content.
+The main purpose of Streamlink is to avoid resource-heavy and unoptimized
+websites, while still allowing the user to enjoy various streamed content.
-There is also an API available for developers who want access to the video
-stream data.
+There is also an API available for developers who want access to the stream
+data.
This project was forked from Livestreamer, which is no longer maintained.
-
-WWW: https://streamlink.github.io/
diff --git a/multimedia/subsync/Makefile b/multimedia/subsync/Makefile
deleted file mode 100644
index 3587ace31a2a..000000000000
--- a/multimedia/subsync/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-PORTNAME= subsync
-DISTVERSION= g20190702
-CATEGORIES= multimedia python
-
-MAINTAINER= yuri@FreeBSD.org
-COMMENT= Synchronize your subtitles using machine learning
-
-LICENSE= APACHE20
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-BUILD_DEPENDS= ${PYNUMPY} \
- ${PYTHON_PKGNAMEPREFIX}argparse>0:devel/py-argparse@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}ffmpeg-python>0:multimedia/py-ffmpeg-python@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}future>0:devel/py-future@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}pysrt>0:textproc/py-pysrt@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}scikit-learn>0:science/py-scikit-learn@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}webrtcvad>0:audio/py-webrtcvad@${PY_FLAVOR}
-
-USES= python:3.5+
-USE_GITHUB= yes
-GH_ACCOUNT= smacke # tympanix account has another version of the same project requiring tensorflow
-GH_TAGNAME= d9798a5
-USE_PYTHON= distutils concurrent noflavors autoplist
-
-NO_ARCH= yes
-
-.include <bsd.port.mk>
diff --git a/multimedia/subsync/distinfo b/multimedia/subsync/distinfo
deleted file mode 100644
index 770cec32d704..000000000000
--- a/multimedia/subsync/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1564284792
-SHA256 (smacke-subsync-g20190702-d9798a5_GH0.tar.gz) = 20902b979adb263fa4ee3f975feedbd7fd4dc746cbf9fd75a1d0c6975d82a4f2
-SIZE (smacke-subsync-g20190702-d9798a5_GH0.tar.gz) = 2220021
diff --git a/multimedia/subsync/pkg-descr b/multimedia/subsync/pkg-descr
deleted file mode 100644
index de3bd078cbe2..000000000000
--- a/multimedia/subsync/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-Language-agnostic automatic synchronization of subtitles with video, so that
-subtitles are aligned to the correct starting point within the video.
-
-WWW: https://github.com/smacke/subsync
diff --git a/multimedia/subtitlecomposer/Makefile b/multimedia/subtitlecomposer/Makefile
index ece34595e15a..c4b9f9b262ee 100644
--- a/multimedia/subtitlecomposer/Makefile
+++ b/multimedia/subtitlecomposer/Makefile
@@ -1,11 +1,12 @@
PORTNAME= subtitlecomposer
-PORTVERSION= 0.7.1
-PORTREVISION= 2
+DISTVERSION= 0.8.0
+PORTREVISION= 1
CATEGORIES= multimedia kde
MASTER_SITES= KDE/stable/${PORTNAME}
MAINTAINER= makc@FreeBSD.org
COMMENT= Advanced FFmpeg-based subtitle editor
+WWW= https://subtitlecomposer.kde.org
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -14,11 +15,15 @@ LIB_DEPENDS= libicui18n.so:devel/icu \
libavcodec.so:multimedia/ffmpeg
USES= compiler:c++11-lang cmake desktop-file-utils gettext \
- kde:5 openal pkgconfig qt:5 shared-mime-info tar:xz
-USE_KDE= auth codecs config configwidgets coreaddons ecm_build i18n \
- kio kross sonnet textwidgets widgetsaddons xmlgui \
- doctools_build
-USE_QT= buildtools_build qmake_build testlib_build core gui widgets
+ kde:5 openal pkgconfig qt:5 shared-mime-info ssl tar:xz xorg
+USE_KDE= bookmarks codecs completion config configwidgets \
+ coreaddons jobwidgets i18n itemviews kio \
+ service solid sonnet textwidgets widgetsaddons \
+ windowsystem xmlgui \
+ doctools:build ecm:build
+USE_QT= buildtools:build qmake:build testlib:build \
+ concurrent core dbus declarative gui network widgets xml
+USE_XORG= x11
# Requires PocketSphinx-5prealpha
SPHINX_DESC= Speech recognition via PocketSphinx
diff --git a/multimedia/subtitlecomposer/distinfo b/multimedia/subtitlecomposer/distinfo
index dfe2f70ad4e2..553770ea4279 100644
--- a/multimedia/subtitlecomposer/distinfo
+++ b/multimedia/subtitlecomposer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1633635127
-SHA256 (subtitlecomposer-0.7.1.tar.xz) = ef9cb3c0c1fe1f40cf9d8e795859b9b28adf2da3be77a076d46bc28df4cd0255
-SIZE (subtitlecomposer-0.7.1.tar.xz) = 636808
+TIMESTAMP = 1699461607
+SHA256 (subtitlecomposer-0.8.0.tar.xz) = b1416bdf7223b1979a36620b913c117c1b6c933bf165e28491af476310d7c9f8
+SIZE (subtitlecomposer-0.8.0.tar.xz) = 730800
diff --git a/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt b/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt
index d8a3b1d16d0f..538c5eb02d97 100644
--- a/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt
+++ b/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt
@@ -1,6 +1,6 @@
---- src/CMakeLists.txt.orig 2020-12-15 09:57:06 UTC
+--- src/CMakeLists.txt.orig 2023-04-04 01:59:38 UTC
+++ src/CMakeLists.txt
-@@ -24,7 +24,7 @@ add_definitions(-D_DEFAULT_SOURCE)
+@@ -27,7 +27,7 @@ endif()
find_package(FFmpeg 57.83.100 REQUIRED)
find_package(OpenAL REQUIRED)
diff --git a/multimedia/subtitlecomposer/files/patch-src_subtitlecomposer.xml b/multimedia/subtitlecomposer/files/patch-src_subtitlecomposer.xml
new file mode 100644
index 000000000000..87526e41f892
--- /dev/null
+++ b/multimedia/subtitlecomposer/files/patch-src_subtitlecomposer.xml
@@ -0,0 +1,17 @@
+--- src/subtitlecomposer.xml.orig 2023-04-04 01:59:38 UTC
++++ src/subtitlecomposer.xml
+@@ -119,14 +119,4 @@
+ </magic>
+ <glob pattern="*.sym"/>
+ </mime-type>
+-
+- <mime-type type="subpicture/x-pgs">
+- <comment>PGS subtitles</comment>
+- <sub-class-of type="application/octet-stream"/>
+- <generic-icon name="text-x-generic"/>
+- <magic priority="50">
+- <match type="big32" value="0x50470000" mask="0xffffff00" offset="0"/>
+- </magic>
+- <glob pattern="*.sup"/>
+- </mime-type>
+ </mime-info>
diff --git a/multimedia/subtitlecomposer/pkg-descr b/multimedia/subtitlecomposer/pkg-descr
index 697959143629..ac5c780de588 100644
--- a/multimedia/subtitlecomposer/pkg-descr
+++ b/multimedia/subtitlecomposer/pkg-descr
@@ -2,5 +2,3 @@ Subtitle Composer is a cross-platform subtitle editor with lots of features,
including live preview in integrated video player, smart language and text
encoding detection, spell checking, side-by-side subtitle translations,
timing errors detection in subtitles and more.
-
-WWW: https://subtitlecomposer.kde.org
diff --git a/multimedia/subtitlecomposer/pkg-plist b/multimedia/subtitlecomposer/pkg-plist
index f8fd0dd0320d..2a49f14949a7 100644
--- a/multimedia/subtitlecomposer/pkg-plist
+++ b/multimedia/subtitlecomposer/pkg-plist
@@ -5,7 +5,7 @@ share/icons/hicolor/128x128/apps/subtitlecomposer.png
share/icons/hicolor/16x16/apps/subtitlecomposer.png
share/icons/hicolor/256x256/apps/subtitlecomposer.png
share/icons/hicolor/32x32/apps/subtitlecomposer.png
-share/kxmlgui5/subtitlecomposer/subtitlecomposerui.rc
+share/locale/ar/LC_MESSAGES/subtitlecomposer.mo
share/locale/bg/LC_MESSAGES/subtitlecomposer.mo
share/locale/ca/LC_MESSAGES/subtitlecomposer.mo
share/locale/ca@valencia/LC_MESSAGES/subtitlecomposer.mo
@@ -19,7 +19,11 @@ share/locale/fi/LC_MESSAGES/subtitlecomposer.mo
share/locale/fr/LC_MESSAGES/subtitlecomposer.mo
share/locale/hr/LC_MESSAGES/subtitlecomposer.mo
share/locale/hu/LC_MESSAGES/subtitlecomposer.mo
+share/locale/ie/LC_MESSAGES/subtitlecomposer.mo
share/locale/it/LC_MESSAGES/subtitlecomposer.mo
+share/locale/ja/LC_MESSAGES/subtitlecomposer.mo
+share/locale/ka/LC_MESSAGES/subtitlecomposer.mo
+share/locale/lt/LC_MESSAGES/subtitlecomposer.mo
share/locale/nl/LC_MESSAGES/subtitlecomposer.mo
share/locale/pl/LC_MESSAGES/subtitlecomposer.mo
share/locale/pt/LC_MESSAGES/subtitlecomposer.mo
@@ -30,7 +34,9 @@ share/locale/sl/LC_MESSAGES/subtitlecomposer.mo
share/locale/sr/LC_MESSAGES/subtitlecomposer.mo
share/locale/sr@latin/LC_MESSAGES/subtitlecomposer.mo
share/locale/sv/LC_MESSAGES/subtitlecomposer.mo
+share/locale/tr/LC_MESSAGES/subtitlecomposer.mo
share/locale/uk/LC_MESSAGES/subtitlecomposer.mo
+share/locale/zh_CN/LC_MESSAGES/subtitlecomposer.mo
share/locale/zh_TW/LC_MESSAGES/subtitlecomposer.mo
share/metainfo/org.kde.subtitlecomposer.appdata.xml
share/mime/packages/subtitlecomposer.xml
@@ -39,25 +45,14 @@ share/mime/packages/subtitlecomposer.xml
%%DATADIR%%/scripts/api/scripting_range.h
%%DATADIR%%/scripts/api/scripting_rangelist.h
%%DATADIR%%/scripts/api/scripting_rangesmodule.h
-%%DATADIR%%/scripts/api/scripting_sstring.h
+%%DATADIR%%/scripts/api/scripting_richstring.h
%%DATADIR%%/scripts/api/scripting_stringsmodule.h
%%DATADIR%%/scripts/api/scripting_subtitle.h
%%DATADIR%%/scripts/api/scripting_subtitleline.h
%%DATADIR%%/scripts/api/scripting_subtitlelinemodule.h
%%DATADIR%%/scripts/api/scripting_subtitlemodule.h
%%DATADIR%%/scripts/example_capitalize_all_lines.js
-%%DATADIR%%/scripts/example_capitalize_all_lines.py
-%%DATADIR%%/scripts/example_capitalize_all_lines.rb
%%DATADIR%%/scripts/example_iterate_selection.js
-%%DATADIR%%/scripts/example_iterate_selection.py
-%%DATADIR%%/scripts/example_iterate_selection.rb
-%%DATADIR%%/scripts/example_remove_impair_lines.js
-%%DATADIR%%/scripts/example_remove_impair_lines.py
-%%DATADIR%%/scripts/example_remove_impair_lines.rb
+%%DATADIR%%/scripts/example_remove_odd_lines.js
%%DATADIR%%/scripts/example_trim_to_selection.js
-%%DATADIR%%/scripts/example_trim_to_selection.py
-%%DATADIR%%/scripts/example_trim_to_selection.rb
-%%DATADIR%%/scripts/fix_dialog_cues.py
-%%DATADIR%%/scripts/prepare_RTL_release.py
%%DATADIR%%/scripts/remove_hearing_impaired_text.js
-%%DATADIR%%/scripts/undo_RTL_release.py
diff --git a/multimedia/subtitleoffsetmodifier/Makefile b/multimedia/subtitleoffsetmodifier/Makefile
index ac5790c04489..6d4b19116a4b 100644
--- a/multimedia/subtitleoffsetmodifier/Makefile
+++ b/multimedia/subtitleoffsetmodifier/Makefile
@@ -1,5 +1,3 @@
-# Created by: Edwin Groothuis <edwin@mavetju.org>
-
PORTNAME= subtitleoffsetmodificator
PORTVERSION= 0.1
PORTREVISION= 1
@@ -9,6 +7,7 @@ DISTFILES= subtitle-offset-modificator.pl
MAINTAINER= ports@FreeBSD.org
COMMENT= Subtitle offset modificator
+WWW= http://thomas.enix.org/SubtitleOffsetModificator
LICENSE= GPLv2+
diff --git a/multimedia/subtitleoffsetmodifier/pkg-descr b/multimedia/subtitleoffsetmodifier/pkg-descr
index a864a589ae58..1b015360755d 100644
--- a/multimedia/subtitleoffsetmodifier/pkg-descr
+++ b/multimedia/subtitleoffsetmodifier/pkg-descr
@@ -1,3 +1 @@
Script that allows to change the timestamp of a Subtitle file.
-
-WWW: http://thomas.enix.org/SubtitleOffsetModificator
diff --git a/multimedia/subtitleripper/Makefile b/multimedia/subtitleripper/Makefile
deleted file mode 100644
index beaed9b27a75..000000000000
--- a/multimedia/subtitleripper/Makefile
+++ /dev/null
@@ -1,71 +0,0 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
-PORTNAME= subtitleripper
-DISTVERSION= 0.3-4
-PORTREVISION= 11
-CATEGORIES= multimedia
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-0.3-4
-
-MAINTAINER= multimedia@FreeBSD.org
-COMMENT= Convert DVD subtitles into text format (subrip srt) or VobSub format
-
-LICENSE= GPLv2
-
-LIB_DEPENDS= libnetpbm.so:graphics/netpbm \
- libpng.so:graphics/png
-RUN_DEPENDS= gocr:graphics/gocr \
- xv:graphics/xv \
- transcode:multimedia/transcode
-
-USES= gmake tar:tgz
-CFLAGS+= -DHAVE_GETLINE=1 \
- -I${LOCALBASE}/include/netpbm
-
-WRKSRC= ${WRKDIR}/${PORTNAME}
-
-OPTIONS_DEFINE= DOCS EXAMPLES
-
-DOC_FILES= \
- ChangeLog \
- README \
- README.gocr \
- README.srttool \
- README.subtitle2pgm \
- README.vobsub
-EXAMPLES_FILES= \
- gocrfilter_en.sed \
- gocrfilter_fr.sed \
- gocrfilter_nl.sed \
- gocrfilter_none.sed
-PROGRAM_FILES= \
- srttool \
- subtitle2pgm \
- subtitle2vobsub \
- vobsub2pgm
-SCRIPT_FILES= \
- pgm2txt
-
-post-patch:
- @${REINPLACE_CMD} -E \
- -e 's|^(CC[[:space:]]*=).*$$|\1${CC}|' \
- -e 's|^(COPT[[:space:]]*=).*$$|\1${CFLAGS}|' \
- -e 's|^(INCLUDES[[:space:]]*:=).*$$|\1 -I${LOCALBASE}/include|' \
- -e 's|^(LIBS[[:space:]]*:=).*$$|\1 -lm -L${LOCALBASE}/lib|' \
- -e 's|-lppm|-lnetpbm|' \
- ${BUILD_WRKSRC}/${MAKEFILE}
- @${REINPLACE_CMD} -E \
- -e 's|^(DB_PATH[[:space:]]*=).*$$|\1\$${HOME}/.db/|' \
- -e 's|^(IMAGE_VIWER[[:space:]]*=).*$$|\1${LOCALBASE}/bin/xv|' \
- -e 's|^(PATH_TO_LANGUAGE_FILTER[[:space:]]*=).*$$|\1${EXAMPLESDIR}/|' \
- -e 's|(gocr[[:space:]]+)|${LOCALBASE}/bin/\1|' \
- ${WRKSRC}/pgm2txt
-
-do-install:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- cd ${WRKSRC}; ${INSTALL_DATA} ${DOC_FILES} ${STAGEDIR}${DOCSDIR}
- ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- cd ${WRKSRC}; ${INSTALL_SCRIPT} ${EXAMPLES_FILES} ${STAGEDIR}${EXAMPLESDIR}
- cd ${WRKSRC}; ${INSTALL_PROGRAM} ${PROGRAM_FILES} ${STAGEDIR}${PREFIX}/bin
- cd ${WRKSRC}; ${INSTALL_SCRIPT} ${SCRIPT_FILES} ${STAGEDIR}${PREFIX}/bin
-
-.include <bsd.port.mk>
diff --git a/multimedia/subtitleripper/distinfo b/multimedia/subtitleripper/distinfo
deleted file mode 100644
index 8bbc35ed0250..000000000000
--- a/multimedia/subtitleripper/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1619892106
-SHA256 (subtitleripper-0.3-4.tgz) = 8af6c2ebe55361900871c731ea1098b1a03efa723cd29ee1d471435bd21f3ac4
-SIZE (subtitleripper-0.3-4.tgz) = 47299
diff --git a/multimedia/subtitleripper/pkg-descr b/multimedia/subtitleripper/pkg-descr
deleted file mode 100644
index db24afa80eb4..000000000000
--- a/multimedia/subtitleripper/pkg-descr
+++ /dev/null
@@ -1,16 +0,0 @@
-[ excerpt from developer's www site ]
-
-If you want to convert DVD subtitles into text format (e.g. subrip
-format) or VobSub format this program could be useful for you.
-However, it is only one tiny tool that you need in the process of
-producing srt files. This software depends heavily on transcode
-for its input and is therefore part of the transcode package (see
-transcode's contrib directory). So, if you want to convert some
-subtitles, grap a copy of the lates transcode distribution.
-
-For srt file production the output of this program should be processed
-by some OCR software. Currently, I work with GOCR for this purpose.
-
-For VobSub output no other tools are required.
-
-WWW: http://subtitleripper.sourceforge.net/
diff --git a/multimedia/subtitleripper/pkg-plist b/multimedia/subtitleripper/pkg-plist
deleted file mode 100644
index 9b250920436a..000000000000
--- a/multimedia/subtitleripper/pkg-plist
+++ /dev/null
@@ -1,15 +0,0 @@
-bin/pgm2txt
-bin/srttool
-bin/subtitle2pgm
-bin/subtitle2vobsub
-bin/vobsub2pgm
-%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
-%%PORTDOCS%%%%DOCSDIR%%/README
-%%PORTDOCS%%%%DOCSDIR%%/README.gocr
-%%PORTDOCS%%%%DOCSDIR%%/README.srttool
-%%PORTDOCS%%%%DOCSDIR%%/README.subtitle2pgm
-%%PORTDOCS%%%%DOCSDIR%%/README.vobsub
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gocrfilter_en.sed
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gocrfilter_fr.sed
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gocrfilter_nl.sed
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/gocrfilter_none.sed
diff --git a/multimedia/subtools/Makefile b/multimedia/subtools/Makefile
index 826c8ee18e09..ea8274456dc9 100644
--- a/multimedia/subtools/Makefile
+++ b/multimedia/subtools/Makefile
@@ -1,5 +1,3 @@
-# Created by: Andrew Pantyukhin <infofarmer@FreeBSD.org>
-
PORTNAME= subtools
PORTVERSION= 20081026
CATEGORIES= multimedia
@@ -7,6 +5,7 @@ MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}/
MAINTAINER= ports@FreeBSD.org
COMMENT= Command-line tools for movie subtitles in SubRipper format
+WWW= https://subtools.sourceforge.net/
USES= python tar:bzip2
diff --git a/multimedia/subtools/pkg-descr b/multimedia/subtools/pkg-descr
index 6c5eaa4354be..14a8196eeb28 100644
--- a/multimedia/subtools/pkg-descr
+++ b/multimedia/subtools/pkg-descr
@@ -6,5 +6,3 @@ the supposed frame rate.
It's in early stages of development (and have been there for
a few years now), but it does its job well.
-
-WWW: http://subtools.sourceforge.net/
diff --git a/multimedia/svt-av1/Makefile b/multimedia/svt-av1/Makefile
index ab0877def645..e730798cc3a5 100644
--- a/multimedia/svt-av1/Makefile
+++ b/multimedia/svt-av1/Makefile
@@ -1,10 +1,11 @@
PORTNAME= svt-av1
DISTVERSIONPREFIX= v
-DISTVERSION= 1.1.0
+DISTVERSION= 2.0.0
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Scalable AV1 encoder
+WWW= https://01.org/svt
LICENSE= BSD2CLAUSE BSD3CLAUSE MIT
LICENSE_COMB= multi
@@ -20,13 +21,11 @@ USE_GITLAB= yes
USE_LDCONFIG= yes
GL_ACCOUNT= AOMediaCodec
GL_PROJECT= SVT-AV1
-GL_COMMIT= 6e87a1de98281840abebc030781780edd822bae5
CMAKE_ON= ENABLE_NASM
CMAKE_OFF= NATIVE
OPTIONS_DEFINE= LTO
OPTIONS_DEFAULT=LTO
-OPTIONS_EXCLUDE_powerpc64= ${"${/usr/bin/ld:L:tA}"==/usr/bin/ld.lld:?LTO:} # https://github.com/llvm/llvm-project/issues/46697
OPTIONS_EXCLUDE_riscv64= LTO # bug 262871
LTO_CMAKE_BOOL= CMAKE_INTERPROCEDURAL_OPTIMIZATION
diff --git a/multimedia/svt-av1/distinfo b/multimedia/svt-av1/distinfo
index c65a503ddd79..63b0f031da0a 100644
--- a/multimedia/svt-av1/distinfo
+++ b/multimedia/svt-av1/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1652846711
-SHA256 (AOMediaCodec-SVT-AV1-6e87a1de98281840abebc030781780edd822bae5_GL0.tar.gz) = 75c76af8f59e2f6a34d29cb95133d343d1ee7a6aa3bdddde95717f0d5847e7db
-SIZE (AOMediaCodec-SVT-AV1-6e87a1de98281840abebc030781780edd822bae5_GL0.tar.gz) = 9888852
+TIMESTAMP = 1710389988
+SHA256 (SVT-AV1-v2.0.0.tar.bz2) = f9c076c377e504be15e195db8dd36d91233bc37cb8e82530382f38bc1926df02
+SIZE (SVT-AV1-v2.0.0.tar.bz2) = 9565222
diff --git a/multimedia/svt-av1/pkg-descr b/multimedia/svt-av1/pkg-descr
index cc83ffc59aba..bace05f1c06f 100644
--- a/multimedia/svt-av1/pkg-descr
+++ b/multimedia/svt-av1/pkg-descr
@@ -2,5 +2,3 @@ The Scalable Video Technology for AV1 Encoder (SVT-AV1 Encoder) is an
AV1-compliant encoder library core. The SVT-AV1 development is a
work-in-progress targeting performance levels applicable to both VOD
and Live encoding / transcoding video applications.
-
-WWW: https://01.org/svt
diff --git a/multimedia/svt-av1/pkg-plist b/multimedia/svt-av1/pkg-plist
index a644de0f974e..9a3cbdc08712 100644
--- a/multimedia/svt-av1/pkg-plist
+++ b/multimedia/svt-av1/pkg-plist
@@ -12,7 +12,7 @@ lib/libSvtAv1Dec.so
lib/libSvtAv1Dec.so.0
lib/libSvtAv1Dec.so.0.8.7
lib/libSvtAv1Enc.so
-lib/libSvtAv1Enc.so.1
-lib/libSvtAv1Enc.so.1.1.0
+lib/libSvtAv1Enc.so.2
+lib/libSvtAv1Enc.so.2.0.0
libdata/pkgconfig/SvtAv1Dec.pc
libdata/pkgconfig/SvtAv1Enc.pc
diff --git a/multimedia/svt-hevc/Makefile b/multimedia/svt-hevc/Makefile
index 113e90f12f18..c244d684ce9d 100644
--- a/multimedia/svt-hevc/Makefile
+++ b/multimedia/svt-hevc/Makefile
@@ -6,6 +6,7 @@ CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Scalable HEVC encoder
+WWW= https://01.org/svt
LICENSE= BSD2CLAUSE+PATENT
LICENSE_GROUPS= FSF OSI COPYFREE
diff --git a/multimedia/svt-hevc/pkg-descr b/multimedia/svt-hevc/pkg-descr
index 62ec0d7304f1..9f6a42996801 100644
--- a/multimedia/svt-hevc/pkg-descr
+++ b/multimedia/svt-hevc/pkg-descr
@@ -2,5 +2,3 @@ The Scalable Video Technology for HEVC Encoder (SVT-HEVC Encoder) is
an HEVC-compliant encoder library core that achieves excellent
density-quality tradeoffs, and is highly optimized for Intel Xeon
Scalable Processor and Xeon D processors.
-
-WWW: https://01.org/svt
diff --git a/multimedia/svt-vp9/Makefile b/multimedia/svt-vp9/Makefile
index 6597482f6632..2208558d8ea9 100644
--- a/multimedia/svt-vp9/Makefile
+++ b/multimedia/svt-vp9/Makefile
@@ -6,6 +6,7 @@ CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Scalable VP9 encoder
+WWW= https://01.org/svt
LICENSE= BSD2CLAUSE+PATENT
LICENSE_GROUPS= FSF OSI COPYFREE
diff --git a/multimedia/svt-vp9/pkg-descr b/multimedia/svt-vp9/pkg-descr
index 380a03c75c42..962b317c2ad3 100644
--- a/multimedia/svt-vp9/pkg-descr
+++ b/multimedia/svt-vp9/pkg-descr
@@ -2,5 +2,3 @@ The Scalable Video Technology for VP9 Encoder (SVT-VP9 Encoder) is a
VP9-compliant encoder library core. The SVT-VP9 Encoder development is
a work-in-progress targeting performance levels applicable to both VOD
and Live encoding/transcoding video applications.
-
-WWW: https://01.org/svt
diff --git a/multimedia/syncplay/Makefile b/multimedia/syncplay/Makefile
index 60c484dd3048..a735699839b4 100644
--- a/multimedia/syncplay/Makefile
+++ b/multimedia/syncplay/Makefile
@@ -1,10 +1,12 @@
PORTNAME= syncplay
DISTVERSIONPREFIX= v
DISTVERSION= 1.6.4a
+PORTREVISION= 2
CATEGORIES= multimedia
MAINTAINER= heckendorfc@gmail.com
COMMENT= Synchronize video playback over networks
+WWW= https://syncplay.pl/
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -12,10 +14,10 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}twisted>=0:devel/py-twisted@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}certifi>=0:security/py-certifi@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}openssl>=0:security/py-openssl@${PY_FLAVOR} \
- ${PYTHON_PKGNAMEPREFIX}service_identity>=0:security/py-service_identity@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}service-identity>=0:security/py-service-identity@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}idna>=0:dns/py-idna@${PY_FLAVOR}
-USES= desktop-file-utils gmake python:3.4+ shebangfix
+USES= desktop-file-utils gmake python shebangfix
USE_GITHUB= yes
GH_ACCOUNT= Syncplay
diff --git a/multimedia/syncplay/pkg-descr b/multimedia/syncplay/pkg-descr
index 7e34f6b2d555..ce2681113427 100644
--- a/multimedia/syncplay/pkg-descr
+++ b/multimedia/syncplay/pkg-descr
@@ -5,5 +5,3 @@ room on that server. Pauses, unpauses and seeks made within that
media player instance are relayed to fellow viewers via the server
to allow for these actions to be replicated by the media players
of everyone else in the same virtual room.
-
-WWW: https://syncplay.pl/
diff --git a/multimedia/szap-s2/Makefile b/multimedia/szap-s2/Makefile
index d369a3168e51..ec504409d3b7 100644
--- a/multimedia/szap-s2/Makefile
+++ b/multimedia/szap-s2/Makefile
@@ -1,5 +1,3 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
PORTNAME= szap_s2
PORTVERSION= 20100129s
PORTREVISION= 1
@@ -8,6 +6,7 @@ MASTER_SITES= LOCAL/nox
MAINTAINER= ports@FreeBSD.org
COMMENT= Simple zapping tool for the Linux DVB S2 API
+WWW= https://www.linuxtv.org/wiki/index.php/Szap-s2
LICENSE= GPLv2+
diff --git a/multimedia/szap-s2/pkg-descr b/multimedia/szap-s2/pkg-descr
index 4c45de28d09d..be4e24ee0c5b 100644
--- a/multimedia/szap-s2/pkg-descr
+++ b/multimedia/szap-s2/pkg-descr
@@ -15,5 +15,3 @@ name:frequency_MHz:polarization[coderate][delivery][modulation][rolloff]:sat_no:
one line of the VDR channel file has the following format:
name:frequency_MHz:polarization[coderate][delivery][modulation][rolloff]:sat_no:symbolrate:vpid:apid:tpid:?:service_id:?:?:?
-
-WWW: https://www.linuxtv.org/wiki/index.php/Szap-s2
diff --git a/multimedia/tautulli/Makefile b/multimedia/tautulli/Makefile
index 91f15ce5053c..e0617dd599f6 100644
--- a/multimedia/tautulli/Makefile
+++ b/multimedia/tautulli/Makefile
@@ -1,12 +1,11 @@
-# Created by: Mark Felder <feld@FreeBSD.org>
-
PORTNAME= tautulli
DISTVERSIONPREFIX= v
-DISTVERSION= 2.9.7
+DISTVERSION= 2.12.2
CATEGORIES= multimedia python
MAINTAINER= christer.edwards@gmail.com
COMMENT= Monitoring, analytics, and notifications for Plex Media Server
+WWW= https://github.com/Tautulli/Tautulli
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -16,7 +15,7 @@ RUN_DEPENDS= ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss \
${PYTHON_PKGNAMEPREFIX}pycryptodomex>0:security/py-pycryptodomex@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR}
-USES= cpe python:3.5+ shebangfix
+USES= cpe python shebangfix
USE_GITHUB= yes
GH_ACCOUNT= Tautulli
GH_PROJECT= Tautulli
diff --git a/multimedia/tautulli/distinfo b/multimedia/tautulli/distinfo
index 1a339dae9b5f..08c73a24898d 100644
--- a/multimedia/tautulli/distinfo
+++ b/multimedia/tautulli/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649722148
-SHA256 (Tautulli-Tautulli-v2.9.7_GH0.tar.gz) = 45800528d529d5c47a81ef89275c1ce49e10cb9d7b6ede6644370fbfd87f987a
-SIZE (Tautulli-Tautulli-v2.9.7_GH0.tar.gz) = 13228526
+TIMESTAMP = 1679042748
+SHA256 (Tautulli-Tautulli-v2.12.2_GH0.tar.gz) = 884b551c16ba758be15351a220a3ce1fa066dc587e88b8f752aff873351e2e05
+SIZE (Tautulli-Tautulli-v2.12.2_GH0.tar.gz) = 13430691
diff --git a/multimedia/tautulli/pkg-descr b/multimedia/tautulli/pkg-descr
index aea7acd5cf4a..fafad9426ba7 100644
--- a/multimedia/tautulli/pkg-descr
+++ b/multimedia/tautulli/pkg-descr
@@ -1,4 +1,2 @@
A python based web application for monitoring, analytics and
notifications for Plex Media Server (www.plex.tv).
-
-WWW: https://github.com/Tautulli/Tautulli
diff --git a/multimedia/tcmplex-panteltje/Makefile b/multimedia/tcmplex-panteltje/Makefile
index 6499d77f6dce..ad40d73a40ed 100644
--- a/multimedia/tcmplex-panteltje/Makefile
+++ b/multimedia/tcmplex-panteltje/Makefile
@@ -1,5 +1,3 @@
-# Created by: Herve Quiroz <hq@FreeBSD.org>
-
PORTNAME= tcmplex-panteltje
PORTVERSION= 0.4.7
PORTREVISION= 1
@@ -8,6 +6,7 @@ MASTER_SITES= http://panteltje.com/panteltje/dvd/
MAINTAINER= ports@FreeBSD.org
COMMENT= Re-write of the A/V multiplexer from the transcode distribution
+WWW= http://panteltje.com/panteltje/dvd/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/tcmplex-panteltje/pkg-descr b/multimedia/tcmplex-panteltje/pkg-descr
index 5dc3ef375052..f6256722aec1 100644
--- a/multimedia/tcmplex-panteltje/pkg-descr
+++ b/multimedia/tcmplex-panteltje/pkg-descr
@@ -1,5 +1,3 @@
tcmplex-pantelje, audio video multiplexer from the transcode distribution,
re-writen for 8 audio channels. This version fixes an AC3 bug and supports
files > 2GB.
-
-WWW: http://panteltje.com/panteltje/dvd/
diff --git a/multimedia/termplay/Makefile b/multimedia/termplay/Makefile
index e814f8bce115..8e29388a62c1 100644
--- a/multimedia/termplay/Makefile
+++ b/multimedia/termplay/Makefile
@@ -1,16 +1,19 @@
PORTNAME= termplay
DISTVERSION= 2.0.6
-PORTREVISION= 16
+PORTREVISION= 34
CATEGORIES= multimedia
MASTER_SITES= CRATESIO
DISTFILES= ${CARGO_DIST_SUBDIR}/${DISTNAME}${CARGO_CRATE_EXT}
MAINTAINER= yuri@FreeBSD.org
COMMENT= Tool that converts images to ANSI sequences, plays videos in terminals
+WWW= https://github.com/jD91mZM2/termplay
LICENSE= APACHE20
LICENSE_FILE= ${WRKSRC}/LICENSE
+BROKEN_powerpc64le= rust compiler crashes, see https://github.com/rust-lang/rust/issues/120583
+
LIB_DEPENDS= libsixel.so:graphics/libsixel
USES= cargo gnome gstreamer
diff --git a/multimedia/termplay/pkg-descr b/multimedia/termplay/pkg-descr
index fec76bca5a1a..3fec8dc2f6f5 100644
--- a/multimedia/termplay/pkg-descr
+++ b/multimedia/termplay/pkg-descr
@@ -13,5 +13,3 @@ Features:
* Change framerate, size and more using command line switches.
* Adapting size
* Automatically scales the image to fit your terminal.
-
-WWW: https://github.com/jD91mZM2/termplay
diff --git a/multimedia/tinyobjloader/Makefile b/multimedia/tinyobjloader/Makefile
index 59b51e94d6d6..7586bce6401c 100644
--- a/multimedia/tinyobjloader/Makefile
+++ b/multimedia/tinyobjloader/Makefile
@@ -1,11 +1,12 @@
PORTNAME= tinyobjloader
DISTVERSIONPREFIX= v
-DISTVERSION= 2.0.0rc8-3
-DISTVERSIONSUFFIX= -g7ba4b65
+DISTVERSION= 2.0.0rc9-5
+DISTVERSIONSUFFIX= -ga1e8bad
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= C++ single file wavefront obj loader
+WWW= https://github.com/tinyobjloader/tinyobjloader
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/tinyobjloader/distinfo b/multimedia/tinyobjloader/distinfo
index 0e8cc43e7026..c6ee49cdd5c3 100644
--- a/multimedia/tinyobjloader/distinfo
+++ b/multimedia/tinyobjloader/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1615495382
-SHA256 (tinyobjloader-tinyobjloader-v2.0.0rc8-3-g7ba4b65_GH0.tar.gz) = 4cbd1ca5bea6aa027f2c5a65d4b3d2c218f3450296ec8f60bf396b5c2caedcaf
-SIZE (tinyobjloader-tinyobjloader-v2.0.0rc8-3-g7ba4b65_GH0.tar.gz) = 950104
+TIMESTAMP = 1659372511
+SHA256 (tinyobjloader-tinyobjloader-v2.0.0rc9-5-ga1e8bad_GH0.tar.gz) = 08ff8b52db52804a45f7882f44ec513bed62e9736179bab835dd2accd0a80bd4
+SIZE (tinyobjloader-tinyobjloader-v2.0.0rc9-5-ga1e8bad_GH0.tar.gz) = 970107
diff --git a/multimedia/tinyobjloader/pkg-descr b/multimedia/tinyobjloader/pkg-descr
index 3e193fa5616c..0e4c0cf2d76f 100644
--- a/multimedia/tinyobjloader/pkg-descr
+++ b/multimedia/tinyobjloader/pkg-descr
@@ -1,5 +1,3 @@
Tiny but powerful single file wavefront obj loader written in C++03. No
dependency except for C++ STL. It can parse over 10M polygons with moderate
memory and time.
-
-WWW: https://github.com/tinyobjloader/tinyobjloader
diff --git a/multimedia/tinyobjloader/pkg-plist b/multimedia/tinyobjloader/pkg-plist
index d1ae21a18350..081ace563101 100644
--- a/multimedia/tinyobjloader/pkg-plist
+++ b/multimedia/tinyobjloader/pkg-plist
@@ -1,7 +1,7 @@
include/tiny_obj_loader.h
lib/libtinyobjloader.so
lib/libtinyobjloader.so.2
-lib/libtinyobjloader.so.2.0.0-rc.8
+lib/libtinyobjloader.so.2.0.0-rc.9
lib/tinyobjloader/cmake/tinyobjloader-config-version.cmake
lib/tinyobjloader/cmake/tinyobjloader-config.cmake
lib/tinyobjloader/cmake/tinyobjloader-targets-%%CMAKE_BUILD_TYPE%%.cmake
diff --git a/multimedia/tivodecode/Makefile b/multimedia/tivodecode/Makefile
index 2eb71a69ff9b..866dd4581f33 100644
--- a/multimedia/tivodecode/Makefile
+++ b/multimedia/tivodecode/Makefile
@@ -1,5 +1,3 @@
-# Created by: Yi-Hsuan Hsin <mhsin@mhsin.org>
-
PORTNAME= tivodecode
DISTVERSION= 0.2pre4
CATEGORIES= multimedia
@@ -7,6 +5,7 @@ MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/0.2pre4
MAINTAINER= mhsin@mhsin.org
COMMENT= Converts .TiVo files to normal MPEG files
+WWW= https://tivodecode.sourceforge.net/
OPTIONS_DEFINE= DOCS
diff --git a/multimedia/tivodecode/pkg-descr b/multimedia/tivodecode/pkg-descr
index b95a6636d114..8344c8e5a2b6 100644
--- a/multimedia/tivodecode/pkg-descr
+++ b/multimedia/tivodecode/pkg-descr
@@ -6,5 +6,3 @@ operating systems, and runs on the command line using files or pipes. The
conversion still requires the valid MAK of the TiVo which recorded the file,
so it cannot be used to circumvent their protection, simply to provide the
same level of access as is already available on Windows.
-
-WWW: http://tivodecode.sourceforge.net/
diff --git a/multimedia/totem-pl-parser/Makefile b/multimedia/totem-pl-parser/Makefile
index 2b3855a2f3be..4c0d8cf80d3a 100644
--- a/multimedia/totem-pl-parser/Makefile
+++ b/multimedia/totem-pl-parser/Makefile
@@ -1,8 +1,5 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
-
PORTNAME= totem-pl-parser
-PORTVERSION= 3.26.5
-PORTREVISION= 2
+PORTVERSION= 3.26.6
CATEGORIES= multimedia gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
@@ -22,12 +19,4 @@ USES= gettext gnome libarchive localbase:ldflags meson pkgconfig tar:xz
USE_GNOME= glib20 introspection:build libxml2
USE_LDCONFIG= yes
-OPTIONS_SUB= yes
-OPTIONS_DEFINE= QUVI
-OPTIONS_DEFAULT=QUVI
-
-QUVI_DESC= Flash media stream URL support
-QUVI_MESON_YES= enable-quvi
-QUVI_LIB_DEPENDS= libquvi-0.9.so:multimedia/libquvi09
-
.include <bsd.port.mk>
diff --git a/multimedia/totem-pl-parser/distinfo b/multimedia/totem-pl-parser/distinfo
index 1de92859a567..a662e9e22e60 100644
--- a/multimedia/totem-pl-parser/distinfo
+++ b/multimedia/totem-pl-parser/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1601391576
-SHA256 (gnome2/totem-pl-parser-3.26.5.tar.xz) = 5370de46f2e848221779275479b96ac39115b1efd2b0293d4afa87e22c8c528c
-SIZE (gnome2/totem-pl-parser-3.26.5.tar.xz) = 1318700
+TIMESTAMP = 1656317036
+SHA256 (gnome2/totem-pl-parser-3.26.6.tar.xz) = c0df0f68d5cf9d7da43c81c7f13f11158358368f98c22d47722f3bd04bd3ac1c
+SIZE (gnome2/totem-pl-parser-3.26.6.tar.xz) = 1503888
diff --git a/multimedia/totem-pl-parser/files/patch-plparse_plparser.map b/multimedia/totem-pl-parser/files/patch-plparse_plparser.map
new file mode 100644
index 000000000000..7ba241e291b3
--- /dev/null
+++ b/multimedia/totem-pl-parser/files/patch-plparse_plparser.map
@@ -0,0 +1,18 @@
+--- plparse/plparser.map.orig 2021-06-25 12:17:41 UTC
++++ plparse/plparser.map
+@@ -6,7 +6,6 @@ LIBTOTEM_PL_PARSER_MINI_1.0 {
+ totem_cd_get_human_readable_name;
+ totem_cd_has_medium;
+ totem_cd_mrl_from_type;
+- totem_disc_media_type_get_type;
+ totem_disc_media_type_quark;
+ totem_pl_parser_add_ignored_mimetype;
+ totem_pl_parser_add_ignored_scheme;
+@@ -17,7 +16,6 @@ LIBTOTEM_PL_PARSER_MINI_1.0 {
+ totem_pl_parser_error_get_type;
+ totem_pl_parser_error_quark;
+ totem_pl_parser_get_type;
+- totemplparser_marshal_VOID__STRING_STRING_STRING;
+ totem_pl_parser_new;
+ totem_pl_parser_parse;
+ totem_pl_parser_parse_async;
diff --git a/multimedia/totem-pl-parser/pkg-plist b/multimedia/totem-pl-parser/pkg-plist
index bab481489fe2..7e6a385bf5b0 100644
--- a/multimedia/totem-pl-parser/pkg-plist
+++ b/multimedia/totem-pl-parser/pkg-plist
@@ -6,13 +6,13 @@ include/totem-pl-parser/1/plparser/totem-pl-playlist.h
lib/girepository-1.0/TotemPlParser-1.0.typelib
lib/libtotem-plparser-mini.so
lib/libtotem-plparser-mini.so.18
-lib/libtotem-plparser-mini.so.18.3.4
+lib/libtotem-plparser-mini.so.18.3.5
lib/libtotem-plparser.so
lib/libtotem-plparser.so.18
-lib/libtotem-plparser.so.18.3.4
+lib/libtotem-plparser.so.18.3.5
libdata/pkgconfig/totem-plparser-mini.pc
libdata/pkgconfig/totem-plparser.pc
-%%QUVI%%libexec/totem-pl-parser/99-totem-pl-parser-videosite-quvi
+libexec/totem-pl-parser/README-videosite-script.md
share/gir-1.0/TotemPlParser-1.0.gir
share/locale/af/LC_MESSAGES/totem-pl-parser.mo
share/locale/am/LC_MESSAGES/totem-pl-parser.mo
@@ -26,10 +26,10 @@ share/locale/be@latin/LC_MESSAGES/totem-pl-parser.mo
share/locale/bg/LC_MESSAGES/totem-pl-parser.mo
share/locale/bn/LC_MESSAGES/totem-pl-parser.mo
share/locale/bn_IN/LC_MESSAGES/totem-pl-parser.mo
-share/locale/br/LC_MESSAGES/totem-pl-parser.mo
share/locale/bs/LC_MESSAGES/totem-pl-parser.mo
share/locale/ca/LC_MESSAGES/totem-pl-parser.mo
share/locale/ca@valencia/LC_MESSAGES/totem-pl-parser.mo
+share/locale/ckb/LC_MESSAGES/totem-pl-parser.mo
share/locale/cs/LC_MESSAGES/totem-pl-parser.mo
share/locale/cy/LC_MESSAGES/totem-pl-parser.mo
share/locale/da/LC_MESSAGES/totem-pl-parser.mo
diff --git a/multimedia/totem/Makefile b/multimedia/totem/Makefile
index c83f5869fd89..e413d5725c31 100644
--- a/multimedia/totem/Makefile
+++ b/multimedia/totem/Makefile
@@ -1,8 +1,6 @@
-# Created by: Hendrik Scholz <hendrik@scholz.net>
-
PORTNAME= totem
PORTVERSION= 3.38.2
-PORTREVISION= 2
+PORTREVISION= 6
CATEGORIES= multimedia gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome
@@ -12,12 +10,13 @@ PATCHFILES+= 61e3a957cb73.patch:-p1 # https://gitlab.gnome.org/GNOME/totem/-/mer
MAINTAINER= gnome@FreeBSD.org
COMMENT= Gstreamer-based video player for the GNOME 3 Desktop
+WWW= https://www.gnome.org/projects/totem/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:misc/iso-codes \
- pylint:devel/pylint \
+ pylint:devel/pylint@${PY_FLAVOR} \
appstream-glib>=0:devel/appstream-glib \
itstool:textproc/itstool \
grilo-plugins>=0:net/grilo-plugins
@@ -39,7 +38,7 @@ RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:misc/iso-codes \
PORTSCOUT= limitw:1,even
USES= compiler desktop-file-utils gettext gl gnome gstreamer localbase meson \
- pkgconfig python:3.6+ tar:xz xorg
+ pkgconfig python tar:xz xorg
USE_GNOME= cairo gtk30 intlhack introspection libxml2 pygobject3 gnomedesktop3
USE_XORG= x11 xorgproto xtst ice sm
USE_GSTREAMER= core good bad soup ugly
diff --git a/multimedia/totem/pkg-descr b/multimedia/totem/pkg-descr
index caf3b0955d44..f3b5a267109f 100644
--- a/multimedia/totem/pkg-descr
+++ b/multimedia/totem/pkg-descr
@@ -1,5 +1,3 @@
Totem is simple movie player for the Gnome 3 desktop based on xine.
It features a simple playlist, a full-screen mode, seek and volume controls,
as well as a pretty complete keyboard navigation.
-
-WWW: http://www.gnome.org/projects/totem/
diff --git a/multimedia/totem/pkg-plist b/multimedia/totem/pkg-plist
index 8b081a80c3c5..eb77da184a69 100644
--- a/multimedia/totem/pkg-plist
+++ b/multimedia/totem/pkg-plist
@@ -49,8 +49,8 @@ lib/totem/plugins/vimeo/libvimeo.so
lib/totem/plugins/vimeo/vimeo.plugin
libdata/pkgconfig/totem.pc
libexec/totem-gallery-thumbnailer
-man/man1/totem-video-thumbnailer.1.gz
-man/man1/totem.1.gz
+share/man/man1/totem-video-thumbnailer.1.gz
+share/man/man1/totem.1.gz
share/GConf/gsettings/opensubtitles.convert
share/GConf/gsettings/pythonconsole.convert
share/GConf/gsettings/totem.convert
diff --git a/multimedia/transcode/Makefile b/multimedia/transcode/Makefile
deleted file mode 100644
index 8aff1232bd93..000000000000
--- a/multimedia/transcode/Makefile
+++ /dev/null
@@ -1,160 +0,0 @@
-# Created by: Hendrik Scholz <hendrik@scholz.net>
-
-PORTNAME= transcode
-PORTVERSION= 1.1.7
-PORTREVISION= 48
-CATEGORIES= multimedia
-MASTER_SITES= https://bitbucket.org/france/transcode-tcforge/downloads/
-
-MAINTAINER= se@FreeBSD.org
-COMMENT= Text-console utility for video stream processing
-
-LICENSE= GPLv2
-
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-
-USE_LDCONFIG= yes
-USES= gmake libtool pkgconfig tar:bzip2 gettext-runtime
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --enable-oss
-CPPFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
-INSTALL_TARGET= install-strip
-
-OPTIONS_DEFINE= DOCS OPTIMIZED_CFLAGS X11 MPEG2 BKTR POSTPROC FREETYPE LAME \
- XVID X264 OGG VORBIS THEORA DVDREAD DV QUICKTIME LZO A52 \
- FAAC LIBXML2 MJPEGTOOLS SDL IMAGEMAGICK JPEG ICONV V4L
-OPTIONS_DEFAULT= LAME DVDREAD JPEG ICONV
-BKTR_DESC= Bktr capture card support
-POSTPROC_DESC= Libpostproc support
-DVDREAD_DESC= Libdvdread support
-
-X11_USES= xorg
-X11_USE= xorg=xv,xaw,xpm,sm,ice,xext,x11,xt
-X11_CONFIGURE_WITH= x
-
-MPEG2_LIB_DEPENDS= libmpeg2.so:multimedia/libmpeg2
-MPEG2_CONFIGURE_ENABLE= libmpeg2 libmpeg2convert
-
-BKTR_CONFIGURE_ENABLE= bktr
-
-POSTPROC_CONFIGURE_ENABLE= libpostproc
-
-FREETYPE_LIB_DEPENDS= libfreetype.so:print/freetype2
-FREETYPE_CONFIGURE_ENABLE= freetype2
-
-LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
-LAME_CONFIGURE_ENABLE= lame
-LAME_CONFIGURE_ON= --with-lame-prefix=${LOCALBASE}
-
-XVID_LIB_DEPENDS= libxvidcore.so:multimedia/xvid
-XVID_CONFIGURE_ENABLE= xvid
-XVID_CONFIGURE_ON= --with-xvid-prefix=${LOCALBASE}
-
-X264_LIB_DEPENDS= libx264.so:multimedia/libx264
-X264_CONFIGURE_ENABLE= x264
-
-OGG_LIB_DEPENDS= libogg.so:audio/libogg
-OGG_CONFIGURE_ENABLE= ogg
-
-VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis
-VORBIS_CONFIGURE_ENABLE= vorbis
-
-THEORA_LIB_DEPENDS= libtheora.so:multimedia/libtheora
-THEORA_CONFIGURE_ENABLE= theora
-
-DVDREAD_LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
-DVDREAD_CONFIGURE_ENABLE= libdvdread
-DVDREAD_CONFIGURE_ON= --with-libdvdread-prefix=${LOCALBASE}
-
-DV_LIB_DEPENDS= libdv.so:multimedia/libdv
-DV_CONFIGURE_ENABLE= libdv
-
-QUICKTIME_LIB_DEPENDS= libquicktime.so:multimedia/libquicktime
-QUICKTIME_CONFIGURE_ENABLE= libquicktime
-
-LZO_LIB_DEPENDS= liblzo2.so:archivers/lzo2
-LZO_CONFIGURE_ENABLE= lzo
-LZO_CONFIGURE_ON= --with-lzo-prefix=${LOCALBASE} --with-lzo-includes=${LOCALBASE}
-
-A52_LIB_DEPENDS= liba52.so:audio/liba52
-A52_CONFIGURE_ENABLE= a52
-A52_CONFIGURE_ON= --with-a52-prefix=${LOCALBASE}
-
-FAAC_LIB_DEPENDS= libfaac.so:audio/faac
-FAAC_CONFIGURE_ENABLE= faac
-FAAC_CONFIGURE_ON= --with-faac-prefix=${LOCALBASE}
-
-LIBXML2_USES= gnome
-LIBXML2_USE= GNOME=libxml2
-LIBXML2_CONFIGURE_ENABLE= libxml2
-
-MJPEGTOOLS_LIB_DEPENDS= liblavjpeg.so:multimedia/mjpegtools
-MJPEGTOOLS_CONFIGURE_ENABLE= mjpegtools
-
-SDL_USES= sdl
-SDL_USE= SDL=sdl
-SDL_CONFIGURE_ENABLE= sdl
-
-IMAGEMAGICK_USES= magick:6
-IMAGEMAGICK_CONFIGURE_ENABLE= imagemagick
-IMAGEMAGICK_CONFIGURE_ON= --with-imagemagick-prefix=${LOCALBASE}
-
-JPEG_USES= jpeg
-JPEG_CONFIGURE_ENABLE= libjpeg
-JPEG_CONFIGURE_ON= --with-libjpeg-prefix=${LOCALBASE}
-
-ICONV_USES= iconv
-ICONV_CONFIGURE_ENABLE= iconv
-ICONV_CONFIGURE_ON= --with-iconv-prefix=${ICONV_PREFIX}
-
-V4L_BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
-V4L_CONFIGURE_ENABLE= v4l
-
-.include <bsd.port.pre.mk>
-
-LDFLAGS_i386+= -Wl,-z,notext
-
-.if empty(ICONV_LIB)
-CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \
- ac_cv_lib_iconv_libiconv_open=no
-.endif
-
-post-extract:
- @${RM} ${WRKSRC}/import/v4l/videodev*
-
-post-patch:
- @${REINPLACE_CMD} -E -e 's|loff_t|uint64_t|' ${WRKSRC}/avilib/avidump.c
- @${REINPLACE_CMD} -E -e 's|<SDL/|<|' ${WRKSRC}/filter/preview/display.h
- @${REINPLACE_CMD} -e '/^static.*lrint/s|static ||' ${WRKSRC}/filter/filter_modfps.c
-
- @${REINPLACE_CMD} -E -e 's|(-la52)|\1 ${LIBA52_DEP_LIBS}|g ; \
- s|FFMPEG_VERSION|LIBAVCODEC_IDENT|g ; \
- s|-lMagick|-lMagickCore|g' \
- ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
-
- @${REINPLACE_CMD} -E -e 's|-ldl||g' ${WRKSRC}/configure
- @${REINPLACE_CMD} -E -e 's|%%LOCALBASE%%|${LOCALBASE}|g' ${WRKSRC}/configure
- @${REINPLACE_CMD} -E -e 's|WRKSRC|${WRKSRC}|g' ${WRKSRC}/export/Makefile.in
- @${REINPLACE_CMD} -E -e 's|<quicktime/|<lqt/|g' \
- ${WRKSRC}/configure \
- ${WRKSRC}/export/export_mov.c \
- ${WRKSRC}/import/decode_mov.c \
- ${WRKSRC}/import/import_mov.c \
- ${WRKSRC}/import/probe_mov.c
-
-post-patch-LZO-on:
- @${REINPLACE_CMD} -e 's|%%NUV%%|nuv|' ${WRKSRC}/import/Makefile.in
-
-post-patch-LZO-off:
- @${REINPLACE_CMD} -e 's|%%NUV%%||' ${WRKSRC}/import/Makefile.in
-
-post-patch-OPTIMIZED_CFLAGS-off:
- @${FIND} ${WRKSRC} -type f | ${XARGS} -n 10 -x ${REINPLACE_CMD} \
- -e 's|-O[236]|${CFLAGS}|'
-
-post-stage:
- @(cd ${STAGEDIR}${PREFIX} && \
- ${FIND} -s lib/transcode -type f -or -type l >> ${TMPPLIST})
-
-.include <bsd.port.post.mk>
diff --git a/multimedia/transcode/distinfo b/multimedia/transcode/distinfo
deleted file mode 100644
index 4576eee2ce3e..000000000000
--- a/multimedia/transcode/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1619893866
-SHA256 (transcode-1.1.7.tar.bz2) = 1e4e72d8e0dd62a80b8dd90699f5ca64c9b0cb37a5c9325c184166a9654f0a92
-SIZE (transcode-1.1.7.tar.bz2) = 2183627
diff --git a/multimedia/transcode/files/patch-configure b/multimedia/transcode/files/patch-configure
deleted file mode 100644
index 7e7d99850279..000000000000
--- a/multimedia/transcode/files/patch-configure
+++ /dev/null
@@ -1,29 +0,0 @@
---- configure.orig 2011-11-19 17:50:37.000000000 +0100
-+++ configure 2014-01-17 22:18:16.637476520 +0100
-@@ -5073,7 +5073,7 @@
- ;;
- esac
- fi
--PATH_TO_AWK=$ac_cv_path_PATH_TO_AWK
-+PATH_TO_AWK=$ac_cv_prog_AWK
- if test -n "$PATH_TO_AWK"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PATH_TO_AWK" >&5
- $as_echo "$PATH_TO_AWK" >&6; }
-@@ -26196,7 +26196,7 @@
- for l in $a52_ll ; do
- case $l in
- -L*) lpaths="$lpaths $l" ;;
-- -l*) test x"$l" != x"-la52" && xlibs="$xlibs $l" ;;
-+ -l*) test x"$l" != x"-la52 -L%%LOCALBASE%%/lib -lm" && xlibs="$xlibs $l" ;;
- *) xlf="$xlf $l" ;;
- esac
- done
-@@ -26249,7 +26249,7 @@
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_a52_a52_init" >&5
- $as_echo "$ac_cv_lib_a52_a52_init" >&6; }
- if test "x$ac_cv_lib_a52_a52_init" = xyes; then :
-- A52_LIBS="$a52_ll -la52 $A52_EXTRA_LIBS"
-+ A52_LIBS="$a52_ll -la52 -L%%LOCALBASE%%/lib -lm $A52_EXTRA_LIBS"
- else
-
- this_pkg_err="yes"
diff --git a/multimedia/transcode/files/patch-ffmpeg0-10 b/multimedia/transcode/files/patch-ffmpeg0-10
deleted file mode 100644
index 83e11846f1c6..000000000000
--- a/multimedia/transcode/files/patch-ffmpeg0-10
+++ /dev/null
@@ -1,13 +0,0 @@
---- filter/filter_pp.c
-+++ filter/filter_pp.c
-@@ -38,8 +38,8 @@
-
- /* FIXME: these use the filter ID as an index--the ID can grow
- * arbitrarily large, so this needs to be fixed */
--static pp_mode_t *mode[100];
--static pp_context_t *context[100];
-+static pp_mode *mode[100];
-+static pp_context *context[100];
- static int width[100], height[100];
- static int pre[100];
-
diff --git a/multimedia/transcode/files/patch-ffmpeg0-11 b/multimedia/transcode/files/patch-ffmpeg0-11
deleted file mode 100644
index 74ac7eec348c..000000000000
--- a/multimedia/transcode/files/patch-ffmpeg0-11
+++ /dev/null
@@ -1,299 +0,0 @@
-diff -urN encode/encode_lavc.c.orig encode/encode_lavc.c
---- encode/encode_lavc.c.orig 2011-11-19 08:50:27.000000000 -0800
-+++ encode/encode_lavc.c 2012-07-03 10:47:03.528009149 -0700
-@@ -114,6 +114,7 @@
-
- AVFrame ff_venc_frame;
- AVCodecContext ff_vcontext;
-+ AVDictionary ** ff_opts;
-
- AVCodec *ff_vcodec;
-
-@@ -1036,14 +1037,10 @@
- SET_FLAG(pd, mv0);
- SET_FLAG(pd, cbp);
- SET_FLAG(pd, qpel);
-- SET_FLAG(pd, alt);
-- SET_FLAG(pd, vdpart);
- SET_FLAG(pd, naq);
- SET_FLAG(pd, ilme);
- SET_FLAG(pd, ildct);
- SET_FLAG(pd, aic);
-- SET_FLAG(pd, aiv);
-- SET_FLAG(pd, umv);
- SET_FLAG(pd, psnr);
- SET_FLAG(pd, trell);
- SET_FLAG(pd, gray);
-@@ -1064,6 +1061,18 @@
- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT;
- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
- }
-+ if (pd->confdata.flags.alt) {
-+ av_dict_set(pd->ff_opts, "alternate_scan", "1", 0);
-+ }
-+ if (pd->confdata.flags.vdpart) {
-+ av_dict_set(pd->ff_opts, "data_partitioning", "1", 0);
-+ }
-+ if (pd->confdata.flags.umv) {
-+ av_dict_set(pd->ff_opts, "umv", "1", 0);
-+ }
-+ if (pd->confdata.flags.aiv) {
-+ av_dict_set(pd->ff_opts, "aiv", "1", 0);
-+ }
- }
-
- #undef SET_FLAG
-@@ -1184,18 +1193,18 @@
- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD },
- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
-- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN },
-+ { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
- { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT },
- { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP },
-- { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART },
-+ { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC },
- #else
- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED },
- #endif
-- { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIV },
-- { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV },
-+ { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 },
-+ { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT },
-@@ -1387,7 +1396,7 @@
- pd->confdata.thread_count,
- (pd->confdata.thread_count > 1) ?"s" :"");
- }
-- avcodec_thread_init(&pd->ff_vcontext, pd->confdata.thread_count);
-+ pd->ff_vcontext.thread_count = pd->confdata.thread_count;
-
- pd->ff_vcodec = avcodec_find_encoder(FF_VCODEC_ID(pd));
- if (pd->ff_vcodec == NULL) {
-@@ -1397,11 +1406,11 @@
- }
-
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(&pd->ff_vcontext, pd->ff_vcodec);
-+ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts);
- TC_UNLOCK_LIBAVCODEC;
-
- if (ret < 0) {
-- tc_log_error(MOD_NAME, "avcodec_open() failed");
-+ tc_log_error(MOD_NAME, "avcodec_open2() failed");
- goto failed;
- }
- /* finally, pass up the extradata, if any */
-diff -urN export/export_ffmpeg.c.orig export/export_ffmpeg.c
---- export/export_ffmpeg.c.orig 2011-11-19 08:50:27.000000000 -0800
-+++ export/export_ffmpeg.c 2012-07-03 13:15:23.918019415 -0700
-@@ -122,6 +122,7 @@
- static AVFrame *lavc_convert_frame = NULL;
-
- static AVCodec *lavc_venc_codec = NULL;
-+static AVDictionary **lavc_venc_opts = NULL;
- static AVFrame *lavc_venc_frame = NULL;
- static AVCodecContext *lavc_venc_context;
- static avi_t *avifile = NULL;
-@@ -180,7 +181,7 @@
-
-
- /* START: COPIED FROM ffmpeg-0.5_p22846(ffmpeg.c, cmdutils.c) */
--#include <libavcodec/opt.h>
-+#include <libavutil/opt.h>
- #include <libavutil/avstring.h>
- #include <libswscale/swscale.h>
-
-@@ -470,7 +471,6 @@
- }
-
- TC_LOCK_LIBAVCODEC;
-- avcodec_init();
- avcodec_register_all();
- TC_UNLOCK_LIBAVCODEC;
-
-@@ -634,7 +634,7 @@
- lavc_param_rc_max_rate = 2516;
- lavc_param_rc_buffer_size = 224 * 8;
- lavc_param_rc_buffer_aggressivity = 99;
-- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
-+ lavc_param_scan_offset = 1;
-
- break;
-
-@@ -674,7 +674,7 @@
-
- lavc_param_rc_buffer_size = 224 * 8;
- lavc_param_rc_buffer_aggressivity = 99;
-- lavc_param_scan_offset = CODEC_FLAG_SVCD_SCAN_OFFSET;
-+ lavc_param_scan_offset = 1;
-
- break;
-
-@@ -887,7 +887,7 @@
- lavc_venc_context->thread_count);
- }
-
-- avcodec_thread_init(lavc_venc_context, lavc_param_threads);
-+ lavc_venc_context->thread_count = lavc_param_threads;
-
- if (lavc_param_intra_matrix) {
- char *tmp;
-@@ -1065,15 +1065,10 @@
- lavc_venc_context->flags |= lavc_param_closedgop;
- lavc_venc_context->flags |= lavc_param_trunc;
- lavc_venc_context->flags |= lavc_param_aic;
-- lavc_venc_context->flags |= lavc_param_umv;
- lavc_venc_context->flags |= lavc_param_v4mv;
-- lavc_venc_context->flags |= lavc_param_data_partitioning;
- lavc_venc_context->flags |= lavc_param_cbp;
- lavc_venc_context->flags |= lavc_param_mv0;
- lavc_venc_context->flags |= lavc_param_qp_rd;
-- lavc_venc_context->flags |= lavc_param_scan_offset;
-- lavc_venc_context->flags |= lavc_param_ss;
-- lavc_venc_context->flags |= lavc_param_alt;
- lavc_venc_context->flags |= lavc_param_ilme;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_venc_context->flags |= lavc_param_trell;
-@@ -1203,7 +1198,6 @@
-
- lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
-
--
- /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
- if (lavc_param_video_preset) {
- avcodec_opts[AVMEDIA_TYPE_VIDEO] = lavc_venc_context;
-@@ -1241,20 +1235,39 @@
- }
- }
-
-+ if (lavc_param_scan_offset) {
-+ av_dict_set(lavc_venc_opts, "scan_offset", "1", 0);
-+ }
-+
-+ if (lavc_param_ss) {
-+ av_dict_set(lavc_venc_opts, "structured_slices", "1", 0);
-+ }
-+
-+ if (lavc_param_alt) {
-+ av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0);
-+ }
-+
-+ if (lavc_param_umv) {
-+ av_dict_set(lavc_venc_opts, "umv", "1", 0);
-+ }
-+
-+ if (lavc_param_data_partitioning) {
-+ av_dict_set(lavc_venc_opts, "vdpart", "1", 0);
-+ }
-
- //-- open codec --
- //----------------
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(lavc_venc_context, lavc_venc_codec);
-+ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_log_warn(MOD_NAME, "could not open FFMPEG codec");
- return TC_EXPORT_ERROR;
- }
-
-- if (lavc_venc_context->codec->encode == NULL) {
-+ if (av_codec_is_encoder(lavc_venc_context->codec) == 0) {
- tc_log_warn(MOD_NAME, "could not open FFMPEG codec "
-- "(lavc_venc_context->codec->encode == NULL)");
-+ "(av_codec_is_encoder(lavc_venc_context->codec) == 0)");
- return TC_EXPORT_ERROR;
- }
-
-diff -urN export/ffmpeg_cfg.c.orig export/ffmpeg_cfg.c
---- export/ffmpeg_cfg.c.orig 2011-11-19 08:50:27.000000000 -0800
-+++ export/ffmpeg_cfg.c 2012-07-03 10:09:25.011003254 -0700
-@@ -160,9 +160,9 @@
- {"vcelim", &lavc_param_chroma_elim_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
- {"vpsize", &lavc_param_packet_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
- {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
-- {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
-+ {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1},
- // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
-- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PART},
-+ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY},
- {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
- {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
-@@ -211,7 +211,7 @@
- #else
- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
- #endif
-- {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_UMV},
-+ {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
- {"pbias", &lavc_param_pbias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
- {"coder", &lavc_param_coder, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
-@@ -223,9 +223,9 @@
- {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
- {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
-- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_SLICE_STRUCT},
-- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_SVCD_SCAN_OFFSET},
-- {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_ALT_SCAN},
-+ {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
-+ {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
-+ {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
- {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
- {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
-diff -urN import/decode_lavc.c.orig import/decode_lavc.c
---- import/decode_lavc.c.orig 2011-11-19 08:50:27.000000000 -0800
-+++ import/decode_lavc.c 2012-07-03 10:21:46.085005182 -0700
-@@ -181,7 +181,7 @@
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_dec_context->error_resilience = 2;
- #else
-- lavc_dec_context->error_recognition = 2;
-+ lavc_dec_context->err_recognition = 2;
- #endif
- lavc_dec_context->error_concealment = 3;
- lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
-diff -urN import/import_ffmpeg.c.orig import/import_ffmpeg.c
---- import/import_ffmpeg.c.orig 2011-11-19 08:50:27.000000000 -0800
-+++ import/import_ffmpeg.c 2012-07-03 10:19:36.936004841 -0700
-@@ -314,7 +314,7 @@
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_dec_context->error_resilience = 2;
- #else
-- lavc_dec_context->error_recognition = 2;
-+ lavc_dec_context->err_recognition = 2;
- #endif
- lavc_dec_context->error_concealment = 3;
- lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
-diff -urN import/probe_ffmpeg.c.orig import/probe_ffmpeg.c
---- import/probe_ffmpeg.c.orig 2011-11-19 08:50:27.000000000 -0800
-+++ import/probe_ffmpeg.c 2012-07-03 10:41:42.782008306 -0700
-@@ -99,8 +99,8 @@
-
- TC_INIT_LIBAVCODEC;
-
-- ret = av_open_input_file(&lavf_dmx_context, ipipe->name,
-- NULL, 0, NULL);
-+ ret = avformat_open_input(&lavf_dmx_context, ipipe->name,
-+ NULL, NULL);
- if (ret != 0) {
- tc_log_error(__FILE__, "unable to open '%s'"
- " (libavformat failure)",
-diff -urN libtc/tcavcodec.h.orig libtc/tcavcodec.h
---- libtc/tcavcodec.h.orig 2011-11-19 08:50:27.000000000 -0800
-+++ libtc/tcavcodec.h 2012-07-03 10:34:43.648007213 -0700
-@@ -53,7 +53,6 @@
-
- #define TC_INIT_LIBAVCODEC do { \
- TC_LOCK_LIBAVCODEC; \
-- avcodec_init(); \
- avcodec_register_all(); \
- TC_UNLOCK_LIBAVCODEC; \
- } while (0)
diff --git a/multimedia/transcode/files/patch-ffmpeg2 b/multimedia/transcode/files/patch-ffmpeg2
deleted file mode 100644
index bbeef488a702..000000000000
--- a/multimedia/transcode/files/patch-ffmpeg2
+++ /dev/null
@@ -1,328 +0,0 @@
-Index: encode/encode_lavc.c
-===================================================================
---- encode/encode_lavc.c.orig
-+++ encode/encode_lavc.c
-@@ -74,6 +74,9 @@ struct tclavcconfigdata_ {
- int lmin;
- int lmax;
- int me_method;
-+ int luma_elim_threshold;
-+ int chroma_elim_threshold;
-+ int quantizer_noise_shaping;
-
- /* same as above for flags */
- struct {
-@@ -114,7 +117,7 @@ struct tclavcprivatedata_ {
-
- AVFrame ff_venc_frame;
- AVCodecContext ff_vcontext;
-- AVDictionary ** ff_opts;
-+ AVDictionary * ff_opts;
-
- AVCodec *ff_vcodec;
-
-@@ -165,6 +168,7 @@ static const TCCodecID tc_lavc_codecs_ou
- TC_CODEC_ERROR
- };
-
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- static const enum CodecID tc_lavc_internal_codecs[] = {
- CODEC_ID_MPEG1VIDEO, CODEC_ID_MPEG2VIDEO, CODEC_ID_MPEG4,
- CODEC_ID_H263I, CODEC_ID_H263P,
-@@ -177,6 +181,20 @@ static const enum CodecID tc_lavc_intern
- CODEC_ID_MSMPEG4V2, CODEC_ID_MSMPEG4V3,
- CODEC_ID_NONE
- };
-+#else
-+static const enum AVCodecID tc_lavc_internal_codecs[] = {
-+ AV_CODEC_ID_MPEG1VIDEO, AV_CODEC_ID_MPEG2VIDEO, AV_CODEC_ID_MPEG4,
-+ AV_CODEC_ID_H263I, AV_CODEC_ID_H263P,
-+ AV_CODEC_ID_H264,
-+ AV_CODEC_ID_WMV1, AV_CODEC_ID_WMV2,
-+ AV_CODEC_ID_RV10,
-+ AV_CODEC_ID_HUFFYUV, AV_CODEC_ID_FFV1,
-+ AV_CODEC_ID_DVVIDEO,
-+ AV_CODEC_ID_MJPEG, AV_CODEC_ID_LJPEG,
-+ AV_CODEC_ID_MSMPEG4V2, AV_CODEC_ID_MSMPEG4V3,
-+ AV_CODEC_ID_NONE
-+};
-+#endif
-
- static const TCFormatID tc_lavc_formats[] = { TC_FORMAT_ERROR };
-
-@@ -938,7 +956,11 @@ static int tc_lavc_settings_from_vob(TCL
- static void tc_lavc_config_defaults(TCLavcPrivateData *pd)
- {
- /* first of all reinitialize lavc data */
-+#if LIBAVCODEC_VERSION_MAJOR < 55
- avcodec_get_context_defaults(&pd->ff_vcontext);
-+#else
-+ avcodec_get_context_defaults3(&pd->ff_vcontext, NULL);
-+#endif
-
- pd->confdata.thread_count = 1;
-
-@@ -976,8 +998,8 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.mpeg_quant = 0;
- pd->ff_vcontext.rc_initial_cplx = 0.0;
- pd->ff_vcontext.rc_qsquish = 1.0;
-- pd->ff_vcontext.luma_elim_threshold = 0;
-- pd->ff_vcontext.chroma_elim_threshold = 0;
-+ pd->confdata.luma_elim_threshold = 0;
-+ pd->confdata.chroma_elim_threshold = 0;
- pd->ff_vcontext.strict_std_compliance = 0;
- pd->ff_vcontext.dct_algo = FF_DCT_AUTO;
- pd->ff_vcontext.idct_algo = FF_IDCT_AUTO;
-@@ -1001,7 +1023,7 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.intra_quant_bias = FF_DEFAULT_QUANT_BIAS;
- pd->ff_vcontext.inter_quant_bias = FF_DEFAULT_QUANT_BIAS;
- pd->ff_vcontext.noise_reduction = 0;
-- pd->ff_vcontext.quantizer_noise_shaping = 0;
-+ pd->confdata.quantizer_noise_shaping = 0;
- pd->ff_vcontext.flags = 0;
- }
-
-@@ -1033,7 +1055,6 @@ static void tc_lavc_dispatch_settings(TC
-
- pd->ff_vcontext.flags = 0;
- SET_FLAG(pd, mv0);
-- SET_FLAG(pd, cbp);
- SET_FLAG(pd, qpel);
- SET_FLAG(pd, naq);
- SET_FLAG(pd, ilme);
-@@ -1060,17 +1081,29 @@ static void tc_lavc_dispatch_settings(TC
- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
- }
- if (pd->confdata.flags.alt) {
-- av_dict_set(pd->ff_opts, "alternate_scan", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "alternate_scan", "1", 0);
- }
- if (pd->confdata.flags.vdpart) {
-- av_dict_set(pd->ff_opts, "data_partitioning", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "data_partitioning", "1", 0);
- }
- if (pd->confdata.flags.umv) {
-- av_dict_set(pd->ff_opts, "umv", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "umv", "1", 0);
- }
- if (pd->confdata.flags.aiv) {
-- av_dict_set(pd->ff_opts, "aiv", "1", 0);
-+ av_dict_set(&(pd->ff_opts), "aiv", "1", 0);
- }
-+ if (pd->confdata.flags.cbp) {
-+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+cbp_rd", 0);
-+ }
-+
-+ char buf[1024];
-+#define set_dict_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%i", pd->confdata.val);\
-+ av_dict_set(&(pd->ff_opts), opt, buf, 0)
-+
-+ set_dict_opt(luma_elim_threshold, "luma_elim_threshold");
-+ set_dict_opt(chroma_elim_threshold, "chroma_elim_threshold");
-+ set_dict_opt(quantizer_noise_shaping, "quantizer_noise_shaping");
- }
-
- #undef SET_FLAG
-@@ -1155,8 +1188,8 @@ static int tc_lavc_read_config(TCLavcPri
- { "vrc_init_cplx", PCTX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
- // { "vrc_init_occupancy", }, // not yet supported
- { "vqsquish", PCTX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
-- { "vlelim", PCTX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-- { "vcelim", PCTX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-+ { "vlelim", PAUX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-+ { "vcelim", PAUX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vstrict", PCTX(strict_std_compliance), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vpsize", PCTX(rtp_payload_size), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000 },
- { "dct", PCTX(dct_algo), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
-@@ -1182,12 +1215,12 @@ static int tc_lavc_read_config(TCLavcPri
- { "ibias", PCTX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
- { "pbias", PCTX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
- { "nr", PCTX(noise_reduction), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
-- { "qns", PCTX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
-+ { "qns", PAUX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
- { "inter_matrix_file", inter_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
- { "intra_matrix_file", intra_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
-
- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
-- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD },
-+ { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
-@@ -1350,6 +1383,8 @@ static int tc_lavc_configure(TCModuleIns
-
- pd = self->userdata;
-
-+ pd->ff_opts = NULL;
-+
- pd->flush_flag = vob->encoder_flush;
-
- /* FIXME: move into core? */
-@@ -1402,7 +1437,7 @@ static int tc_lavc_configure(TCModuleIns
- }
-
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, pd->ff_opts);
-+ ret = avcodec_open2(&pd->ff_vcontext, pd->ff_vcodec, &(pd->ff_opts));
- TC_UNLOCK_LIBAVCODEC;
-
- if (ret < 0) {
-Index: export/export_ffmpeg.c
-===================================================================
---- export/export_ffmpeg.c.orig
-+++ export/export_ffmpeg.c
-@@ -122,7 +122,7 @@ static uint8_t *img_buffer =
- static AVFrame *lavc_convert_frame = NULL;
-
- static AVCodec *lavc_venc_codec = NULL;
--static AVDictionary **lavc_venc_opts = NULL;
-+static AVDictionary *lavc_venc_opts = NULL;
- static AVFrame *lavc_venc_frame = NULL;
- static AVCodecContext *lavc_venc_context;
- static avi_t *avifile = NULL;
-@@ -486,7 +486,7 @@ MOD_init
- codec->name, codec->fourCC, codec->comments);
- }
-
-- lavc_venc_context = avcodec_alloc_context();
-+ lavc_venc_context = avcodec_alloc_context3(lavc_venc_codec);
- lavc_venc_frame = avcodec_alloc_frame();
-
- lavc_convert_frame= avcodec_alloc_frame();
-@@ -838,8 +838,13 @@ MOD_init
- lavc_venc_context->rc_strategy = lavc_param_vrc_strategy;
- lavc_venc_context->b_frame_strategy = lavc_param_vb_strategy;
- lavc_venc_context->b_quant_offset = lavc_param_vb_qoffset;
-- lavc_venc_context->luma_elim_threshold= lavc_param_luma_elim_threshold;
-- lavc_venc_context->chroma_elim_threshold= lavc_param_chroma_elim_threshold;
-+
-+ char buf[1024];
-+#define set_dict_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%i", val); \
-+ av_dict_set(&lavc_venc_opts, opt, buf, 0)
-+ set_dict_opt(lavc_param_luma_elim_threshold, "luma_elim_threshold");
-+ set_dict_opt(lavc_param_chroma_elim_threshold, "chroma_elim_threshold");
- lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- if (lavc_param_packet_size)
-@@ -870,7 +875,7 @@ MOD_init
- lavc_venc_context->context_model = lavc_param_context;
- lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
- lavc_venc_context->noise_reduction = lavc_param_noise_reduction;
-- lavc_venc_context->inter_threshold = lavc_param_inter_threshold;
-+ set_dict_opt(lavc_param_inter_threshold, "inter_threshold");
- lavc_venc_context->intra_dc_precision = lavc_param_intra_dc_precision;
- lavc_venc_context->skip_top = lavc_param_skip_top;
- lavc_venc_context->skip_bottom = lavc_param_skip_bottom;
-@@ -1066,9 +1071,11 @@ MOD_init
- lavc_venc_context->flags |= lavc_param_trunc;
- lavc_venc_context->flags |= lavc_param_aic;
- lavc_venc_context->flags |= lavc_param_v4mv;
-- lavc_venc_context->flags |= lavc_param_cbp;
-+ if(lavc_param_cbp)
-+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+cbp_rd", 0);
- lavc_venc_context->flags |= lavc_param_mv0;
-- lavc_venc_context->flags |= lavc_param_qp_rd;
-+ if(lavc_param_qp_rd)
-+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+qp_rd", 0);
- lavc_venc_context->flags |= lavc_param_ilme;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_venc_context->flags |= lavc_param_trell;
-@@ -1238,29 +1245,29 @@ MOD_init
- }
-
- if (lavc_param_scan_offset) {
-- av_dict_set(lavc_venc_opts, "scan_offset", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "scan_offset", "1", 0);
- }
-
- if (lavc_param_ss) {
-- av_dict_set(lavc_venc_opts, "structured_slices", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "structured_slices", "1", 0);
- }
-
- if (lavc_param_alt) {
-- av_dict_set(lavc_venc_opts, "alternate_scan", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "alternate_scan", "1", 0);
- }
-
- if (lavc_param_umv) {
-- av_dict_set(lavc_venc_opts, "umv", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "umv", "1", 0);
- }
-
- if (lavc_param_data_partitioning) {
-- av_dict_set(lavc_venc_opts, "vdpart", "1", 0);
-+ av_dict_set(&lavc_venc_opts, "vdpart", "1", 0);
- }
-
- //-- open codec --
- //----------------
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, lavc_venc_opts);
-+ ret = avcodec_open2(lavc_venc_context, lavc_venc_codec, &lavc_venc_opts);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_log_warn(MOD_NAME, "could not open FFMPEG codec");
-Index: export/ffmpeg_cfg.c
-===================================================================
---- export/ffmpeg_cfg.c.orig
-+++ export/ffmpeg_cfg.c
-@@ -214,10 +214,10 @@ TCConfigEntry lavcopts_conf[]={
- {"context", &lavc_param_context, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
- {"intra_matrix", &lavc_param_intra_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
- {"inter_matrix", &lavc_param_inter_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
-- {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CBP_RD},
-+ {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0},
- {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
-- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QP_RD},
-+ {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
-Index: export/aud_aux.c
-===================================================================
---- export/aud_aux.c.orig
-+++ export/aud_aux.c
-@@ -346,7 +346,7 @@ static int tc_audio_init_ffmpeg(vob_t *v
-
- //-- set parameters (bitrate, channels and sample-rate) --
- //--------------------------------------------------------
-- avcodec_get_context_defaults(&mpa_ctx);
-+ avcodec_get_context_defaults3(&mpa_ctx, mpa_codec);
- #if LIBAVCODEC_VERSION_MAJOR < 53
- mpa_ctx.codec_type = CODEC_TYPE_AUDIO;
- #else
-@@ -359,7 +359,7 @@ static int tc_audio_init_ffmpeg(vob_t *v
- //-- open codec --
- //----------------
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(&mpa_ctx, mpa_codec);
-+ ret = avcodec_open2(&mpa_ctx, mpa_codec, NULL);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_warn("tc_audio_init_ffmpeg: could not open %s codec !",
-Index: import/import_ffmpeg.c
-===================================================================
---- import/import_ffmpeg.c.orig
-+++ import/import_ffmpeg.c
-@@ -302,7 +302,7 @@ do_avi:
-
- // Set these to the expected values so that ffmpeg's decoder can
- // properly detect interlaced input.
-- lavc_dec_context = avcodec_alloc_context();
-+ lavc_dec_context = avcodec_alloc_context3(lavc_dec_codec);
- if (lavc_dec_context == NULL) {
- tc_log_error(MOD_NAME, "Could not allocate enough memory.");
- return TC_IMPORT_ERROR;
-@@ -344,7 +344,7 @@ do_avi:
- }
-
- TC_LOCK_LIBAVCODEC;
-- ret = avcodec_open(lavc_dec_context, lavc_dec_codec);
-+ ret = avcodec_open2(lavc_dec_context, lavc_dec_codec, NULL);
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_log_warn(MOD_NAME, "Could not initialize the '%s' codec.",
diff --git a/multimedia/transcode/files/patch-ffmpeg29 b/multimedia/transcode/files/patch-ffmpeg29
deleted file mode 100644
index 3b13530ea0cd..000000000000
--- a/multimedia/transcode/files/patch-ffmpeg29
+++ /dev/null
@@ -1,352 +0,0 @@
-Index: encode/encode_lavc.c
-===================================================================
---- encode/encode_lavc.c.orig
-+++ encode/encode_lavc.c
-@@ -233,7 +233,7 @@ static void pre_encode_video_yuv420p(TCL
- vframe_list_t *vframe)
- {
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, vframe->video_buf,
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- }
-
-@@ -247,7 +247,7 @@ static void pre_encode_video_yuv420p_huf
- IMG_YUV_DEFAULT,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, pd->vframe_buf->video_buf,
-- PIX_FMT_YUV422P,
-+ AV_PIX_FMT_YUV422P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- ac_imgconvert(src, IMG_YUV_DEFAULT,
- pd->ff_venc_frame.data, IMG_YUV422P,
-@@ -263,7 +263,7 @@ static void pre_encode_video_yuv422p(TCL
- IMG_YUV422P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, pd->vframe_buf->video_buf,
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- ac_imgconvert(src, IMG_YUV422P,
- pd->ff_venc_frame.data, IMG_YUV420P,
-@@ -275,7 +275,7 @@ static void pre_encode_video_yuv422p_huf
- vframe_list_t *vframe)
- {
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, vframe->video_buf,
-- PIX_FMT_YUV422P,
-+ AV_PIX_FMT_YUV422P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
-
- }
-@@ -285,7 +285,7 @@ static void pre_encode_video_rgb24(TCLav
- vframe_list_t *vframe)
- {
- avpicture_fill((AVPicture *)&pd->ff_venc_frame, pd->vframe_buf->video_buf,
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- pd->ff_vcontext.width, pd->ff_vcontext.height);
- ac_imgconvert(&vframe->video_buf, IMG_RGB_DEFAULT,
- pd->ff_venc_frame.data, IMG_YUV420P,
-@@ -610,21 +610,21 @@ static int tc_lavc_set_pix_fmt(TCLavcPri
- case CODEC_YUV:
- if (TC_VCODEC_ID(pd) == TC_CODEC_HUFFYUV) {
- pd->tc_pix_fmt = TC_CODEC_YUV422P;
-- pd->ff_vcontext.pix_fmt = PIX_FMT_YUV422P;
-+ pd->ff_vcontext.pix_fmt = AV_PIX_FMT_YUV422P;
- pd->pre_encode_video = pre_encode_video_yuv420p_huffyuv;
- } else {
- pd->tc_pix_fmt = TC_CODEC_YUV420P;
- pd->ff_vcontext.pix_fmt = (TC_VCODEC_ID(pd) == TC_CODEC_MJPEG)
-- ? PIX_FMT_YUVJ420P
-- : PIX_FMT_YUV420P;
-+ ? AV_PIX_FMT_YUVJ420P
-+ : AV_PIX_FMT_YUV420P;
- pd->pre_encode_video = pre_encode_video_yuv420p;
- }
- break;
- case CODEC_YUV422:
- pd->tc_pix_fmt = TC_CODEC_YUV422P;
- pd->ff_vcontext.pix_fmt = (TC_VCODEC_ID(pd) == TC_CODEC_MJPEG)
-- ? PIX_FMT_YUVJ422P
-- : PIX_FMT_YUV422P;
-+ ? AV_PIX_FMT_YUVJ422P
-+ : AV_PIX_FMT_YUV422P;
- if (TC_VCODEC_ID(pd) == TC_CODEC_HUFFYUV) {
- pd->pre_encode_video = pre_encode_video_yuv422p_huffyuv;
- } else {
-@@ -634,10 +634,10 @@ static int tc_lavc_set_pix_fmt(TCLavcPri
- case CODEC_RGB:
- pd->tc_pix_fmt = TC_CODEC_RGB;
- pd->ff_vcontext.pix_fmt = (TC_VCODEC_ID(pd) == TC_CODEC_HUFFYUV)
-- ? PIX_FMT_YUV422P
-+ ? AV_PIX_FMT_YUV422P
- : (TC_VCODEC_ID(pd) == TC_CODEC_MJPEG)
-- ? PIX_FMT_YUVJ420P
-- : PIX_FMT_YUV420P;
-+ ? AV_PIX_FMT_YUVJ420P
-+ : AV_PIX_FMT_YUV420P;
- pd->pre_encode_video = pre_encode_video_rgb24;
- break;
- default:
-@@ -1390,7 +1390,7 @@ static int tc_lavc_configure(TCModuleIns
- /* FIXME: move into core? */
- TC_INIT_LIBAVCODEC;
-
-- avcodec_get_frame_defaults(&pd->ff_venc_frame);
-+ av_frame_unref(&pd->ff_venc_frame);
- /*
- * auxiliary config data needs to be blanked too
- * before any other operation
-@@ -1523,6 +1523,8 @@ static int tc_lavc_encode_video(TCModule
- vframe_list_t *outframe)
- {
- TCLavcPrivateData *pd = NULL;
-+ AVPacket pkt;
-+ int ret, got_packet = 0;
-
- TC_MODULE_SELF_CHECK(self, "encode_video");
-
-@@ -1537,12 +1539,15 @@ static int tc_lavc_encode_video(TCModule
-
- pd->pre_encode_video(pd, inframe);
-
-+ av_init_packet(&pkt);
-+ pkt.data = outframe->video_buf;
-+ pkt.size = inframe->video_size;
-+
- TC_LOCK_LIBAVCODEC;
-- outframe->video_len = avcodec_encode_video(&pd->ff_vcontext,
-- outframe->video_buf,
-- inframe->video_size,
-- &pd->ff_venc_frame);
-+ ret = avcodec_encode_video2(&pd->ff_vcontext, &pkt,
-+ &pd->ff_venc_frame, &got_packet);
- TC_UNLOCK_LIBAVCODEC;
-+ outframe->video_len = ret ? ret : pkt.size;
-
- if (outframe->video_len < 0) {
- tc_log_warn(MOD_NAME, "encoder error: size (%i)",
-Index: export/export_ffmpeg.c
-===================================================================
---- export/export_ffmpeg.c.orig
-+++ export/export_ffmpeg.c
-@@ -250,9 +250,9 @@ int opt_default(const char *opt, const c
- for(type=0; type<AVMEDIA_TYPE_NB && ret>= 0; type++){
- /* GLUE: +if */
- if (type == AVMEDIA_TYPE_VIDEO) {
-- const AVOption *o2 = av_find_opt(avcodec_opts[0], opt, NULL, opt_types[type], opt_types[type]);
-- if(o2)
-- ret = av_set_string3(avcodec_opts[type], opt, arg, 1, &o);
-+ o = av_opt_find(avcodec_opts[0], opt, NULL, opt_types[type], opt_types[type]);
-+ if(o)
-+ ret = av_opt_set(avcodec_opts[type], opt, arg, 0);
- /* GLUE: +if */
- }
- }
-@@ -267,7 +267,10 @@ int opt_default(const char *opt, const c
- if(opt[0] == 'a')
- ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_AUDIO], opt+1, arg, 1, &o);
- else */ if(opt[0] == 'v')
-- ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, arg, 1, &o);
-+ {
-+ o = av_opt_find(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, NULL, 0, 0);
-+ ret = av_opt_set(avcodec_opts[AVMEDIA_TYPE_VIDEO], opt+1, arg, 0);
-+ }
- /* GLUE: disabling
- else if(opt[0] == 's')
- ret = av_set_string3(avcodec_opts[AVMEDIA_TYPE_SUBTITLE], opt+1, arg, 1, &o);
-@@ -487,10 +490,10 @@ MOD_init
- }
-
- lavc_venc_context = avcodec_alloc_context3(lavc_venc_codec);
-- lavc_venc_frame = avcodec_alloc_frame();
-+ lavc_venc_frame = av_frame_alloc();
-
-- lavc_convert_frame= avcodec_alloc_frame();
-- size = avpicture_get_size(PIX_FMT_RGB24, vob->ex_v_width, vob->ex_v_height);
-+ lavc_convert_frame= av_frame_alloc();
-+ size = avpicture_get_size(AV_PIX_FMT_RGB24, vob->ex_v_width, vob->ex_v_height);
- enc_buffer = tc_malloc(size);
-
- if (lavc_venc_context == NULL || !enc_buffer || !lavc_convert_frame) {
-@@ -1114,7 +1117,7 @@ MOD_init
- lavc_venc_context->prediction_method = lavc_param_prediction_method;
-
- if(is_huffyuv)
-- lavc_venc_context->pix_fmt = PIX_FMT_YUV422P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUV422P;
- else
- {
- switch(pix_fmt)
-@@ -1123,18 +1126,18 @@ MOD_init
- case CODEC_RGB:
- {
- if(is_mjpeg)
-- lavc_venc_context->pix_fmt = PIX_FMT_YUVJ420P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUVJ420P;
- else
-- lavc_venc_context->pix_fmt = PIX_FMT_YUV420P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUV420P;
- break;
- }
-
- case CODEC_YUV422:
- {
- if(is_mjpeg)
-- lavc_venc_context->pix_fmt = PIX_FMT_YUVJ422P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUVJ422P;
- else
-- lavc_venc_context->pix_fmt = PIX_FMT_YUV422P;
-+ lavc_venc_context->pix_fmt = AV_PIX_FMT_YUV422P;
- break;
- }
-
-@@ -1596,6 +1599,8 @@ MOD_encode
-
- int out_size;
- const char pict_type_char[5]= {'?', 'I', 'P', 'B', 'S'};
-+ AVPacket pkt;
-+ int ret, got_packet = 0;
-
- if (param->flag == TC_VIDEO) {
-
-@@ -1620,7 +1625,7 @@ MOD_encode
- YUV_INIT_PLANES(src, param->buffer, IMG_YUV_DEFAULT,
- lavc_venc_context->width, lavc_venc_context->height);
- avpicture_fill((AVPicture *)lavc_venc_frame, img_buffer,
-- PIX_FMT_YUV422P, lavc_venc_context->width,
-+ AV_PIX_FMT_YUV422P, lavc_venc_context->width,
- lavc_venc_context->height);
- /* FIXME: can't use tcv_convert (see decode_lavc.c) */
- ac_imgconvert(src, IMG_YUV_DEFAULT,
-@@ -1650,7 +1655,7 @@ MOD_encode
- lavc_venc_context->width,
- lavc_venc_context->height);
- avpicture_fill((AVPicture *)lavc_venc_frame, img_buffer,
-- PIX_FMT_YUV420P, lavc_venc_context->width,
-+ AV_PIX_FMT_YUV420P, lavc_venc_context->width,
- lavc_venc_context->height);
- ac_imgconvert(src, IMG_YUV422P,
- lavc_venc_frame->data, IMG_YUV420P,
-@@ -1661,7 +1666,7 @@ MOD_encode
-
- case CODEC_RGB:
- avpicture_fill((AVPicture *)lavc_venc_frame, img_buffer,
-- PIX_FMT_YUV420P, lavc_venc_context->width,
-+ AV_PIX_FMT_YUV420P, lavc_venc_context->width,
- lavc_venc_context->height);
- ac_imgconvert(&param->buffer, IMG_RGB_DEFAULT,
- lavc_venc_frame->data, IMG_YUV420P,
-@@ -1674,13 +1679,17 @@ MOD_encode
- return TC_EXPORT_ERROR;
- }
-
-+ av_init_packet(&pkt);
-+ pkt.data = enc_buffer;
-+ pkt.size = size;
-
- TC_LOCK_LIBAVCODEC;
-- out_size = avcodec_encode_video(lavc_venc_context,
-- enc_buffer, size,
-- lavc_venc_frame);
-+ ret = avcodec_encode_video2(lavc_venc_context, &pkt,
-+ lavc_venc_frame, &got_packet);
- TC_UNLOCK_LIBAVCODEC;
-
-+ out_size = ret ? ret : pkt.size;
-+
- if (out_size < 0) {
- tc_log_warn(MOD_NAME, "encoder error: size (%d)", out_size);
- return TC_EXPORT_ERROR;
-Index: import/decode_lavc.c
-===================================================================
---- import/decode_lavc.c.orig
-+++ import/decode_lavc.c
-@@ -327,8 +327,8 @@ void decode_lavc(decode_t *decode)
-
- // Convert avcodec image to the requested YUV or RGB format
- switch (lavc_dec_context->pix_fmt) {
-- case PIX_FMT_YUVJ420P:
-- case PIX_FMT_YUV420P:
-+ case AV_PIX_FMT_YUVJ420P:
-+ case AV_PIX_FMT_YUV420P:
- // Remove "dead space" at right edge of planes, if any
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
-@@ -352,7 +352,7 @@ void decode_lavc(decode_t *decode)
- pix_fmt==TC_CODEC_YUV420P ? IMG_YUV420P : IMG_RGB_DEFAULT,
- lavc_dec_context->width, lavc_dec_context->height);
- break;
-- case PIX_FMT_YUV411P:
-+ case AV_PIX_FMT_YUV411P:
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
- for (y = 0; y < lavc_dec_context->height; y++) {
-@@ -371,8 +371,8 @@ void decode_lavc(decode_t *decode)
- pix_fmt==TC_CODEC_YUV420P ? IMG_YUV420P : IMG_RGB_DEFAULT,
- lavc_dec_context->width, lavc_dec_context->height);
- break;
-- case PIX_FMT_YUVJ422P:
-- case PIX_FMT_YUV422P:
-+ case AV_PIX_FMT_YUVJ422P:
-+ case AV_PIX_FMT_YUV422P:
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
- for (y = 0; y < lavc_dec_context->height; y++) {
-@@ -391,8 +391,8 @@ void decode_lavc(decode_t *decode)
- pix_fmt==TC_CODEC_YUV420P ? IMG_YUV420P : IMG_RGB_DEFAULT,
- lavc_dec_context->width, lavc_dec_context->height);
- break;
-- case PIX_FMT_YUVJ444P:
-- case PIX_FMT_YUV444P:
-+ case AV_PIX_FMT_YUVJ444P:
-+ case AV_PIX_FMT_YUV444P:
- if (picture.linesize[0] != lavc_dec_context->width) {
- int y;
- for (y = 0; y < lavc_dec_context->height; y++) {
-Index: import/import_ffmpeg.c
-===================================================================
---- import/import_ffmpeg.c.orig
-+++ import/import_ffmpeg.c
-@@ -661,8 +661,8 @@ retry:
-
- // Convert avcodec image to our internal YUV or RGB format
- switch (lavc_dec_context->pix_fmt) {
-- case PIX_FMT_YUVJ420P:
-- case PIX_FMT_YUV420P:
-+ case AV_PIX_FMT_YUVJ420P:
-+ case AV_PIX_FMT_YUV420P:
- src_fmt = IMG_YUV420P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
-@@ -693,7 +693,7 @@ retry:
- }
- break;
-
-- case PIX_FMT_YUV411P:
-+ case AV_PIX_FMT_YUV411P:
- src_fmt = IMG_YUV411P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
-@@ -721,8 +721,8 @@ retry:
- }
- break;
-
-- case PIX_FMT_YUVJ422P:
-- case PIX_FMT_YUV422P:
-+ case AV_PIX_FMT_YUVJ422P:
-+ case AV_PIX_FMT_YUV422P:
- src_fmt = IMG_YUV422P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
-@@ -750,8 +750,8 @@ retry:
- }
- break;
-
-- case PIX_FMT_YUVJ444P:
-- case PIX_FMT_YUV444P:
-+ case AV_PIX_FMT_YUVJ444P:
-+ case AV_PIX_FMT_YUV444P:
- src_fmt = IMG_YUV444P;
- YUV_INIT_PLANES(src_planes, frame, src_fmt,
- lavc_dec_context->width, lavc_dec_context->height);
diff --git a/multimedia/transcode/files/patch-ffmpeg3 b/multimedia/transcode/files/patch-ffmpeg3
deleted file mode 100644
index 366fbffd1954..000000000000
--- a/multimedia/transcode/files/patch-ffmpeg3
+++ /dev/null
@@ -1,213 +0,0 @@
---- export/aud_aux.c.orig 2016-02-16 23:38:40.162690789 +0000
-+++ export/aud_aux.c 2016-02-16 23:40:50.335488439 +0000
-@@ -326,10 +326,10 @@
-
- switch (o_codec) {
- case 0x50:
-- codeid = CODEC_ID_MP2;
-+ codeid = AV_CODEC_ID_MP2;
- break;
- case 0x2000:
-- codeid = CODEC_ID_AC3;
-+ codeid = AV_CODEC_ID_AC3;
- break;
- default:
- tc_warn("cannot init ffmpeg with %x", o_codec);
-@@ -363,7 +363,7 @@
- TC_UNLOCK_LIBAVCODEC;
- if (ret < 0) {
- tc_warn("tc_audio_init_ffmpeg: could not open %s codec !",
-- (codeid == CODEC_ID_MP2) ?"mpa" :"ac3");
-+ (codeid == AV_CODEC_ID_MP2) ?"mpa" :"ac3");
- return(TC_EXPORT_ERROR);
- }
-
---- import/import_ffmpeg.c.orig 2016-02-16 23:52:36.192589648 +0000
-+++ import/import_ffmpeg.c 2016-02-16 23:54:38.728757498 +0000
-@@ -59,51 +59,51 @@
-
- // fourCC to ID mapping taken from MPlayer's codecs.conf
- static struct ffmpeg_codec ffmpeg_codecs[] = {
-- {CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
-+ {AV_CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
- {"MP41", "DIV1", ""}},
-- {CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
-+ {AV_CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
- {"MP42", "DIV2", ""}},
-- {CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
-+ {AV_CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
- {"DIV3", "DIV5", "AP41", "MPG3", "MP43", ""}},
-- {CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
-+ {AV_CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
- {"DIVX", "XVID", "MP4S", "M4S2", "MP4V", "UMP4", "DX50", ""}},
-- {CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
-+ {AV_CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
- {"MJPG", "AVRN", "AVDJ", "JPEG", "MJPA", "JFIF", ""}},
-- {CODEC_ID_MPEG1VIDEO, TC_CODEC_MPG1, "mpeg1video",
-+ {AV_CODEC_ID_MPEG1VIDEO, TC_CODEC_MPG1, "mpeg1video",
- {"MPG1", ""}},
-- {CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
-+ {AV_CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
- {"DVSD", ""}},
-- {CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
-+ {AV_CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
- {"WMV1", ""}},
-- {CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
-+ {AV_CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
- {"WMV2", ""}},
-- {CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
-+ {AV_CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
- {"HFYU", ""}},
-- {CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
-+ {AV_CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
- {"I263", ""}},
-- {CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
-+ {AV_CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
- {"H263", "U263", "VIV1", ""}},
-- {CODEC_ID_H264, TC_CODEC_H264, "h264",
-+ {AV_CODEC_ID_H264, TC_CODEC_H264, "h264",
- {"H264", "h264", "X264", "x264", "avc1", ""}},
-- {CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
-+ {AV_CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
- {"RV10", "RV13", ""}},
-- {CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
-+ {AV_CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
- {"SVQ1", ""}},
-- {CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
-+ {AV_CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
- {"SVQ3", ""}},
-- {CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
-+ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
- {"MPG2", ""}},
-- {CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG, "mpeg2video",
-+ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG, "mpeg2video",
- {"MPG2", ""}},
-- {CODEC_ID_ASV1, TC_CODEC_ASV1, "asv1",
-+ {AV_CODEC_ID_ASV1, TC_CODEC_ASV1, "asv1",
- {"ASV1", ""}},
-- {CODEC_ID_ASV2, TC_CODEC_ASV2, "asv2",
-+ {AV_CODEC_ID_ASV2, TC_CODEC_ASV2, "asv2",
- {"ASV2", ""}},
-- {CODEC_ID_FFV1, TC_CODEC_FFV1, "ffv1",
-+ {AV_CODEC_ID_FFV1, TC_CODEC_FFV1, "ffv1",
- {"FFV1", ""}},
-- {CODEC_ID_RAWVIDEO, TC_CODEC_YUV420P, "raw",
-+ {AV_CODEC_ID_RAWVIDEO, TC_CODEC_YUV420P, "raw",
- {"I420", "IYUV", ""}},
-- {CODEC_ID_RAWVIDEO, TC_CODEC_YUV422P, "raw",
-+ {AV_CODEC_ID_RAWVIDEO, TC_CODEC_YUV422P, "raw",
- {"Y42B", ""}},
- {0, TC_CODEC_UNKNOWN, NULL, {""}}};
-
-@@ -324,13 +324,13 @@
- // XXX: some codecs need extra data
- switch (codec->id)
- {
-- case CODEC_ID_MJPEG: extra_data_size = 28; break;
-- case CODEC_ID_LJPEG: extra_data_size = 28; break;
-- case CODEC_ID_HUFFYUV: extra_data_size = 1000; break;
-- case CODEC_ID_ASV1: extra_data_size = 8; break;
-- case CODEC_ID_ASV2: extra_data_size = 8; break;
-- case CODEC_ID_WMV1: extra_data_size = 4; break;
-- case CODEC_ID_WMV2: extra_data_size = 4; break;
-+ case AV_CODEC_ID_MJPEG: extra_data_size = 28; break;
-+ case AV_CODEC_ID_LJPEG: extra_data_size = 28; break;
-+ case AV_CODEC_ID_HUFFYUV: extra_data_size = 1000; break;
-+ case AV_CODEC_ID_ASV1: extra_data_size = 8; break;
-+ case AV_CODEC_ID_ASV2: extra_data_size = 8; break;
-+ case AV_CODEC_ID_WMV1: extra_data_size = 4; break;
-+ case AV_CODEC_ID_WMV2: extra_data_size = 4; break;
- default: extra_data_size = 0; break;
- }
-
-@@ -360,7 +360,7 @@
- frame_size = x_dim*y_dim + 2*UV_PLANE_SIZE(IMG_YUV_DEFAULT,x_dim,y_dim);
-
- // we adapt the color space
-- if(codec->id == CODEC_ID_MJPEG) {
-+ if(codec->id == AV_CODEC_ID_MJPEG) {
- enable_levels_filter();
- }
- break;
-@@ -434,7 +434,7 @@
- }
-
- // we adapt the color space
-- if(codec->id == CODEC_ID_MJPEG) {
-+ if(codec->id == AV_CODEC_ID_MJPEG) {
- enable_levels_filter();
- }
-
-@@ -504,13 +504,13 @@
- int bkey = 0;
-
- // check for keyframes
-- if (codec->id == CODEC_ID_MSMPEG4V3) {
-+ if (codec->id == AV_CODEC_ID_MSMPEG4V3) {
- if (divx3_is_key(buffer)) bkey = 1;
- }
-- else if (codec->id == CODEC_ID_MPEG4) {
-+ else if (codec->id == AV_CODEC_ID_MPEG4) {
- if (mpeg4_is_key(buffer, bytes_read)) bkey = 1;
- }
-- else if (codec->id == CODEC_ID_MJPEG) {
-+ else if (codec->id == AV_CODEC_ID_MJPEG) {
- bkey = 1;
- }
-
---- import/decode_lavc.c.orig 2016-02-16 23:56:35.488282034 +0000
-+++ import/decode_lavc.c 2016-02-16 23:56:55.201535074 +0000
-@@ -58,37 +58,37 @@
-
- // fourCC to ID mapping taken from MPlayer's codecs.conf
- static struct ffmpeg_codec ffmpeg_codecs[] = {
-- {CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
-+ {AV_CODEC_ID_MSMPEG4V1, TC_CODEC_ERROR, "mp41",
- {"MP41", "DIV1", ""}},
-- {CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
-+ {AV_CODEC_ID_MSMPEG4V2, TC_CODEC_MP42, "mp42",
- {"MP42", "DIV2", ""}},
-- {CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
-+ {AV_CODEC_ID_MSMPEG4V3, TC_CODEC_DIVX3, "msmpeg4",
- {"DIV3", "DIV5", "AP41", "MPG3", "MP43", ""}},
-- {CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
-+ {AV_CODEC_ID_MPEG4, TC_CODEC_DIVX4, "mpeg4",
- {"DIVX", "XVID", "MP4S", "M4S2", "MP4V", "UMP4", "DX50", ""}},
-- {CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
-+ {AV_CODEC_ID_MJPEG, TC_CODEC_MJPEG, "mjpeg",
- {"MJPG", "AVRN", "AVDJ", "JPEG", "MJPA", "JFIF", ""}},
-- {CODEC_ID_MPEG1VIDEO, TC_CODEC_MPEG1VIDEO, "mpeg1video",
-+ {AV_CODEC_ID_MPEG1VIDEO, TC_CODEC_MPEG1VIDEO, "mpeg1video",
- {"MPG1", ""}},
-- {CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
-+ {AV_CODEC_ID_DVVIDEO, TC_CODEC_DV, "dvvideo",
- {"DVSD", ""}},
-- {CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
-+ {AV_CODEC_ID_WMV1, TC_CODEC_WMV1, "wmv1",
- {"WMV1", ""}},
-- {CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
-+ {AV_CODEC_ID_WMV2, TC_CODEC_WMV2, "wmv2",
- {"WMV2", ""}},
-- {CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
-+ {AV_CODEC_ID_HUFFYUV, TC_CODEC_HUFFYUV, "hfyu",
- {"HFYU", ""}},
-- {CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
-+ {AV_CODEC_ID_H263I, TC_CODEC_H263I, "h263i",
- {"I263", ""}},
-- {CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
-+ {AV_CODEC_ID_H263P, TC_CODEC_H263P, "h263p",
- {"H263", "U263", "VIV1", ""}},
-- {CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
-+ {AV_CODEC_ID_RV10, TC_CODEC_RV10, "rv10",
- {"RV10", "RV13", ""}},
-- {CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
-+ {AV_CODEC_ID_SVQ1, TC_CODEC_SVQ1, "svq1",
- {"SVQ1", ""}},
-- {CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
-+ {AV_CODEC_ID_SVQ3, TC_CODEC_SVQ3, "svq3",
- {"SVQ3", ""}},
-- {CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
-+ {AV_CODEC_ID_MPEG2VIDEO, TC_CODEC_MPEG2, "mpeg2video",
- {"MPG2", ""}},
- {0, TC_CODEC_UNKNOWN, NULL, {""}}};
-
diff --git a/multimedia/transcode/files/patch-ffmpeg4 b/multimedia/transcode/files/patch-ffmpeg4
deleted file mode 100644
index c3ccbf258c1f..000000000000
--- a/multimedia/transcode/files/patch-ffmpeg4
+++ /dev/null
@@ -1,502 +0,0 @@
-https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/transcode/files/ffmpeg4.patch?id=ac771a5dab7c
-
---- encode/encode_lavc.c
-+++ encode/encode_lavc.c
-@@ -77,6 +77,13 @@ struct tclavcconfigdata_ {
- int luma_elim_threshold;
- int chroma_elim_threshold;
- int quantizer_noise_shaping;
-+ int inter_quant_bias;
-+ int intra_quant_bias;
-+ int scenechange_factor;
-+ int rc_strategy;
-+ float rc_initial_cplx;
-+ float rc_qsquish;
-+ float border_masking;
-
- /* same as above for flags */
- struct {
-@@ -684,7 +691,7 @@ static int tc_lavc_init_multipass(TCLavc
- switch (vob->divxmultipass) {
- case 1:
- CAN_DO_MULTIPASS(multipass_flag);
-- pd->ff_vcontext.flags |= CODEC_FLAG_PASS1;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_PASS1;
- pd->stats_file = fopen(vob->divxlogfile, "w");
- if (pd->stats_file == NULL) {
- tc_log_error(MOD_NAME, "could not create 2pass log file"
-@@ -694,7 +701,7 @@ static int tc_lavc_init_multipass(TCLavc
- break;
- case 2:
- CAN_DO_MULTIPASS(multipass_flag);
-- pd->ff_vcontext.flags |= CODEC_FLAG_PASS2;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_PASS2;
- pd->stats_file = fopen(vob->divxlogfile, "r");
- if (pd->stats_file == NULL){
- tc_log_error(MOD_NAME, "could not open 2pass log file \"%s\""
-@@ -723,7 +730,7 @@ static int tc_lavc_init_multipass(TCLavc
- break;
- case 3:
- /* fixed qscale :p */
-- pd->ff_vcontext.flags |= CODEC_FLAG_QSCALE;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_QSCALE;
- pd->ff_venc_frame.quality = vob->divxbitrate;
- break;
- }
-@@ -970,7 +977,7 @@ static void tc_lavc_config_defaults(TCLa
- pd->confdata.rc_buffer_size = 0;
- pd->confdata.lmin = 2;
- pd->confdata.lmax = 31;
-- pd->confdata.me_method = ME_EPZS;
-+ pd->confdata.me_method = 0;
-
- memset(&pd->confdata.flags, 0, sizeof(pd->confdata.flags));
- pd->confdata.turbo_setup = 0;
-@@ -983,12 +990,12 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.me_range = 0;
- pd->ff_vcontext.mb_decision = 0;
- pd->ff_vcontext.scenechange_threshold = 0;
-- pd->ff_vcontext.scenechange_factor = 1;
-+ pd->confdata.scenechange_factor = 1;
- pd->ff_vcontext.b_frame_strategy = 0;
- pd->ff_vcontext.b_sensitivity = 40;
- pd->ff_vcontext.brd_scale = 0;
- pd->ff_vcontext.bidir_refine = 0;
-- pd->ff_vcontext.rc_strategy = 2;
-+ pd->confdata.rc_strategy = 2;
- pd->ff_vcontext.b_quant_factor = 1.25;
- pd->ff_vcontext.i_quant_factor = 0.8;
- pd->ff_vcontext.b_quant_offset = 1.25;
-@@ -996,8 +1003,8 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.qblur = 0.5;
- pd->ff_vcontext.qcompress = 0.5;
- pd->ff_vcontext.mpeg_quant = 0;
-- pd->ff_vcontext.rc_initial_cplx = 0.0;
-- pd->ff_vcontext.rc_qsquish = 1.0;
-+ pd->confdata.rc_initial_cplx = 0.0;
-+ pd->confdata.rc_qsquish = 1.0;
- pd->confdata.luma_elim_threshold = 0;
- pd->confdata.chroma_elim_threshold = 0;
- pd->ff_vcontext.strict_std_compliance = 0;
-@@ -1008,7 +1015,7 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.temporal_cplx_masking = 0.0;
- pd->ff_vcontext.spatial_cplx_masking = 0.0;
- pd->ff_vcontext.p_masking = 0.0;
-- pd->ff_vcontext.border_masking = 0.0;
-+ pd->confdata.border_masking = 0.0;
- pd->ff_vcontext.me_pre_cmp = 0;
- pd->ff_vcontext.me_cmp = 0;
- pd->ff_vcontext.me_sub_cmp = 0;
-@@ -1020,8 +1027,6 @@ static void tc_lavc_config_defaults(TCLa
- pd->ff_vcontext.pre_me = 1;
- pd->ff_vcontext.me_subpel_quality = 8;
- pd->ff_vcontext.refs = 1;
-- pd->ff_vcontext.intra_quant_bias = FF_DEFAULT_QUANT_BIAS;
-- pd->ff_vcontext.inter_quant_bias = FF_DEFAULT_QUANT_BIAS;
- pd->ff_vcontext.noise_reduction = 0;
- pd->confdata.quantizer_noise_shaping = 0;
- pd->ff_vcontext.flags = 0;
-@@ -1044,19 +1049,19 @@ static void tc_lavc_config_defaults(TCLa
- */
- static void tc_lavc_dispatch_settings(TCLavcPrivateData *pd)
- {
-+ char buf[1024];
- /* some translation... */
- pd->ff_vcontext.bit_rate_tolerance = pd->confdata.vrate_tolerance * 1000;
- pd->ff_vcontext.rc_min_rate = pd->confdata.rc_min_rate * 1000;
- pd->ff_vcontext.rc_max_rate = pd->confdata.rc_max_rate * 1000;
- pd->ff_vcontext.rc_buffer_size = pd->confdata.rc_buffer_size * 1024;
-- pd->ff_vcontext.lmin = (int)(FF_QP2LAMBDA * pd->confdata.lmin + 0.5);
-- pd->ff_vcontext.lmax = (int)(FF_QP2LAMBDA * pd->confdata.lmax + 0.5);
-- pd->ff_vcontext.me_method = ME_ZERO + pd->confdata.me_method;
-+ snprintf(buf, sizeof(buf), "%i", (int)(FF_QP2LAMBDA * pd->confdata.lmin + 0.5));
-+ av_dict_set(&(pd->ff_opts), "lmin", buf, 0);
-+ snprintf(buf, sizeof(buf), "%i", (int)(FF_QP2LAMBDA * pd->confdata.lmax + 0.5));
-+ av_dict_set(&(pd->ff_opts), "lmax", buf, 0);
-
- pd->ff_vcontext.flags = 0;
-- SET_FLAG(pd, mv0);
- SET_FLAG(pd, qpel);
-- SET_FLAG(pd, naq);
- SET_FLAG(pd, ilme);
- SET_FLAG(pd, ildct);
- SET_FLAG(pd, aic);
-@@ -1077,8 +1082,8 @@ static void tc_lavc_dispatch_settings(TC
- }
- if (pd->interlacing.active) {
- /* enforce interlacing */
-- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_DCT;
-- pd->ff_vcontext.flags |= CODEC_FLAG_INTERLACED_ME;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_INTERLACED_DCT;
-+ pd->ff_vcontext.flags |= AV_CODEC_FLAG_INTERLACED_ME;
- }
- if (pd->confdata.flags.alt) {
- av_dict_set(&(pd->ff_opts), "alternate_scan", "1", 0);
-@@ -1095,15 +1100,31 @@ static void tc_lavc_dispatch_settings(TC
- if (pd->confdata.flags.cbp) {
- av_dict_set(&(pd->ff_opts), "mpv_flags", "+cbp_rd", 0);
- }
-+ if (pd->confdata.flags.mv0) {
-+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+mv0", 0);
-+ }
-+ if (pd->confdata.flags.naq) {
-+ av_dict_set(&(pd->ff_opts), "mpv_flags", "+naq", 0);
-+ }
-
-- char buf[1024];
- #define set_dict_opt(val, opt) \
- snprintf(buf, sizeof(buf), "%i", pd->confdata.val);\
- av_dict_set(&(pd->ff_opts), opt, buf, 0)
-+#define set_dict_float_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%f", pd->confdata.val);\
-+ av_dict_set(&(pd->ff_opts), opt, buf, 0)
-
- set_dict_opt(luma_elim_threshold, "luma_elim_threshold");
- set_dict_opt(chroma_elim_threshold, "chroma_elim_threshold");
- set_dict_opt(quantizer_noise_shaping, "quantizer_noise_shaping");
-+ set_dict_opt(inter_quant_bias, "pbias");
-+ set_dict_opt(intra_quant_bias, "ibias");
-+ set_dict_opt(me_method, "me_method");
-+ set_dict_opt(scenechange_factor, "sc_factor");
-+ set_dict_opt(rc_strategy, "rc_strategy");
-+ set_dict_float_opt(rc_initial_cplx, "rc_init_cplx");
-+ set_dict_float_opt(rc_qsquish, "qsquish");
-+ set_dict_float_opt(border_masking, "border_mask");
- }
-
- #undef SET_FLAG
-@@ -1159,12 +1180,12 @@ static int tc_lavc_read_config(TCLavcPri
- { "lmin", PAUX(lmin), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
- { "lmax", PAUX(lmax), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.01, 255.0 },
- { "vqdiff", PCTX(max_qdiff), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31 },
-- { "vmax_b_frames", PCTX(max_b_frames), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, FF_MAX_B_FRAMES },
-+ { "vmax_b_frames", PCTX(max_b_frames), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, INT_MAX },
- { "vme", PAUX(me_method), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16, },
- { "me_range", PCTX(me_range), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16000 },
- { "mbd", PCTX(mb_decision), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
- { "sc_threshold", PCTX(scenechange_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000 },
-- { "sc_factor", PCTX(scenechange_factor), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16 },
-+ { "sc_factor", PAUX(scenechange_factor), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16 },
- { "vb_strategy", PCTX(b_frame_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
- { "b_sensitivity", PCTX(b_sensitivity), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 100 },
- { "brd_scale", PCTX(brd_scale), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10 },
-@@ -1175,7 +1196,7 @@ static int tc_lavc_read_config(TCLavcPri
- { "vrc_maxrate", PAUX(rc_max_rate), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 24000000 },
- { "vrc_minrate", PAUX(rc_min_rate), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 24000000 },
- { "vrc_buf_size", PAUX(rc_buffer_size), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 4, 24000000 },
-- { "vrc_strategy", PCTX(rc_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2 },
-+ { "vrc_strategy", PAUX(rc_strategy), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2 },
- { "vb_qfactor", PCTX(b_quant_factor), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0 },
- { "vi_qfactor", PCTX(i_quant_factor), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0 },
- { "vb_qoffset", PCTX(b_quant_offset), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0 },
-@@ -1185,9 +1206,9 @@ static int tc_lavc_read_config(TCLavcPri
- { "mpeg_quant", PCTX(mpeg_quant), TCCONF_TYPE_FLAG, 0, 0, 1 },
- // { "vrc_eq", }, // not yet supported
- { "vrc_override", rc_override_buf, TCCONF_TYPE_STRING, 0, 0, 0 },
-- { "vrc_init_cplx", PCTX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
-+ { "vrc_init_cplx", PAUX(rc_initial_cplx), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 9999999.0 },
- // { "vrc_init_occupancy", }, // not yet supported
-- { "vqsquish", PCTX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
-+ { "vqsquish", PAUX(rc_qsquish), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 99.0 },
- { "vlelim", PAUX(luma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vcelim", PAUX(chroma_elim_threshold), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
- { "vstrict", PCTX(strict_std_compliance), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99 },
-@@ -1199,7 +1220,7 @@ static int tc_lavc_read_config(TCLavcPri
- { "tcplx_mask", PCTX(temporal_cplx_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
- { "scplx_mask", PCTX(spatial_cplx_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
- { "p_mask", PCTX(p_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
-- { "border_mask", PCTX(border_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
-+ { "border_mask", PAUX(border_masking), TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0 },
- { "pred", PCTX(prediction_method), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 4 },
- { "precmp", PCTX(me_pre_cmp), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000 },
- { "cmp", PCTX(me_cmp), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000 },
-@@ -1212,37 +1233,37 @@ static int tc_lavc_read_config(TCLavcPri
- { "pre_me", PCTX(pre_me), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- { "subq", PCTX(me_subpel_quality), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 8 },
- { "refs", PCTX(refs), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 8 },
-- { "ibias", PCTX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
-- { "pbias", PCTX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
-+ { "ibias", PAUX(intra_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
-+ { "pbias", PAUX(inter_quant_bias), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512 },
- { "nr", PCTX(noise_reduction), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
- { "qns", PAUX(quantizer_noise_shaping), TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 3 },
- { "inter_matrix_file", inter_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
- { "intra_matrix_file", intra_matrix_file, TCCONF_TYPE_STRING, 0, 0, 0 },
-
-- { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0 },
-+ { "mv0", PAUX(flags.mv0), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "cbp", PAUX(flags.cbp), TCCONF_TYPE_FLAG, 0, 0, 1 },
-- { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL },
-+ { "qpel", PAUX(flags.qpel), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_QPEL },
- { "alt", PAUX(flags.alt), TCCONF_TYPE_FLAG, 0, 0, 1 },
-- { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME },
-- { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_DCT },
-- { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_NORMALIZE_AQP },
-+ { "ilme", PAUX(flags.ilme), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_ME },
-+ { "ildct", PAUX(flags.ildct), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_DCT },
-+ { "naq", PAUX(flags.naq), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "vdpart", PAUX(flags.vdpart), TCCONF_TYPE_FLAG, 0, 0, 1 },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC },
- #else
-- { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED },
-+ { "aic", PAUX(flags.aic), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_AC_PRED },
- #endif
- { "aiv", PAUX(flags.aiv), TCCONF_TYPE_FLAG, 0, 0, 1 },
- { "umv", PAUX(flags.umv), TCCONF_TYPE_FLAG, 0, 0, 1 },
-- { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR },
-+ { "psnr", PAUX(flags.psnr), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_PSNR },
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- { "trell", PAUX(flags.trell), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT },
- #else
- { "trell", PCTX(trellis), TCCONF_TYPE_FLAG, 0, 0, 1 },
- #endif
-- { "gray", PAUX(flags.gray), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY },
-- { "v4mv", PAUX(flags.v4mv), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_4MV },
-- { "closedgop", PAUX(flags.closedgop), TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CLOSED_GOP },
-+ { "gray", PAUX(flags.gray), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_GRAY },
-+ { "v4mv", PAUX(flags.v4mv), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_4MV },
-+ { "closedgop", PAUX(flags.closedgop), TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_CLOSED_GOP },
-
- // { "turbo", PAUX(turbo_setup), TCCONF_TYPE_FLAG, 0, 0, 1 }, // not yet supported
- /* End of the config file */
---- export/export_ffmpeg.c
-+++ export/export_ffmpeg.c
-@@ -831,14 +831,11 @@ MOD_init
-
- lavc_venc_context->bit_rate = vob->divxbitrate * 1000;
- lavc_venc_context->bit_rate_tolerance = lavc_param_vrate_tolerance * 1000;
-- lavc_venc_context->lmin= (int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5);
-- lavc_venc_context->lmax= (int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5);
- lavc_venc_context->max_qdiff = lavc_param_vqdiff;
- lavc_venc_context->qcompress = lavc_param_vqcompress;
- lavc_venc_context->qblur = lavc_param_vqblur;
- lavc_venc_context->max_b_frames = lavc_param_vmax_b_frames;
- lavc_venc_context->b_quant_factor = lavc_param_vb_qfactor;
-- lavc_venc_context->rc_strategy = lavc_param_vrc_strategy;
- lavc_venc_context->b_frame_strategy = lavc_param_vb_strategy;
- lavc_venc_context->b_quant_offset = lavc_param_vb_qoffset;
-
-@@ -846,8 +843,23 @@ MOD_init
- #define set_dict_opt(val, opt) \
- snprintf(buf, sizeof(buf), "%i", val); \
- av_dict_set(&lavc_venc_opts, opt, buf, 0)
-+#define set_dict_float_opt(val, opt) \
-+ snprintf(buf, sizeof(buf), "%f", val); \
-+ av_dict_set(&lavc_venc_opts, opt, buf, 0)
- set_dict_opt(lavc_param_luma_elim_threshold, "luma_elim_threshold");
- set_dict_opt(lavc_param_chroma_elim_threshold, "chroma_elim_threshold");
-+ set_dict_opt((int)(FF_QP2LAMBDA * lavc_param_lmin + 0.5), "lmin");
-+ set_dict_opt((int)(FF_QP2LAMBDA * lavc_param_lmax + 0.5), "lmax");
-+ set_dict_opt(lavc_param_vrc_strategy, "rc_strategy");
-+ set_dict_float_opt(lavc_param_rc_qsquish, "qsquish");
-+ set_dict_float_opt(lavc_param_rc_qmod_amp, "rc_qmod_amp");
-+ set_dict_opt(lavc_param_rc_qmod_freq, "rc_qmod_freq");
-+ set_dict_opt(lavc_param_rc_eq, "rc_eq");
-+ set_dict_opt(lavc_param_vme, "me_method");
-+ set_dict_opt(lavc_param_ibias, "ibias");
-+ set_dict_opt(lavc_param_pbias, "pbias");
-+ set_dict_float_opt(lavc_param_rc_buffer_aggressivity, "rc_buf_aggressivity");
-+ set_dict_float_opt(lavc_param_rc_initial_cplx, "rc_init_cplx");
- lavc_venc_context->rtp_payload_size = lavc_param_packet_size;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- if (lavc_param_packet_size)
-@@ -856,15 +868,9 @@ MOD_init
- lavc_venc_context->strict_std_compliance= lavc_param_strict;
- lavc_venc_context->i_quant_factor = lavc_param_vi_qfactor;
- lavc_venc_context->i_quant_offset = lavc_param_vi_qoffset;
-- lavc_venc_context->rc_qsquish = lavc_param_rc_qsquish;
-- lavc_venc_context->rc_qmod_amp = lavc_param_rc_qmod_amp;
-- lavc_venc_context->rc_qmod_freq = lavc_param_rc_qmod_freq;
-- lavc_venc_context->rc_eq = lavc_param_rc_eq;
- lavc_venc_context->rc_max_rate = lavc_param_rc_max_rate * 1000;
- lavc_venc_context->rc_min_rate = lavc_param_rc_min_rate * 1000;
- lavc_venc_context->rc_buffer_size = lavc_param_rc_buffer_size * 1024;
-- lavc_venc_context->rc_buffer_aggressivity= lavc_param_rc_buffer_aggressivity;
-- lavc_venc_context->rc_initial_cplx = lavc_param_rc_initial_cplx;
- lavc_venc_context->debug = lavc_param_debug;
- lavc_venc_context->last_predictor_count= lavc_param_last_pred;
- lavc_venc_context->pre_me = lavc_param_pre_me;
-@@ -872,8 +878,6 @@ MOD_init
- lavc_venc_context->pre_dia_size = lavc_param_pre_dia_size;
- lavc_venc_context->me_subpel_quality = lavc_param_me_subpel_quality;
- lavc_venc_context->me_range = lavc_param_me_range;
-- lavc_venc_context->intra_quant_bias = lavc_param_ibias;
-- lavc_venc_context->inter_quant_bias = lavc_param_pbias;
- lavc_venc_context->coder_type = lavc_param_coder;
- lavc_venc_context->context_model = lavc_param_context;
- lavc_venc_context->scenechange_threshold= lavc_param_sc_threshold;
-@@ -1079,6 +1083,8 @@ MOD_init
- lavc_venc_context->flags |= lavc_param_mv0;
- if(lavc_param_qp_rd)
- av_dict_set(&lavc_venc_opts, "mpv_flags", "+qp_rd", 0);
-+ if (lavc_param_normalize_aqp)
-+ av_dict_set(&lavc_venc_opts, "mpv_flags", "+naq", 0);
- lavc_venc_context->flags |= lavc_param_ilme;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_venc_context->flags |= lavc_param_trell;
-@@ -1087,9 +1093,7 @@ MOD_init
- #endif
-
- if (lavc_param_gray)
-- lavc_venc_context->flags |= CODEC_FLAG_GRAY;
-- if (lavc_param_normalize_aqp)
-- lavc_venc_context->flags |= CODEC_FLAG_NORMALIZE_AQP;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_GRAY;
-
- switch(vob->encode_fields) {
- case TC_ENCODE_FIELDS_TOP_FIRST:
-@@ -1107,9 +1111,9 @@ MOD_init
- }
-
- lavc_venc_context->flags |= interlacing_active ?
-- CODEC_FLAG_INTERLACED_DCT : 0;
-+ AV_CODEC_FLAG_INTERLACED_DCT : 0;
- lavc_venc_context->flags |= interlacing_active ?
-- CODEC_FLAG_INTERLACED_ME : 0;
-+ AV_CODEC_FLAG_INTERLACED_ME : 0;
-
- lavc_venc_context->flags |= lavc_param_psnr;
- do_psnr = lavc_param_psnr;
-@@ -1156,7 +1160,7 @@ MOD_init
- "encoding.");
- return TC_EXPORT_ERROR;
- }
-- lavc_venc_context->flags |= CODEC_FLAG_PASS1;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_PASS1;
- stats_file = fopen(vob->divxlogfile, "w");
- if (stats_file == NULL){
- tc_log_warn(MOD_NAME, "Could not create 2pass log file \"%s\".",
-@@ -1170,7 +1174,7 @@ MOD_init
- "encoding.");
- return TC_EXPORT_ERROR;
- }
-- lavc_venc_context->flags |= CODEC_FLAG_PASS2;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_PASS2;
- stats_file= fopen(vob->divxlogfile, "r");
- if (stats_file==NULL){
- tc_log_warn(MOD_NAME, "Could not open 2pass log file \"%s\" for "
-@@ -1201,12 +1205,11 @@ MOD_init
- break;
- case 3:
- /* fixed qscale :p */
-- lavc_venc_context->flags |= CODEC_FLAG_QSCALE;
-+ lavc_venc_context->flags |= AV_CODEC_FLAG_QSCALE;
- lavc_venc_frame->quality = vob->divxbitrate;
- break;
- }
-
-- lavc_venc_context->me_method = ME_ZERO + lavc_param_vme;
-
- /* FIXME: transcode itself contains "broken ffmpeg default settings", thus we need to override them! */
- if (lavc_param_video_preset && strcmp(lavc_param_video_preset, "none")) {
---- export/ffmpeg_cfg.c
-+++ export/ffmpeg_cfg.c
-@@ -93,8 +93,8 @@ int lavc_param_last_pred= 0;
- int lavc_param_pre_me= 1;
- int lavc_param_me_subpel_quality= 8;
- int lavc_param_me_range=0;
--int lavc_param_ibias=FF_DEFAULT_QUANT_BIAS;
--int lavc_param_pbias=FF_DEFAULT_QUANT_BIAS;
-+int lavc_param_ibias=0;
-+int lavc_param_pbias=0;
- int lavc_param_coder=0;
- int lavc_param_context=0;
- char *lavc_param_intra_matrix = NULL;
-@@ -136,7 +136,7 @@ TCConfigEntry lavcopts_conf[]={
- {"vratetol", &lavc_param_vrate_tolerance, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 4, 24000000},
- {"vhq", &lavc_param_mb_decision, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"mbd", &lavc_param_mb_decision, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 9},
-- {"v4mv", &lavc_param_v4mv, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_4MV},
-+ {"v4mv", &lavc_param_v4mv, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_4MV},
- {"vme", &lavc_param_vme, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 5},
- // {"vqscale", &lavc_param_vqscale, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
- // {"vqmin", &lavc_param_vqmin, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 31},
-@@ -147,7 +147,7 @@ TCConfigEntry lavcopts_conf[]={
- {"vqcomp", &lavc_param_vqcompress, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0},
- {"vqblur", &lavc_param_vqblur, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 1.0},
- {"vb_qfactor", &lavc_param_vb_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
-- {"vmax_b_frames", &lavc_param_vmax_b_frames, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, FF_MAX_B_FRAMES},
-+ {"vmax_b_frames", &lavc_param_vmax_b_frames, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, INT_MAX},
- // {"vpass", &lavc_param_vpass, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2},
- {"vrc_strategy", &lavc_param_vrc_strategy, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2},
- {"vb_strategy", &lavc_param_vb_strategy, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 10},
-@@ -158,7 +158,7 @@ TCConfigEntry lavcopts_conf[]={
- {"vstrict", &lavc_param_strict, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -99, 99},
- {"vdpart", &lavc_param_data_partitioning, TCCONF_TYPE_FLAG, 0, 0, 1},
- // {"keyint", &lavc_param_keyint, TCCONF_TYPE_INT, 0, 0, 0},
-- {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GRAY},
-+ {"gray", &lavc_param_gray, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_GRAY},
- {"mpeg_quant", &lavc_param_mpeg_quant, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"vi_qfactor", &lavc_param_vi_qfactor, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, -31.0, 31.0},
- {"vi_qoffset", &lavc_param_vi_qoffset, TCCONF_TYPE_FLOAT, TCCONF_FLAG_RANGE, 0.0, 31.0},
-@@ -184,7 +184,7 @@ TCConfigEntry lavcopts_conf[]={
- {"pred", &lavc_param_prediction_method, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 20},
- {"format", &lavc_param_format, TCCONF_TYPE_STRING, 0, 0, 0},
- {"debug", &lavc_param_debug, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 100000000},
-- {"psnr", &lavc_param_psnr, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_PSNR},
-+ {"psnr", &lavc_param_psnr, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_PSNR},
- {"precmp", &lavc_param_me_pre_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- {"cmp", &lavc_param_me_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- {"subcmp", &lavc_param_me_sub_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
-@@ -192,9 +192,9 @@ TCConfigEntry lavcopts_conf[]={
- {"ildctcmp", &lavc_param_ildct_cmp, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 2000},
- {"predia", &lavc_param_pre_dia_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -2000, 2000},
- {"dia", &lavc_param_dia_size, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -2000, 2000},
-- {"qpel", &lavc_param_qpel, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_QPEL},
-+ {"qpel", &lavc_param_qpel, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_QPEL},
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
-- {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRELLIS_QUANT},
-+ {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_TRELLIS_QUANT},
- #else
- {"trell", &lavc_param_trell, TCCONF_TYPE_FLAG, 0, 0, 1},
- #endif
-@@ -203,9 +203,9 @@ TCConfigEntry lavcopts_conf[]={
- {"subq", &lavc_param_me_subpel_quality, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 8},
- {"me_range", &lavc_param_me_range, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16000},
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
-- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_H263P_AIC},
-+ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_H263P_AIC},
- #else
-- {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_AC_PRED},
-+ {"aic", &lavc_param_aic, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_AC_PRED},
- #endif
- {"umv", &lavc_param_umv, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"ibias", &lavc_param_ibias, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -512, 512},
-@@ -215,20 +215,20 @@ TCConfigEntry lavcopts_conf[]={
- {"intra_matrix", &lavc_param_intra_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
- {"inter_matrix", &lavc_param_inter_matrix, TCCONF_TYPE_STRING, 0, 0, 0},
- {"cbp", &lavc_param_cbp, TCCONF_TYPE_FLAG, 0, 0, 1},
-- {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_MV0},
-+ {"mv0", &lavc_param_mv0, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"nr", &lavc_param_noise_reduction, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000000},
- {"qprd", &lavc_param_qp_rd, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"threads", &lavc_param_threads, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 1, 16},
- {"ss", &lavc_param_ss, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"svcd_sof", &lavc_param_scan_offset, TCCONF_TYPE_FLAG, 0, 0, 1},
- {"alt", &lavc_param_alt, TCCONF_TYPE_FLAG, 0, 0, 1},
-- {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_INTERLACED_ME},
-+ {"ilme", &lavc_param_ilme, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_INTERLACED_ME},
- {"inter_threshold", &lavc_param_inter_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
- {"sc_threshold", &lavc_param_sc_threshold, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1000000, 1000000},
- {"top", &lavc_param_top, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, -1, 1},
-- {"gmc", &lavc_param_gmc, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_GMC},
-- {"trunc", &lavc_param_trunc, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_TRUNCATED},
-- {"closedgop", &lavc_param_closedgop, TCCONF_TYPE_FLAG, 0, 0, CODEC_FLAG_CLOSED_GOP},
-+ {"gmc", &lavc_param_gmc, TCCONF_TYPE_FLAG, 0, 0, 1},
-+ {"trunc", &lavc_param_trunc, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_TRUNCATED},
-+ {"closedgop", &lavc_param_closedgop, TCCONF_TYPE_FLAG, 0, 0, AV_CODEC_FLAG_CLOSED_GOP},
- {"intra_dc_precision", &lavc_param_intra_dc_precision, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 16},
- {"skip_top", &lavc_param_skip_top, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000},
- {"skip_bottom", &lavc_param_skip_bottom, TCCONF_TYPE_INT, TCCONF_FLAG_RANGE, 0, 1000},
---- import/import_ffmpeg.c
-+++ import/import_ffmpeg.c
-@@ -361,7 +361,7 @@ do_avi:
- lavc_dec_context->width = x_dim;
- lavc_dec_context->height = y_dim;
-
-- if (vob->decolor) lavc_dec_context->flags |= CODEC_FLAG_GRAY;
-+ if (vob->decolor) lavc_dec_context->flags |= AV_CODEC_FLAG_GRAY;
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
- lavc_dec_context->error_resilience = 2;
- #else
diff --git a/multimedia/transcode/files/patch-filter_yuvdenoise_motion.c b/multimedia/transcode/files/patch-filter_yuvdenoise_motion.c
deleted file mode 100644
index f618da1fb270..000000000000
--- a/multimedia/transcode/files/patch-filter_yuvdenoise_motion.c
+++ /dev/null
@@ -1,61 +0,0 @@
---- filter/yuvdenoise/motion.c.orig 2016-09-18 16:54:49 UTC
-+++ filter/yuvdenoise/motion.c
-@@ -350,32 +350,32 @@ calc_SAD_half_mmx (uint8_t * ref, uint8_
-
- __asm__ __volatile__
- (
-- " pxor %%mm0 , %%mm0; /* clear mm0 */"
-- " pcmpeqw %%mm6 , %%mm6; /* Build 7f7f7f7f7f7f7f in a register */"
-- " psrlw $9 , %%mm6; /* */"
-- " packuswb %%mm6 , %%mm6; /* */"
-- " ; /* */"
-- " .rept 8 ; /* */"
-- " movq (%%esi), %%mm1; /* 8 Pixels from filtered frame to mm1 */"
-- " movq (%%edi), %%mm2; /* 8 Pixels from filtered frame to mm2 (displaced) */"
-- " movq (%%eax), %%mm3; /* reference to mm3 */"
-- " psrlq $1 , %%mm1; /* average source pixels */"
-- " psrlq $1 , %%mm2; /* shift right by one (divide by two) */"
-- " pand %%mm6 , %%mm1; /* kill downshifted bits */"
-- " pand %%mm6 , %%mm2; /* kill downshifted bits */"
-- " paddusw %%mm2 , %%mm1; /* add up ... */"
--
-- " movq %%mm3 , %%mm4; /* copy reference to mm4 */"
-- " psubusb %%mm1 , %%mm3; /* positive differences between mm2 and mm1 */"
-- " psubusb %%mm4 , %%mm1; /* positive differences between mm1 and mm3 */"
-- " paddusb %%mm3 , %%mm1; /* mm1 now contains abs(mm1-mm2) */"
-- " paddusw %%mm1 , %%mm0; /* add result to mm0 */"
-- " addl %%ecx , %%esi; /* add framewidth to frameaddress */"
-- " addl %%ecx , %%edi; /* add framewidth to frameaddress */"
-- " addl %%ecx , %%ecx; /* add framewidth to frameaddress */"
-- " .endr ; /* */"
-- " /* */"
-- " movq %%mm0 , %0 ; /* make mm0 available to gcc ... */"
-+ " pxor %%mm0 , %%mm0; /* clear mm0 */\n"
-+ " pcmpeqw %%mm6 , %%mm6; /* Build 7f7f7f7f7f7f7f in a register */\n"
-+ " psrlw $9 , %%mm6; /* */\n"
-+ " packuswb %%mm6 , %%mm6; /* */\n"
-+ " ; /* */\n"
-+ " .rept 8 ; /* */\n"
-+ " movq (%%esi), %%mm1; /* 8 Pixels from filtered frame to mm1 */\n"
-+ " movq (%%edi), %%mm2; /* 8 Pixels from filtered frame to mm2 (displaced) */\n"
-+ " movq (%%eax), %%mm3; /* reference to mm3 */\n"
-+ " psrlq $1 , %%mm1; /* average source pixels */\n"
-+ " psrlq $1 , %%mm2; /* shift right by one (divide by two) */\n"
-+ " pand %%mm6 , %%mm1; /* kill downshifted bits */\n"
-+ " pand %%mm6 , %%mm2; /* kill downshifted bits */\n"
-+ " paddusw %%mm2 , %%mm1; /* add up ... */\n"
-+ " /* */\n"
-+ " movq %%mm3 , %%mm4; /* copy reference to mm4 */\n"
-+ " psubusb %%mm1 , %%mm3; /* positive differences between mm2 and mm1 */\n"
-+ " psubusb %%mm4 , %%mm1; /* positive differences between mm1 and mm3 */\n"
-+ " paddusb %%mm3 , %%mm1; /* mm1 now contains abs(mm1-mm2) */\n"
-+ " paddusw %%mm1 , %%mm0; /* add result to mm0 */\n"
-+ " addl %%ecx , %%esi; /* add framewidth to frameaddress */\n"
-+ " addl %%ecx , %%edi; /* add framewidth to frameaddress */\n"
-+ " addl %%ecx , %%ecx; /* add framewidth to frameaddress */\n"
-+ " .endr ; /* */\n"
-+ " /* */\n"
-+ " movq %%mm0 , %0 ; /* make mm0 available to gcc ... */\n"
- :"=g" (a)
- :"S" (frm1),"D" (frm2), "a" (ref), "c" (denoiser.frame.w)
- );
diff --git a/multimedia/transcode/files/patch-import-v4l b/multimedia/transcode/files/patch-import-v4l
deleted file mode 100644
index 7017cc9c1f51..000000000000
--- a/multimedia/transcode/files/patch-import-v4l
+++ /dev/null
@@ -1,30 +0,0 @@
---- import/v4l/import_v4l.c.orig 2011-11-19 11:50:27.000000000 -0500
-+++ import/v4l/import_v4l.c 2013-06-10 14:51:01.000000000 -0400
-@@ -29,7 +29,7 @@
- #include <sys/ioctl.h>
- #include <sys/mman.h>
-
--#include "videodev.h"
-+#include <linux/videodev.h>
-
- #define MOD_NAME "import_v4l.so"
- #define MOD_VERSION "v0.2.0 (2008-10-26)"
---- import/probe_v4l.c.orig 2011-11-19 11:50:27.000000000 -0500
-+++ import/probe_v4l.c 2013-06-10 14:54:28.000000000 -0400
-@@ -31,14 +31,12 @@
-
- #include <sys/ioctl.h>
-
--#include "v4l/videodev.h"
-+#include <linux/videodev.h>
-
- #if defined(HAVE_LINUX_VIDEODEV2_H) && defined(HAVE_STRUCT_V4L2_BUFFER)
- #define _LINUX_TIME_H
--#include <linux/videodev2.h>
--#else
--#include "v4l/videodev2.h"
- #endif
-+#include <linux/videodev2.h>
-
-
- void probe_v4l(info_t *ipipe)
diff --git a/multimedia/transcode/files/patch-import_Makefile.in b/multimedia/transcode/files/patch-import_Makefile.in
deleted file mode 100644
index f85ba6bc9ec8..000000000000
--- a/multimedia/transcode/files/patch-import_Makefile.in
+++ /dev/null
@@ -1,11 +0,0 @@
---- import/Makefile.in.orig 2009-07-18 08:16:35.000000000 -0400
-+++ import/Makefile.in 2009-07-18 11:11:51.000000000 -0400
-@@ -458,7 +458,7 @@
- distclean-recursive maintainer-clean-recursive
- ETAGS = etags
- CTAGS = ctags
--DIST_SUBDIRS = framegen nuv v4l
-+DIST_SUBDIRS = framegen v4l %%NUV%%
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
- A52_CFLAGS = @A52_CFLAGS@
- A52_LIBS = @A52_LIBS@
diff --git a/multimedia/transcode/files/patch-import__probe_ffmpeg.c b/multimedia/transcode/files/patch-import__probe_ffmpeg.c
deleted file mode 100644
index 9cc46c2c68fb..000000000000
--- a/multimedia/transcode/files/patch-import__probe_ffmpeg.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- import/probe_ffmpeg.c.orig 2011-11-19 16:50:27 UTC
-+++ import/probe_ffmpeg.c
-@@ -120,7 +120,7 @@
-
- translate_info(lavf_dmx_context, ipipe->probe_info);
-
-- av_close_input_file(lavf_dmx_context);
-+ avformat_close_input(lavf_dmx_context);
- return;
- }
-
diff --git a/multimedia/transcode/files/patch-import_demux__pass.c b/multimedia/transcode/files/patch-import_demux__pass.c
deleted file mode 100644
index 64dddc370d37..000000000000
--- a/multimedia/transcode/files/patch-import_demux__pass.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- import/demux_pass.c.orig 2011-11-19 16:50:27 UTC
-+++ import/demux_pass.c
-@@ -32,7 +32,7 @@
- #include "packets.h"
-
-
--int gop, gop_pts, gop_cnt;
-+//int gop, gop_pts, gop_cnt;
-
- /* if you listen carefully, then you can hear the desesperate
- * whisper of this code calling for a rewrite. Or for a redesign.
diff --git a/multimedia/transcode/files/patch-import_extract__ac3.c b/multimedia/transcode/files/patch-import_extract__ac3.c
deleted file mode 100644
index a85d18ed3238..000000000000
--- a/multimedia/transcode/files/patch-import_extract__ac3.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- import/extract_ac3.c.orig 2011-11-19 16:50:27 UTC
-+++ import/extract_ac3.c
-@@ -334,7 +334,7 @@ static void pes_ac3_loop (void)
- FILE *fd;
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-+static char audio[MAX_BUF];
-
-
- /* from ac3scan.c */
diff --git a/multimedia/transcode/files/patch-import_extract__mp3.c b/multimedia/transcode/files/patch-import_extract__mp3.c
deleted file mode 100644
index 679b6370d983..000000000000
--- a/multimedia/transcode/files/patch-import_extract__mp3.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- import/extract_mp3.c.orig 2011-11-19 16:50:27 UTC
-+++ import/extract_mp3.c
-@@ -243,7 +243,7 @@ static int mp3scan(int infd, int outfd)
- }
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-+static char audio[MAX_BUF];
-
- /* ------------------------------------------------------------
- *
diff --git a/multimedia/transcode/files/patch-import_extract__pcm.c b/multimedia/transcode/files/patch-import_extract__pcm.c
deleted file mode 100644
index 77b1d62c6ca9..000000000000
--- a/multimedia/transcode/files/patch-import_extract__pcm.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- import/extract_pcm.c.orig 2011-11-19 16:50:27 UTC
-+++ import/extract_pcm.c
-@@ -33,7 +33,7 @@
- #include "tc.h"
-
- #define MAX_BUF 4096
--char audio[MAX_BUF];
-+static char audio[MAX_BUF];
-
- #define BUFFER_SIZE 262144
- static uint8_t buffer[BUFFER_SIZE];
diff --git a/multimedia/transcode/files/patch-libav-10.patch b/multimedia/transcode/files/patch-libav-10.patch
deleted file mode 100644
index 0286f7365dca..000000000000
--- a/multimedia/transcode/files/patch-libav-10.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- filter/filter_resample.c
-+++ filter/filter_resample.c
-@@ -37,6 +37,7 @@
- #include "libtc/optstr.h"
- #include "libtc/tcavcodec.h"
- #include "libtc/tcmodule-plugin.h"
-+#include <libavresample/avresample.h>
-
-
- typedef struct {
-@@ -45,7 +46,7 @@ typedef struct {
-
- int bytes_per_sample;
-
-- ReSampleContext *resample_ctx;
-+ AVAudioResampleContext *resample_ctx;
- } ResamplePrivateData;
-
- static const char resample_help[] = ""
---- import/probe_ffmpeg.c
-+++ import/probe_ffmpeg.c
-@@ -51,8 +51,8 @@ static void translate_info(const AVFormatContext *ctx, ProbeInfo *info)
- info->bitrate = st->codec->bit_rate / 1000;
- info->width = st->codec->width;
- info->height = st->codec->height;
-- if (st->r_frame_rate.num > 0 && st->r_frame_rate.den > 0) {
-- info->fps = av_q2d(st->r_frame_rate);
-+ if (st->avg_frame_rate.num > 0 && st->avg_frame_rate.den > 0) {
-+ info->fps = av_q2d(st->avg_frame_rate);
- } else {
- /* watch out here */
- info->fps = 1.0/av_q2d(st->codec->time_base);
diff --git a/multimedia/transcode/files/patch-libtc-tc_functions.c b/multimedia/transcode/files/patch-libtc-tc_functions.c
deleted file mode 100644
index 0104d1240ecb..000000000000
--- a/multimedia/transcode/files/patch-libtc-tc_functions.c
+++ /dev/null
@@ -1,33 +0,0 @@
---- libtc/tc_functions.c.orig 2008-08-09 17:24:38.000000000 -0400
-+++ libtc/tc_functions.c 2009-02-01 22:13:42.000000000 -0500
-@@ -534,6 +534,15 @@
- /* char device could be several things, depending on system */
- /* *BSD DVD device? v4l? bktr? sunau? */
- if(S_ISCHR(fbuf.st_mode)) {
-+#ifdef __FreeBSD__
-+ if (strstr(name, "bktr") || strstr(name, "tuner") || strstr(name, "wbi"))
-+ return TC_PROBE_PATH_BKTR;
-+ else if (strstr(name, "dsp") || strstr(name, "audio") || strstr(name, "music"))
-+ return TC_PROBE_PATH_OSS;
-+ else
-+ return TC_PROBE_PATH_ABSPATH;
-+#endif
-+
- switch (major(fbuf.st_rdev)) {
- #ifdef OS_BSD
- # ifdef __OpenBSD__
-@@ -544,14 +553,6 @@
- case 49: /* bktr */
- return TC_PROBE_PATH_BKTR;
- # endif
--# ifdef __FreeBSD__
-- case 4: /* acd */
-- return TC_PROBE_PATH_ABSPATH;
-- case 229: /* bktr */
-- return TC_PROBE_PATH_BKTR;
-- case 0: /* OSS */
-- return TC_PROBE_PATH_OSS;
--# endif
- default: /* libdvdread uses "raw" disk devices here */
- return TC_PROBE_PATH_ABSPATH;
- #else
diff --git a/multimedia/transcode/files/patch-livav-9.patch b/multimedia/transcode/files/patch-livav-9.patch
deleted file mode 100644
index 9f2d2351f4f0..000000000000
--- a/multimedia/transcode/files/patch-livav-9.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- ./import/probe_ffmpeg.c.original 2013-04-22 20:04:51.058081388 +0200
-+++ ./import/probe_ffmpeg.c 2013-04-22 20:05:25.744081897 +0200
-@@ -109,7 +109,7 @@ void probe_ffmpeg(info_t *ipipe)
- return;
- }
-
-- ret = av_find_stream_info(lavf_dmx_context);
-+ ret = avformat_find_stream_info(lavf_dmx_context, NULL);
- if (ret < 0) {
- tc_log_error(__FILE__, "unable to fetch informations from '%s'"
- " (libavformat failure)",
---- ./import/decode_lavc.c.original 2013-04-22 20:06:17.260082652 +0200
-+++ ./import/decode_lavc.c 2013-04-22 20:07:47.564083975 +0200
-@@ -170,7 +170,7 @@ void decode_lavc(decode_t *decode)
-
- // Set these to the expected values so that ffmpeg's decoder can
- // properly detect interlaced input.
-- lavc_dec_context = avcodec_alloc_context();
-+ lavc_dec_context = avcodec_alloc_context3(NULL);
- if (lavc_dec_context == NULL) {
- tc_log_error(__FILE__, "Could not allocate enough memory.");
- goto decoder_error;
-@@ -186,7 +186,7 @@ void decode_lavc(decode_t *decode)
- lavc_dec_context->error_concealment = 3;
- lavc_dec_context->workaround_bugs = FF_BUG_AUTODETECT;
-
-- if (avcodec_open(lavc_dec_context, lavc_dec_codec) < 0) {
-+ if (avcodec_open2(lavc_dec_context, lavc_dec_codec, NULL) < 0) {
- tc_log_error(__FILE__, "Could not initialize the '%s' codec.",
- codec->name);
- goto decoder_error;
diff --git a/multimedia/transcode/pkg-descr b/multimedia/transcode/pkg-descr
deleted file mode 100644
index 2fcbbec847da..000000000000
--- a/multimedia/transcode/pkg-descr
+++ /dev/null
@@ -1,21 +0,0 @@
-transcode is a text-console utility for video stream processing,
-running on a platform that supports shared libraries and threads.
-Decoding and encoding is done by loading modules that are responsible
-for feeding transcode with raw video/audio streams (import modules)
-and encoding the frames (export modules).
-
-It supports elementary video and audio frame transformations,
-including de-interlacing or fast resizing of video frames and loading
-of external filters. A number of modules are included to enable
-import of DVDs on-the-fly, MPEG elementary (ES) or program streams
-(VOB), MPEG video, Digital Video (DV), YUV4MPEG streams, NuppelVideo
-file format and raw or compressed (pass-through) video frames and
-export modules for writing DivX;-), OpenDivX, DivX 4.xx or uncompressed
-AVI files with MPEG, AC3 (pass-through) or PCM audio. Additional
-export modules to write single frames (PPM) or YUV4MPEG streams are
-available, as well as an interface import module to the avifile
-library. Its modular concept is intended to provide flexibility
-and easy user extensibility to include other video/audio codecs or
-file types.
-
-WWW: http://www.transcoding.org/
diff --git a/multimedia/transcode/pkg-plist b/multimedia/transcode/pkg-plist
deleted file mode 100644
index 372010adc8ef..000000000000
--- a/multimedia/transcode/pkg-plist
+++ /dev/null
@@ -1,130 +0,0 @@
-bin/avifix
-bin/aviindex
-bin/avimerge
-bin/avisplit
-bin/avisync
-bin/tccat
-bin/tcdecode
-bin/tcdemux
-bin/tcextract
-bin/tcmodinfo
-bin/tcmp3cut
-bin/tcprobe
-bin/tcscan
-bin/tcxmlcheck
-bin/tcxpm2rgb
-bin/tcyait
-bin/transcode
-man/man1/avifix.1.gz
-man/man1/aviindex.1.gz
-man/man1/avimerge.1.gz
-man/man1/avisplit.1.gz
-man/man1/avisync.1.gz
-man/man1/tccat.1.gz
-man/man1/tcdecode.1.gz
-man/man1/tcdemux.1.gz
-man/man1/tcexport.1.gz
-man/man1/tcextract.1.gz
-man/man1/tcmodchain.1.gz
-man/man1/tcmodinfo.1.gz
-man/man1/tcprobe.1.gz
-man/man1/tcpvmexportd.1.gz
-man/man1/tcscan.1.gz
-man/man1/tcxmlcheck.1.gz
-man/man1/transcode.1.gz
-man/man1/transcode_export.1.gz
-man/man1/transcode_filter.1.gz
-man/man1/transcode_import.1.gz
-%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
-%%PORTDOCS%%%%DOCSDIR%%/DV-to-DVD-HOWTO.txt
-%%PORTDOCS%%%%DOCSDIR%%/README.Inverse.Telecine.txt
-%%PORTDOCS%%%%DOCSDIR%%/README.cluster
-%%PORTDOCS%%%%DOCSDIR%%/README.dv
-%%PORTDOCS%%%%DOCSDIR%%/README.filter.modfps
-%%PORTDOCS%%%%DOCSDIR%%/README.rip
-%%PORTDOCS%%%%DOCSDIR%%/README.sync
-%%PORTDOCS%%%%DOCSDIR%%/README.vcd
-%%PORTDOCS%%%%DOCSDIR%%/README.xvid-credits
-%%PORTDOCS%%%%DOCSDIR%%/RELNOTES-0.6.13
-%%PORTDOCS%%%%DOCSDIR%%/RELNOTES-1.1.0
-%%PORTDOCS%%%%DOCSDIR%%/export_ffmpeg.txt
-%%PORTDOCS%%%%DOCSDIR%%/export_mp2.txt
-%%PORTDOCS%%%%DOCSDIR%%/faq
-%%PORTDOCS%%%%DOCSDIR%%/filter-socket.txt
-%%PORTDOCS%%%%DOCSDIR%%/filter_dnr.txt
-%%PORTDOCS%%%%DOCSDIR%%/filter_logo.txt
-%%PORTDOCS%%%%DOCSDIR%%/filter_logoaway.txt
-%%PORTDOCS%%%%DOCSDIR%%/filter_text.txt
-%%PORTDOCS%%%%DOCSDIR%%/filter_yuvdenoise.txt
-%%PORTDOCS%%%%DOCSDIR%%/framerate.txt
-%%PORTDOCS%%%%DOCSDIR%%/html/dv.html
-%%PORTDOCS%%%%DOCSDIR%%/html/dvd.html
-%%PORTDOCS%%%%DOCSDIR%%/html/export_divx.html
-%%PORTDOCS%%%%DOCSDIR%%/html/export_divx4.php
-%%PORTDOCS%%%%DOCSDIR%%/html/export_divx5.php
-%%PORTDOCS%%%%DOCSDIR%%/html/export_fame.php
-%%PORTDOCS%%%%DOCSDIR%%/html/export_ogg.php
-%%PORTDOCS%%%%DOCSDIR%%/html/export_opendivx.php
-%%PORTDOCS%%%%DOCSDIR%%/html/export_xvid.php
-%%PORTDOCS%%%%DOCSDIR%%/html/import_avi.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_dv.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_dvd.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_mp3.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_mpeg2.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_mpeg3.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_null.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_nuv.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_ogg.php
-%%PORTDOCS%%%%DOCSDIR%%/html/import_raw.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_vob.html
-%%PORTDOCS%%%%DOCSDIR%%/html/import_yuv4mpeg.html
-%%PORTDOCS%%%%DOCSDIR%%/html/index.html
-%%PORTDOCS%%%%DOCSDIR%%/html/intro.html
-%%PORTDOCS%%%%DOCSDIR%%/html/mes0-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/mes4-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/mes5-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/mes6-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/mes7-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/misc.html
-%%PORTDOCS%%%%DOCSDIR%%/html/modules.html
-%%PORTDOCS%%%%DOCSDIR%%/html/mpeg.html
-%%PORTDOCS%%%%DOCSDIR%%/html/new.png
-%%PORTDOCS%%%%DOCSDIR%%/html/other.html
-%%PORTDOCS%%%%DOCSDIR%%/html/post.html
-%%PORTDOCS%%%%DOCSDIR%%/html/pre.html
-%%PORTDOCS%%%%DOCSDIR%%/html/smart.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sorry.html
-%%PORTDOCS%%%%DOCSDIR%%/html/sub0-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/sub1-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/sub2-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/sub3-00000.png
-%%PORTDOCS%%%%DOCSDIR%%/html/subtitles.html
-%%PORTDOCS%%%%DOCSDIR%%/html/table.php
-%%PORTDOCS%%%%DOCSDIR%%/html/tc.png
-%%PORTDOCS%%%%DOCSDIR%%/import-xml.txt
-%%PORTDOCS%%%%DOCSDIR%%/import_nvrec.txt
-%%PORTDOCS%%%%DOCSDIR%%/import_v4l2.txt
-%%PORTDOCS%%%%DOCSDIR%%/import_x11.txt
-%%PORTDOCS%%%%DOCSDIR%%/import_yuv.txt
-%%PORTDOCS%%%%DOCSDIR%%/pvm3/export_pvm.txt
-%%PORTDOCS%%%%DOCSDIR%%/pvm3/pvm_10x.cfg
-%%PORTDOCS%%%%DOCSDIR%%/pvm3/pvm_11x.cfg
-%%PORTDOCS%%%%DOCSDIR%%/pvm3/pvm_config.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/OPTIMIZERS
-%%PORTDOCS%%%%DOCSDIR%%/tech/architecture.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/avi_comments.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/clone.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/export-API.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/filter-API.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/filter_template.c
-%%PORTDOCS%%%%DOCSDIR%%/tech/html/index.html
-%%PORTDOCS%%%%DOCSDIR%%/tech/html/tc_basic.css
-%%PORTDOCS%%%%DOCSDIR%%/tech/html/tc_frame_buffer.html
-%%PORTDOCS%%%%DOCSDIR%%/tech/html/tc_input_rotation.html
-%%PORTDOCS%%%%DOCSDIR%%/tech/html/tc_libraries.html
-%%PORTDOCS%%%%DOCSDIR%%/tech/html/tc_logo.png
-%%PORTDOCS%%%%DOCSDIR%%/tech/ibp_support.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/import-API.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/libraries.txt
-%%PORTDOCS%%%%DOCSDIR%%/tech/module-system-API.txt
-%%PORTDOCS%%%%DOCSDIR%%/template.cfg.txt
diff --git a/multimedia/tstools/Makefile b/multimedia/tstools/Makefile
deleted file mode 100644
index 16f8060e444d..000000000000
--- a/multimedia/tstools/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# Created by: J.R. Oldroyd <fbsd@opal.com>
-
-PORTNAME= tstools
-DISTVERSION= 1_11
-CATEGORIES= multimedia
-MASTER_SITES= BERLIOS
-
-MAINTAINER= fbsd@opal.com
-COMMENT= MPEG transport, program, and elementary stream tools
-
-LICENSE= MPL11
-
-DEPRECATED= Obsolete, please consider using multimedia/ffmpeg
-EXPIRATION_DATE=2022-06-30
-
-MAKE_JOBS_UNSAFE= yes
-
-USES= gmake tar:tgz
-MAKE_ARGS= CC="${CC}" CFLAGS="${CFLAGS}"
-
-WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
-
-PORTDOCS= *
-
-OPTIONS_DEFINE= DOCS
-
-do-install:
- ${INSTALL_PROGRAM} ${WRKSRC}/bin/* ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_DATA} ${WRKSRC}/lib/*.a ${STAGEDIR}${PREFIX}/lib
-
-do-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/docs/* ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/tstools/distinfo b/multimedia/tstools/distinfo
deleted file mode 100644
index ddf877ec24b1..000000000000
--- a/multimedia/tstools/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (tstools-1_11.tgz) = 4e207ad7298ec421c6710e3024147b486320d792cec2dbd34efb7e6d9e96230a
-SIZE (tstools-1_11.tgz) = 392616
diff --git a/multimedia/tstools/pkg-descr b/multimedia/tstools/pkg-descr
deleted file mode 100644
index cdf4d519a4cf..000000000000
--- a/multimedia/tstools/pkg-descr
+++ /dev/null
@@ -1,23 +0,0 @@
-MPEG TS/PS/ES Transport, Program and Elementary Stream tools
-
-This is a set of cross-platform command line tools for working with
-MPEG data. The emphasis is on relatively simple tools which
-concentrate on MPEG (H.264 and H.262) data packaged according to
-H.222 (i.e., TS or PS), with a particular interest in checking for
-conformance. Transport Stream (TS) is typically used for distribution
-of cable and satellite data. Program Stream (PS) is typically used
-to store data on DVDs.
-
-The tools are focussed on:
-
- * Quick reporting of useful data (tsinfo, stream_type)
- * Giving a quick overview of the entities in the stream
- (esdots, psdots)
- * Reporting on TS packets (tsreport) or ES units/frames/
- fields (esreport)
- * Simple manipulation of stream data (es2ts, esfilter,
- esreverse, esmerge, ts2es)
- * Streaming of data, possibly with introduced errors
- (tsplay)
-
-WWW: http://tstools.berlios.de/
diff --git a/multimedia/tstools/pkg-plist b/multimedia/tstools/pkg-plist
deleted file mode 100644
index f2e988a54e70..000000000000
--- a/multimedia/tstools/pkg-plist
+++ /dev/null
@@ -1,19 +0,0 @@
-bin/es2ts
-bin/esdots
-bin/esfilter
-bin/esmerge
-bin/esreport
-bin/esreverse
-bin/m2ts2ts
-bin/pcapreport
-bin/ps2ts
-bin/psdots
-bin/psreport
-bin/stream_type
-bin/ts2es
-bin/ts_packet_insert
-bin/tsinfo
-bin/tsplay
-bin/tsreport
-bin/tsserve
-lib/libtstools.a
diff --git a/multimedia/tvheadend/Makefile b/multimedia/tvheadend/Makefile
index 98af2a01f542..dcc03f613128 100644
--- a/multimedia/tvheadend/Makefile
+++ b/multimedia/tvheadend/Makefile
@@ -1,19 +1,18 @@
-# Created by: Bernhard Froehlich <decke@FreeBSD.org>
-
PORTNAME= tvheadend
PORTVERSION= 4.2.8
DISTVERSIONPREFIX= v
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= multimedia
MAINTAINER= decke@FreeBSD.org
COMMENT= TV streaming server supporting DVB, IPTV, SAT>IP and more
+WWW= https://tvheadend.org/
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE.md
BUILD_DEPENDS= bash:shells/bash \
- cmake:devel/cmake \
+ cmake:devel/cmake-core \
${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
LIB_DEPENDS= libcurl.so:ftp/curl \
liburiparser.so:net/uriparser \
@@ -24,6 +23,7 @@ USES= compiler:c++11-lang gettext gmake pkgconfig python shebangfix ssl
USE_GITHUB= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
MAKE_JOBS_UNSAFE= yes
USE_RC_SUBR= ${PORTNAME}
diff --git a/multimedia/tvheadend/pkg-descr b/multimedia/tvheadend/pkg-descr
index e6bd4ea7cd60..4346a0146a8d 100644
--- a/multimedia/tvheadend/pkg-descr
+++ b/multimedia/tvheadend/pkg-descr
@@ -2,5 +2,3 @@ A TV streaming server and recorder for Linux, FreeBSD and
Android supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, ISDB-T,
IPTV, SAT>IP, HDHomeRune and other formats through the unix
pipe as input sources.
-
-WWW: https://tvheadend.org/
diff --git a/multimedia/tvheadend/pkg-plist b/multimedia/tvheadend/pkg-plist
index b559864ab82d..6c63423de5ad 100644
--- a/multimedia/tvheadend/pkg-plist
+++ b/multimedia/tvheadend/pkg-plist
@@ -1,5 +1,5 @@
bin/tvheadend
-man/man1/tvheadend.1.gz
+share/man/man1/tvheadend.1.gz
%%DATADIR%%/data/conf/descrambler
%%DATADIR%%/data/conf/epggrab/opentv/dict/skyeng
%%DATADIR%%/data/conf/epggrab/opentv/dict/skyit
diff --git a/multimedia/umph/Makefile b/multimedia/umph/Makefile
deleted file mode 100644
index 8d75f3a2705a..000000000000
--- a/multimedia/umph/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# Created by: Toni Gundogdu <legatvs@gmail.com>
-
-PORTNAME= umph
-PORTVERSION= 0.2.5
-PORTREVISION= 1
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/sunpoet
-
-MAINTAINER= sunpoet@FreeBSD.org
-COMMENT= YouTube video playlist parser for cclive and alike tools
-
-LICENSE= GPLv3
-
-DEPRECATED= Last release in 2012 and abandoned upstream, please consider using www/yt-dlp
-EXPIRATION_DATE=2022-06-30
-
-BUILD_DEPENDS= ${RUN_DEPENDS}
-RUN_DEPENDS= p5-Getopt-ArgvFile>=1.11:devel/p5-Getopt-ArgvFile \
- p5-Umph-Prompt>=0:multimedia/p5-Umph-Prompt \
- p5-XML-DOM>=1.44:textproc/p5-XML-DOM
-
-USES= perl5
-USE_PERL5= configure
-
-NO_ARCH= yes
-
-PLIST_FILES= bin/umph \
- ${SITE_MAN1_REL}/umph.1.gz
-
-.include <bsd.port.mk>
diff --git a/multimedia/umph/distinfo b/multimedia/umph/distinfo
deleted file mode 100644
index b2531707f10a..000000000000
--- a/multimedia/umph/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (umph-0.2.5.tar.gz) = c53fc637eff055bc58e8ab7a00285eb1b9d794e40a5633aec513278037cba5e1
-SIZE (umph-0.2.5.tar.gz) = 23687
diff --git a/multimedia/umph/pkg-descr b/multimedia/umph/pkg-descr
deleted file mode 100644
index 2eb0994f7268..000000000000
--- a/multimedia/umph/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-umph is a command line tool for parsing Youtube playlists. It prints
-playlist video links, each separated with a newline, to the standard
-output stream, while everything else gets printed to the standard
-error stream. umph can be run with a simple interactive prompt to
-select the printed video links.
-
-WWW: http://code.google.com/p/umph/
-WWW: http://repo.or.cz/w/umph.git
diff --git a/multimedia/ustreamer/Makefile b/multimedia/ustreamer/Makefile
index 1a68840a465e..2bcfd97a41be 100644
--- a/multimedia/ustreamer/Makefile
+++ b/multimedia/ustreamer/Makefile
@@ -1,10 +1,11 @@
PORTNAME= ustreamer
DISTVERSIONPREFIX= v
-DISTVERSION= 5.4
+DISTVERSION= 6.11
CATEGORIES= multimedia net
MAINTAINER= yuri@FreeBSD.org
COMMENT= Lightweight and fast MJPG-HTTP streamer
+WWW= https://github.com/pikvm/ustreamer
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/ustreamer/distinfo b/multimedia/ustreamer/distinfo
index 3ce7a3efab28..220117322a3f 100644
--- a/multimedia/ustreamer/distinfo
+++ b/multimedia/ustreamer/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1651347425
-SHA256 (pikvm-ustreamer-v5.4_GH0.tar.gz) = ffb2212cb365b13d2b11de002b37c45857ce93d11801da32f91a75a5109a76cd
-SIZE (pikvm-ustreamer-v5.4_GH0.tar.gz) = 130898
+TIMESTAMP = 1712464370
+SHA256 (pikvm-ustreamer-v6.11_GH0.tar.gz) = 80ab01eeaa81c7d8e9c7f62304287d176fd729cb12ca5adb2e181b5a3da79216
+SIZE (pikvm-ustreamer-v6.11_GH0.tar.gz) = 144921
diff --git a/multimedia/ustreamer/files/patch-src_Makefile b/multimedia/ustreamer/files/patch-src_Makefile
new file mode 100644
index 000000000000..e1f857a10a2e
--- /dev/null
+++ b/multimedia/ustreamer/files/patch-src_Makefile
@@ -0,0 +1,15 @@
+--- src/Makefile.orig 2024-03-26 18:23:16 UTC
++++ src/Makefile
+@@ -13,9 +13,9 @@ _CFLAGS = -MD -c -std=c17 -Wall -Wextra -D_GNU_SOURCE
+
+ _CFLAGS = -MD -c -std=c17 -Wall -Wextra -D_GNU_SOURCE $(CFLAGS)
+
+-_USTR_LDFLAGS = $(LDFLAGS) -lm -ljpeg -pthread -lrt -latomic -levent -levent_pthreads
+-_DUMP_LDFLAGS = $(LDFLAGS) -lm -ljpeg -pthread -lrt -latomic
+-_V4P_LDFLAGS = $(LDFLAGS) -lm -ljpeg -pthread -lrt -latomic
++_USTR_LDFLAGS = $(LDFLAGS) -lm -ljpeg -pthread -lrt -levent -levent_pthreads
++_DUMP_LDFLAGS = $(LDFLAGS) -lm -ljpeg -pthread -lrt
++_V4P_LDFLAGS = $(LDFLAGS) -lm -ljpeg -pthread -lrt
+
+ _USTR_SRCS = $(shell ls \
+ libs/*.c \
diff --git a/multimedia/ustreamer/pkg-descr b/multimedia/ustreamer/pkg-descr
index cd9aecc591b7..b05d721f4825 100644
--- a/multimedia/ustreamer/pkg-descr
+++ b/multimedia/ustreamer/pkg-descr
@@ -3,5 +3,3 @@ any V4L2 device to the net. All new browsers have native support of this video
format, as well as most video players such as mplayer, VLC etc. muStreamer is a
part of the Pi-KVM project designed to stream VGA and HDMI screencast hardware
data with the highest resolution and FPS possible.
-
-WWW: https://github.com/pikvm/ustreamer
diff --git a/multimedia/uvg266/Makefile b/multimedia/uvg266/Makefile
new file mode 100644
index 000000000000..786c4ec53a29
--- /dev/null
+++ b/multimedia/uvg266/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= uvg266
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.8.0
+CATEGORIES= multimedia
+
+PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
+PATCHFILES+= e5e32d67f43b.patch:-p1
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= VVC encoder based on Kvazaar
+WWW= https://ultravideo.fi/#encoder_x
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+TEST_DEPENDS= ffmpeg:multimedia/ffmpeg \
+ vvdecapp:multimedia/vvdec
+
+USES= cmake:testing compiler:c11 python:test
+USE_GITHUB= yes
+GH_ACCOUNT= ultravideo
+GH_TUPLE= silentbicycle:greatest:v1.0.0:greatest/greatest
+CMAKE_OFF+= ${CMAKE_TESTING_ON}
+CMAKE_TESTING_ON= BUILD_TESTS
+USE_LDCONFIG= yes
+
+post-patch:
+ @${REINPLACE_CMD} -e 's/DecoderAppStatic/vvdecapp/' \
+ -e 's,\.\./bin,${BUILD_WRKSRC},' \
+ ${WRKSRC}/tests/util.sh
+ @${REINPLACE_CMD} -e 's/python3/${PYTHON_CMD:T}/' \
+ ${WRKSRC}/tests/test_cabac_state.sh
+
+.include <bsd.port.mk>
diff --git a/multimedia/uvg266/distinfo b/multimedia/uvg266/distinfo
new file mode 100644
index 000000000000..7e1aafd1c887
--- /dev/null
+++ b/multimedia/uvg266/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1695797225
+SHA256 (ultravideo-uvg266-v0.8.0_GH0.tar.gz) = 27e4306577fe646951bd3c12685c1527b41385bfcb95262233669fc7f44f21bd
+SIZE (ultravideo-uvg266-v0.8.0_GH0.tar.gz) = 967123
+SHA256 (silentbicycle-greatest-v1.0.0_GH0.tar.gz) = 18ee57a34869c6f6ce511cd71a5cc8661801cf69d64c4c66ff76773835df659b
+SIZE (silentbicycle-greatest-v1.0.0_GH0.tar.gz) = 11959
+SHA256 (e5e32d67f43b.patch) = c391c68aa50ceb46ce630cb3c622e6881ae1f89635ad7906336d59a220cf1c2a
+SIZE (e5e32d67f43b.patch) = 744
diff --git a/multimedia/uvg266/pkg-descr b/multimedia/uvg266/pkg-descr
new file mode 100644
index 000000000000..c64f11594ef1
--- /dev/null
+++ b/multimedia/uvg266/pkg-descr
@@ -0,0 +1,4 @@
+An open-source VVC encoder licensed under 3-clause BSD license.
+
+uvg266 is still under development. Speed and RD-quality will continue
+to improve.
diff --git a/multimedia/uvg266/pkg-plist b/multimedia/uvg266/pkg-plist
new file mode 100644
index 000000000000..25d0bad424c1
--- /dev/null
+++ b/multimedia/uvg266/pkg-plist
@@ -0,0 +1,5 @@
+bin/uvg266
+include/uvg266.h
+lib/libuvg266.so
+libdata/pkgconfig/uvg266.pc
+share/man/man1/uvg266.1.gz
diff --git a/multimedia/uxplay/Makefile b/multimedia/uxplay/Makefile
new file mode 100644
index 000000000000..7bbaeac37be7
--- /dev/null
+++ b/multimedia/uxplay/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= uxplay
+PORTVERSION= 1.68.2
+DISTVERSIONPREFIX= v
+CATEGORIES= multimedia
+
+MAINTAINER= ehaupt@FreeBSD.org
+COMMENT= AirPlay Unix mirroring server
+WWW= https://github.com/FDH2/UxPlay
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libdns_sd.so:net/avahi-libdns \
+ libplist-2.0.so:devel/libplist
+
+USES= cmake gettext-runtime gnome gstreamer pkgconfig ssl xorg
+USE_GITHUB= yes
+GH_ACCOUNT= FDH2
+GH_PROJECT= UxPlay
+USE_GNOME= glib20
+USE_GSTREAMER= core plugins
+USE_XORG= ice sm x11 xext
+
+CMAKE_ARGS= -DNO_MARCH_NATIVE=on
+
+SUB_FILES= pkg-message
+
+PLIST_FILES= bin/uxplay \
+ share/man/man1/uxplay.1.gz
+PORTDOCS= *
+
+OPTIONS_DEFINE= DOCS
+
+.include <bsd.port.mk>
diff --git a/multimedia/uxplay/distinfo b/multimedia/uxplay/distinfo
new file mode 100644
index 000000000000..ce6ba82d84b3
--- /dev/null
+++ b/multimedia/uxplay/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1704699677
+SHA256 (FDH2-UxPlay-v1.68.2_GH0.tar.gz) = 7016d8800b89d3dec2139cc21b779cd61fd49b0d1456311ca3c5182c086ec8ed
+SIZE (FDH2-UxPlay-v1.68.2_GH0.tar.gz) = 437463
diff --git a/multimedia/uxplay/files/pkg-message.in b/multimedia/uxplay/files/pkg-message.in
new file mode 100644
index 000000000000..9741b7ac0e75
--- /dev/null
+++ b/multimedia/uxplay/files/pkg-message.in
@@ -0,0 +1,13 @@
+[
+{ type: install
+ message: <<EOM
+Please make sure you have a Bonjour/zeroconf DNS-SD server running.
+
+For instance add the following configuration in
+%%LOCALBASE%%/etc/avahi/avahi-daemon.conf
+
+[reflector]
+reflect-filters=_airplay._tcp.local,_raop._tcp.local
+EOM
+}
+]
diff --git a/multimedia/uxplay/pkg-descr b/multimedia/uxplay/pkg-descr
new file mode 100644
index 000000000000..32677c9d21d2
--- /dev/null
+++ b/multimedia/uxplay/pkg-descr
@@ -0,0 +1,13 @@
+UxPlay is an AirPlay2 Mirror server. Its main use is to act like an
+AppleTV for screen-mirroring (with audio) of iOS/iPadOS/macOS clients
+(iPhone, iPod Touch, iPad, Mac computers) in a window on the server
+display (with the possibility of sharing that window on screen-sharing
+applications such as Zoom). UxPlay supports Apple's AirPlay2 protocol
+using "Legacy Pairing".
+
+The UxPlay server and its client must be on the same local area network,
+on which a Bonjour/Zeroconf mDNS/DNS-SD server is also running (only
+DNS-SD "Service Discovery" service is strictly necessary, it is not
+necessary that the local network also be of the ".local" mDNS-based
+type). This is usually provided by Avahi, through the avahi-daemon
+service.
diff --git a/multimedia/v4l-utils/Makefile b/multimedia/v4l-utils/Makefile
index d3b68c98c868..954e989d0269 100644
--- a/multimedia/v4l-utils/Makefile
+++ b/multimedia/v4l-utils/Makefile
@@ -1,5 +1,3 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
PORTNAME?= v4l-utils
COMMENT= Video4Linux utilities
diff --git a/multimedia/v4l-utils/pkg-descr b/multimedia/v4l-utils/pkg-descr
index 3fa8e2da9336..d31cb968dcdd 100644
--- a/multimedia/v4l-utils/pkg-descr
+++ b/multimedia/v4l-utils/pkg-descr
@@ -1,5 +1,3 @@
Linux V4L2 and DVB API utilities shipped with the v4l libraries (libv4l).
You can always find the latest development v4l-utils in the git repo:
http://git.linuxtv.org/v4l-utils.git
-
-WWW: https://linuxtv.org/wiki/index.php/V4l-utils
diff --git a/multimedia/v4l-utils/pkg-plist b/multimedia/v4l-utils/pkg-plist
index 6a472a210031..025fa188cafd 100644
--- a/multimedia/v4l-utils/pkg-plist
+++ b/multimedia/v4l-utils/pkg-plist
@@ -16,17 +16,17 @@ bin/dvb-format-convert
bin/dvbv5-daemon
bin/v4l2-compliance
etc/rc_maps.cfg
-man/man1/v4l2-ctl.1.gz
-man/man1/cec-ctl.1.gz
-man/man1/cec-compliance.1.gz
-man/man1/cec-follower.1.gz
-man/man1/dvb-fe-tool.1.gz
-man/man1/dvbv5-zap.1.gz
-man/man1/dvbv5-scan.1.gz
-man/man1/v4l2-compliance.1.gz
-man/man1/ir-ctl.1.gz
-man/man1/ir-keytable.1.gz
-man/man1/dvb-format-convert.1.gz
-man/man5/rc_keymap.5.gz
+share/man/man1/v4l2-ctl.1.gz
+share/man/man1/cec-ctl.1.gz
+share/man/man1/cec-compliance.1.gz
+share/man/man1/cec-follower.1.gz
+share/man/man1/dvb-fe-tool.1.gz
+share/man/man1/dvbv5-zap.1.gz
+share/man/man1/dvbv5-scan.1.gz
+share/man/man1/v4l2-compliance.1.gz
+share/man/man1/ir-ctl.1.gz
+share/man/man1/ir-keytable.1.gz
+share/man/man1/dvb-format-convert.1.gz
+share/man/man5/rc_keymap.5.gz
sbin/v4l2-dbg
@dir etc/rc_keymaps
diff --git a/multimedia/v4l_compat/Makefile b/multimedia/v4l_compat/Makefile
index ad2df216a575..f0dc3814e826 100644
--- a/multimedia/v4l_compat/Makefile
+++ b/multimedia/v4l_compat/Makefile
@@ -1,6 +1,7 @@
PORTNAME= v4l_compat
COMMENT= Video4Linux IOCTL header files
+WWW= https://linuxtv.org
NO_BUILD= yes
NO_ARCH= yes
diff --git a/multimedia/v4l_compat/pkg-descr b/multimedia/v4l_compat/pkg-descr
index 3cd52cb4d9dd..677b13ec6cea 100644
--- a/multimedia/v4l_compat/pkg-descr
+++ b/multimedia/v4l_compat/pkg-descr
@@ -1,3 +1 @@
This port installs the Video4Linux user space API header files.
-
-WWW: https://linuxtv.org
diff --git a/multimedia/vamps/Makefile b/multimedia/vamps/Makefile
index f1fee95d7919..4832d4006708 100644
--- a/multimedia/vamps/Makefile
+++ b/multimedia/vamps/Makefile
@@ -1,5 +1,3 @@
-# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
-
PORTNAME= vamps
PORTVERSION= 0.99.2
PORTREVISION= 10
@@ -8,6 +6,7 @@ MASTER_SITES= SF/${PORTNAME}/Vamps/${PORTVERSION}
MAINTAINER= multimedia@FreeBSD.org
COMMENT= High performance tool to transcode DVD videos to a smaller size
+WWW= https://vamps.sourceforge.net/
LIB_DEPENDS= libdvdread.so:multimedia/libdvdread
diff --git a/multimedia/vamps/pkg-descr b/multimedia/vamps/pkg-descr
index 4d74c814e6da..0808acf7fa80 100644
--- a/multimedia/vamps/pkg-descr
+++ b/multimedia/vamps/pkg-descr
@@ -18,5 +18,3 @@ tool to transcode DVD videos to a smaller size. Vamps does not need
to write temporary data files, which is a major pro. Vamps is very
fast. The downside is, that Vamps is not capable of making DVD
backups on its own.
-
-WWW: http://vamps.sourceforge.net/
diff --git a/multimedia/vapoursynth-l-smash-works/Makefile b/multimedia/vapoursynth-l-smash-works/Makefile
index 3cabd5a3d571..2a49e8fb7e52 100644
--- a/multimedia/vapoursynth-l-smash-works/Makefile
+++ b/multimedia/vapoursynth-l-smash-works/Makefile
@@ -1,60 +1,44 @@
PORTNAME= l-smash-works
-DISTVERSION= 0.0-940 # git rev-list --count HEAD
-DISTVERSIONSUFFIX= -g198cc78
+DISTVERSION= 20230716
+PORTREVISION= 1
CATEGORIES= multimedia
PKGNAMEPREFIX= vapoursynth-
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= L-SMASH source plugin for VapourSynth
+WWW= https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works
LICENSE= ISCL
LICENSE_FILE= ${WRKSRC}/LICENSE
+ONLY_FOR_ARCHS= amd64 powerpc64le
+
BUILD_DEPENDS= ${LOCALBASE}/include/vapoursynth/VSHelper.h:multimedia/vapoursynth
-BUILD_DEPENDS+= ffmpeg>=3.2,1:multimedia/ffmpeg
LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
liblsmash.so:multimedia/l-smash
+USES= meson pkgconfig
USE_GITHUB= yes
-GH_ACCOUNT= VFR-maniac
+GH_ACCOUNT= HomeOfAviSynthPlusEvolution
GH_PROJECT= L-SMASH-Works
+USE_LDFLAGS= yes
-USES= gmake pkgconfig shebangfix
EXCLUDE= VSHelper.h VSScript.h VapourSynth.h
EXTRACT_AFTER_ARGS=${EXCLUDE:S,^,--exclude ,}
+
WRKSRC_SUBDIR= VapourSynth
-SHEBANG_FILES= configure
-bash_CMD= ${SH}
-HAS_CONFIGURE= yes
-CONFIGURE_ENV= LD="${CC}" REV="${PORTVERSION:E}" \
- HASH="${DISTVERSIONSUFFIX:S/^-g//}"
-CONFIGURE_ARGS= --prefix="${PREFIX}" \
- --extra-cflags="${CPPFLAGS} ${CFLAGS}" \
- --extra-ldflags="${LDFLAGS}" \
- --extra-libs="${LIBS}"
-MAKEFILE= GNUmakefile
-MAKE_ARGS= STRIP="${STRIP_CMD}"
-CPPFLAGS+= `pkg-config vapoursynth --cflags`
-USE_LDCONFIG= yes
-DATADIR= ${PREFIX}/lib/vapoursynth
-DOCSDIR= ${PREFIX}/share/doc/${PKGBASE}
-PLIST_FILES= lib/libvslsmashsource.so.${PORTVERSION:E}
-PORTDATA= libvslsmashsource.so
-PORTDOCS= README
-
-OPTIONS_DEFINE= DOCS
+
+PLIST_FILES= lib/vapoursynth/libvslsmashsource.so
+
+CFLAGS_powerpc64le= -DNO_WARN_X86_INTRINSICS
post-patch:
- @${REINPLACE_CMD} -Ee '/CROSS/!s/^(CC|LD|REV|HASH)=.*/: $${&}/' \
- -e 's/pushd/cd/; s/popd/cd -/' \
- -e 's/-Os //; /=.*-fexcess-precision/d' \
- ${WRKSRC}/configure
- @${REINPLACE_CMD} 's/ -msse2 -g0//' ${WRKSRC}/${MAKEFILE}
+ @${REINPLACE_CMD} -e 's|%%DISTVERSION%%|${DISTVERSION}|g' \
+ ${PATCH_WRKSRC}/meson.build
+ @${REINPLACE_CMD} -e 's|LSMASHSource.dll|libvslsmashsource.so|g' \
+ ${PATCH_WRKSRC}/README
post-install:
- ${RLN} ${STAGEDIR}${PREFIX}/lib/libvslsmashsource.so.${PORTVERSION:E} \
- ${STAGEDIR}${DATADIR}/libvslsmashsource.so
- (cd ${WRKSRC} && ${COPYTREE_SHARE} \
- "${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
+ ${INSTALL_MAN} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>
diff --git a/multimedia/vapoursynth-l-smash-works/distinfo b/multimedia/vapoursynth-l-smash-works/distinfo
index be6c05922789..46a53e3a14eb 100644
--- a/multimedia/vapoursynth-l-smash-works/distinfo
+++ b/multimedia/vapoursynth-l-smash-works/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1568560420
-SHA256 (VFR-maniac-L-SMASH-Works-0.0-940-g198cc78_GH0.tar.gz) = 81b64ace0f04822668a9294c1bdfb9dfb60cc649d57bb4031d16a9a85bf3a532
-SIZE (VFR-maniac-L-SMASH-Works-0.0-940-g198cc78_GH0.tar.gz) = 226709
+TIMESTAMP = 1690746766
+SHA256 (HomeOfAviSynthPlusEvolution-L-SMASH-Works-20230716_GH0.tar.gz) = 24cb8648afbe11926a7f95a947e33fe8f8ee17e6ec5f2dd12ec461d0942cc9db
+SIZE (HomeOfAviSynthPlusEvolution-L-SMASH-Works-20230716_GH0.tar.gz) = 317505
diff --git a/multimedia/vapoursynth-l-smash-works/files/patch-meson.build b/multimedia/vapoursynth-l-smash-works/files/patch-meson.build
new file mode 100644
index 000000000000..44976ad332d4
--- /dev/null
+++ b/multimedia/vapoursynth-l-smash-works/files/patch-meson.build
@@ -0,0 +1,23 @@
+--- meson.build.orig 2023-07-15 13:34:47 UTC
++++ meson.build
+@@ -5,7 +5,8 @@ project('L-SMASH-Works', 'c',
+
+ version_h = declare_dependency(
+ sources: vcs_tag(
+- command: ['git', 'describe', '--tags', '--long'],
++ command: ['false'],
++ fallback: '%%DISTVERSION%%',
+ input: 'version.h.in',
+ output: 'version.h'
+ )
+@@ -55,10 +56,6 @@ deps = [
+ dependency('libswscale', version: '>=5.7.0'),
+ version_h
+ ]
+-
+-if host_machine.cpu_family().startswith('x86')
+- add_project_arguments('-mfpmath=sse', '-msse2', language: 'c')
+-endif
+
+ if host_machine.system() == 'windows'
+ add_project_arguments('-D__USE_MINGW_ANSI_STDIO', language: 'c')
diff --git a/multimedia/vapoursynth-l-smash-works/pkg-descr b/multimedia/vapoursynth-l-smash-works/pkg-descr
index aecc83962bba..9fefc6812d58 100644
--- a/multimedia/vapoursynth-l-smash-works/pkg-descr
+++ b/multimedia/vapoursynth-l-smash-works/pkg-descr
@@ -1,3 +1 @@
L-SMASH source plugin for VapourSynth.
-
-WWW: https://github.com/VFR-maniac/L-SMASH-Works/tree/master/VapourSynth
diff --git a/multimedia/vapoursynth-vmaf/Makefile b/multimedia/vapoursynth-vmaf/Makefile
index 6f047a2c6fb5..0daa8ebef95b 100644
--- a/multimedia/vapoursynth-vmaf/Makefile
+++ b/multimedia/vapoursynth-vmaf/Makefile
@@ -1,10 +1,12 @@
PORTNAME= vmaf
DISTVERSION= r7
+PORTREVISION= 3
CATEGORIES= multimedia
PKGNAMEPREFIX= vapoursynth-
-MAINTAINER= jbeich@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Video Multi-Method Assessment Fusion plugin for VapourSynth
+WWW= https://github.com/HomeOfVapourSynthEvolution/VapourSynth-VMAF
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
diff --git a/multimedia/vapoursynth-vmaf/pkg-descr b/multimedia/vapoursynth-vmaf/pkg-descr
index 0948857c0321..d8c875b1a3dc 100644
--- a/multimedia/vapoursynth-vmaf/pkg-descr
+++ b/multimedia/vapoursynth-vmaf/pkg-descr
@@ -1,4 +1,2 @@
VMAF filter for VapourSynth. VMAF is a perceptual video quality
assessment algorithm developed by Netflix.
-
-WWW: https://github.com/HomeOfVapourSynthEvolution/VapourSynth-VMAF
diff --git a/multimedia/vapoursynth/Makefile b/multimedia/vapoursynth/Makefile
index 73b4e0fd45a0..1c98c1d2bc84 100644
--- a/multimedia/vapoursynth/Makefile
+++ b/multimedia/vapoursynth/Makefile
@@ -1,107 +1,53 @@
PORTNAME= vapoursynth
-DISTVERSION= R54
-PORTREVISION= 1
+DISTVERSION= R66
CATEGORIES= multimedia
-MAINTAINER= jbeich@FreeBSD.org
+PATCH_SITES= https://github.com/${PORTNAME}/${PORTNAME}/commit/
+
+MAINTAINER= ports@FreeBSD.org
COMMENT= Video processing framework with simplicity in mind
+WWW= https://www.vapoursynth.com/
LICENSE= LGPL21+
+LICENSE_FILE= ${WRKSRC}/COPYING.LESSER
+
+BUILD_DEPENDS= ${BUILD_DEPENDS_${ARCH}}
+BUILD_DEPENDS_amd64= nasm:devel/nasm
+LIB_DEPENDS= libzimg.so:graphics/sekrit-twc-zimg
+USES= autoreconf compiler:c++17-lang gmake libtool localbase pathfix python pkgconfig
+USE_PYTHON= cython
USE_GITHUB= yes
+USE_LDCONFIG= yes
-USES= autoreconf gmake libtool localbase pathfix pkgconfig
-GNU_CONFIGURE= yes
+BINARY_ALIAS= cython=cython-${PYTHON_VER}
INSTALL_TARGET= install-strip
-USE_LDCONFIG= yes
-DATADIR= ${PREFIX}/lib/vapoursynth
-OPTIONS_DEFINE= DEBUG DOCS FRAME_GUARD
-OPTIONS_DEFAULT=${OPTIONS_GROUP_COMPS} ${OPTIONS_GROUP_PLUGINS}
-OPTIONS_SUB= yes
+GNU_CONFIGURE= yes
-OPTIONS_DEFINE_amd64= SIMD
-OPTIONS_DEFINE_i386= SIMD
-OPTIONS_DEFAULT_amd64= SIMD
+DATADIR= ${PREFIX}/lib/vapoursynth
-OPTIONS_GROUP= COMPS PLUGINS
-COMPS_DESC= Components
-OPTIONS_GROUP_COMPS= CORE PYTHON VSPIPE VSSCRIPT
-PLUGINS_DESC= Plugins
-OPTIONS_GROUP_PLUGINS= ASS EEDI3 IMAGEMAGICK MISCFILTERS MORPHO TESSERACT \
- REMOVEGRAIN VINVERSE VIVTC
+CONFIGURE_ARGS= --disable-static
-# General options
+OPTIONS_DEFINE= DEBUG DOCS FRAME_GUARD
+OPTIONS_SUB= yes
DEBUG_CONFIGURE_ENABLE= debug
-DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
-DOCS_USES= makeinfo
-DOCS_INFO= VapourSynth
+DOCS_BUILD_DEPENDS= sphinx-build:textproc/py-sphinx \
+ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
DOCS_PORTDOCS= *
FRAME_GUARD_DESC= Check integrity after each filter
FRAME_GUARD_CONFIGURE_ENABLE= guard-pattern
-# VSSCRIPT or REMOVEGRAIN
-SIMD_BUILD_DEPENDS= nasm:devel/nasm
-SIMD_CONFIGURE_ENABLE= x86-asm
-
-# COMPS group
-
-CORE_DESC= Core library
-CORE_BUILD_DEPENDS= sekrit-twc-zimg>=2.9.3:graphics/sekrit-twc-zimg
-CORE_LIB_DEPENDS= libzimg.so:graphics/sekrit-twc-zimg
-CORE_USES= compiler:c++11-lib
-CORE_CONFIGURE_ENABLE= core
-
-PYTHON_USES= python:3.3+
-PYTHON_USE= python=cython
-PYTHON_VARS= BINARY_ALIAS=cython=cython-${PYTHON_VER}
-PYTHON_CONFIGURE_ENABLE= python-module
-PYTHON_IMPLIES= CORE
-
-VSPIPE_DESC= Command line interface
-VSPIPE_USES= compiler:c++11-lib
-VSPIPE_CONFIGURE_ENABLE= vspipe
-VSPIPE_IMPLIES= VSSCRIPT
-
-VSSCRIPT_DESC= Scripting library
-VSSCRIPT_USES= compiler:c++11-lib python:3.3+
-VSSCRIPT_CONFIGURE_ENABLE= vsscript
-
-# PLUGINS group
-
-ASS_DESC= Subtitles rendering via libass
-ASS_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
- libass.so:multimedia/libass
-ASS_USES= iconv
-ASS_CONFIGURE_ENABLE= subtext
-
-EEDI3_DESC= Very slow edge directed interpolation
-EEDI3_CONFIGURE_ENABLE= eedi3
-
-IMAGEMAGICK_USES= compiler:c++11-lib magick:7
-IMAGEMAGICK_CONFIGURE_ENABLE= imwri
-
-TESSERACT_DESC= Optical Character Recognition via Tesseract
-TESSERACT_LIB_DEPENDS= libtesseract.so:graphics/tesseract
-TESSERACT_CONFIGURE_ENABLE= ocr
-
-MISCFILTERS_DESC= Miscellaneous filters
-MISCFILTERS_CONFIGURE_ENABLE= miscfilters
-
-MORPHO_DESC= Morphological filter
-MORPHO_CONFIGURE_ENABLE= morpho
-
-REMOVEGRAIN_DESC= 3x3 median and convolution denoising
-REMOVEGRAIN_CONFIGURE_ENABLE= removegrain
-
-VINVERSE_DESC= Remove residual combing
-VINVERSE_CONFIGURE_ENABLE= vinverse
+.include <bsd.port.pre.mk>
-VIVTC_DESC= Field matching, inverse telecine and decimation
-VIVTC_CONFIGURE_ENABLE= vivtc
+.if ${ARCH} == amd64 && defined(MACHINE_CPU) && ${MACHINE_CPU:Mavx2}
+CONFIGURE_ARGS+= --enable-x86-asm
+.else
+CONFIGURE_ARGS+= --disable-x86-asm
+.endif
post-patch:
@${REINPLACE_CMD} -e 's/x86_64/&|amd64/' \
@@ -110,20 +56,10 @@ post-patch:
${WRKSRC}/configure.ac
post-build-DOCS-on:
- @${DO_MAKE_BUILD} html texinfo -C${WRKSRC}/doc
- @${DO_MAKE_BUILD} info -C${WRKSRC}/doc/_build/texinfo
- @if [ -n "${PORT_OPTIONS:MVSPIPE}" ]; then \
- ${DO_MAKE_BUILD} man -C${WRKSRC}/doc; \
- fi
+ @${LOCALBASE}/bin/sphinx-build-${PYTHON_VER} -d ${WRKDIR} ${WRKSRC}/doc ${WRKSRC}/doc/_build/html
post-install-DOCS-on:
- ${INSTALL_DATA} ${WRKSRC}/doc/_build/texinfo/VapourSynth.info \
- ${STAGEDIR}${PREFIX}/${INFO_PATH}
(cd ${WRKSRC}/doc/_build/html && ${COPYTREE_SHARE} \
"${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
- @if [ -n "${PORT_OPTIONS:MVSPIPE}" ]; then \
- ${INSTALL_MAN} -v ${WRKSRC}/doc/_build/man/vspipe.1 \
- ${STAGEDIR}${PREFIX}/share/man/man1; \
- fi
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/multimedia/vapoursynth/distinfo b/multimedia/vapoursynth/distinfo
index 1991a6620798..73efb1dfa599 100644
--- a/multimedia/vapoursynth/distinfo
+++ b/multimedia/vapoursynth/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1626721847
-SHA256 (vapoursynth-vapoursynth-R54_GH0.tar.gz) = ad0c446adcb3877c253dc8c1372a053ad35022bcf42600889b927d2797c5330b
-SIZE (vapoursynth-vapoursynth-R54_GH0.tar.gz) = 631275
+TIMESTAMP = 1710077749
+SHA256 (vapoursynth-vapoursynth-R66_GH0.tar.gz) = e2c82b1f583adbc33dabbe59c0dc65e6aede70dedebe79be94155cb38d418b2c
+SIZE (vapoursynth-vapoursynth-R66_GH0.tar.gz) = 1878159
diff --git a/multimedia/vapoursynth/files/patch-Makefile.am b/multimedia/vapoursynth/files/patch-Makefile.am
new file mode 100644
index 000000000000..aa7a5ce75ba1
--- /dev/null
+++ b/multimedia/vapoursynth/files/patch-Makefile.am
@@ -0,0 +1,9 @@
+--- Makefile.am.orig 2023-07-30 11:59:40 UTC
++++ Makefile.am
+@@ -1,5 +1,5 @@
+ warningflags = -Wall -Wextra -Wno-unused-parameter -Wno-unused-function -Wno-ignored-attributes
+-commoncflags = -O3 -fvisibility=hidden $(warningflags) -I$(srcdir)/include $(DEBUGCFLAGS) $(MFLAGS) $(UNICODECFLAGS) $(STACKREALIGN)
++commoncflags = -fvisibility=hidden $(warningflags) -I$(srcdir)/include $(DEBUGCFLAGS) $(MFLAGS) $(UNICODECFLAGS) $(STACKREALIGN)
+ AM_CXXFLAGS = -std=c++17 $(commoncflags)
+ AM_CFLAGS = -std=c99 $(commoncflags)
+ ACLOCAL_AMFLAGS = -I m4
diff --git a/multimedia/vapoursynth/files/patch-configure.ac b/multimedia/vapoursynth/files/patch-configure.ac
new file mode 100644
index 000000000000..195bf51545e5
--- /dev/null
+++ b/multimedia/vapoursynth/files/patch-configure.ac
@@ -0,0 +1,13 @@
+--- configure.ac.orig 2023-07-30 14:56:15 UTC
++++ configure.ac
+@@ -109,8 +109,8 @@ AS_IF(
+ ]
+ )
+
+- AC_SUBST([MFLAGS], ["-mfpmath=sse -msse2"])
+- AC_SUBST([AVX2FLAGS], ["-mavx2 -mfma -mtune=haswell"])
++ AC_SUBST([MFLAGS], [""])
++ AC_SUBST([AVX2FLAGS], [""])
+ ]
+ )
+
diff --git a/multimedia/vapoursynth/pkg-descr b/multimedia/vapoursynth/pkg-descr
index 4374b22dcb9e..5a0a569d5d9f 100644
--- a/multimedia/vapoursynth/pkg-descr
+++ b/multimedia/vapoursynth/pkg-descr
@@ -16,5 +16,3 @@ made since the late 90s. The main features compared to Avisynth are:
* Support for video with format changes - Some video just can't stick to one
format or frame size. VapourSynth can handle any kind of change
* Compatible with a large number of already existing Avisynth plugins
-
-WWW: http://www.vapoursynth.com/
diff --git a/multimedia/vapoursynth/pkg-plist b/multimedia/vapoursynth/pkg-plist
index 3d751fc645bf..5bf0d94eaca0 100644
--- a/multimedia/vapoursynth/pkg-plist
+++ b/multimedia/vapoursynth/pkg-plist
@@ -1,23 +1,15 @@
-%%VSPIPE%%bin/vspipe
-%%CORE%%include/vapoursynth/VSHelper.h
-%%CORE%%include/vapoursynth/VSScript.h
-%%CORE%%include/vapoursynth/VapourSynth.h
-%%VSSCRIPT%%lib/libvapoursynth-script.a
-%%VSSCRIPT%%lib/libvapoursynth-script.so
-%%VSSCRIPT%%lib/libvapoursynth-script.so.0
-%%VSSCRIPT%%lib/libvapoursynth-script.so.0.0.0
-%%CORE%%lib/libvapoursynth.a
-%%CORE%%lib/libvapoursynth.so
-%%PYTHON%%%%PYTHON_SITELIBDIR%%/vapoursynth.so
-%%VSSCRIPT%%libdata/pkgconfig/vapoursynth-script.pc
-%%CORE%%libdata/pkgconfig/vapoursynth.pc
-%%EEDI3%%%%DATADIR%%/libeedi3.so
-%%IMAGEMAGICK%%%%DATADIR%%/libimwri.so
-%%MISCFILTERS%%%%DATADIR%%/libmiscfilters.so
-%%MORPHO%%%%DATADIR%%/libmorpho.so
-%%TESSERACT%%%%DATADIR%%/libocr.so
-%%REMOVEGRAIN%%%%DATADIR%%/libremovegrain.so
-%%ASS%%%%DATADIR%%/libsubtext.so
-%%VINVERSE%%%%DATADIR%%/libvinverse.so
-%%VIVTC%%%%DATADIR%%/libvivtc.so
-%%DOCS%%%%VSPIPE%%share/man/man1/vspipe.1.gz
+bin/vspipe
+include/vapoursynth/VSConstants4.h
+include/vapoursynth/VSHelper.h
+include/vapoursynth/VSHelper4.h
+include/vapoursynth/VSScript.h
+include/vapoursynth/VSScript4.h
+include/vapoursynth/VapourSynth.h
+include/vapoursynth/VapourSynth4.h
+lib/libvapoursynth-script.so
+lib/libvapoursynth-script.so.0
+lib/libvapoursynth-script.so.0.0.0
+lib/libvapoursynth.so
+%%PYTHON_SITELIBDIR%%/vapoursynth.so
+libdata/pkgconfig/vapoursynth-script.pc
+libdata/pkgconfig/vapoursynth.pc
diff --git a/multimedia/vcdgear/Makefile b/multimedia/vcdgear/Makefile
index acde84b5bcbb..2abd1b2caa0f 100644
--- a/multimedia/vcdgear/Makefile
+++ b/multimedia/vcdgear/Makefile
@@ -1,5 +1,3 @@
-# Created by: Chris Piazza <cpiazza@FreeBSD.org>
-
PORTNAME= vcdgear
PORTVERSION= 1.6d
CATEGORIES= multimedia
@@ -8,6 +6,7 @@ DISTNAME= ${PORTNAME}16d_i386_freebsd42
MAINTAINER= ports@FreeBSD.org
COMMENT= Tool to convert VCDs from cue/bin format to mpeg
+WWW= https://www.vcdgear.com/
ONLY_FOR_ARCHS= amd64 i386
diff --git a/multimedia/vcdgear/pkg-descr b/multimedia/vcdgear/pkg-descr
index 2841317911ac..25c1bd2c7721 100644
--- a/multimedia/vcdgear/pkg-descr
+++ b/multimedia/vcdgear/pkg-descr
@@ -1,3 +1 @@
A tool to convert VCDs from cue/bin format to mpeg
-
-WWW: http://www.vcdgear.com/
diff --git a/multimedia/vcdimager/Makefile b/multimedia/vcdimager/Makefile
index ead29ca13b48..b040342f707b 100644
--- a/multimedia/vcdimager/Makefile
+++ b/multimedia/vcdimager/Makefile
@@ -1,13 +1,12 @@
-# Created by: Harold Gutch <logix@foobar.franken.de>
-
PORTNAME= vcdimager
PORTVERSION= 2.0.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= GNU
MAINTAINER= multimedia@FreeBSD.org
COMMENT= GNU VCDImager/VCDRip -- The GNU VideoCD Image Maker/Ripping Tool
+WWW= https://www.gnu.org/software/vcdimager/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -20,6 +19,7 @@ USES= gmake libtool localbase makeinfo pathfix pkgconfig
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
INSTALL_TARGET= install-strip
TEST_TARGET= check
diff --git a/multimedia/vcdimager/pkg-descr b/multimedia/vcdimager/pkg-descr
index 892991aaa23c..afdd72988069 100644
--- a/multimedia/vcdimager/pkg-descr
+++ b/multimedia/vcdimager/pkg-descr
@@ -15,5 +15,3 @@ Features
- Use of XML for the description of Video CD's
GitHub repo: https://github.com/rocky/vcdimager
-
-WWW: https://www.gnu.org/software/vcdimager/
diff --git a/multimedia/vcdimager/pkg-plist b/multimedia/vcdimager/pkg-plist
index 873bdc6206f1..6b2bbbd3f8a0 100644
--- a/multimedia/vcdimager/pkg-plist
+++ b/multimedia/vcdimager/pkg-plist
@@ -18,10 +18,10 @@ lib/libvcdinfo.so
lib/libvcdinfo.so.0
lib/libvcdinfo.so.0.2.0
libdata/pkgconfig/libvcdinfo.pc
-man/man1/cdxa2mpeg.1.gz
-man/man1/vcd-info.1.gz
-man/man1/vcdimager.1.gz
-man/man1/vcdxbuild.1.gz
-man/man1/vcdxgen.1.gz
-man/man1/vcdxminfo.1.gz
-man/man1/vcdxrip.1.gz
+share/man/man1/cdxa2mpeg.1.gz
+share/man/man1/vcd-info.1.gz
+share/man/man1/vcdimager.1.gz
+share/man/man1/vcdxbuild.1.gz
+share/man/man1/vcdxgen.1.gz
+share/man/man1/vcdxminfo.1.gz
+share/man/man1/vcdxrip.1.gz
diff --git a/multimedia/vdpauinfo/Makefile b/multimedia/vdpauinfo/Makefile
index 1bbaa67b31ec..e2334b51d588 100644
--- a/multimedia/vdpauinfo/Makefile
+++ b/multimedia/vdpauinfo/Makefile
@@ -1,22 +1,22 @@
-# Created by: Anonymous <swell.k@gmail.com>
-
PORTNAME= vdpauinfo
-PORTVERSION= 1.4
+PORTVERSION= 1.5
CATEGORIES= multimedia
MAINTAINER= madpilot@FreeBSD.org
COMMENT= Tool to query VDPAU capabilities
+WWW= https://freedesktop.org/wiki/Software/VDPAU
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libvdpau.so:multimedia/libvdpau
-USES= autoreconf pkgconfig
+USES= autoreconf pkgconfig xorg
+USE_XORG= x11
USE_GITLAB= yes
GL_SITE= https://gitlab.freedesktop.org
GL_ACCOUNT= vdpau
-GL_COMMIT= 3463ab40a89179e6e199575e8bee9c23ee027377
+GL_TAGNAME= d3c5bd63bf8878d59b22d618d2bb5116db392d28
GNU_CONFIGURE= yes
PLIST_FILES= bin/vdpauinfo
diff --git a/multimedia/vdpauinfo/distinfo b/multimedia/vdpauinfo/distinfo
index e95c1e231fd4..b92d0fa7b7bf 100644
--- a/multimedia/vdpauinfo/distinfo
+++ b/multimedia/vdpauinfo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1617891589
-SHA256 (vdpau-vdpauinfo-3463ab40a89179e6e199575e8bee9c23ee027377_GL0.tar.gz) = a43eddfff4b6a5353a6f1bd7ae465723124f0b9e01412dcce0a0ef89782e539a
-SIZE (vdpau-vdpauinfo-3463ab40a89179e6e199575e8bee9c23ee027377_GL0.tar.gz) = 12219
+TIMESTAMP = 1657199677
+SHA256 (vdpau-vdpauinfo-d3c5bd63bf8878d59b22d618d2bb5116db392d28_GL0.tar.gz) = fb35038a8c72e40b99aa7baa62795b69c5827ea6cc0a7bfea0fe3fc7c9768530
+SIZE (vdpau-vdpauinfo-d3c5bd63bf8878d59b22d618d2bb5116db392d28_GL0.tar.gz) = 12247
diff --git a/multimedia/vdpauinfo/pkg-descr b/multimedia/vdpauinfo/pkg-descr
index 4ef383eff84e..4f2595a857ba 100644
--- a/multimedia/vdpauinfo/pkg-descr
+++ b/multimedia/vdpauinfo/pkg-descr
@@ -3,5 +3,3 @@ an interface to video decode acceleration and presentation hardware
present in modern GPUs.
This port provides a tool to query VDPAU capabilities.
-
-WWW: http://freedesktop.org/wiki/Software/VDPAU
diff --git a/multimedia/vdr-plugin-control/Makefile b/multimedia/vdr-plugin-control/Makefile
deleted file mode 100644
index 7f5ebad07c37..000000000000
--- a/multimedia/vdr-plugin-control/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-control
-PORTVERSION= 0.0.2a45
-PORTREVISION= 16
-CATEGORIES= multimedia
-MASTER_SITES= http://ricomp.de/vdr/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION:S/a45/a/}${DISTVERSIONSUFFIX}
-
-PATCH_SITES= http://ppa.launchpad.net/the-vdr-team/unstable-plugins/ubuntu/pool/main/v/vdr-plugin-control/ \
- LOCAL/nox
-PATCHFILES= ${PORTNAME}_${PORTVERSION:S/a45/a-45/}yavdr1.diff.gz
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - telnet control plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION:S/a45/a/}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${RM} ${WRKSRC}/vdr-plugin-${PLUGIN}-${DISTVERSION:S/a45/a/}/debian/patches/90*
- @for i in ${WRKSRC}/vdr-plugin-${PLUGIN}-${DISTVERSION:S/a45/a/}/debian/patches/*.dpatch; do \
- ${PATCH} -d ${WRKSRC} `${SED} -n '/^#PATCHOPTIONS:/{s///;p;q;}' $$i` --forward --quiet <$$i ;\
- done
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-control/distinfo b/multimedia/vdr-plugin-control/distinfo
deleted file mode 100644
index 695a7e9a2675..000000000000
--- a/multimedia/vdr-plugin-control/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (vdr/vdr-control-0.0.2a.tgz) = e32012511cac2f333a59d4da250ca63d222abe574f99eb55c567d9752ef0d565
-SIZE (vdr/vdr-control-0.0.2a.tgz) = 27441
-SHA256 (vdr/vdr-plugin-control_0.0.2a-45yavdr1.diff.gz) = 806c6b29b43988c9fd3b0421e5a3af03517a5088a6a0b2ed622fdf7afa15c7fa
-SIZE (vdr/vdr-plugin-control_0.0.2a-45yavdr1.diff.gz) = 5129
diff --git a/multimedia/vdr-plugin-control/files/patch-Makefile b/multimedia/vdr-plugin-control/files/patch-Makefile
deleted file mode 100644
index e3d3022bf5a5..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -29,6 +29,8 @@ TMPDIR = /tmp
-
- -include $(VDRDIR)/Make.config
-
-+CXXFLAGS += -Wno-error=overloaded-virtual
-+
- ### The version number of VDR (taken from VDR's "config.h"):
-
- VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-@@ -67,6 +67,11 @@ dist: clean
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
-+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+
- ### Implicit rules:
-
- %.o: %.c
diff --git a/multimedia/vdr-plugin-control/files/patch-StringArray.c b/multimedia/vdr-plugin-control/files/patch-StringArray.c
deleted file mode 100644
index 6fd5d56a1e42..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-StringArray.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/StringArray.c
-+++ b/StringArray.c
-@@ -11,7 +11,11 @@
- #endif // _GNU_SOURCE
-
-
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <string.h>
- #include <stdio.h>
-
diff --git a/multimedia/vdr-plugin-control/files/patch-control.c b/multimedia/vdr-plugin-control/files/patch-control.c
deleted file mode 100644
index 386691c91eb2..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-control.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/control.c
-+++ b/control.c
-@@ -69,6 +69,7 @@ cPluginControl::~cPluginControl()
- // Clean up after yourself!
- delete(_pReceivers);
- delete(_pTerminal);
-+ delete(glCtrlState);
- }
-
-
diff --git a/multimedia/vdr-plugin-control/files/patch-stack.c b/multimedia/vdr-plugin-control/files/patch-stack.c
deleted file mode 100644
index 662e56281747..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-stack.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/stack.c
-+++ b/stack.c
-@@ -12,7 +12,11 @@
-
-
-
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <string.h>
- #include <sys/socket.h>
-
diff --git a/multimedia/vdr-plugin-control/files/patch-telnet.c b/multimedia/vdr-plugin-control/files/patch-telnet.c
deleted file mode 100644
index 388224714293..000000000000
--- a/multimedia/vdr-plugin-control/files/patch-telnet.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/telnet.c
-+++ b/telnet.c
-@@ -12,7 +12,11 @@
-
-
-
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <string.h>
- //#include <sys/socket.h>
-
diff --git a/multimedia/vdr-plugin-control/pkg-descr b/multimedia/vdr-plugin-control/pkg-descr
deleted file mode 100644
index 4a68c709b9e1..000000000000
--- a/multimedia/vdr-plugin-control/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Control-plugin
-
-The 'control' plugin brings the ability to VDR to control
-the whole OSD over a telnet client.
-
-To reach this, 'control' listens on a network socket
-(default is port 2002). If a client wants to connect, VDR
-checks if that client is allowed to connect to VDR (see in
-the documentation of VDR about the svdrphosts.conf file for
-more info). If the connection is etablished, 'control'
-sends the curent OSD state to the client. Also all key
-strokes at the client side are redirected to VDR.
-
-WWW: http://ricomp.de/vdr/down_en.html
diff --git a/multimedia/vdr-plugin-control/pkg-plist b/multimedia/vdr-plugin-control/pkg-plist
deleted file mode 100644
index 10b75953d983..000000000000
--- a/multimedia/vdr-plugin-control/pkg-plist
+++ /dev/null
@@ -1 +0,0 @@
-lib/vdr/libvdr-control.so.%%APIVERSION%%
diff --git a/multimedia/vdr-plugin-eepg/Makefile b/multimedia/vdr-plugin-eepg/Makefile
deleted file mode 100644
index f82a8fa206ba..000000000000
--- a/multimedia/vdr-plugin-eepg/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-eepg
-PORTVERSION= 0.0.6p2011071921
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/nox/
-DISTNAME= ${PORTNAME}-${PORTVERSION:C/p.*/pre/}-0-g${GITHASH}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - extended EPG plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-GITHASH= e7383ed
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PORTNAME}-${GITHASH}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/eepg.equiv.IT ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/eepg.equiv.IT ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/eepg.equiv.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-eepg/distinfo b/multimedia/vdr-plugin-eepg/distinfo
deleted file mode 100644
index e6a7710063af..000000000000
--- a/multimedia/vdr-plugin-eepg/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-plugin-eepg-0.0.6pre-0-ge7383ed.tar.gz) = 411da7abf4edee3591086d57cfb33c48c3f71396bc823f61e58612b6ee8ccdca
-SIZE (vdr/vdr-plugin-eepg-0.0.6pre-0-ge7383ed.tar.gz) = 81815
diff --git a/multimedia/vdr-plugin-eepg/files/patch-Makefile b/multimedia/vdr-plugin-eepg/files/patch-Makefile
deleted file mode 100644
index 0dc6a27961c8..000000000000
--- a/multimedia/vdr-plugin-eepg/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -130,3 +130,6 @@ dist: clean
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tar.gz core* *~
- # @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-eepg/files/patch-eepg.c b/multimedia/vdr-plugin-eepg/files/patch-eepg.c
deleted file mode 100644
index c28e8181d203..000000000000
--- a/multimedia/vdr-plugin-eepg/files/patch-eepg.c
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/eepg.c
-+++ b/eepg.c
-@@ -427,7 +427,14 @@ static void load_file (int tableid, char
-
- while (fgets (buf, sizeof (buf), fp) != NULL) {
- from = binary = to = NULL;
-+#ifdef __FreeBSD__
-+ from = MALLOC(char, 256);
-+ binary = MALLOC(char, 1024);
-+ to = MALLOC(char, 256);
-+ int elems = sscanf (buf, "%255[^:]:%1023[^:]:%255[^:]:", from, binary, to);
-+#else
- int elems = sscanf (buf, "%a[^:]:%a[^:]:%a[^:]:", &from, &binary, &to);
-+#endif
- if (elems == 3) {
- int bin_len = strlen (binary);
- int from_char = resolve_char (from);
diff --git a/multimedia/vdr-plugin-eepg/pkg-descr b/multimedia/vdr-plugin-eepg/pkg-descr
deleted file mode 100644
index 7ea14b4aa83d..000000000000
--- a/multimedia/vdr-plugin-eepg/pkg-descr
+++ /dev/null
@@ -1,14 +0,0 @@
-This VDR plugin parses the extended (2 to 10 day) EPG data which is send by
-providers on their portal channels. This EEPG data is transmitted in a
-non-standard format on a non-standard PID.
-
-Currently the following EEPG formats are supported:
-- Mediahighway 1 (CanaalDigitaalNL, CSat, Cyfra+)
-- Mediahighway 2 (Digital+)
-- Sky Italy
-- Sky UK
-- Freesat
-- Premiere
-- NagraGuide (CanaalDigitaalNL, only in test)
-
-WWW: https://projects.vdr-developer.org/projects/plg-eepg
diff --git a/multimedia/vdr-plugin-eepg/pkg-plist b/multimedia/vdr-plugin-eepg/pkg-plist
deleted file mode 100644
index 7adc6e6e4c66..000000000000
--- a/multimedia/vdr-plugin-eepg/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-lib/vdr/libvdr-eepg.so.%%APIVERSION%%
-etc/vdr/plugins/eepg/eepg.equiv.IT
-@sample etc/vdr/plugins/eepg/eepg.equiv.sample
-@dir(%%VDR_USER%%,%%VDR_GROUP%%) etc/vdr/plugins/eepg
diff --git a/multimedia/vdr-plugin-epgsearch/Makefile b/multimedia/vdr-plugin-epgsearch/Makefile
deleted file mode 100644
index 896ee33ff3cf..000000000000
--- a/multimedia/vdr-plugin-epgsearch/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-epgsearch
-PORTVERSION= 1.0.1s20120322
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= http://winni.vdr-developer.org/epgsearch/downloads/beta/:beta \
- LOCAL/nox/:snapshot
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - EPG search plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libpcre.so:devel/pcre \
- libtre.so:textproc/libtre
-
-USES= pkgconfig tar:bzip2
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/vdr-plugin-${PLUGIN}
-MAKE_ARGS= INCLUDES="-I${LOCALBASE}/include -I${LOCALBASE}/include/vdr -I${WRKSRC}"
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${REINPLACE_CMD} -e 's/^#\(HAVE_PCREPOSIX=\)/\1/;' \
- -e 's/^#\(HAVE_LIBTRE=\)/\1/;' \
- ${WRKSRC}/Makefile
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-epgsearch/distinfo b/multimedia/vdr-plugin-epgsearch/distinfo
deleted file mode 100644
index e6ab78088e1c..000000000000
--- a/multimedia/vdr-plugin-epgsearch/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-plugin-epgsearch-1.0.1s20120322.tar.bz2) = 3aeba4e396fcab71a15cb7a6dbd84f359b7770ef8d15aee05f0fffecb69e276e
-SIZE (vdr/vdr-plugin-epgsearch-1.0.1s20120322.tar.bz2) = 355342
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-Makefile b/multimedia/vdr-plugin-epgsearch/files/patch-Makefile
deleted file mode 100644
index b51a60b220c7..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -235,19 +235,35 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(LIBS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN2).so: $(OBJS2)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS2) $(LIBS2) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN3).so: $(OBJS3)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS3) $(LIBS3) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN4).so: $(OBJS4)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS4) $(LIBS4) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- createcats: createcats.o Makefile
- $(CXX) $(CXXFLAGS) $(LDFLAGS) createcats.o -o $@
-@@ -299,3 +315,15 @@ clean:
- @-rm -f $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4) $(DEPFILE) *.so *.tgz core* createcats createcats.o pod2*.tmp
- @-find . \( -name "*~" -o -name "#*#" \) -print0 | xargs -0r rm -f
- @-rm -rf doc html man
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+ifndef WITHOUT_EPGSEARCHONLY
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN2).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN2).so.$(APIVERSION)
-+endif
-+ifndef WITHOUT_CONFLICTCHECKONLY
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN3).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN3).so.$(APIVERSION)
-+endif
-+ifndef WITHOUT_QUICKSEARCH
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN4).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN4).so.$(APIVERSION)
-+endif
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-clang40 b/multimedia/vdr-plugin-epgsearch/files/patch-clang40
deleted file mode 100644
index b9b6ca0ae49a..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-clang40
+++ /dev/null
@@ -1,22 +0,0 @@
---- createcats.c.orig 2012-03-22 18:00:19 UTC
-+++ createcats.c
-@@ -64,7 +64,7 @@ class cReadLine {
-
- char *cReadLine::Read(FILE *f)
- {
-- if (fgets(buffer, sizeof(buffer), f) > 0) {
-+ if (fgets(buffer, sizeof(buffer), f)) {
- int l = strlen(buffer) - 1;
- if (l >= 0 && buffer[l] == '\n')
- buffer[l] = 0;
---- epgsearchext.c.orig 2012-03-22 18:00:19 UTC
-+++ epgsearchext.c
-@@ -1497,7 +1503,7 @@ bool cSearchExts::Load(const char *FileN
- int line = 0;
- char buffer[MAXPARSEBUFFER];
- result = true;
-- while (fgets(buffer, sizeof(buffer), f) > 0) {
-+ while (fgets(buffer, sizeof(buffer), f)) {
- line++;
- char *p = strchr(buffer, '#');
- if (p == buffer) *p = 0;
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-isnumber b/multimedia/vdr-plugin-epgsearch/files/patch-isnumber
deleted file mode 100644
index edc5904c529a..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-isnumber
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/epgsearchext.c
-+++ b/epgsearchext.c
-@@ -39,6 +39,12 @@ The project's page is at http://winni.vd
- #include "blacklist.h"
- #include <math.h>
-
-+#ifdef __FreeBSD__
-+#ifdef isnumber
-+#undef isnumber
-+#endif
-+#endif
-+
- cSearchExts SearchExts;
- cSearchExts SearchTemplates;
-
---- a/epgsearchsvdrp.c
-+++ b/epgsearchsvdrp.c
-@@ -40,6 +40,12 @@ The project's page is at http://winni.vd
- #include "conflictcheck.h"
- #include "menu_main.h"
-
-+#ifdef __FreeBSD__
-+#ifdef isnumber
-+#undef isnumber
-+#endif
-+#endif
-+
- using std::string;
- using std::set;
-
diff --git a/multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c b/multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c
deleted file mode 100644
index 3fc2faf758d3..000000000000
--- a/multimedia/vdr-plugin-epgsearch/files/patch-menu_searchresults.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- menu_searchresults.c.orig
-+++ menu_searchresults.c
-@@ -815,7 +815,11 @@ eOSState cMenuSearchResultsForRecs::Play
- {
- cRecording *recording = GetRecording(ri);
- if (recording) {
-+#if APIVERSNUM < 10728
- cReplayControl::SetRecording(recording->FileName(), recording->Title());
-+#else
-+ cReplayControl::SetRecording(recording->FileName());
-+#endif
- return osReplay;
- }
- }
diff --git a/multimedia/vdr-plugin-epgsearch/pkg-descr b/multimedia/vdr-plugin-epgsearch/pkg-descr
deleted file mode 100644
index 10a269b43538..000000000000
--- a/multimedia/vdr-plugin-epgsearch/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Epgsearch-plugin
-
-EPG-Search can be used as a replacement for VDR's default schedules menu
-entry. It looks like the standard schedules menu, but adds some
-additional functions.
-
-WWW: http://winni.vdr-developer.org/epgsearch/index_eng.html
diff --git a/multimedia/vdr-plugin-epgsearch/pkg-plist b/multimedia/vdr-plugin-epgsearch/pkg-plist
deleted file mode 100644
index dc7073776186..000000000000
--- a/multimedia/vdr-plugin-epgsearch/pkg-plist
+++ /dev/null
@@ -1,27 +0,0 @@
-lib/vdr/libvdr-epgsearch.so.%%APIVERSION%%
-lib/vdr/libvdr-epgsearchonly.so.%%APIVERSION%%
-lib/vdr/libvdr-conflictcheckonly.so.%%APIVERSION%%
-lib/vdr/libvdr-quickepgsearch.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-epgsearch.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-epgsearch.mo
diff --git a/multimedia/vdr-plugin-extrecmenu/Makefile b/multimedia/vdr-plugin-extrecmenu/Makefile
deleted file mode 100644
index 994600f0f03e..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-extrecmenu
-PORTVERSION= 1.2.2
-PORTREVISION= 5
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/936/
-DISTNAME= vdr-${PLUGIN}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - extended recordings menu
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-extrecmenu/distinfo b/multimedia/vdr-plugin-extrecmenu/distinfo
deleted file mode 100644
index 9a8c91f475e6..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-extrecmenu-1.2.2.tgz) = ac920ee4c43497958ca158d2b81490208cd5caf92545ce809adb8a73f71dfe5e
-SIZE (vdr/vdr-extrecmenu-1.2.2.tgz) = 734012
diff --git a/multimedia/vdr-plugin-extrecmenu/files/patch-Makefile b/multimedia/vdr-plugin-extrecmenu/files/patch-Makefile
deleted file mode 100644
index dd117afa657a..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -108,7 +108,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -120,3 +124,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c b/multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c
deleted file mode 100644
index 61c40d75373b..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/files/patch-mymenurecordings.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/mymenurecordings.c
-+++ b/mymenurecordings.c
-@@ -1031,7 +1031,11 @@ eOSState myMenuRecordings::Play()
- buffer=NULL;
- }
- golastreplayed=true;
-+#if APIVERSNUM < 10728
- myReplayControl::SetRecording(recording->FileName(),recording->Title());
-+#else
-+ myReplayControl::SetRecording(recording->FileName());
-+#endif
- cControl::Shutdown();
- isyslog("[extrecmenu] starting replay of recording");
- cControl::Launch(new myReplayControl());
diff --git a/multimedia/vdr-plugin-extrecmenu/pkg-descr b/multimedia/vdr-plugin-extrecmenu/pkg-descr
deleted file mode 100644
index 5f61a29c53aa..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/pkg-descr
+++ /dev/null
@@ -1,22 +0,0 @@
-The EXTended RECordings MENU plugin provides additional functions to VDR's
-recordings menu:
-
-* renaming recordings and directories
-* moving recordings and directories, also between different filesystems
-* adjustable display of recording's length, date and size
-* directories are always shown on top of the list
-* reworked layout using icons for showing the status of list entries
- (directory, new recording, moving recording/directory, cutting recording,
- dvd archiv entry)
-* extended recordings info menu, shows name, path, channel, size, lifetime and
- priority of the recording
-* free disk space is shown for the filesystem of the current directory
-* sorting by name or date, adjustable for each directory; type of sorting will
- be stored
-* ascending/descending sorting
-* extends VDR's '-r'-option commands with 'move' and 'rename'
-* functionality of the DVDArchive-patch (see below)
-* protecting recordings in co-work with the PIN-plugin
-* a cutter queue
-
-WWW: https://projects.vdr-developer.org/projects/plg-extrecmenu
diff --git a/multimedia/vdr-plugin-extrecmenu/pkg-plist b/multimedia/vdr-plugin-extrecmenu/pkg-plist
deleted file mode 100644
index c6b9c363b6f5..000000000000
--- a/multimedia/vdr-plugin-extrecmenu/pkg-plist
+++ /dev/null
@@ -1,23 +0,0 @@
-lib/vdr/libvdr-extrecmenu.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-extrecmenu.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-extrecmenu.mo
diff --git a/multimedia/vdr-plugin-femon/Makefile b/multimedia/vdr-plugin-femon/Makefile
deleted file mode 100644
index c90270d96a44..000000000000
--- a/multimedia/vdr-plugin-femon/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-femon
-PORTVERSION= 1.7.17
-PORTREVISION= 5
-CATEGORIES= multimedia
-MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/femon/files/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - frontend monitor plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-femon/distinfo b/multimedia/vdr-plugin-femon/distinfo
deleted file mode 100644
index 45671b26b32a..000000000000
--- a/multimedia/vdr-plugin-femon/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-femon-1.7.17.tgz) = d9d9118d1fd536ec03b09df9c783e0f7c0ebe1979b210aca5bea4930179ff9dc
-SIZE (vdr/vdr-femon-1.7.17.tgz) = 77852
diff --git a/multimedia/vdr-plugin-femon/files/patch-Makefile b/multimedia/vdr-plugin-femon/files/patch-Makefile
deleted file mode 100644
index bccb4ce1170c..000000000000
--- a/multimedia/vdr-plugin-femon/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- femon-1.7.7/Makefile.orig
-+++ femon-1.7.7/Makefile
-@@ -131,3 +134,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch b/multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch
deleted file mode 100644
index ee2f24d244ed..000000000000
--- a/multimedia/vdr-plugin-femon/files/patch-femon-1.7.7.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ur orig/femon-1.7.7/Makefile femon-1.7.7/Makefile
---- orig/femon-1.7.7/Makefile 2010-03-05 03:20:00.000000000 +0100
-+++ femon-1.7.7/Makefile 2010-03-05 17:55:59.000000000 +0100
-@@ -115,7 +115,11 @@
- ifndef FEMON_DEBUG
- @$(STRIP) $@
- endif
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-Only in femon-1.7.7: Makefile.orig
diff --git a/multimedia/vdr-plugin-femon/pkg-descr b/multimedia/vdr-plugin-femon/pkg-descr
deleted file mode 100644
index 63aacddd78ba..000000000000
--- a/multimedia/vdr-plugin-femon/pkg-descr
+++ /dev/null
@@ -1,9 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Femon-plugin
-
-DVB Frontend Status Monitor is a VDR plugin that displays some signal
-information parameters of the current tuned channel on OSD. You can zap
-through all your channels and the plugin should be monitoring always the
-right frontend. The transponder and stream information are also available
-in advanced display modes.
-
-WWW: http://www.saunalahti.fi/~rahrenbe/vdr/femon/
diff --git a/multimedia/vdr-plugin-femon/pkg-plist b/multimedia/vdr-plugin-femon/pkg-plist
deleted file mode 100644
index 877b951563ed..000000000000
--- a/multimedia/vdr-plugin-femon/pkg-plist
+++ /dev/null
@@ -1,12 +0,0 @@
-lib/vdr/libvdr-femon.so.%%APIVERSION%%
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-femon.mo
-%%NLS%%share/locale/zh_TW/LC_MESSAGES/vdr-femon.mo
diff --git a/multimedia/vdr-plugin-infosatepg/Makefile b/multimedia/vdr-plugin-infosatepg/Makefile
deleted file mode 100644
index 030418c62941..000000000000
--- a/multimedia/vdr-plugin-infosatepg/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-infosatepg
-PORTVERSION= 0.0.11
-PORTREVISION= 21
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/342/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - infosat EPG plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}/var/cache/vdr/${PLUGIN}
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-infosatepg/distinfo b/multimedia/vdr-plugin-infosatepg/distinfo
deleted file mode 100644
index b9b123f29030..000000000000
--- a/multimedia/vdr-plugin-infosatepg/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-infosatepg-0.0.11.tgz) = 14495b07f15f928b9ae66d6ec2f6e9639aa0cf86865900b7d6a9e212d7eb80ac
-SIZE (vdr/vdr-infosatepg-0.0.11.tgz) = 35585
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-Makefile b/multimedia/vdr-plugin-infosatepg/files/patch-Makefile
deleted file mode 100644
index 75f98bc8f2c5..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -97,7 +97,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -110,3 +114,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp
deleted file mode 100644
index 262ac078db15..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-filter.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
---- a/filter.cpp
-+++ b/filter.cpp
-@@ -6,6 +6,9 @@
- * $Id$
- */
-
-+#include <sys/types.h>
-+#include <sys/socket.h>
-+#include <netinet/in.h>
- #include <netinet/if_ether.h>
- #include <unistd.h>
-
-@@ -47,24 +50,32 @@ u_short cFilterInfosatepg::foldsum(u_lon
- return ((u_short) ~sum);
- }
-
--u_short cFilterInfosatepg::IPChecksum(iphdr *ipHeader)
-+u_short cFilterInfosatepg::IPChecksum(ip *ipHeader)
- {
-- return foldsum(do_sum(0, (u_char*) ipHeader, sizeof(iphdr)));
-+ return foldsum(do_sum(0, (u_char*) ipHeader, sizeof(ip)));
-
- } /* IpChecksum() */
-
-
--u_short cFilterInfosatepg::UDPChecksum(iphdr *ipHeader, udphdr *udpHeader)
-+u_short cFilterInfosatepg::UDPChecksum(ip *ipHeader, udphdr *udpHeader)
- {
- u_long sum = 0;
-
- // Ip-Pseudo-Header
-- sum = do_sum(sum, (u_char*)(&ipHeader->saddr), sizeof(ipHeader->saddr));
-- sum = do_sum(sum, (u_char*)(&ipHeader->daddr), sizeof(ipHeader->daddr));
-+ sum = do_sum(sum, (u_char*)(&ipHeader->ip_src), sizeof(ipHeader->ip_src));
-+ sum = do_sum(sum, (u_char*)(&ipHeader->ip_dst), sizeof(ipHeader->ip_dst));
-+#ifdef __linux__
- sum += udpHeader->len;
-- sum += ipHeader->protocol<<8;
-+#else
-+ sum += udpHeader->uh_ulen;
-+#endif
-+ sum += ipHeader->ip_p<<8;
-
-+#ifdef __linux__
- sum = do_sum(sum, (u_char*)udpHeader, ntohs(udpHeader->len));
-+#else
-+ sum = do_sum(sum, (u_char*)udpHeader, ntohs(udpHeader->uh_ulen));
-+#endif
-
- return foldsum(sum);
- }
-@@ -78,27 +89,27 @@ void cFilterInfosatepg::Process(u_short
-
- if (Data[0]!=0x3E) return;
-
-- struct ethhdr eth_hdr;
-- memset(&eth_hdr,0,sizeof(struct ethhdr));
-+ struct ether_header eth_hdr;
-+ memset(&eth_hdr,0,sizeof(struct ether_header));
-
-- eth_hdr.h_dest[0]=Data[11];
-- eth_hdr.h_dest[1]=Data[10];
-- eth_hdr.h_dest[2]=Data[9];
-- eth_hdr.h_dest[3]=Data[8];
-- eth_hdr.h_dest[4]=Data[4];
-- eth_hdr.h_dest[5]=Data[3];
-+ eth_hdr.ether_dhost[0]=Data[11];
-+ eth_hdr.ether_dhost[1]=Data[10];
-+ eth_hdr.ether_dhost[2]=Data[9];
-+ eth_hdr.ether_dhost[3]=Data[8];
-+ eth_hdr.ether_dhost[4]=Data[4];
-+ eth_hdr.ether_dhost[5]=Data[3];
-
- // check mac and range
- if (!global->CheckMAC(&eth_hdr)) return;
-
-- int mac = eth_hdr.h_dest[5];
-+ int mac = eth_hdr.ether_dhost[5];
- global->ActualMac=mac;
-
-- struct iphdr *ip_hdr = (iphdr *) &Data[SECT_IP_HDR_START];
-+ struct ip *ip_hdr = (ip *) &Data[SECT_IP_HDR_START];
- struct udphdr *udp_hdr = (udphdr *) &Data[SECT_UDP_HDR_START];
-
- // Only IPv4
-- if (ip_hdr->version!=4) return;
-+ if (ip_hdr->ip_v!=4) return;
-
- // Check IP checksum
- if (IPChecksum(ip_hdr)!=0)
-@@ -108,7 +119,7 @@ void cFilterInfosatepg::Process(u_short
- }
-
- // Only UDP
-- if (ip_hdr->protocol!=17) return;
-+ if (ip_hdr->ip_p!=17) return;
-
- // Check UDP checksum
- if (UDPChecksum(ip_hdr,udp_hdr)!=0)
-@@ -149,8 +160,8 @@ void cFilterInfosatepg::Process(u_short
-
-
- #ifdef VDRDEBUG
-- dsyslog("infosatepg: mac=%02x-%02x-%02x-%02x-%02x-%02x",eth_hdr.h_dest[0],eth_hdr.h_dest[1],
-- eth_hdr.h_dest[2],eth_hdr.h_dest[3],eth_hdr.h_dest[4],eth_hdr.h_dest[5] );
-+ dsyslog("infosatepg: mac=%02x-%02x-%02x-%02x-%02x-%02x",eth_hdr.ether_dhost[0],eth_hdr.ether_dhost[1],
-+ eth_hdr.ether_dhost[2],eth_hdr.ether_dhost[3],eth_hdr.ether_dhost[4],eth_hdr.ether_dhost[5] );
-
- dsyslog("infosatepg: tid=%04i tbl=%04i stbl=%04i day=%02i month=%02i pktnr=%03i pktcnt=%03i len=%i",
- ntohs(ishdr->technisatId),ishdr->tableId,ishdr->tablesubId,ishdr->day,
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-filter.h b/multimedia/vdr-plugin-infosatepg/files/patch-filter.h
deleted file mode 100644
index 12eba25de4c9..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-filter.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/filter.h
-+++ b/filter.h
-@@ -33,8 +33,8 @@ private:
- cGlobalInfosatepg *global;
- u_long do_sum(u_long sum, u_char *buf, int nBytes);
- u_short foldsum(u_long sum);
-- u_short IPChecksum(iphdr *ipHeader);
-- u_short UDPChecksum(iphdr *ipHeader, udphdr *udpHeader);
-+ u_short IPChecksum(ip *ipHeader);
-+ u_short UDPChecksum(ip *ipHeader, udphdr *udpHeader);
- protected:
- virtual void Process(u_short Pid, u_char Tid, const u_char *Data, int Length);
- public:
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-global.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-global.cpp
deleted file mode 100644
index ef930518b315..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-global.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/global.cpp
-+++ b/global.cpp
-@@ -164,7 +164,11 @@ cGlobalInfosatepg::cGlobalInfosatepg()
- MAC[3]=0x02;
- MAC[4]=0x02;
- WaitTime=10; // default 10 seconds
-+#ifdef __FreeBSD__
-+ SetDirectory ("/var/cache/vdr/infosatepg");
-+#else
- SetDirectory ("/tmp");
-+#endif
- NoWakeup=false;
- NoDeferredShutdown=false;
- ActualMac=0;
-@@ -194,17 +198,17 @@ bool cGlobalInfosatepg::SetDirectory(con
- return true;
- }
-
--bool cGlobalInfosatepg::CheckMAC(struct ethhdr *eth_hdr)
-+bool cGlobalInfosatepg::CheckMAC(ether_header *eth_hdr)
- {
- if (!eth_hdr) return false;
-- if (eth_hdr->h_dest[0]!=MAC[0]) return false;
-- if (eth_hdr->h_dest[1]!=MAC[1]) return false;
-- if (eth_hdr->h_dest[2]!=MAC[2]) return false;
-- if (eth_hdr->h_dest[3]!=MAC[3]) return false;
-- if (eth_hdr->h_dest[4]!=MAC[4]) return false;
-+ if (eth_hdr->ether_dhost[0]!=MAC[0]) return false;
-+ if (eth_hdr->ether_dhost[1]!=MAC[1]) return false;
-+ if (eth_hdr->ether_dhost[2]!=MAC[2]) return false;
-+ if (eth_hdr->ether_dhost[3]!=MAC[3]) return false;
-+ if (eth_hdr->ether_dhost[4]!=MAC[4]) return false;
-
-- if (eth_hdr->h_dest[5]<EPG_FIRST_DAY_MAC) return false;
-- if (eth_hdr->h_dest[5]>EPG_LAST_DAY_MAC) return false;
-+ if (eth_hdr->ether_dhost[5]<EPG_FIRST_DAY_MAC) return false;
-+ if (eth_hdr->ether_dhost[5]>EPG_LAST_DAY_MAC) return false;
-
- return true;
- }
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-global.h b/multimedia/vdr-plugin-infosatepg/files/patch-global.h
deleted file mode 100644
index 3d2c418628a0..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-global.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/global.h
-+++ b/global.h
-@@ -9,8 +9,10 @@
- #ifndef __global_h_
- #define __global_h_
-
-+#include <sys/socket.h>
- #include <netinet/if_ether.h>
- #include <sys/types.h>
-+#include <ctype.h>
-
- #include <vdr/channels.h>
- #include <vdr/timers.h>
-@@ -162,7 +164,7 @@ public:
- return directory;
- }
- bool SetDirectory (const char *Directory);
-- bool CheckMAC (struct ethhdr *eth_hdr);
-+ bool CheckMAC (ether_header *eth_hdr);
- void SetWaitTimer()
- {
- timer=time (NULL);
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp
deleted file mode 100644
index f4e30a99c38b..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-infosatepg.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
---- infosatepg.cpp.orig
-+++ infosatepg.cpp
-@@ -190,10 +190,14 @@ void cPluginInfosatepg::MainThreadHook(v
- if (dev)
- {
- if (!dev->ProvidesTransponder(chan)) continue; // device cannot provide transponder -> skip
-+#if VDRVERSNUM >= 10726
-+ if (statusMonitor->m_LiveView) continue; // EITScanner is updating EPG -> skip
-+#else
- if (EITScanner.UsesDevice(dev)) continue; // EITScanner is updating EPG -> skip
-+#endif
- if (dev->Receiving()) continue; // device is recording -> skip
- if (dev->IsPrimaryDevice()) continue; // device is primary -> skip
-- if (cDevice::ActualDevice()->CardIndex()==i) continue; // device is live viewing -> skip
-+ if (cDevice::ActualDevice()->CardIndex()==dev->CardIndex()) continue; // device is live viewing -> skip
- if (dev->IsTunedToTransponder(chan))
- {
- // we already have a device which is tuned (maybe switched manually?)
-@@ -202,6 +206,8 @@ void cPluginInfosatepg::MainThreadHook(v
- return;
- }
-
-+ if (!dev->MaySwitchTransponder(chan)) continue; // bonded?
-+
- // ok -> use this device
- dsyslog("infosatepg: found free device %i",dev->DeviceNumber()+1);
- dev->SwitchChannel(chan,false);
-@@ -403,7 +409,7 @@ cString cPluginInfosatepg::SVDRPCommand(
- cString head2;
- head2="\n" \
- " | | missed | | | unlocated\n" \
-- " Day | Date | Packets | Received %% | Processed | Events\n" \
-+ " Day | Date | Packets | Received % | Processed | Events\n" \
- "------+--------+---------+------------+------------+----------\n";
-
- cString mstr;
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-process.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-process.cpp
deleted file mode 100644
index 7abc929f0483..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-process.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
---- a/process.cpp
-+++ b/process.cpp
-@@ -1047,7 +1047,9 @@ bool cProcessInfosatepg::ParseInfosatepg
- int ieventnr=1;
- cChannel *chan=NULL;
- cInfosatevent *ievent=NULL;
--#if VDRVERSNUM < 10701
-+// XXX don't default to assuming UTF-8 on FreeBSD (that's what the NULL does),
-+// its still often used without.
-+#if VDRVERSNUM < 10701 || defined(__FreeBSD__)
- cCharSetConv *conv = new cCharSetConv("ISO-8859-1",cCharSetConv::SystemCharacterTable() ?
- cCharSetConv::SystemCharacterTable() : "UTF-8");
- #else
-@@ -1139,7 +1141,12 @@ bool cProcessInfosatepg::ParseInfosatepg
- }
- int shour,sminute;
- char *title;
-+#ifdef __FreeBSD__
-+ title = (char *)malloc(strlen(s));
-+ fields=sscanf(s,"%d:%d %[^^]",&shour,&sminute,title);
-+#else
- fields=sscanf(s,"%d:%d %a[^^]",&shour,&sminute,&title);
-+#endif
- if (fields==3)
- {
- if (!ievent) ievent = new cInfosatevent;
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp
deleted file mode 100644
index c16dbcdbb13a..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-readline.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
---- a/readline.cpp
-+++ b/readline.cpp
-@@ -10,6 +10,15 @@
- #include <stdio.h>
- #include "readline.h"
-
-+#ifdef __FreeBSD__
-+#include <string.h>
-+#if __FreeBSD_version > 800000
-+#define HAVE_GETLINE
-+#endif
-+#else
-+#define HAVE_GETLINE
-+#endif
-+
- extern char *strcatrealloc(char *dest, const char *src);
-
- // --- cReadLineInfosatepg ---------------------------------------------------
-@@ -36,7 +45,31 @@ char *cReadLineInfosatepg::Read(FILE *f,
- do
- {
- ext=false;
-+#ifndef HAVE_GETLINE
-+ size_t n;
-+
-+ if (!tempbuffer)
-+ {
-+ if (!(tempbuffer = (char *)malloc(tempsize = 4096)))
-+ return NULL;
-+ }
-+ if (!fgets(tempbuffer, tempsize, f))
-+ {
-+ if (tempbuffer) free(tempbuffer);
-+ return buffer;
-+ }
-+ while ((n = strlen(tempbuffer)) >= tempsize - 1 &&
-+ tempbuffer[n - 1] != '\n')
-+ {
-+ if (!(tempbuffer = (char *)realloc(tempbuffer, tempsize * 2)))
-+ return NULL;
-+ tempsize *= 2;
-+ if (!fgets(tempbuffer + n, tempsize - n, f))
-+ break;
-+ }
-+#else
- int n = getline(&tempbuffer, &tempsize, f);
-+#endif
- if (n > 0)
- {
- if (tempbuffer[n-1] == '\n')
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-status.cpp b/multimedia/vdr-plugin-infosatepg/files/patch-status.cpp
deleted file mode 100644
index 454098d01eae..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-status.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
---- status.cpp.orig
-+++ status.cpp
-@@ -21,11 +21,18 @@ cStatusInfosatepg::~cStatusInfosatepg(vo
- if (myFilter) delete myFilter;
- }
-
-+#if VDRVERSNUM >= 10726
-+void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
-+#else
- void cStatusInfosatepg::ChannelSwitch(const cDevice *Device, int ChannelNumber)
-+#endif
- {
- if (!ChannelNumber) return;
- if (!Device) return; // just to be safe
-
-+#if VDRVERSNUM >= 10726
-+ m_LiveView = LiveView;
-+#endif
- bool bAddFilter=false;
-
- // just add filter if we aren't locked
diff --git a/multimedia/vdr-plugin-infosatepg/files/patch-status.h b/multimedia/vdr-plugin-infosatepg/files/patch-status.h
deleted file mode 100644
index e53beb65135e..000000000000
--- a/multimedia/vdr-plugin-infosatepg/files/patch-status.h
+++ /dev/null
@@ -1,18 +0,0 @@
---- status.h.orig
-+++ status.h
-@@ -20,8 +20,15 @@ private:
- cDevice *myFilterDevice;
- cGlobalInfosatepg *global;
- protected:
-+#if VDRVERSNUM >= 10726
-+ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
-+#else
- virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
-+#endif
- public:
-+#if VDRVERSNUM >= 10726
-+ bool m_LiveView;
-+#endif
- cStatusInfosatepg(cGlobalInfosatepg *Global);
- virtual ~cStatusInfosatepg(void);
- };
diff --git a/multimedia/vdr-plugin-infosatepg/pkg-descr b/multimedia/vdr-plugin-infosatepg/pkg-descr
deleted file mode 100644
index b30ab6fba35b..000000000000
--- a/multimedia/vdr-plugin-infosatepg/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-http://vdr-wiki.de/wiki/index.php/Infosatepg-plugin
-
-This plugin reads infosat EPG data from DVB-S.
-
-WWW: https://projects.vdr-developer.org/projects/plg-infosatepg
diff --git a/multimedia/vdr-plugin-infosatepg/pkg-plist b/multimedia/vdr-plugin-infosatepg/pkg-plist
deleted file mode 100644
index 1147d9f5b89d..000000000000
--- a/multimedia/vdr-plugin-infosatepg/pkg-plist
+++ /dev/null
@@ -1,5 +0,0 @@
-lib/vdr/libvdr-infosatepg.so.%%APIVERSION%%
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-infosatepg.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-infosatepg.mo
-@dir(%%VDR_USER%%,%%VDR_GROUP%%,) /var/cache/vdr/infosatepg
-@dir /var/cache/vdr
diff --git a/multimedia/vdr-plugin-iptv/Makefile b/multimedia/vdr-plugin-iptv/Makefile
deleted file mode 100644
index 8702e69f3fff..000000000000
--- a/multimedia/vdr-plugin-iptv/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-iptv
-PORTVERSION= 1.0.1
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://www.saunalahti.fi/~rahrenbe/vdr/iptv/files/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - IP television plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-MAKE_ARGS= IPTV_EXTSHELL=/bin/sh
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-PORTEXAMPLES= channels.conf.iptv
-
-OPTIONS_DEFINE= DOCS EXAMPLES NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${REINPLACE_CMD} -e 's|^\(CHANNELS_CONF[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${PREFIX}/etc/vdr/channels.conf|;' \
- -e 's|^\(CHANNEL_SETTINGS_DIR[[:space:]]*\)[?]*\(=[[:space:]]*\)/etc|\1\2${PREFIX}/etc|;' \
- ${WRKSRC}/iptv/vlc2iptv
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput
- ${INSTALL_DATA} ${FILESDIR}/vlcinput/*.conf ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlcinput
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/image.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/image.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/internetradio.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/internetradio.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream-notrap.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream-notrap.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/iptvstream.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/iptvstream.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/linein.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/linein.sh.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/vlc2iptv \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/vlc2iptv.sample
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}/webcam.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/webcam.sh.sample
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
- ${INSTALL_DATA} ${FILESDIR}/channels.conf.iptv ${STAGEDIR}${EXAMPLESDIR}
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-iptv/distinfo b/multimedia/vdr-plugin-iptv/distinfo
deleted file mode 100644
index 58d881bd56dc..000000000000
--- a/multimedia/vdr-plugin-iptv/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-iptv-1.0.1.tgz) = 2f6f468f44e6e8ab4d347459a43b8535a89b67a300c75080d9155341717476a8
-SIZE (vdr/vdr-iptv-1.0.1.tgz) = 50035
diff --git a/multimedia/vdr-plugin-iptv/files/channels.conf.iptv b/multimedia/vdr-plugin-iptv/files/channels.conf.iptv
deleted file mode 100644
index 3c4fe6f5d22f..000000000000
--- a/multimedia/vdr-plugin-iptv/files/channels.conf.iptv
+++ /dev/null
@@ -1,17 +0,0 @@
-:@950 iptv-plugin
-BBC-radio1;IPTV:2010:S=0|P=0|F=EXT|U=vlc2iptv|A=2010:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio1xtra;IPTV:2020:S=0|P=0|F=EXT|U=vlc2iptv|A=2020:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio2;IPTV:2030:S=0|P=0|F=EXT|U=vlc2iptv|A=2030:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio3;IPTV:2040:S=0|P=0|F=EXT|U=vlc2iptv|A=2040:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio4;IPTV:2050:S=0|P=0|F=EXT|U=vlc2iptv|A=2050:I:0:5=2:6=eng@3:0:0:1:0:0:0
-BBC-radio4lw;IPTV:2060:S=0|P=0|F=EXT|U=vlc2iptv|A=2060:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio5liveint;IPTV:2070:S=0|P=0|F=EXT|U=vlc2iptv|A=2070:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio5livesport;IPTV:2080:S=0|P=0|F=EXT|U=vlc2iptv|A=2080:I:0:5=2:6=eng@3:0:0:1:0:0:0
-BBC-radio6music;IPTV:2090:S=0|P=0|F=EXT|U=vlc2iptv|A=2090:I:0:0:6=eng@3:0:0:1:0:0:0
-BBC-radio7;IPTV:2100:S=0|P=0|F=EXT|U=vlc2iptv|A=2100:I:0:5=2:6=eng@3:0:0:1:0:0:0
-THE_VOICE;IPTV:3010:S=0|P=0|F=EXT|U=vlc2iptv|A=3010:I:0:0:6=eng@3:0:0:1:0:0:0
-3Sat;IPTV:3020:S=0|P=0|F=EXT|U=vlc2iptv|A=3020:I:0:2=2:3=@4:0:0:7:0:0:0
-Sky-News;IPTV:3030:S=0|P=0|F=EXT|U=vlc2iptv|A=3030:I:0:5=2:6=eng@3:0:0:1:0:0:0
-NASA;IPTV:4010:S=0|P=0|F=EXT|U=vlc2iptv|A=4010:I:0:5=2:6=eng@3:0:0:1:0:0:0
-NASA-500-Kbit;IPTV:4020:S=0|P=0|F=EXT|U=vlc2iptv|A=4020:I:0:5=2:6=eng@3:0:0:1:0:0:0
-NASA-1200-Kbit;IPTV:4030:S=0|P=0|F=EXT|U=vlc2iptv|A=4030:I:0:5=2:6=eng@3:0:0:1:0:0:0
diff --git a/multimedia/vdr-plugin-iptv/files/patch-Makefile b/multimedia/vdr-plugin-iptv/files/patch-Makefile
deleted file mode 100644
index 8099e1af3ea3..000000000000
--- a/multimedia/vdr-plugin-iptv/files/patch-Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -12,7 +12,8 @@
- STRIP = strip
-
- # Install command
--INSTALL = cp --remove-destination
-+#INSTALL = cp --remove-destination
-+INSTALL = cp -f
-
- # The official name of this plugin.
- # This name will be used in the '-P...' option of VDR to load the plugin.
-@@ -58,7 +58,8 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+#INCLUDES += -I$(VDRDIR)/include
-+INCLUDES += -I$(VDRDIR)
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -148,3 +149,5 @@ clean:
-
- cppcheck: $(OBJS)
- @cppcheck --enable=information,style,unusedFunction -v -f $(OBJS:%.o=%.c)
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv b/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv
deleted file mode 100644
index 0db083d35828..000000000000
--- a/multimedia/vdr-plugin-iptv/files/patch-iptv-vlc2iptv
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/iptv/vlc2iptv
-+++ b/iptv/vlc2iptv
-@@ -29,6 +29,8 @@ CHANNELS_CONF=/usr/local/etc/vdr/channel
- CHANNEL_SETTINGS_DIR=/usr/local/etc/vdr/plugins/iptv/vlcinput/
- VIDEO_BITRATE=2400
- AUDIO_BITRATE=320
-+AUDIO_CODEC=mpga
-+VIDEO_CODEC=mp2v
-
- #
- # </Global Settings>
-@@ -88,13 +90,6 @@ else
- RESIZE_OPTIONS=""
- fi
-
--vlc "${URL}" \
-- --sout "#transcode{vcodec=mp2v$RESIZE_OPTIONS,acodec=mpga,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \
-- --intf dummy &
--
--PID=${!}
--
--trap 'kill -INT ${PID} 2> /dev/null' INT EXIT QUIT TERM
--
--# Waiting for the given PID to terminate
--wait ${PID}
-+exec vlc "${URL}" \
-+ --sout "#transcode{vcodec=$VIDEO_CODEC$RESIZE_OPTIONS,acodec=$AUDIO_CODEC,vb=${VIDEO_BITRATE},ab=${AUDIO_BITRATE}}:standard{access=udp,mux=ts{pid-video=${VPID},pid-audio=${APID},pid-spu=${SPID}},dst=127.0.0.1:${PORT}}" \
-+ --intf dummy
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf
deleted file mode 100644
index 1c26db3a5d25..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/3Sat.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="http://wstreaming.zdf.de/encoder/3sat_h.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf
deleted file mode 100644
index 3dc4291e3bef..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r1.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf
deleted file mode 100644
index 50438deeef78..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio1xtra.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r1x.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf
deleted file mode 100644
index 7a5e314564e1..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio2.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r2.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf
deleted file mode 100644
index e6d09c2e0f24..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio3.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r3.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf
deleted file mode 100644
index eb918da91160..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r4.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf
deleted file mode 100644
index d223215d43e7..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio4lw.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r4lw.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf
deleted file mode 100644
index 62c8fcc4cc20..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5liveint.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/fivelive/live/live_int.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf
deleted file mode 100644
index 1024a0006956..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio5livesport.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r5lsp.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf
deleted file mode 100644
index 582196ac084e..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio6music.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r6.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf
deleted file mode 100644
index 9d7961eb68cc..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/BBC-radio7.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-# see:
-# http://faq.external.bbc.co.uk/questions/radio/online_radiohowto
-URL="http://www.bbc.co.uk/radio/listen/live/r7.asx"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf
deleted file mode 100644
index a72ebfa097bf..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/Bundesligen-TV.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="http://www.bundesligen-tv.com/act_stream.aspx?sender_id=31"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf
deleted file mode 100644
index e242e1cf8245..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/Daytona-Beach.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="rtsp://real.prohosting.com/encoder/daytona.rm"
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf
deleted file mode 100644
index 0d712d8c59f8..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-1200-Kbit.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-URL="http://playlist.yahoo.com/makeplaylist.dll?id=1368163"
-VIDEO_CODEC=mp2v,fps=30
-AUDIO_BITRATE=128
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf
deleted file mode 100644
index 860fcf49eb08..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA-500-Kbit.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-URL="http://playlist.yahoo.com/makeplaylist.dll?id=1368570"
-VIDEO_CODEC=mp2v,fps=30
-AUDIO_BITRATE=128
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf
deleted file mode 100644
index dea4eb95ad7e..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/NASA.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-URL="http://www.nasa.gov/55644main_NASATV_Windows.asx"
-VIDEO_CODEC=mp2v,fps=25
-AUDIO_BITRATE=128
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf
deleted file mode 100644
index 045037b93788..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/Sky-News.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-URL="mms://live1.wm.skynews.servecast.net/skynews_wmlz_live300k"
-VIDEO_CODEC=mp2v,fps=30
diff --git a/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf b/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf
deleted file mode 100644
index 82324adf6915..000000000000
--- a/multimedia/vdr-plugin-iptv/files/vlcinput/THE_VOICE.conf
+++ /dev/null
@@ -1 +0,0 @@
-URL="mms://62.41.56.32/PUBLIC_votv_fi"
diff --git a/multimedia/vdr-plugin-iptv/pkg-descr b/multimedia/vdr-plugin-iptv/pkg-descr
deleted file mode 100644
index 5e0433ac1675..000000000000
--- a/multimedia/vdr-plugin-iptv/pkg-descr
+++ /dev/null
@@ -1,20 +0,0 @@
-This is an IPTV plugin for the Video Disk Recorder (VDR).
-
-This plugin integrates multicast IPTV transport streams seamlessly into
-VDR. You can use any IPTV channel like any other normal DVB channel for
-live viewing, recording, etc. The plugin also features full section
-filtering capabilities which allow for example EIT information to be
-extracted from the incoming stream.
-
-Currently the IPTV plugin has direct support for both multicast UDP/RTP
-and unicast HTTP MPEG1/2 transport streams. Also a file input method is
-supported, but a file delay must be selected individually to prevent
-VDR's transfer buffer over/underflow. Therefore the file input should be
-considered as a testing feature only.
-
-IPTV plugin also features a support for external streaming applications.
-With proper helper applications and configuration IPTV plugin is able to
-display not only MPEG1/2 transport streams but also other formats like
-MP3 radio streams, mms video streams and so on.
-
-WWW: http://www.saunalahti.fi/~rahrenbe/vdr/iptv/
diff --git a/multimedia/vdr-plugin-iptv/pkg-plist b/multimedia/vdr-plugin-iptv/pkg-plist
deleted file mode 100644
index 28e9de9c84cd..000000000000
--- a/multimedia/vdr-plugin-iptv/pkg-plist
+++ /dev/null
@@ -1,32 +0,0 @@
-lib/vdr/libvdr-iptv.so.%%APIVERSION%%
-@sample etc/vdr/plugins/iptv/image.sh.sample
-@sample etc/vdr/plugins/iptv/internetradio.sh.sample
-@sample etc/vdr/plugins/iptv/iptvstream-notrap.sh.sample
-@sample etc/vdr/plugins/iptv/iptvstream.sh.sample
-@sample etc/vdr/plugins/iptv/linein.sh.sample
-@sample etc/vdr/plugins/iptv/vlc2iptv.sample
-@sample etc/vdr/plugins/iptv/webcam.sh.sample
-etc/vdr/plugins/iptv/vlcinput/3Sat.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio1.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio1xtra.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio2.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio3.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio4.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio4lw.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio5liveint.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio5livesport.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio6music.conf
-etc/vdr/plugins/iptv/vlcinput/BBC-radio7.conf
-etc/vdr/plugins/iptv/vlcinput/Bundesligen-TV.conf
-etc/vdr/plugins/iptv/vlcinput/Daytona-Beach.conf
-etc/vdr/plugins/iptv/vlcinput/NASA-1200-Kbit.conf
-etc/vdr/plugins/iptv/vlcinput/NASA-500-Kbit.conf
-etc/vdr/plugins/iptv/vlcinput/NASA.conf
-etc/vdr/plugins/iptv/vlcinput/Sky-News.conf
-etc/vdr/plugins/iptv/vlcinput/THE_VOICE.conf
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-iptv.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-iptv.mo
diff --git a/multimedia/vdr-plugin-markad/Makefile b/multimedia/vdr-plugin-markad/Makefile
deleted file mode 100644
index d5fcaf4aaac1..000000000000
--- a/multimedia/vdr-plugin-markad/Makefile
+++ /dev/null
@@ -1,55 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-markad
-PORTVERSION= 0.1.4
-PORTREVISION= 10
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/1041/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - MarkAd plugin
-
-LICENSE= GPLv2+ LOGOS
-LICENSE_COMB= multi
-LICENSE_NAME_LOGOS= Station logos
-LICENSE_TEXT_LOGOS= Installs station logos
-LICENSE_FILE_GPLv2+ = ${WRKSRC}/COPYING
-LICENSE_PERMS_LOGOS= auto-accept
-
-LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
-
-USES= compiler:c++11-lang pkgconfig tar:tgz
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-VDR_PLUGIN_MAKEFILES= ${WRKSRC}/command/Makefile ${WRKSRC}/plugin/Makefile
-DEFINES= -DDATADIR=\\\"${DATADIR}\\\" -DPREFIX=\\\"${PREFIX}\\\"
-MAKE_ARGS= DATADIR=${DATADIR} FREEBSD=1
-MAKE_ENV= DEFINES="${DEFINES}"
-
-PORTDOCS= README HISTORY
-PORTDATA= logos
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-# for libexecinfo: (so that __builtin_frame_address() finds the top
-# of the stack)
-.if ${ARCH} == "amd64"
-CFLAGS+= -fno-omit-frame-pointer
-CPPFLAGS+= -fno-omit-frame-pointer
-.endif
-
-post-patch: post-patch-plugin
- @${LN} -s ../lib ../locale ${WRKSRC}
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-markad/distinfo b/multimedia/vdr-plugin-markad/distinfo
deleted file mode 100644
index b75e1e503b9c..000000000000
--- a/multimedia/vdr-plugin-markad/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-markad-0.1.4.tgz) = f940765c5dd4a5d66e1ff2650fa0a2b7bda7138953782431230a6c7539334a85
-SIZE (vdr/vdr-markad-0.1.4.tgz) = 118728
diff --git a/multimedia/vdr-plugin-markad/files/patch-Makefile b/multimedia/vdr-plugin-markad/files/patch-Makefile
deleted file mode 100644
index 19c2fd44c3a1..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
---- Makefile.orig 2012-09-11 07:55:41 UTC
-+++ Makefile
-@@ -13,10 +13,10 @@ ARCHIVE = markad-$(VERSION)
- PACKAGE = vdr-$(ARCHIVE)
-
- all:
-- for i in $(DIRS); do $(MAKE) -C $$i; done
-+ for i in $(DIRS); do $(MAKE) -C $$i CC=${CC} CXX=${CXX}; done
-
- install:
-- for i in $(DIRS); do $(MAKE) -C $$i install; done
-+ for i in $(DIRS); do $(MAKE) -C $$i CC=${CC} CXX=${CXX} install; done
-
- dist:
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_Makefile b/multimedia/vdr-plugin-markad/files/patch-command_Makefile
deleted file mode 100644
index d849bfda235c..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
---- command/Makefile.orig 2012-09-11 07:54:03 UTC
-+++ command/Makefile
-@@ -16,6 +16,10 @@ CXXFLAGS ?= -g -rdynamic -O3 -funroll-lo
- PKG-CONFIG ?= pkg-config
- STRIP ?= strip
-
-+ifdef FREEBSD
-+LIBS+=-lintl -lexecinfo
-+endif
-+
- ### Includes and Defines (add further entries here):
-
- PKG-LIBS += libavcodec libavutil
-@@ -86,17 +90,34 @@ markad: $(OBJS)
- $(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $@
-
-
-+ifdef FREEBSD
-+MANDIR = $(PREFIX)/man
-+else
- MANDIR = $(DESTDIR)/usr/share/man
-+endif
- install-doc:
-+ifdef FREEBSD
-+ @mkdir -p ${DESTDIR}$(MANDIR)/man1
-+ @gzip -c markad.1 > ${DESTDIR}$(MANDIR)/man1/markad.1.gz
-+else
- @mkdir -p $(MANDIR)/man1
- @gzip -c markad.1 > $(MANDIR)/man1/markad.1.gz
-+endif
-
- install: install-doc markad $(I18Nmsgs)
-+ifdef FREEBSD
-+ @mkdir -p ${DESTDIR}$(PREFIX)/bin
-+ @cp -f markad ${DESTDIR}$(PREFIX)/bin/markad
-+ @$(STRIP) ${DESTDIR}$(PREFIX)/bin/markad
-+ @mkdir -p ${DESTDIR}$(DATADIR)/logos
-+ @cp logos/* ${DESTDIR}$(DATADIR)/logos
-+else
- @mkdir -p $(DESTDIR)/usr/bin
- @cp --remove-destination markad $(DESTDIR)/usr/bin/markad
- @$(STRIP) $(DESTDIR)/usr/bin/markad
- @mkdir -p $(DESTDIR)/var/lib/markad
- @cp -a logos/* $(DESTDIR)/var/lib/markad
-+endif
- @echo markad installed
-
- clean:
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp b/multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp
deleted file mode 100644
index 8f015359e794..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_decoder.cpp
+++ /dev/null
@@ -1,192 +0,0 @@
---- command/decoder.cpp.orig 2012-04-02 19:41:15 UTC
-+++ command/decoder.cpp
-@@ -6,11 +6,17 @@
- */
-
- #include <stdint.h>
-+#ifndef __FreeBSD__
- #include <sched.h>
-+#else
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#endif
- #include <errno.h>
- #include <sys/types.h>
- #include <string.h>
- #include <cstdlib>
-+#include <stdio.h>
-
- #include "decoder.h"
-
-@@ -113,6 +119,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
-
- noticeERRVID=false;
-
-+#ifndef __FreeBSD__
- cpu_set_t cpumask;
- uint len = sizeof(cpumask);
- int cpucount=1;
-@@ -120,6 +127,12 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- {
- cpucount=CPU_COUNT(&cpumask);
- }
-+#else
-+ int cpucount;
-+ size_t cpus_size = sizeof(cpucount);
-+ if (sysctlbyname("hw.ncpu", &cpucount, &cpus_size, NULL, 0) == -1)
-+ cpucount = 1;
-+#endif
-
- if (Threads==-1)
- {
-@@ -151,41 +164,47 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- }
-
- video_codec=NULL;
-- CodecID video_codecid;
-+ AVCodecID video_codecid;
-
- if (useH264)
- {
-- video_codecid=CODEC_ID_H264;
-+ video_codecid=AV_CODEC_ID_H264;
- }
- else
- {
-- video_codecid=CODEC_ID_MPEG2VIDEO_XVMC;
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO_XVMC;
-+#else
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
-+#endif
- }
-
- video_codec = avcodec_find_decoder(video_codecid);
-- if ((!video_codec) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC))
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ if ((!video_codec) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC))
- {
- // fallback to MPEG2VIDEO
-- video_codecid=CODEC_ID_MPEG2VIDEO;
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
- video_codec=avcodec_find_decoder(video_codecid);
- }
-+#endif
-
- if (video_codec)
- {
-- video_context = avcodec_alloc_context();
-+ video_context = avcodec_alloc_context3(NULL);
- if (video_context)
- {
-- if (video_codec->capabilities & CODEC_CAP_TRUNCATED)
-- video_context->flags|=CODEC_FLAG_TRUNCATED; // we do not send complete frames
-+ if (video_codec->capabilities & AV_CODEC_CAP_TRUNCATED)
-+ video_context->flags|=AV_CODEC_FLAG_TRUNCATED; // we do not send complete frames
-
-- video_context->flags2|=CODEC_FLAG2_FAST; // really?
-+ video_context->flags2|=AV_CODEC_FLAG2_FAST; // really?
- video_context->skip_idct=AVDISCARD_ALL;
-
- av_log_set_level(AV_LOG_FATAL); // silence decoder output
-
-- if (video_codecid==CODEC_ID_H264)
-+ if (video_codecid==AV_CODEC_ID_H264)
- {
-- video_context->flags2|=CODEC_FLAG2_CHUNKS; // needed for H264!
-+ video_context->flags2|=AV_CODEC_FLAG2_CHUNKS; // needed for H264!
- }
- else
- {
-@@ -198,17 +217,23 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- #else
- int ret=avcodec_open(video_context, video_codec);
- #endif
-- if ((ret < 0) && (video_codecid==CODEC_ID_MPEG2VIDEO_XVMC))
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ if ((ret < 0) && (video_codecid==AV_CODEC_ID_MPEG2VIDEO_XVMC))
-+#else
-+ if (ret < 0)
-+#endif
- {
- // fallback to MPEG2VIDEO
-- video_codecid=CODEC_ID_MPEG2VIDEO;
-+ video_codecid=AV_CODEC_ID_MPEG2VIDEO;
- video_codec=avcodec_find_decoder(video_codecid);
- if (video_codec)
- {
- video_context->codec_type=AVMEDIA_TYPE_UNKNOWN;
-- video_context->codec_id=CODEC_ID_NONE;
-+ video_context->codec_id=AV_CODEC_ID_NONE;
- video_context->codec_tag=0;
-+#if LIBAVCODEC_VERSION_INT < ((58<<16)+(0<<8)+0)
- memset(video_context->codec_name,0,sizeof(video_context->codec_name));
-+#endif
- #if LIBAVCODEC_VERSION_INT >= ((53<<16)+(5<<8)+0)
- video_context->thread_count=threadcount;
- ret=avcodec_open2(video_context, video_codec, NULL);
-@@ -225,13 +250,15 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- {
- switch (video_codecid)
- {
-- case CODEC_ID_H264:
-+ case AV_CODEC_ID_H264:
- esyslog("could not open codec for H264");
- break;
-- case CODEC_ID_MPEG2VIDEO_XVMC:
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ case AV_CODEC_ID_MPEG2VIDEO_XVMC:
- esyslog("could not open codec MPEG2 (XVMC)");
- break;
-- case CODEC_ID_MPEG2VIDEO:
-+#endif
-+ case AV_CODEC_ID_MPEG2VIDEO:
- esyslog("could not open codec MPEG2");
- break;
- default:
-@@ -256,7 +283,7 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- }
- #endif
-
-- video_frame = avcodec_alloc_frame();
-+ video_frame = av_frame_alloc();
- if (!video_frame)
- {
- esyslog("could not allocate frame");
-@@ -286,13 +313,15 @@ cMarkAdDecoder::cMarkAdDecoder(bool useH264, int Threa
- {
- switch (video_codecid)
- {
-- case CODEC_ID_H264:
-+ case AV_CODEC_ID_H264:
- esyslog("codec for H264 not found");
- break;
-- case CODEC_ID_MPEG2VIDEO_XVMC:
-+#ifdef AV_CODEC_ID_MPEG2VIDEO_XVMC
-+ case AV_CODEC_ID_MPEG2VIDEO_XVMC:
- esyslog("codec for MPEG2 (XVMC) not found");
- break;
-- case CODEC_ID_MPEG2VIDEO:
-+#endif
-+ case AV_CODEC_ID_MPEG2VIDEO:
- esyslog("codec for MPEG2 not found");
- break;
- default:
-@@ -321,7 +350,7 @@ bool cMarkAdDecoder::Clear()
- {
- avcodec_flush_buffers(video_context);
- AVCodecContext *dest;
-- dest=avcodec_alloc_context();
-+ dest=avcodec_alloc_context3(NULL);
- if (dest)
- {
- if (avcodec_copy_context(dest,video_context)!=0) ret=false;
-@@ -384,7 +413,7 @@ bool cMarkAdDecoder::DecodeVideo(MarkAdContext *maCont
- if (!video_frame) return false;
- maContext->Video.Data.Valid=false;
-
-- if ((video_context->codec_id==CODEC_ID_H264) && (!video_context->skip_frame))
-+ if ((video_context->codec_id==AV_CODEC_ID_H264) && (!video_context->skip_frame))
- {
- // with H264 we cannot set skip_frame just to NONKEY, is depends on Interlaced...
- if (maContext->Video.Info.Height)
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_decoder.h b/multimedia/vdr-plugin-markad/files/patch-command_decoder.h
deleted file mode 100644
index 52e1c7124424..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_decoder.h
+++ /dev/null
@@ -1,10 +0,0 @@
---- command/decoder.h.orig 2012-02-24 20:08:34 UTC
-+++ command/decoder.h
-@@ -18,6 +18,7 @@ extern "C"
- #include <avcodec.h>
- #else
- #include <libavcodec/avcodec.h>
-+#include <libavutil/mem.h>
- #endif
-
- #if LIBAVCODEC_VERSION_INT < ((52<<16)+(0<<8)+0)
diff --git a/multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp b/multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp
deleted file mode 100644
index 3417fbdee961..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-command_markad-standalone.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
---- command/markad-standalone.cpp.orig 2012-09-11 11:06:28 UTC
-+++ command/markad-standalone.cpp
-@@ -24,7 +24,13 @@
- #include <locale.h>
- #include <libintl.h>
- #include <execinfo.h>
-+#ifndef __FreeBSD__
- #include <mntent.h>
-+#else
-+#include <netinet/in.h>
-+#include <sys/socket.h>
-+#include <sys/mount.h>
-+#endif
- #include <utime.h>
- #include <math.h>
- #include <limits.h>
-@@ -1428,6 +1434,7 @@ bool cMarkAdStandalone::SaveInfo()
- time_t cMarkAdStandalone::GetBroadcastStart(time_t start, int fd)
- {
- // get broadcast start from atime of directory (if the volume is mounted with noatime)
-+#ifndef __FreeBSD__
- struct mntent *ent;
- struct stat statbuf;
- FILE *mounts=setmntent(_PATH_MOUNTED,"r");
-@@ -1454,6 +1461,14 @@ time_t cMarkAdStandalone::GetBroadcastSt
- }
- }
- endmntent(mounts);
-+#else
-+ struct stat statbuf;
-+ struct statfs statfsbuf;
-+ bool useatime=false;
-+ if ((statfs(directory, &statfsbuf) == 0) &&
-+ !(statfsbuf.f_flags & MNT_NOATIME))
-+ useatime=true;
-+#endif
-
- if ((useatime) && (stat(directory,&statbuf)!=-1))
- {
-@@ -1554,6 +1569,16 @@ bool cMarkAdStandalone::LoadInfo()
- if (lf) *lf=0;
- char *cr=strchr(macontext.Info.ChannelName,13);
- if (cr) *cr=0;
-+#if 1
-+ int len = strlen(macontext.Info.ChannelName);
-+ if (len > 5 &&
-+ (!strcmp(macontext.Info.ChannelName + len - 4, " (A)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (C)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (S)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (T)") ||
-+ !strcmp(macontext.Info.ChannelName + len - 4, " (I)")))
-+ macontext.Info.ChannelName[len - 4] = '\0';
-+#endif
- for (int i=0; i<(int) strlen(macontext.Info.ChannelName); i++)
- {
- if (macontext.Info.ChannelName[i]==' ') macontext.Info.ChannelName[i]='_';
-@@ -1961,10 +1986,14 @@ bool cMarkAdStandalone::CreatePidfile()
- int pid;
- if (fscanf(oldpid,"%10i\n",&pid)==1)
- {
-+#ifndef __FreeBSD__
- char procname[256]="";
- snprintf(procname,sizeof(procname),"/proc/%i",pid);
- struct stat statbuf;
- if (stat(procname,&statbuf)!=-1)
-+#else
-+ if (kill(pid, 0) == 0)
-+#endif
- {
- // found another, running markad
- fprintf(stderr,"another instance is running on %s",directory);
-@@ -2081,6 +2110,7 @@ cMarkAdStandalone::cMarkAdStandalone(con
- }
- }
-
-+#ifndef __FreeBSD__
- long lb;
- errno=0;
- lb=sysconf(_SC_LONG_BIT);
-@@ -2089,6 +2119,7 @@ cMarkAdStandalone::cMarkAdStandalone(con
- isyslog("starting v%s (%libit)",VERSION,lb);
- }
- else
-+#endif
- {
- isyslog("starting v%s",VERSION);
- }
-@@ -2319,7 +2350,7 @@ cMarkAdStandalone::~cMarkAdStandalone()
- RemovePidfile();
- }
-
--bool isnumber(const char *s)
-+bool str_isnumber(const char *s)
- {
- while (*s)
- {
-@@ -2345,7 +2376,11 @@ int usage(int svdrpport)
- " ignores hints from info(.vdr) file\n"
- " <info> 4 = ignore timer info\n"
- "-l --logocachedir\n"
-+#ifdef DATADIR
-+ " directory where logos stored, default " DATADIR "/logos\n"
-+#else
- " directory where logos stored, default /var/lib/markad\n"
-+#endif
- "-p --priority=<priority>\n"
- " software priority of markad when running in background\n"
- " <priority> from -20...19, default 19\n"
-@@ -2489,7 +2524,11 @@ int main(int argc, char *argv[])
- config.logoHeight=-1;
- config.threads=-1;
- strcpy(config.svdrphost,"127.0.0.1");
-+#ifdef DATADIR
-+ strcpy(config.logoDirectory,DATADIR "/logos");
-+#else
- strcpy(config.logoDirectory,"/var/lib/markad");
-+#endif
-
- struct servent *serv=getservbyname("svdrp","tcp");
- if (serv)
-@@ -2620,7 +2659,7 @@ int main(int argc, char *argv[])
-
- case 'p':
- // --priority
-- if (isnumber(optarg) || *optarg=='-')
-+ if (str_isnumber(optarg) || *optarg=='-')
- niceLevel = atoi(optarg);
- else
- {
-@@ -2806,7 +2845,7 @@ int main(int argc, char *argv[])
- break;
-
- case 9: // --svdrpport
-- if (isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536)
-+ if (str_isnumber(optarg) && atoi(optarg) > 0 && atoi(optarg) < 65536)
- {
- config.svdrpport=atoi(optarg);
- }
diff --git a/multimedia/vdr-plugin-markad/files/patch-plugin_Makefile b/multimedia/vdr-plugin-markad/files/patch-plugin_Makefile
deleted file mode 100644
index 6471e82124d7..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-plugin_Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
---- plugin/Makefile.orig 2012-02-13 19:32:27 UTC
-+++ plugin/Makefile
-@@ -99,11 +99,19 @@ i18n: $(I18Nmsgs) $(I18Npot)
- ### Targets:
-
- install: all
-+ifdef FREEBSD
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+else
- cp --remove-destination libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared $(OBJS) $(LIBS) -o $@
-+ifdef FREEBSD
-+ cp -f libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
-+else
- cp --remove-destination libvdr-$(PLUGIN).so $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION)
-+endif
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.so.* *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
diff --git a/multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp b/multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp
deleted file mode 100644
index 86a4a947806e..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-plugin_markad.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
---- plugin/markad.cpp.orig 2012-09-10 12:45:12 UTC
-+++ plugin/markad.cpp
-@@ -15,8 +15,16 @@
-
- #include "markad.h"
-
-+#ifdef PREFIX
-+#define DEF_BINDIR PREFIX "/bin"
-+#else
- #define DEF_BINDIR "/usr/bin"
-+#endif
-+#ifdef DATADIR
-+#define DEF_LOGODIR DATADIR "/logos"
-+#else
- #define DEF_LOGODIR "/var/lib/markad"
-+#endif
-
- cPluginMarkAd::cPluginMarkAd(void)
- {
diff --git a/multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp b/multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp
deleted file mode 100644
index 82f6f6224b82..000000000000
--- a/multimedia/vdr-plugin-markad/files/patch-plugin_status.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
---- plugin/status.cpp.orig 2012-09-09 23:00:32 UTC
-+++ plugin/status.cpp
-@@ -6,6 +6,12 @@
- */
-
- #include <signal.h>
-+#ifdef __FreeBSD__
-+#include <sys/types.h>
-+#include <sys/sysctl.h>
-+#include <sys/user.h>
-+#include <sys/vmmeter.h>
-+#endif
-
- #include "status.h"
-
-@@ -135,7 +141,12 @@ bool cStatusMarkAd::LogoExists(const cha
- cTimer *timer=NULL;
- for (cTimer *Timer = Timers.First(); Timer; Timer=Timers.Next(Timer))
- {
-+#if 1
-+ if (Timer->Recording() &&
-+ (!strcmp(Timer->ToDescr(),Name) || !strcmp(Timer->File(),Name)))
-+#else
- if (Timer->Recording() && (!strcmp(Timer->ToDescr(),Name)))
-+#endif
- {
- timer=Timer;
- break;
-@@ -150,6 +161,16 @@ bool cStatusMarkAd::LogoExists(const cha
- if (!chan) return false;
- char *cname=strdup(chan->Name());
- if (!cname) return false;
-+#if 1
-+ int len = strlen(cname);
-+ if (len > 5 &&
-+ (!strcmp(cname + len - 4, " (A)") ||
-+ !strcmp(cname + len - 4, " (C)") ||
-+ !strcmp(cname + len - 4, " (S)") ||
-+ !strcmp(cname + len - 4, " (T)") ||
-+ !strcmp(cname + len - 4, " (I)")))
-+ cname[len - 4] = '\0';
-+#endif
- for (int i=0; i<(int) strlen(cname); i++)
- {
- if (cname[i]==' ') cname[i]='_';
-@@ -233,6 +254,7 @@ bool cStatusMarkAd::getStatus(int Positi
- if (Position<0) return false;
- if (!recs[Position].Pid) return false;
- int ret=0;
-+#ifndef __FreeBSD__
- char procname[256]="";
- snprintf(procname,sizeof(procname),"/proc/%i/stat",recs[Position].Pid);
- FILE *fstat=fopen(procname,"r");
-@@ -252,6 +274,59 @@ bool cStatusMarkAd::getStatus(int Positi
- }
- }
- return (ret==1);
-+#else
-+ int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, recs[Position].Pid};
-+ size_t len = 0;
-+ struct kinfo_proc *kipp = NULL;
-+ if (sysctl(mib, sizeof(mib)/sizeof(*mib), NULL, &len, NULL, 0) >= 0 &&
-+ (kipp = (kinfo_proc *)malloc(len)) != NULL &&
-+ sysctl(mib, sizeof(mib)/sizeof(*mib), kipp, &len, NULL, 0) >= 0 &&
-+ len == sizeof(*kipp) && kipp->ki_structsize == sizeof(*kipp) &&
-+ kipp->ki_pid == recs[Position].Pid) {
-+
-+ int tdflags = kipp->ki_tdflags; /* XXXKSE */
-+
-+ ret = 1;
-+
-+ switch (kipp->ki_stat) {
-+
-+ case SSTOP:
-+ recs[Position].Status = 'T';
-+ break;
-+
-+ case SSLEEP:
-+ if (tdflags & TDF_SINTR) /* interruptable (long) */
-+ recs[Position].Status = /* kipp->ki_slptime >= MAXSLP ? 'I' : */ 'S';
-+ else
-+ recs[Position].Status = 'D';
-+ break;
-+
-+ case SRUN:
-+ case SIDL:
-+ recs[Position].Status = 'R';
-+ break;
-+
-+ case SWAIT:
-+ recs[Position].Status = 'W';
-+ break;
-+
-+ case SLOCK:
-+ recs[Position].Status = 'L';
-+ break;
-+
-+ case SZOMB:
-+ recs[Position].Status = 'Z';
-+ break;
-+
-+ default:
-+ recs[Position].Status = '?';
-+ }
-+ } else {
-+ Remove(Position);
-+ }
-+ free(kipp);
-+ return ret;
-+#endif
- }
-
- bool cStatusMarkAd::getPid(int Position)
diff --git a/multimedia/vdr-plugin-markad/pkg-descr b/multimedia/vdr-plugin-markad/pkg-descr
deleted file mode 100644
index 3f86cb54ea88..000000000000
--- a/multimedia/vdr-plugin-markad/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Markad-plugin
-
-MarkAd marks advertisements in VDR recordings.
-
-WWW: https://projects.vdr-developer.org/projects/plg-markad
diff --git a/multimedia/vdr-plugin-markad/pkg-plist b/multimedia/vdr-plugin-markad/pkg-plist
deleted file mode 100644
index aa52462031e4..000000000000
--- a/multimedia/vdr-plugin-markad/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-bin/markad
-lib/vdr/libvdr-markad.so.%%APIVERSION%%
-man/man1/markad.1.gz
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-markad.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/markad.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/markad.mo
diff --git a/multimedia/vdr-plugin-osdpip/Makefile b/multimedia/vdr-plugin-osdpip/Makefile
deleted file mode 100644
index 5b725245e9fb..000000000000
--- a/multimedia/vdr-plugin-osdpip/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-osdpip
-PORTVERSION= 0.1.2
-PORTREVISION= 9
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/961/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-DIST_SUBDIR= vdr
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - picture-in-picture plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS+= libavcodec.so:multimedia/ffmpeg
-
-USES= pkgconfig tar:tgz
-PORTDOCS= COPYING README HISTORY
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- ${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-osdpip/distinfo b/multimedia/vdr-plugin-osdpip/distinfo
deleted file mode 100644
index ac493758c461..000000000000
--- a/multimedia/vdr-plugin-osdpip/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1465488132
-SHA256 (vdr/vdr-osdpip-0.1.2.tgz) = 08761f6474dd2e5bd4d3dc83b4d2d3b9169a04931cb8aca2e54fdb5ad979a0c6
-SIZE (vdr/vdr-osdpip-0.1.2.tgz) = 50756
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-Makefile b/multimedia/vdr-plugin-osdpip/files/patch-Makefile
deleted file mode 100644
index 22ad1da58b49..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- Makefile.orig 2012-05-16 19:06:00 UTC
-+++ Makefile
-@@ -156,7 +156,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) -shared -o $@ $^ $(LIBS)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -168,3 +172,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-decoder.c b/multimedia/vdr-plugin-osdpip/files/patch-decoder.c
deleted file mode 100644
index 8ec85a41931b..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-decoder.c
+++ /dev/null
@@ -1,20 +0,0 @@
---- decoder.c.orig 2012-02-12 12:24:00 UTC
-+++ decoder.c
-@@ -55,13 +55,13 @@ int cDecoder::Close()
- {
- #ifndef USE_SWSCALE
- delete[] m_BufferConvert;
-- free(m_PicConvert);
-+ av_free(m_PicConvert);
- #endif
- delete[] m_BufferResample;
-- free(m_PicResample);
-+ av_free(m_PicResample);
- avcodec_close(m_Context);
-- free(m_Context);
-- free(m_PicDecoded);
-+ av_free(m_Context);
-+ av_free(m_PicDecoded);
-
- return 0;
- }
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1 b/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1
deleted file mode 100644
index 11877a9524a3..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg1
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: decoder.h
-===================================================================
---- decoder.h.orig
-+++ decoder.h
-@@ -34,7 +34,7 @@ extern "C"
- #include <libavcodec/avcodec.h>
- #ifdef USE_SWSCALE
- #include <libswscale/swscale.h>
-- #include <libavcodec/opt.h>
-+ #include <libavutil/opt.h>
- #endif
- #else
- #include <ffmpeg/avcodec.h>
-Index: osdpip.c
-===================================================================
---- osdpip.c.orig
-+++ osdpip.c
-@@ -73,8 +73,6 @@ bool cPluginOsdpip::ProcessArgs(int argc
-
- bool cPluginOsdpip::Initialize(void)
- {
-- // must be called before using avcodec lib
-- avcodec_init();
- // register all the codecs (you can also register only the codec
- // you wish to have smaller code)
- avcodec_register_all();
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg3 b/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg3
deleted file mode 100644
index 221667268acf..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-ffmpeg3
+++ /dev/null
@@ -1,52 +0,0 @@
---- decoder.c.orig 2016-06-11 10:45:23.850303000 +0200
-+++ decoder.c 2016-06-11 10:50:57.243181000 +0200
-@@ -28,7 +28,7 @@
-
- int cDecoder::Open()
- {
-- m_Codec = avcodec_find_decoder(CODEC_ID_MPEG2VIDEO);
-+ m_Codec = avcodec_find_decoder(AV_CODEC_ID_MPEG2VIDEO);
- if (!m_Codec)
- {
- printf("codec not found\n");
-@@ -40,8 +40,8 @@
- printf("could not open codec\n");
- return -1;
- }
-- m_PicDecoded = avcodec_alloc_frame();
-- m_PicResample = avcodec_alloc_frame();
-+ m_PicDecoded = av_frame_alloc();
-+ m_PicResample = av_frame_alloc();
- m_BufferResample = new unsigned char[400 * 300 * 4]; // size for RGBA32
- #ifndef USE_SWSCALE
- m_PicConvert = avcodec_alloc_frame();
-@@ -99,7 +99,7 @@
- AVPicture pic_crop;
- struct SwsContext * context;
-
-- av_picture_crop(&pic_crop, (AVPicture *) m_PicDecoded, PIX_FMT_YUV420P, OsdPipSetup.CropTop, OsdPipSetup.CropLeft);
-+ av_picture_crop(&pic_crop, (AVPicture *) m_PicDecoded, AV_PIX_FMT_YUV420P, OsdPipSetup.CropTop, OsdPipSetup.CropLeft);
- #ifdef FF_API_SWS_GETCONTEXT
- if (!(context = sws_alloc_context())) {
- printf("Error initializing scale context.\n");
-@@ -126,9 +126,9 @@
- #else
- context = sws_getContext(m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight),
- m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom),
-- PIX_FMT_YUV420P,
-+ AV_PIX_FMT_YUV420P,
- #ifdef USE_NEW_FFMPEG_HEADERS
-- m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P,
-+ m_Width, m_Height, ConvertToRGB ? AV_PIX_FMT_RGB32 : AV_PIX_FMT_YUV420P,
- #else
- m_Width, m_Height, ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P,
- #endif
-@@ -140,7 +140,7 @@
- #endif
- avpicture_fill((AVPicture *) m_PicResample, m_BufferResample,
- #ifdef USE_NEW_FFMPEG_HEADERS
-- ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P,
-+ ConvertToRGB ? AV_PIX_FMT_RGB32 : AV_PIX_FMT_YUV420P,
- #else
- ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P,
- #endif
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-libav9 b/multimedia/vdr-plugin-osdpip/files/patch-libav9
deleted file mode 100644
index beeb4422d671..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-libav9
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -urN osdpip-0.1.2.old/decoder.c osdpip-0.1.2/decoder.c
---- decoder.c.orig 2013-06-17 21:01:31.795476861 +0200
-+++ decoder.c 2013-06-17 21:01:57.153475959 +0200
-@@ -34,8 +34,8 @@
- printf("codec not found\n");
- return -1;
- }
-- m_Context = avcodec_alloc_context();
-- if (avcodec_open(m_Context, m_Codec) < 0)
-+ m_Context = avcodec_alloc_context3(m_Codec);
-+ if (avcodec_open2(m_Context, m_Codec, NULL) < 0)
- {
- printf("could not open codec\n");
- return -1;
-@@ -106,17 +106,17 @@
- return -1;
- }
-
-- av_set_int(context, "srcw", m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight));
-- av_set_int(context, "srch", m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom));
-- av_set_int(context, "src_format", PIX_FMT_YUV420P);
-- av_set_int(context, "dstw", m_Width);
-- av_set_int(context, "dsth", m_Height);
-+ av_opt_set_int(context, "srcw", m_Context->width - (OsdPipSetup.CropLeft + OsdPipSetup.CropRight), 0);
-+ av_opt_set_int(context, "srch", m_Context->height - (OsdPipSetup.CropTop + OsdPipSetup.CropBottom), 0);
-+ av_opt_set_int(context, "src_format", PIX_FMT_YUV420P, 0);
-+ av_opt_set_int(context, "dstw", m_Width, 0);
-+ av_opt_set_int(context, "dsth", m_Height, 0);
- #ifdef USE_NEW_FFMPEG_HEADERS
-- av_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P);
-+ av_opt_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGB32 : PIX_FMT_YUV420P, 0);
- #else
-- av_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P);
-+ av_opt_set_int(context, "dst_format", ConvertToRGB ? PIX_FMT_RGBA32 : PIX_FMT_YUV420P, 0);
- #endif
-- av_set_int(context, "sws_flags", SWS_LANCZOS);
-+ av_opt_set_int(context, "sws_flags", SWS_LANCZOS, 0);
-
- if (sws_init_context(context, NULL, NULL) < 0) {
- printf("Error initializing conversion context.\n");
diff --git a/multimedia/vdr-plugin-osdpip/files/patch-osd.c b/multimedia/vdr-plugin-osdpip/files/patch-osd.c
deleted file mode 100644
index b523ade4f8c4..000000000000
--- a/multimedia/vdr-plugin-osdpip/files/patch-osd.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- osd.c.orig 2012-05-16 20:25:00 UTC
-+++ osd.c
-@@ -780,7 +780,7 @@ eOSState cOsdPipObject::ProcessKey(eKeys
- if (cControl::Control())
- {
- cControl::Control()->GetIndex(pos, end);
-- if (pPos == "")
-+ if (*pPos == '\0')
- {
- pPos = IndexToHMSF(pos);
- }
diff --git a/multimedia/vdr-plugin-osdpip/pkg-descr b/multimedia/vdr-plugin-osdpip/pkg-descr
deleted file mode 100644
index 8ee55fddd1b2..000000000000
--- a/multimedia/vdr-plugin-osdpip/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Osdpip-plugin
-
-OSD Picture-in-Picture is a VDR PlugIn that displays the current channel
-in a small box on the screen (default upper right corner). You can switch
-up and down now, watching the progress of the previous channel in the box.
-Quality is not too good yet, and only I-Frames are displayed.
-
-WWW: https://projects.vdr-developer.org/projects/plg-osdpip
diff --git a/multimedia/vdr-plugin-osdpip/pkg-plist b/multimedia/vdr-plugin-osdpip/pkg-plist
deleted file mode 100644
index 8ca58eb5e03a..000000000000
--- a/multimedia/vdr-plugin-osdpip/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-lib/vdr/libvdr-osdpip.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-osdpip.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-osdpip.mo
diff --git a/multimedia/vdr-plugin-osdteletext/Makefile b/multimedia/vdr-plugin-osdteletext/Makefile
deleted file mode 100644
index 7868f5d6aee2..000000000000
--- a/multimedia/vdr-plugin-osdteletext/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-osdteletext
-PORTVERSION= 0.9.2
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/899/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - OSD teletext plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}/var/cache/vdr/vtx
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-osdteletext/distinfo b/multimedia/vdr-plugin-osdteletext/distinfo
deleted file mode 100644
index c93c440c17ad..000000000000
--- a/multimedia/vdr-plugin-osdteletext/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-osdteletext-0.9.2.tgz) = d6c7eee8dc81d0e9499250b3f6540603d8d290d9a1ecbaa4d19092f606662bac
-SIZE (vdr/vdr-osdteletext-0.9.2.tgz) = 60028
diff --git a/multimedia/vdr-plugin-osdteletext/files/patch-Makefile b/multimedia/vdr-plugin-osdteletext/files/patch-Makefile
deleted file mode 100644
index 211175d7efb0..000000000000
--- a/multimedia/vdr-plugin-osdteletext/files/patch-Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
---- osdteletext-0.8.3/Makefile.orig
-+++ osdteletext-0.8.3/Makefile
-@@ -113,5 +113,8 @@ clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
- install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
-+
-+install-readme:
- @install -d ../../man
- @install README ../../man/$(PLUGIN).man
diff --git a/multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt b/multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt
deleted file mode 100644
index 33c6f5889ed9..000000000000
--- a/multimedia/vdr-plugin-osdteletext/files/patch-osdteletext-vdr-1.7.27.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-diff --git a/txtrecv.c b/txtrecv.c
-index 3dc89f6..3de5c1d 100644
---- a/txtrecv.c
-+++ b/txtrecv.c
-@@ -518,7 +518,7 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber
- int TPid = newLiveChannel->Tpid();
-
- if (TPid) {
-- receiver = new cTxtReceiver(TPid, newLiveChannel->GetChannelID(), storeTopText, storage);
-+ receiver = new cTxtReceiver(newLiveChannel, storeTopText, storage);
- cDevice::ActualDevice()->AttachReceiver(receiver);
- }
-
-@@ -526,10 +526,18 @@ void cTxtStatus::ChannelSwitch(const cDevice *Device, int ChannelNumber
- }
-
-
--cTxtReceiver::cTxtReceiver(int TPid, tChannelID chan, bool storeTopText, Storage* storage)
-- : cReceiver(chan, -1, TPid), cThread("osdteletext-receiver"),
-+cTxtReceiver::cTxtReceiver(const cChannel* chan, bool storeTopText, Storage* storage)
-+#if APIVERSNUM >= 10712
-+ : cReceiver(chan, -1), cThread("osdteletext-receiver"),
-+#else
-+ : cReceiver(chan, -1, chan->Tpid()), cThread("osdteletext-receiver"),
-+#endif
- TxtPage(0), storeTopText(storeTopText), buffer((188+60)*75), storage(storage)
- {
-+#if APIVERSNUM >= 10712
-+ SetPids(NULL);
-+ AddPid(chan->Tpid());
-+#endif
- storage->prepareDirectory(ChannelID());
-
- // 10 ms timeout on getting TS frames
-diff --git a/txtrecv.h b/txtrecv.h
-index a111d0d..3468b6e 100644
---- a/txtrecv.h
-+++ b/txtrecv.h
-@@ -165,7 +165,7 @@ protected:
- virtual void Receive(uchar *Data, int Length);
- virtual void Action();
- public:
-- cTxtReceiver(int TPid, tChannelID chan, bool storeTopText, Storage* storage);
-+ cTxtReceiver(const cChannel* chan, bool storeTopText, Storage* storage);
- virtual ~cTxtReceiver();
- virtual void Stop();
- };
diff --git a/multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2 b/multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2
deleted file mode 100644
index 8db6a0967a04..000000000000
--- a/multimedia/vdr-plugin-osdteletext/files/patch-vdr-osdteletext-0.9.2
+++ /dev/null
@@ -1,29 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -98,7 +98,11 @@ all: libvdr-$(PLUGIN).so i18n
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-diff -ur orig/osdteletext-0.8.3/txtrecv.c osdteletext-0.8.3/txtrecv.c
---- orig/osdteletext-0.8.3/txtrecv.c 2009-05-25 20:28:59.000000000 +0200
-+++ osdteletext-0.8.3/txtrecv.c 2010-03-16 17:29:53.000000000 +0100
-@@ -22,7 +22,11 @@
- #include <pthread.h>
- #include <signal.h>
- #include <errno.h>
-+#ifdef __FreeBSD__
-+#include <sys/mount.h>
-+#else
- #include <sys/vfs.h>
-+#endif
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <fcntl.h>
diff --git a/multimedia/vdr-plugin-osdteletext/pkg-descr b/multimedia/vdr-plugin-osdteletext/pkg-descr
deleted file mode 100644
index 96ebf51fd3d4..000000000000
--- a/multimedia/vdr-plugin-osdteletext/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Osdteletext-plugin
-
-Osd-Teletext displays the teletext directly on VDR's OSD.
-Both sound and video are played in the background.
-
-WWW: https://projects.vdr-developer.org/projects/plg-osdteletext
diff --git a/multimedia/vdr-plugin-osdteletext/pkg-plist b/multimedia/vdr-plugin-osdteletext/pkg-plist
deleted file mode 100644
index 621ab650d194..000000000000
--- a/multimedia/vdr-plugin-osdteletext/pkg-plist
+++ /dev/null
@@ -1,13 +0,0 @@
-lib/vdr/libvdr-osdteletext.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-osdteletext.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-osdteletext.mo
-@dir(%%VDR_USER%%,%%VDR_GROUP%%,) /var/cache/vdr/vtx
-@dir /var/cache/vdr
diff --git a/multimedia/vdr-plugin-reelchannelscan/Makefile b/multimedia/vdr-plugin-reelchannelscan/Makefile
deleted file mode 100644
index 160ada6183df..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-reelchannelscan
-PORTVERSION= 0.6.1b1.7.15
-PORTREVISION= 13
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/nox \
- http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu/pool/main/v/vdr-plugin-reelchannelscan/
-DISTFILES= ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/b/+beta/}${DISTVERSIONSUFFIX}.orig${EXTRACT_SUFX} \
- ${PORTNAME}_${DISTVERSIONPREFIX}${DISTVERSION:S/b/+beta/}${DISTVERSIONSUFFIX}-27yavdr1.debian${EXTRACT_SUFX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - Reelchannelscan plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION:S/b1.7.15//}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/transponders
- ${INSTALL_DATA} ${WRKDIR}/debian/transponders/*.tpl \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/transponders
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-reelchannelscan/distinfo b/multimedia/vdr-plugin-reelchannelscan/distinfo
deleted file mode 100644
index 1ab9e78a3886..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15.orig.tar.gz) = 680a71e35674e3dd9408cec75edf2307e83fdf4615a9fdeabae4827087264da5
-SIZE (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15.orig.tar.gz) = 82747
-SHA256 (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15-27yavdr1.debian.tar.gz) = 881c928fa4aac4fe696a884210da52c3ab598f75d09564953565025322753e40
-SIZE (vdr/vdr-plugin-reelchannelscan_0.6.1+beta1.7.15-27yavdr1.debian.tar.gz) = 11972
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile b/multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile
deleted file mode 100644
index e39e774839dc..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -141,3 +141,5 @@ clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c
deleted file mode 100644
index 89362e6fc64d..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.c
+++ /dev/null
@@ -1,66 +0,0 @@
---- a/channelscan.c
-+++ b/channelscan.c
-@@ -37,6 +37,11 @@
- eAutoScanStat
- cPluginChannelscan::AutoScanStat = AssNone;
-
-+#if APIVERSNUM > 10723
-+cStringList
-+ cPluginChannelscan::Nodes;
-+#endif
-+
- cScanSetup ScanSetup;
- bool OnlyChannelList=false;
-
-@@ -117,11 +122,51 @@ cPluginChannelscan::Initialize(void)
- return true;
- }
-
-+#if APIVERSNUM > 10723
-+bool
-+cPluginChannelscan::GetAdapterFrontend(int CardIndex, int &Adapter, int &Frontend) {
-+ Adapter = Frontend = -1;
-+ if (CardIndex < 0)
-+ return false;
-+ if (CardIndex < Nodes.Size() &&
-+ 2 == sscanf(Nodes[CardIndex], "%d %d", &Adapter, &Frontend)) {
-+ return true;
-+ }
-+ return false;
-+}
-+#endif
-+
- bool
- cPluginChannelscan::Start(void)
- {
- // Start any background activities the plugin shall perform.
-+#if (APIVERSNUM < 10507)
- RegisterI18n(Phrases);
-+#endif
-+#if APIVERSNUM > 10723
-+ cReadDir DvbDir(DEV_DVB_BASE);
-+ if (DvbDir.Ok()) {
-+ struct dirent *a;
-+ while ((a = DvbDir.Next()) != NULL) {
-+ if (strstr(a->d_name, DEV_DVB_ADAPTER) == a->d_name) {
-+ int Adapter = strtol(a->d_name + strlen(DEV_DVB_ADAPTER), NULL, 10);
-+ cReadDir AdapterDir(AddDirectory(DEV_DVB_BASE, a->d_name));
-+ if (AdapterDir.Ok()) {
-+ struct dirent *f;
-+ while ((f = AdapterDir.Next()) != NULL) {
-+ if (strstr(f->d_name, DEV_DVB_FRONTEND) == f->d_name) {
-+ int Frontend = strtol(f->d_name + strlen(DEV_DVB_FRONTEND), NULL, 10);
-+ Nodes.Append(strdup(cString::sprintf("%2d %2d", Adapter, Frontend)));
-+ }
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ if (Nodes.Size() > 0)
-+ Nodes.Sort();
-+#endif
- return true;
- }
-
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h b/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h
deleted file mode 100644
index 922dd1b4a740..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-channelscan.h
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/channelscan.h
-+++ b/channelscan.h
-@@ -68,6 +68,9 @@ class cPluginChannelscan:public cPlugin
- {
- private:
- // Add any member variables or functions you may need here.
-+#if APIVERSNUM > 10723
-+ static cStringList Nodes;
-+#endif
- public:
- cPluginChannelscan();
- virtual ~ cPluginChannelscan();
-@@ -102,6 +105,9 @@ class cPluginChannelscan:public cPlugin
- static eAutoScanStat AutoScanStat;
- ChannelScanData channelData_;
- bool channelDataPresent_;
-+#if APIVERSNUM > 10723
-+ static bool GetAdapterFrontend(int CardIndex, int &Adapter, int &Frontend);
-+#endif
- };
-
- // --- cSetupMenu ------------------------------------------------------
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c
deleted file mode 100644
index 5a1f4208b3de..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-csmenu.c
+++ /dev/null
@@ -1,35 +0,0 @@
---- a/csmenu.c
-+++ b/csmenu.c
-@@ -378,8 +378,12 @@ void cMenuChannelscan::Set()
-
- // avoid C/T-positions for SAT
- // and take Astra as start position
-- if (srcTypes[currentTuner] >= SAT && (source == cSource::FromString("C") || source == cSource::FromString("T"))) {
-- source = cSource::FromString("S19.2E");
-+ if (srcTypes[currentTuner] >= SAT && (source == cSource::FromString("C") || source == cSource::FromString("T") || !Sources.Get(source))) {
-+ cDiseqc *d = Diseqcs.First();
-+ if (Setup.DiSEqC > 0 && d)
-+ source = d->Source();
-+ else
-+ source = cSource::FromString("S19.2E");
- }
-
- Add(new cMenuEditStraItem(tr("Search Mode"), &scanMode, 2, searchTexts));
-@@ -1209,7 +1213,7 @@ eOSState cMyMenuEditSrcItem::ProcessKey(
- {
- if (NORMALKEY(Key) == kLeft) // TODO might want to increase the delta if repeated quickly?
- {
-- if(cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli")) {
-+ if(cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli") && Setup.DiSEqC > 0) {
- source = oldSrc;
- while(!found && source && (source->Code() & cSource::stSat)) {
- for (cDiseqc *p = Diseqcs.First(); p && !found; p = Diseqcs.Next(p)) {
-@@ -1231,7 +1235,7 @@ eOSState cMyMenuEditSrcItem::ProcessKey(
- }
- }
- } else if (NORMALKEY(Key) == kRight) {
-- if (cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli")) {
-+ if (cSource::IsSat(source->Code()) && !cPluginManager::GetPlugin("mcli") && Setup.DiSEqC > 0) {
- source = oldSrc;
- while(!found && source && (source->Code() & cSource::stSat)) {
- for (cDiseqc *p = Diseqcs.First(); p && !found; p = Diseqcs.Next(p)) {
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18 b/multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18
deleted file mode 100644
index 34a688bd3db9..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-dvb-s2-vdr-1.7.18
+++ /dev/null
@@ -1,31 +0,0 @@
---- a/csmenu.c
-+++ b/csmenu.c
-@@ -243,7 +243,7 @@ void cMenuChannelscan::TunerDetection()
- txtstream << tr("DVB-C - Cable") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')';
- stp = CABLE;
- } else if (device->ProvidesSource(cSource::stSat)) {
-- if (device->NumProvidedSystems() == 2) {
-+ if (device->NumProvidedSystems() == 3) {
- // if(TunerIsRotor(tuner))
- // txtstream << tr("DVB-S2 - Rotor") << " (" << tr("Tuner") << ' ' << tuner + 1 << ')';
- // else
---- a/scan.c
-+++ b/scan.c
-@@ -421,7 +421,7 @@ void cScan::ScanNitServices()
- void cScan::ScanDVB_S(cTransponder * tp, cChannel * c)
- {
- //const time_t tt = time(NULL);
-- int maxmods = device->NumProvidedSystems() == 2? 4 : 2;
-+ int maxmods = device->NumProvidedSystems() == 3? 4 : 2;
-
- // esyslog("%s cTransponder* tp = %x cChannel *c = %x", __PRETTY_FUNCTION__);
- esyslog("maxmods = %d",maxmods);
-@@ -431,7 +431,7 @@ void cScan::ScanDVB_S(cTransponder * tp,
- ;
-
- // skip HD Transonders on SD Tuner
-- if ( !device->NumProvidedSystems() == 2 && static_cast < cSatTransponder * >(tp)->System() == 1)
-+ if ( !device->NumProvidedSystems() == 3 && static_cast < cSatTransponder * >(tp)->System() == 1)
- return;
-
- unsigned int nRadio = radioChannelNames.size();
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c
deleted file mode 100644
index 12fdad0b08ce..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.c
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/i18n.c
-+++ b/i18n.c
-@@ -23,8 +23,10 @@
- *
- ***************************************************************************/
-
-+#include <vdr/config.h>
- #include "i18n.h"
-
-+#if (APIVERSNUM < 10507)
- const tI18nPhrase Phrases[] = {
- {"Channel Scan",
- "Kanalsuche",
-@@ -1881,3 +1883,4 @@ const tI18nPhrase Phrases[] = {
- },
- {NULL}
- };
-+#endif
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h b/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h
deleted file mode 100644
index 1ba299337cbf..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-i18n.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- i18n.h.orig
-+++ i18n.h
-@@ -29,6 +29,8 @@
- #include <vdr/i18n.h>
- #include <vdr/config.h>
-
-+#if (APIVERSNUM < 10507)
- extern const tI18nPhrase Phrases[];
-+#endif
-
- #endif //_I18N__H
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c
deleted file mode 100644
index 024cb81c40b9..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-scan.c
+++ /dev/null
@@ -1,36 +0,0 @@
---- a/scan.c
-+++ b/scan.c
-@@ -197,7 +197,17 @@ bool cScan::StartScanning(cScanParameter
-
- #ifndef DEVICE_ATTRIBUTES
- char buffer[265];
-- snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend0", cardnr);
-+#if APIVERSNUM > 10723
-+ int Adapter = -1, Frontend = -1;
-+ if (!cPluginChannelscan::GetAdapterFrontend(cDevice::GetDevice(cardnr)->CardIndex(), Adapter, Frontend)) {
-+ esyslog("GetAdapterFrontend() failed");
-+ cMenuChannelscan::scanState = ssDeviceFailure;
-+ return false;
-+ }
-+ snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend%d", Adapter, Frontend);
-+#else
-+ snprintf(buffer, sizeof(buffer), "/dev/dvb/adapter%d/frontend0", cDevice::GetDevice(cardnr)->CardIndex());
-+#endif
-
- fd_frontend = open(buffer, O_RDONLY | O_NONBLOCK);
- if (fd_frontend <= 0) {
-@@ -932,12 +942,12 @@ void cScan::Action()
- char *strDate;
- asprintf(&strDate,"%s", asctime(localtime(&tt)));
- strDate[strlen(strDate)-1] = 0;
-- fprintf(fp,"\n\n%s tp=%4d, %6d(%d) TV:%4d Radio:%4d in %3d sec",strDate,i , frequency, !alreadyScanned, tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) );
-+ fprintf(fp,"\n\n%s tp=%4d, %6d(%d) TV:%4ld Radio:%4ld in %3d sec",strDate,i , frequency, !alreadyScanned, tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) );
- fclose(fp);
-
- fp = fopen("/tmp/tScan.log","a");
- //fprintf(fp,"\n\n%s tp=%4d, %6d/%2d/%5d TV:%4d Radio:%4d in %3dsec",strDate,i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in) );
-- fprintf(fp,"\n\ntp=%4d, %6d/%2d/%5d TV:%4d Radio:%4d in %3dsec new:%3d",i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in),tvChannelNames.size()-ntv+ radioChannelNames.size()-nradio );
-+ fprintf(fp,"\n\ntp=%4d, %6d/%2d/%5d TV:%4ld Radio:%4ld in %3dsec new:%3ld",i , frequency,(*tp)->Modulation(), (*tp)->Symbolrate(), tvChannelNames.size()-ntv, radioChannelNames.size()-nradio, (int)difftime(t_out,t_in),tvChannelNames.size()-ntv+ radioChannelNames.size()-nradio );
- fclose(fp);
-
- free(strDate);
diff --git a/multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c b/multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c
deleted file mode 100644
index 2ad28221fef0..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/files/patch-transponders.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/transponders.c
-+++ b/transponders.c
-@@ -285,7 +285,7 @@ cTerrTransponder::cTerrTransponder(int C
- fec_h_ = FEC_AUTO;
- fec_l_ = FEC_AUTO;
- hierarchy_ = HIERARCHY_NONE;
-- modulation_ = FE_OFDM;
-+ modulation_ = QAM_AUTO;
- guard_ = GUARD_INTERVAL_AUTO;
- transmission_ = TRANSMISSION_MODE_AUTO;
- }
diff --git a/multimedia/vdr-plugin-reelchannelscan/pkg-descr b/multimedia/vdr-plugin-reelchannelscan/pkg-descr
deleted file mode 100644
index c7898bbc1e2d..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Reelchannelscan-plugin
-
-This plugin reads the <vdr-conf-path>/sources.conf and
-parses the coresponding transponderlist (.tpl file),
-then it scans this sat and updates/appends all found channels to
-the current channel list.
-
-WWW: http://www.reel-multimedia.com
diff --git a/multimedia/vdr-plugin-reelchannelscan/pkg-plist b/multimedia/vdr-plugin-reelchannelscan/pkg-plist
deleted file mode 100644
index 85066d482105..000000000000
--- a/multimedia/vdr-plugin-reelchannelscan/pkg-plist
+++ /dev/null
@@ -1,80 +0,0 @@
-lib/vdr/libvdr-reelchannelscan.so.%%APIVERSION%%
-etc/vdr/plugins/transponders/S0.8W.tpl
-etc/vdr/plugins/transponders/S10.0E.tpl
-etc/vdr/plugins/transponders/S100.5E.tpl
-etc/vdr/plugins/transponders/S105.5E.tpl
-etc/vdr/plugins/transponders/S108.0E.tpl
-etc/vdr/plugins/transponders/S12.5W.tpl
-etc/vdr/plugins/transponders/S13.0E.tpl
-etc/vdr/plugins/transponders/S14.0W.tpl
-etc/vdr/plugins/transponders/S140.0E.tpl
-etc/vdr/plugins/transponders/S15.0W.tpl
-etc/vdr/plugins/transponders/S16.0E.tpl
-etc/vdr/plugins/transponders/S18.0W.tpl
-etc/vdr/plugins/transponders/S19.2E.tpl
-etc/vdr/plugins/transponders/S21.6E.tpl
-etc/vdr/plugins/transponders/S22.0W.tpl
-etc/vdr/plugins/transponders/S23.5E.tpl
-etc/vdr/plugins/transponders/S24.5W.tpl
-etc/vdr/plugins/transponders/S25.5E.tpl
-etc/vdr/plugins/transponders/S26.0E.tpl
-etc/vdr/plugins/transponders/S27.5W.tpl
-etc/vdr/plugins/transponders/S28.2E.tpl
-etc/vdr/plugins/transponders/S30.0W.tpl
-etc/vdr/plugins/transponders/S32.9E.tpl
-etc/vdr/plugins/transponders/S33.0E.tpl
-etc/vdr/plugins/transponders/S35.9E.tpl
-etc/vdr/plugins/transponders/S36.0E.tpl
-etc/vdr/plugins/transponders/S39.0E.tpl
-etc/vdr/plugins/transponders/S4.0W.tpl
-etc/vdr/plugins/transponders/S4.8E.tpl
-etc/vdr/plugins/transponders/S40.0E.tpl
-etc/vdr/plugins/transponders/S41.9E.tpl
-etc/vdr/plugins/transponders/S42.0E.tpl
-etc/vdr/plugins/transponders/S45.0E.tpl
-etc/vdr/plugins/transponders/S5.0W.tpl
-etc/vdr/plugins/transponders/S53.0E.tpl
-etc/vdr/plugins/transponders/S56.0E.tpl
-etc/vdr/plugins/transponders/S57.0E.tpl
-etc/vdr/plugins/transponders/S60.0E.tpl
-etc/vdr/plugins/transponders/S62.0E.tpl
-etc/vdr/plugins/transponders/S66.0E.tpl
-etc/vdr/plugins/transponders/S68.5E.tpl
-etc/vdr/plugins/transponders/S7.0E.tpl
-etc/vdr/plugins/transponders/S7.0W.tpl
-etc/vdr/plugins/transponders/S70.5E.tpl
-etc/vdr/plugins/transponders/S72.0E.tpl
-etc/vdr/plugins/transponders/S75.0E.tpl
-etc/vdr/plugins/transponders/S76.5E.tpl
-etc/vdr/plugins/transponders/S78.5E.tpl
-etc/vdr/plugins/transponders/S8.0W.tpl
-etc/vdr/plugins/transponders/S80.0E.tpl
-etc/vdr/plugins/transponders/S83.0E.tpl
-etc/vdr/plugins/transponders/S88.0E.tpl
-etc/vdr/plugins/transponders/S9.0E.tpl
-etc/vdr/plugins/transponders/S90.0E.tpl
-etc/vdr/plugins/transponders/S91.5E.tpl
-etc/vdr/plugins/transponders/S93.5E.tpl
-etc/vdr/plugins/transponders/S95.0E.tpl
-etc/vdr/plugins/transponders/S96.5E.tpl
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-reelchannelscan.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-reelchannelscan.mo
diff --git a/multimedia/vdr-plugin-remote/Makefile b/multimedia/vdr-plugin-remote/Makefile
deleted file mode 100644
index a977f2022640..000000000000
--- a/multimedia/vdr-plugin-remote/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-remote
-PORTVERSION= 0.4.0
-PORTREVISION= 16
-CATEGORIES= multimedia
-MASTER_SITES= http://www.escape-edv.de/endriss/vdr/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - remote control plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-remote/distinfo b/multimedia/vdr-plugin-remote/distinfo
deleted file mode 100644
index ade02509b0c9..000000000000
--- a/multimedia/vdr-plugin-remote/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-remote-0.4.0.tgz) = 402178a5ca34796621ec248fbc459c41d86e7ce7f226080b507aad3e054512bf
-SIZE (vdr/vdr-remote-0.4.0.tgz) = 28397
diff --git a/multimedia/vdr-plugin-remote/files/patch-Makefile b/multimedia/vdr-plugin-remote/files/patch-Makefile
deleted file mode 100644
index 45e0d87e4b88..000000000000
--- a/multimedia/vdr-plugin-remote/files/patch-Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -54,6 +54,12 @@ DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I
- DEFINES += -DREMOTE_FEATURE_LIRC
- DEFINES += -DREMOTE_FEATURE_TCPIP
-
-+ifeq ($(OSTYPE),FreeBSD)
-+DEFINES += -DREMOTE_FEATURE_UHID
-+else
-+DEFINES += -DREMOTE_FEATURE_DEVINPUT
-+endif
-+
- ### The object files (add further files here):
-
- OBJS = $(PLUGIN).o ttystatus.o
-@@ -81,9 +87,9 @@ $(DEPFILE): Makefile
-
- ### Internationalization (I18N):
-
--ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),)
-+#ifneq ($(shell grep 'LOCALEDIR' $(VDRDIR)/Makefile),)
- PODIR = po
- LOCALEDIR = $(VDRDIR)/locale
- I18Npo = $(wildcard $(PODIR)/*.po)
- I18Nmo = $(addsuffix .mo, $(foreach file, $(I18Npo), $(basename $(file))))
- I18Ndirs = $(notdir $(foreach file, $(I18Npo), $(basename $(file))))
-@@ -104,10 +110,10 @@ i18n: $(I18Nmo)
- mkdir -p $(LOCALEDIR)/$$i/LC_MESSAGES;\
- cp $(PODIR)/$$i.mo $(LOCALEDIR)/$$i/LC_MESSAGES/vdr-$(PLUGIN).mo;\
- done
--else
--OBJS += i18n.o
--i18n: ;
--endif
-+#else
-+#OBJS += i18n.o
-+#i18n: ;
-+#endif
-
- ### Targets:
-
-@@ -126,3 +132,6 @@ dist: clean
- clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f *.o $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-remote/files/patch-uhid1 b/multimedia/vdr-plugin-remote/files/patch-uhid1
deleted file mode 100644
index b14f4fb36fbd..000000000000
--- a/multimedia/vdr-plugin-remote/files/patch-uhid1
+++ /dev/null
@@ -1,255 +0,0 @@
---- a/remote.c
-+++ a/remote.c
-@@ -15,7 +15,9 @@
- #include <sys/fcntl.h>
- #include <getopt.h>
- #include <termios.h>
-+#ifdef REMOTE_FEATURE_DEVINPUT
- #include <linux/input.h>
-+#endif
- #include "i18n.h"
- #include "remote.h"
- #ifdef REMOTE_FEATURE_TCPIP
-@@ -25,6 +27,9 @@
-
-
- #define NUMREMOTES 10 // maximum number of remote control devices
-+#ifdef REMOTE_FEATURE_UHID
-+#define UHID_DEFAULT_READSIZE 8 // default size of uhid reads
-+#endif
-
- #define AV7110_KEYMAP_DEVICE "/proc/av7110_ir"
- #if 0
-@@ -183,6 +188,7 @@ void cRemoteGeneric::Action(void)
- int identifyInputDevice(const int fh, char *name)
- // ---------------------------------------------------------------------------
- {
-+#ifdef REMOTE_FEATURE_DEVINPUT
- char description[256];
-
- // check name of input device
-@@ -196,11 +202,13 @@ int identifyInputDevice(const int fh, ch
-
- if (strstr(description, "DVB") || strstr(description, "dvb"))
- return 2;
-+#endif
-
- return 0;
- }
-
-
-+#ifdef REMOTE_FEATURE_DEVINPUT
- // ---------------------------------------------------------------------------
- bool cRemoteDevInput::loadKeymap(const char *devname, uint32_t options)
- // ---------------------------------------------------------------------------
-@@ -454,6 +462,68 @@ bool cRemoteDevInput::keyPressed(uint64_
- {
- return (code & 0xFFFF00000000ULL);
- }
-+#endif // REMOTE_FEATURE_DEVINPUT
-+
-+
-+/*****************************************************************************/
-+
-+
-+#ifdef REMOTE_FEATURE_UHID
-+// ---------------------------------------------------------------------------
-+cRemoteUhid::cRemoteUhid(const char *name, int f, char *d, int size)
-+ :cRemoteGeneric(name, f, d)
-+// ---------------------------------------------------------------------------
-+{
-+ Start();
-+
-+ readsize = size;
-+ repeatcode = 0;
-+ fcntl(f, F_SETFL, O_NONBLOCK);
-+}
-+
-+
-+// ---------------------------------------------------------------------------
-+bool cRemoteUhid::Initialize()
-+// ---------------------------------------------------------------------------
-+{
-+ return true;
-+}
-+
-+
-+// ---------------------------------------------------------------------------
-+uint64_t cRemoteUhid::getKey(void)
-+// ---------------------------------------------------------------------------
-+{
-+ int n;
-+ uint64_t code = 0;
-+
-+ // XXX handle short reads properly on big-endian
-+ n = read(fh, &code, readsize);
-+ if (n <= 0) {
-+ if (n < 0 && (errno == EAGAIN || errno == EINTR))
-+ code = repeatcode;
-+ else {
-+ code = INVALID_KEY;
-+ repeatcode = 0;
-+ }
-+ } else {
-+ repeatcode = code;
-+#if 1 //def PRINTFDEBUGGING
-+ printf("code %jx\n", code);
-+#endif
-+ }
-+
-+ return code;
-+}
-+
-+
-+// ---------------------------------------------------------------------------
-+bool cRemoteUhid::keyPressed(uint64_t code)
-+// ---------------------------------------------------------------------------
-+{
-+ return ((code & ~0xffULL) != 0LL);
-+}
-+#endif // REMOTE_FEATURE_UHID
-
-
- /*****************************************************************************/
-@@ -557,6 +627,9 @@ private:
- int devcnt;
- char devtyp[NUMREMOTES];
- char *devnam[NUMREMOTES];
-+#ifdef REMOTE_FEATURE_UHID
-+ int devsize[NUMREMOTES];
-+#endif
- int fh[NUMREMOTES];
- public:
- cPluginRemote(void);
-@@ -604,6 +677,10 @@ const char *cPluginRemote::CommandLineHe
- // ---------------------------------------------------------------------------
- {
- return " -i dev, --input=dev input device (/dev/input/... | autodetect)\n"
-+#ifdef REMOTE_FEATURE_UHID
-+ " -h dev, --uhid=dev uhid(4) device (/dev/uhidX)\n"
-+ " -s size, --uhidsize=size uhid device read size\n"
-+#endif
- #ifdef REMOTE_FEATURE_LIRC
- " -l dev, --lirc=dev lirc device (/dev/lircd)\n"
- #endif
-@@ -624,6 +701,10 @@ bool cPluginRemote::ProcessArgs(int argc
- {
- static struct option long_options[] =
- { { "input", required_argument, NULL, 'i' },
-+#ifdef REMOTE_FEATURE_UHID
-+ { "uhid", required_argument, NULL, 'h' },
-+ { "uhidsize", required_argument, NULL, 's' },
-+#endif
- { "lirc", required_argument, NULL, 'l' },
- { "port", required_argument, NULL, 'p' },
- { "tty", required_argument, NULL, 't' },
-@@ -631,11 +712,20 @@ bool cPluginRemote::ProcessArgs(int argc
- { NULL } };
- int c;
-
-+#ifndef REMOTE_FEATURE_UHID
- while ((c = getopt_long(argc, argv, "i:l:p:t:T:", long_options, NULL)) != -1)
-+#else
-+ while ((c = getopt_long(argc, argv, "i:h:s:l:p:t:T:", long_options, NULL)) != -1)
-+#endif
- {
-+#ifdef REMOTE_FEATURE_UHID
-+ int size;
-+#endif
-+
- switch (c)
- {
- case 'i':
-+ case 'h':
- case 'l':
- case 'p':
- case 't':
-@@ -647,8 +737,27 @@ bool cPluginRemote::ProcessArgs(int argc
- }
- devtyp[devcnt] = c;
- devnam[devcnt] = optarg;
-+#ifdef REMOTE_FEATURE_UHID
-+ devsize[devcnt] = UHID_DEFAULT_READSIZE;
-+#endif
- devcnt++;
- break;
-+#ifdef REMOTE_FEATURE_UHID
-+ case 's':
-+ if (!devcnt || devcnt > NUMREMOTES)
-+ {
-+ esyslog("%s: uhidsize must come after uhid device", Name());
-+ return false;
-+ }
-+ size = atoi(optarg);
-+ if (size <= 0 || size_t(size) > sizeof (int64_t))
-+ {
-+ esyslog("%s: bad uhidsize %s", Name(), optarg);
-+ return false;
-+ }
-+ devsize[devcnt] = size;
-+ break;
-+#endif
-
- default:
- esyslog("%s: invalid argument", Name());
-@@ -671,6 +780,7 @@ bool cPluginRemote::Start(void)
- RegisterI18n(remotePhrases);
- #endif
-
-+#ifdef REMOTE_FEATURE_DEVINPUT
- // no device specified by the user, set default
- if (devcnt == 0)
- {
-@@ -719,6 +829,7 @@ bool cPluginRemote::Start(void)
- if (devtyp[i] == 'i' && strcmp(devnam[i], "autodetect") == 0)
- devnam[i] = "/dev/input/ir";
- } // for i
-+#endif
-
- for (int i = 0; i < devcnt; i++)
- {
-@@ -769,9 +880,17 @@ bool cPluginRemote::Start(void)
-
- switch (devtyp[i])
- {
-+#ifdef REMOTE_FEATURE_DEVINPUT
- case 'i':
- new cRemoteDevInput(nam,fh[i],devnam[i]);
- break;
-+#endif
-+
-+#ifdef REMOTE_FEATURE_UHID
-+ case 'h':
-+ new cRemoteUhid(nam,fh[i],devnam[i],devsize[i]);
-+ break;
-+#endif
-
- #ifdef REMOTE_FEATURE_LIRC
- case 'l':
---- a/remote.h
-+++ a/remote.h
-@@ -82,6 +82,24 @@ public:
-
-
-
-+#ifdef REMOTE_FEATURE_UHID
-+/*****************************************************************************/
-+class cRemoteUhid : protected cRemoteGeneric
-+/*****************************************************************************/
-+{
-+private:
-+ uint64_t repeatcode;
-+ int readsize;
-+protected:
-+ virtual uint64_t getKey(void);
-+ virtual bool keyPressed(uint64_t code);
-+public:
-+ cRemoteUhid(const char *name, int f, char *d, int size);
-+ virtual bool Initialize(void);
-+};
-+#endif
-+
-+
- #ifdef REMOTE_FEATURE_LIRCOLD
- /*****************************************************************************/
- class cRemoteDevLirc : protected cRemoteGeneric
diff --git a/multimedia/vdr-plugin-remote/pkg-descr b/multimedia/vdr-plugin-remote/pkg-descr
deleted file mode 100644
index 8d5219c2ece5..000000000000
--- a/multimedia/vdr-plugin-remote/pkg-descr
+++ /dev/null
@@ -1,64 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Remote-plugin
-
-This plugin extends the remote control capabilities of vdr.
-The following remote control devices are supported:
-
-(a) Linux input device driver ('/dev/input/eventX', X=0,1,2,...)
- (currently not supported on FreeBSD)
-
-(b) keyboard (tty driver): /dev/console, /dev/ttyX
-
-(c) TCP connection (telnet)
-
-(d) LIRC
-
-(e) some(?) FreeBSD uhid(4) devices (experimental support added by this port)
- To use, add something like this to vdr_flags: '-Premote -h /dev/uhid0',
- (re)start vdr, then the osd should ask you to configure the
- remote by pressing the buttons you want to assign.
-
- Note: If your remote is detected as a keyboard you'll have to
- tell ukbd(4) to ignore it first by doing (as root) something like:
-
- usbconfig add_dev_quirk_vplh 0x1241 0xe000 0 0xffff UQ_KBD_IGNORE
-
- (and possibly unplug it for a moment or reset it via usbconfig,
- 0x1241 there is the vendor id, 0xe000 the product id of the
- device, you can get yours by doing
-
- usbconfig -d 1.2 dump_device_desc
-
- and looking for idVendor and idProduct, -d 1.2 there corresponds
- to ugen1.2 listed by usbconfig w/o args.)
-
- You can check with:
-
- usbconfig show_ifdrv
-
- if the device is then listed as ugen...: uhid... you're good to go.
-
- 2nd note: If vdr cannot open your uhid device check it is not claimed
- by xorg:
-
- fstat |grep uhid
-
- If it is you may need an xorg.conf(5) with manually defined
- InputDevice sections for mouse and keyboard and
-
- Option "AutoAddDevices" "False"
-
- in the ServerFlags section.
-
- And if for some reason you want to reassign the buttons on the
- remote you can stop vdr and do:
-
- touch /usr/local/etc/vdr/channels.conf
-
- and/or remove uhid entries from
-
- /usr/local/etc/vdr/remote.conf .
-
- When you then start vdr again it should ask to configure the
- remote again.
-
-WWW: http://escape-edv.de/endriss/vdr/
diff --git a/multimedia/vdr-plugin-remote/pkg-plist b/multimedia/vdr-plugin-remote/pkg-plist
deleted file mode 100644
index 93c52c2d9e9c..000000000000
--- a/multimedia/vdr-plugin-remote/pkg-plist
+++ /dev/null
@@ -1,7 +0,0 @@
-lib/vdr/libvdr-remote.so.%%APIVERSION%%
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-remote.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-remote.mo
diff --git a/multimedia/vdr-plugin-skinenigmang/Makefile b/multimedia/vdr-plugin-skinenigmang/Makefile
deleted file mode 100644
index df71c72dbd54..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-skinenigmang
-PORTVERSION= 0.1.2s20120606
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://andreas.vdr-developer.org/enigmang/download/:release \
- LOCAL/nox:snapshot
-DISTNAME= ${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-DISTFILES= ${DISTNAME}.tar.bz2:snapshot \
- skinenigmang-logos-xpm-hi-20070702.tgz:release
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - Enigma-NG skin plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= pkgconfig
-
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PORTNAME}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-BINARY_ALIAS= freetype-config=true
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- ${REINPLACE_CMD} 's|freetype-config |pkg-config freetype2 |g' \
- ${WRKSRC}/Makefile
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- (cd ${WRKDIR}/${PLUGIN} && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN} )
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-skinenigmang/distinfo b/multimedia/vdr-plugin-skinenigmang/distinfo
deleted file mode 100644
index c89bc8c36400..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/distinfo
+++ /dev/null
@@ -1,4 +0,0 @@
-SHA256 (vdr/vdr-plugin-skinenigmang-0.1.2s20120606.tar.bz2) = 2de64f81947ae245888dd19055ebcd7a79521356a7e8d81d81b466fba05f25bb
-SIZE (vdr/vdr-plugin-skinenigmang-0.1.2s20120606.tar.bz2) = 78215
-SHA256 (vdr/skinenigmang-logos-xpm-hi-20070702.tgz) = 3428569d284db2fb1e57fe2683a818be489311d0b0ca3d4d172d34638fa61eaf
-SIZE (vdr/skinenigmang-logos-xpm-hi-20070702.tgz) = 49245
diff --git a/multimedia/vdr-plugin-skinenigmang/files/patch-Makefile b/multimedia/vdr-plugin-skinenigmang/files/patch-Makefile
deleted file mode 100644
index dd5c05629b8d..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- skinenigmang-0.1.1/Makefile.orig
-+++ skinenigmang-0.1.1/Makefile
-@@ -206,3 +210,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~ $(PODIR)/*.mo $(PODIR)/*.pot
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1 b/multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1
deleted file mode 100644
index 681d30099f68..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/files/patch-vdr-skinenigmang-0.1.1
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -ur orig/skinenigmang-0.1.1/Makefile skinenigmang-0.1.1/Makefile
---- orig/skinenigmang-0.1.1/Makefile 2010-03-13 16:33:20.000000000 +0100
-+++ skinenigmang-0.1.1/Makefile 2010-04-07 13:38:45.000000000 +0200
-@@ -16,15 +16,15 @@
-
- # If you are using the epgsearch plugin and want to see the number of
- # timer conflicts in the main menu's info area.
--SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1
-+#SKINENIGMA_USE_PLUGIN_EPGSEARCH = 1
-
- # If you use the mailbox plugin this will include support for it.
--SKINENIGMA_USE_PLUGIN_MAILBOX = 1
-+#SKINENIGMA_USE_PLUGIN_MAILBOX = 1
-
- # Include code to support the Avards plugin:
- # - Dynamic OSD size depending on current WSS mode.
- # - Display current WSS mode in channel info and replay OSDs.
--SKINENIGMA_USE_PLUGIN_AVARDS = 1
-+#SKINENIGMA_USE_PLUGIN_AVARDS = 1
-
- # Disable code to show signal strength and signal-to-noise ratio
- # in channel info OSD.
-@@ -32,7 +32,7 @@
-
- # Strip debug symbols? Set eg. to /bin/true if not
- #STRIP = strip
--STRIP = /bin/true
-+STRIP = /usr/bin/true
-
- # The official name of this plugin.
- # This name will be used in the '-P...' option of VDR to load the plugin.
-@@ -191,7 +191,11 @@
- ifndef SKINENIGMA_DEBUG
- @$(STRIP) $@
- endif
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-diff -ur orig/skinenigmang-0.1.1/enigma.c skinenigmang-0.1.1/enigma.c
---- orig/skinenigmang-0.1.1/enigma.c 2010-04-05 10:33:42.000000000 +0200
-+++ skinenigmang-0.1.1/enigma.c 2010-04-07 13:38:07.000000000 +0200
-@@ -256,6 +256,18 @@
- #define ScrollbarHeight 20
- #define ScrollbarWidth 16
-
-+#if defined(__FreeBSD__) && __FreeBSD_version < 1000029
-+/* XXX Implement strchrnul for FreeBSD. */
-+static char *
-+strchrnul (const char *s, int c_in)
-+{
-+ char c = c_in;
-+ while (*s && (*s != c))
-+ s++;
-+
-+ return (char *) s;
-+}
-+#endif
-
- // --- cSkinEnigmaDisplayChannel --------------------------------------------
-
diff --git a/multimedia/vdr-plugin-skinenigmang/pkg-descr b/multimedia/vdr-plugin-skinenigmang/pkg-descr
deleted file mode 100644
index 8345901c02f3..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Skinenigmang-plugin
-
-"EnigmaNG" is a standalone VDR OSD skin based on the "Enigma" text2skin
-addon.
-
-WWW: http://andreas.vdr-developer.org/enigmang/index.html
diff --git a/multimedia/vdr-plugin-skinenigmang/pkg-plist b/multimedia/vdr-plugin-skinenigmang/pkg-plist
deleted file mode 100644
index b7ae1ae85c7b..000000000000
--- a/multimedia/vdr-plugin-skinenigmang/pkg-plist
+++ /dev/null
@@ -1,126 +0,0 @@
-lib/vdr/libvdr-skinenigmang.so.%%APIVERSION%%
-etc/vdr/plugins/skinenigmang/HISTORY
-etc/vdr/plugins/skinenigmang/README
-etc/vdr/plugins/skinenigmang/flags/deu.xpm
-etc/vdr/plugins/skinenigmang/flags/eng.xpm
-etc/vdr/plugins/skinenigmang/flags/fra.xpm
-etc/vdr/plugins/skinenigmang/flags/dut.xpm
-etc/vdr/plugins/skinenigmang/flags/fraDD.xpm
-etc/vdr/plugins/skinenigmang/flags/dutDD.xpm
-etc/vdr/plugins/skinenigmang/flags/deuDD.xpm
-etc/vdr/plugins/skinenigmang/flags/engDD.xpm
-etc/vdr/plugins/skinenigmang/flags/dutDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/fraDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/engDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/dutMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/fraMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/engMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/deuMONO.xpm
-etc/vdr/plugins/skinenigmang/flags/deuDUAL.xpm
-etc/vdr/plugins/skinenigmang/flags/ger.xpm
-etc/vdr/plugins/skinenigmang/icons/message/info.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward3.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/pause.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward4.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward5.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward6.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward7.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward8.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastForward9.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind3.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind4.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind5.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind6.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind7.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind8.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/fastRewind9.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/play.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward3.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind1.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowForward.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind2.xpm
-etc/vdr/plugins/skinenigmang/icons/replay/slowRewind3.xpm
-etc/vdr/plugins/skinenigmang/icons/audio/audioStereo.xpm
-etc/vdr/plugins/skinenigmang/icons/audio/audioRight.xpm
-etc/vdr/plugins/skinenigmang/icons/audio/audioLeft.xpm
-etc/vdr/plugins/skinenigmang/icons/volume/muteOff.xpm
-etc/vdr/plugins/skinenigmang/icons/volume/muteOn.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/audiorecorder.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/blank.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/burn.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/cancel.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/cdda.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/channels.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/channelscan.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/chanorg.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/commands.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/device.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/digicam.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/director.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/dvd.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/dvdselect.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/epgsearch.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/externalplayer.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/femon.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/filebrowser.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/fussball.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/games.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/image.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/mp3.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/mplayer.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/newsticker.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/osdpip.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/pin.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/radio.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/recordings.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/rotor.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/schedule.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/setup.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/solitaire.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/solitaire2.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/stop.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/streamdev.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/sudoku.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/summary.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/teletext.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/timers.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/tvonscreen.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdrc.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdrcd.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdrrip.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/weather.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/xineliboutput.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vcd.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/soccer.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/webepg.xpm
-etc/vdr/plugins/skinenigmang/icons/menu/vdr.xpm
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-skinenigmang.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-skinenigmang.mo
diff --git a/multimedia/vdr-plugin-sleeptimer/Makefile b/multimedia/vdr-plugin-sleeptimer/Makefile
deleted file mode 100644
index 8f77f0019075..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-sleeptimer
-PORTVERSION= 0.8.2
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/652/
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - sleep timer plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= tar:tgz
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-sleeptimer/distinfo b/multimedia/vdr-plugin-sleeptimer/distinfo
deleted file mode 100644
index 62b1707b9bee..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-plugin-sleeptimer-0.8.2.tgz) = 81e924bc0ea3587238cf2b090713076320aa3b8f5417561691e2a6ba543ff28c
-SIZE (vdr/vdr-plugin-sleeptimer-0.8.2.tgz) = 22483
diff --git a/multimedia/vdr-plugin-sleeptimer/files/patch-Makefile b/multimedia/vdr-plugin-sleeptimer/files/patch-Makefile
deleted file mode 100644
index 2c7d45c57184..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -110,3 +110,6 @@ dist: clean
- clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-sleeptimer/files/patch-i18.c b/multimedia/vdr-plugin-sleeptimer/files/patch-i18.c
deleted file mode 100644
index 1a759fb42398..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/files/patch-i18.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/i18n.c
-+++ b/i18n.c
-@@ -6,9 +6,10 @@
- * $Id: i18n.c 1.3 2002/06/23 13:05:59 kls Exp $
- */
-
--#include "i18n.h"
-+#include <vdr/config.h>
-
- #if VDRVERSNUM < 10507
-+#include "i18n.h"
-
- const tI18nPhrase Phrases[] = {
- { "Not active",// English
diff --git a/multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c b/multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c
deleted file mode 100644
index 8fd54eb97932..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/files/patch-sleeptimer.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/sleeptimer.c
-+++ b/sleeptimer.c
-@@ -165,6 +165,8 @@ bool cPluginSleeptimer::ProcessArgs(int
- {
- // Implement command line argument processing here if applicable.
- int c;
-+ if (!strcmp(*argv, "sleeptimer"))
-+ ++argv, --argc;
- while((c = getopt(argc, argv, "e:")) != -1 ) {
- switch(c) {
- case 'e':
diff --git a/multimedia/vdr-plugin-sleeptimer/pkg-descr b/multimedia/vdr-plugin-sleeptimer/pkg-descr
deleted file mode 100644
index d4ccf0d456d8..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Sleeptimer-plugin
-
-Shutdown vdr, mute or execute a custom command after a configurable
-timespan. User keys and keymacros.conf are supported.
-
-WWW: https://projects.vdr-developer.org/projects/plg-sleeptimer
diff --git a/multimedia/vdr-plugin-sleeptimer/pkg-plist b/multimedia/vdr-plugin-sleeptimer/pkg-plist
deleted file mode 100644
index 3e93224cecc5..000000000000
--- a/multimedia/vdr-plugin-sleeptimer/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-lib/vdr/libvdr-sleeptimer.so.%%APIVERSION%%
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-sleeptimer.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-sleeptimer.mo
diff --git a/multimedia/vdr-plugin-streamdev/Makefile b/multimedia/vdr-plugin-streamdev/Makefile
deleted file mode 100644
index 79497f0f1d3d..000000000000
--- a/multimedia/vdr-plugin-streamdev/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-streamdev
-PORTVERSION= 0.6.1
-PORTREVISION= 4
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/1580/:release \
- LOCAL/nox:snapshot
-DISTFILES= ${DISTNAME:S/plugin-//}${EXTRACT_SUFX}:release
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - stream device plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-RUN_DEPENDS= bash:shells/bash
-
-USES= shebangfix tar:tgz
-SHEBANG_FILES= streamdev-server/externremux.sh
-MAKE_JOBS_UNSAFE= yes
-WRKSRC= ${WRKDIR}/${PLUGIN}-${PORTVERSION}
-VDR_PLUGIN_MAKEFILES=\
- ${WRKSRC}/client/Makefile \
- ${WRKSRC}/server/Makefile
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-pre-patch:
- @${CP} ${WRKSRC}/Makefile-1.7.33 ${WRKSRC}/Makefile
- @${CP} ${WRKSRC}/client/Makefile-1.7.33 ${WRKSRC}/client/Makefile
- @${CP} ${WRKSRC}/server/Makefile-1.7.33 ${WRKSRC}/server/Makefile
-
-post-patch: post-patch-plugin
- @${LN} -s ../locale ${WRKSRC}
- @${REINPLACE_CMD} '1s-^#!/bin/sh-#!${LOCALBASE}/bin/bash-' \
- ${WRKSRC}/${PLUGIN}-server/externremux.sh
-
-pre-install:
- ${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}-server
- ${INSTALL_SCRIPT} ${WRKSRC}/${PLUGIN}-server/externremux.sh \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/externremux.sh.sample
- ${INSTALL_DATA} ${WRKSRC}/${PLUGIN}-server/streamdevhosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}-server/streamdevhosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-streamdev/distinfo b/multimedia/vdr-plugin-streamdev/distinfo
deleted file mode 100644
index 77eb1639b772..000000000000
--- a/multimedia/vdr-plugin-streamdev/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-streamdev-0.6.1.tgz) = b3ea814a572eb17699df4ae2a90a1ad6c22c0a68a8235e7f7ccf299d1ed43955
-SIZE (vdr/vdr-streamdev-0.6.1.tgz) = 186546
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-Makefile b/multimedia/vdr-plugin-streamdev/files/patch-Makefile
deleted file mode 100644
index ebe57386cdc5..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -106,3 +106,7 @@ clean:
- $(MAKE) -C ./remux clean
- $(MAKE) -C ./client clean
- $(MAKE) -C ./server clean
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-client.so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-client.so.$(APIVERSION)
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN)-server.so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN)-server.so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-client-Makefile b/multimedia/vdr-plugin-streamdev/files/patch-client-Makefile
deleted file mode 100644
index 4e9baa3d57df..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-client-Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- client/Makefile.orig
-+++ client/Makefile
-@@ -70,7 +70,11 @@ libvdr-$(PLUGIN).so: $(CLIENTOBJS) $(COM
-
- %.so:
- $(CXX) $(CXXFLAGS) -shared $^ -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-client-setup.c b/multimedia/vdr-plugin-streamdev/files/patch-client-setup.c
deleted file mode 100644
index a7a9fbd496ed..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-client-setup.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- client/setup.c.orig
-+++ client/setup.c
-@@ -2,6 +2,7 @@
- * $Id: setup.c,v 1.2 2005/02/08 15:34:38 lordjaxom Exp $
- */
-
-+#include <stdint.h>
- #include <vdr/menuitems.h>
-
- #include "client/setup.h"
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-Makefile b/multimedia/vdr-plugin-streamdev/files/patch-server-Makefile
deleted file mode 100644
index 548423276816..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
---- server/Makefile.orig
-+++ server/Makefile
-@@ -76,7 +76,11 @@ libvdr-$(PLUGIN).so: $(SERVEROBJS) $(COM
-
- %.so:
- $(CXX) $(CXXFLAGS) -shared $^ -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- clean:
- @-rm -f $(COMMONOBJS) $(SERVEROBJS) $(DEPFILE) $(PODIR)/*.mo $(PODIR)/*.pot *.so *.tgz core* *~
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c b/multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c
deleted file mode 100644
index 74c7aa0ee5ca..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-componentIGMP.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- server/componentIGMP.c.orig
-+++ server/componentIGMP.c
-@@ -1,9 +1,24 @@
- /*
- * $Id: componentIGMP.c,v 1.2 2009/07/03 21:44:19 schmirl Exp $
- */
-+#include <sys/types.h>
-+#include <netinet/in.h>
- #include <netinet/ip.h>
- #include <netinet/igmp.h>
--
-+
-+#ifndef IGMP_MEMBERSHIP_QUERY
-+#define IGMP_MEMBERSHIP_QUERY IGMP_HOST_MEMBERSHIP_QUERY
-+#endif
-+#ifndef IGMP_V1_MEMBERSHIP_REPORT
-+#define IGMP_V1_MEMBERSHIP_REPORT IGMP_v1_HOST_MEMBERSHIP_REPORT
-+#endif
-+#ifndef IGMP_V2_MEMBERSHIP_REPORT
-+#define IGMP_V2_MEMBERSHIP_REPORT IGMP_v2_HOST_MEMBERSHIP_REPORT
-+#endif
-+#ifndef IGMP_V2_LEAVE_GROUP
-+#define IGMP_V2_LEAVE_GROUP IGMP_HOST_LEAVE_MESSAGE
-+#endif
-+
- #include "server/componentIGMP.h"
- #include "server/connectionIGMP.h"
- #include "server/setup.h"
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c b/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c
deleted file mode 100644
index 393216aa4e1d..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-connectionVTP.c
+++ /dev/null
@@ -1,28 +0,0 @@
---- server/connectionVTP.c.orig
-+++ server/connectionVTP.c
-@@ -245,12 +245,14 @@ bool cLSTEHandler::Next(bool &Last)
- if (m_Event != NULL) {
- m_State = Title;
- #ifdef __FreeBSD__
-- return m_Client->Respond(-215, "E %u %d %d %X", m_Event->EventID(),
-+ return m_Client->Respond(-215, "E %u " PRId64 " %d %X", m_Event->EventID(),
-+ (int64_t)m_Event->StartTime(), m_Event->Duration(),
-+ m_Event->TableID());
- #else
- return m_Client->Respond(-215, "E %u %ld %d %X", m_Event->EventID(),
--#endif
- m_Event->StartTime(), m_Event->Duration(),
- m_Event->TableID());
-+#endif
- } else {
- m_State = EndChannel;
- return Next(Last);
-@@ -292,7 +294,7 @@ bool cLSTEHandler::Next(bool &Last)
- #endif /* PARENTALRATING */
- if (m_Event->Vps())
- #ifdef __FreeBSD__
-- return m_Client->Respond(-215, "V %d", m_Event->Vps());
-+ return m_Client->Respond(-215, "V " PRId64, (int64_t)m_Event->Vps());
- #else
- return m_Client->Respond(-215, "V %ld", m_Event->Vps());
- #endif
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c b/multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c
deleted file mode 100644
index 4dabd813f32e..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-recplayer.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- server/recplayer.c.orig
-+++ server/recplayer.c
-@@ -199,8 +199,10 @@ unsigned long RecPlayer::getBlock(unsign
- fseek(file, filePosition, SEEK_SET);
- if (fread(&buffer[got], getFromThisSegment, 1, file) != 1) return 0; // umm, big problem.
-
-+#ifdef __linux__
- // Tell linux not to bother keeping the data in the FS cache
- posix_fadvise(fileno(file), filePosition, getFromThisSegment, POSIX_FADV_DONTNEED);
-+#endif
-
- got += getFromThisSegment;
- currentPosition += getFromThisSegment;
diff --git a/multimedia/vdr-plugin-streamdev/files/patch-server-setup.c b/multimedia/vdr-plugin-streamdev/files/patch-server-setup.c
deleted file mode 100644
index 96c9a77bd016..000000000000
--- a/multimedia/vdr-plugin-streamdev/files/patch-server-setup.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- server/setup.c.orig
-+++ server/setup.c
-@@ -2,6 +2,7 @@
- * $Id: setup.c,v 1.2 2005/05/09 20:22:29 lordjaxom Exp $
- */
-
-+#include <stdint.h>
- #include <vdr/menuitems.h>
-
- #include "server/setup.h"
diff --git a/multimedia/vdr-plugin-streamdev/pkg-descr b/multimedia/vdr-plugin-streamdev/pkg-descr
deleted file mode 100644
index 9e35fd13b697..000000000000
--- a/multimedia/vdr-plugin-streamdev/pkg-descr
+++ /dev/null
@@ -1,20 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Streamdev-plugin
-
-This PlugIn is a VDR implementation of the VTP (Video Transfer Protocol)
-Version 0.0.3 (see file PROTOCOL) and a basic HTTP Streaming Protocol.
-
-It consists of a server and a client part, but both parts are compiled together
-with the PlugIn source, but appear as separate PlugIns to VDR.
-
-The client part acts as a full Input Device, so it can be used in conjunction
-with a DXR3-Card, XINE, SoftDevice or others to act as a working VDR
-installation without any DVB-Hardware including EPG-Handling.
-
-The server part acts as a Receiver-Device and works transparently in the
-background within your running VDR. It can serve multiple clients and it can
-distribute multiple input streams (i.e. from multiple DVB-cards) to multiple
-clients using the native VTP protocol (for VDR-clients), or using the HTTP
-protocol supporting clients such as XINE, MPlayer and so on. With XMMS or
-WinAMP, you can also listen to radio channels over a HTTP connection.
-
-WWW: http://streamdev.vdr-developer.org/
diff --git a/multimedia/vdr-plugin-streamdev/pkg-plist b/multimedia/vdr-plugin-streamdev/pkg-plist
deleted file mode 100644
index 77ff52e5d5b8..000000000000
--- a/multimedia/vdr-plugin-streamdev/pkg-plist
+++ /dev/null
@@ -1,20 +0,0 @@
-lib/vdr/libvdr-streamdev-client.so.%%APIVERSION%%
-lib/vdr/libvdr-streamdev-server.so.%%APIVERSION%%
-@sample etc/vdr/plugins/streamdev-server/externremux.sh.sample
-@sample etc/vdr/plugins/streamdev-server/streamdevhosts.conf.sample
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-streamdev-server.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-client.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-streamdev-server.mo
diff --git a/multimedia/vdr-plugin-ttxtsubs/Makefile b/multimedia/vdr-plugin-ttxtsubs/Makefile
deleted file mode 100644
index 80cd850a6180..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-ttxtsubs
-PORTVERSION= 0.2.4
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/725/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - teletext subtitle plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-ttxtsubs/distinfo b/multimedia/vdr-plugin-ttxtsubs/distinfo
deleted file mode 100644
index 3d2c9ae90d7c..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-ttxtsubs-0.2.4.tar.gz) = 6d038f9f48ca6bb844934e15ab47d0aca8cbf650d24c5b31930802d0ac57f4ef
-SIZE (vdr/vdr-ttxtsubs-0.2.4.tar.gz) = 60378
diff --git a/multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile b/multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile
deleted file mode 100644
index b54f465bdcd1..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -101,7 +101,11 @@ all: libvdr-$(PLUGIN).so i18n
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
-@@ -114,3 +118,6 @@ dist: $(I18Npo) clean
- clean:
- @-rm -f $(PODIR)/*.mo $(PODIR)/*.pot
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c b/multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c
deleted file mode 100644
index 8f590491d631..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/files/patch-ttxtsubschannelsettings.c
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/ttxtsubschannelsettings.c
-+++ b/ttxtsubschannelsettings.c
-@@ -34,10 +34,19 @@ cTtxtSubsChannelSetting::cTtxtSubsChanne
- bool cTtxtSubsChannelSetting::Parse(const char *s)
- {
- bool result=false;
-+#ifdef __FreeBSD__
-+ char *buffer=MALLOC(char, 256);
-+#else
- char *buffer=NULL;
-+#endif
- int PageMode;
- int PageNumber;
-- if (3 == sscanf(s, "%a[^,],%d,%d\n", &buffer, &PageMode, &PageNumber)) {
-+#ifdef __FreeBSD__
-+ if (3 == sscanf(s, "%255[^,],%d,%d\n", buffer, &PageMode, &PageNumber))
-+#else
-+ if (3 == sscanf(s, "%a[^,],%d,%d\n", &buffer, &PageMode, &PageNumber))
-+#endif
-+ {
- tChannelID channelID=tChannelID::FromString(buffer);
- if (channelID.Valid()) {
- channelid=channelID;
diff --git a/multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.29 b/multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.29
deleted file mode 100644
index 011554752592..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/files/patch-vdr-1.7.29
+++ /dev/null
@@ -1,25 +0,0 @@
---- ttxtsubs.c.orig
-+++ ttxtsubs.c
-@@ -136,7 +136,7 @@ public:
-
- // -- cStatus
- protected:
-- virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber);
-+ virtual void ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView);
- virtual void Replaying(const cControl *Control, const char *Name, const char *FileName, bool On);
- // virtual void OsdClear(void) { ShowTtxt(); }
- // virtual void OsdTitle(const char *Title) { HideTtxt(); }
-@@ -333,10 +333,11 @@ bool cPluginTtxtsubs::SetupParse(const c
- return true;
- }
-
--void cPluginTtxtsubs::ChannelSwitch(const cDevice *Device, int ChannelNumber)
-+void cPluginTtxtsubs::ChannelSwitch(const cDevice *Device, int ChannelNumber, bool LiveView)
- {
- //dprint("cPluginTtxtsubs::ChannelSwitch(devicenr: %d, channelnr: %d) - mDispl: %x\n", Device->DeviceNumber(), ChannelNumber, mDispl); // XXX
-- if (Device->IsPrimaryDevice() && !Device->Replaying() && ChannelNumber)
-+ if (LiveView /*Device->IsPrimaryDevice()*/ &&
-+ !Device->Replaying() && ChannelNumber)
- {
- StopTtxt();
- DELETENULL(mLiveReceiver);
diff --git a/multimedia/vdr-plugin-ttxtsubs/pkg-descr b/multimedia/vdr-plugin-ttxtsubs/pkg-descr
deleted file mode 100644
index 264f8c8d6ede..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Ttxtsubs-plugin
-
-vdr-ttxtsubs - a teletext subtitle plugin for the Linux Video Disk Recorder
-
-This plug-in implements displaying, recording and replaying teletext
-based subtitles using the on screen display.
-
-WWW: https://projects.vdr-developer.org/projects/plg-ttxtsubs
diff --git a/multimedia/vdr-plugin-ttxtsubs/pkg-plist b/multimedia/vdr-plugin-ttxtsubs/pkg-plist
deleted file mode 100644
index 797f748b0e2b..000000000000
--- a/multimedia/vdr-plugin-ttxtsubs/pkg-plist
+++ /dev/null
@@ -1,11 +0,0 @@
-lib/vdr/libvdr-ttxtsubs.so.%%APIVERSION%%
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-ttxtsubs.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-ttxtsubs.mo
diff --git a/multimedia/vdr-plugin-vdrmanager/Makefile b/multimedia/vdr-plugin-vdrmanager/Makefile
deleted file mode 100644
index fc6ea2b54b5d..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-vdrmanager
-PORTVERSION= 0.6
-PORTREVISION= 7
-CATEGORIES= multimedia
-MASTER_SITES= http://projects.vdr-developer.org/attachments/download/828/
-DISTNAME= ${PORTNAME:S/-plugin//}-${PORTVERSION}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - VDR-Manager server plugin
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-PATCH_STRIP= -p1
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins
- ${INSTALL_DATA} ${WRKSRC}/examples/plugin.vdrmanager.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/plugin.vdrmanager.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-vdrmanager/distinfo b/multimedia/vdr-plugin-vdrmanager/distinfo
deleted file mode 100644
index 4ea790908c8f..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-vdrmanager-0.6.tar.gz) = 4298fa4d806a8de77a417ebd36750983822deb861dcc7c85f6038ebef45f5011
-SIZE (vdr/vdr-vdrmanager-0.6.tar.gz) = 33040
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-Makefile b/multimedia/vdr-plugin-vdrmanager/files/patch-Makefile
deleted file mode 100644
index 0eac21c279ab..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -80,3 +80,6 @@ dist: clean
-
- clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp b/multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp
deleted file mode 100644
index 343d475b44e8..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-helpers.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/helpers.cpp
-+++ b/helpers.cpp
-@@ -4,7 +4,9 @@
-
- #include <time.h>
- #include <unistd.h>
-+#ifndef __FreeBSD__
- #include <values.h>
-+#endif
- #include <vdr/plugin.h>
- #include <vdr/timers.h>
- #include <vdr/recording.h>
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp b/multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp
deleted file mode 100644
index 81fb413f1502..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-From 333d83324710bbdef6f6feea38a9dadc3c01b959 Mon Sep 17 00:00:00 2001
-From: bju <bju@maxi.fritz.box>
-Date: Tue, 24 Jan 2012 23:06:34 +0100
-Subject: Close() has used socket (method pointer) and not sock (variable) to
- check if close() should be called.
-
---- a/sock.cpp.orig 2011-12-28 15:11:48 UTC
-+++ b/sock.cpp
-@@ -20,7 +20,7 @@ cVdrmanagerSocket::~cVdrmanagerSocket()
- }
-
- void cVdrmanagerSocket::Close() {
-- if (socket >= 0) {
-+ if (sock >= 0) {
- close(sock);
- sock = -1;
- }
diff --git a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.h b/multimedia/vdr-plugin-vdrmanager/files/patch-sock.h
deleted file mode 100644
index 07ef5ff21465..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/files/patch-sock.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/sock.h
-+++ b/sock.h
-@@ -7,6 +7,9 @@
-
- #include <sys/types.h>
- #include <sys/socket.h>
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include <string>
-
- using namespace std;
diff --git a/multimedia/vdr-plugin-vdrmanager/pkg-descr b/multimedia/vdr-plugin-vdrmanager/pkg-descr
deleted file mode 100644
index e385f5008e45..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/pkg-descr
+++ /dev/null
@@ -1,4 +0,0 @@
-This helper plugin allows remote programming VDR using
-VDR-Manager running on Android devices.
-
-WWW: https://projects.vdr-developer.org/projects/vdr-manager/wiki
diff --git a/multimedia/vdr-plugin-vdrmanager/pkg-plist b/multimedia/vdr-plugin-vdrmanager/pkg-plist
deleted file mode 100644
index 6bc9d2f4b7a1..000000000000
--- a/multimedia/vdr-plugin-vdrmanager/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/vdr/libvdr-vdrmanager.so.%%APIVERSION%%
-etc/vdr/plugins/plugin.vdrmanager.conf.sample
diff --git a/multimedia/vdr-plugin-vnsiserver/Makefile b/multimedia/vdr-plugin-vnsiserver/Makefile
deleted file mode 100644
index 8a5b34d26f6a..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-vnsiserver
-PORTVERSION= 14.0.20150330
-PORTREVISION= 3
-CATEGORIES= multimedia
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - VNSI server plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USE_GITHUB= yes
-GH_ACCOUNT= FernetMenta
-GH_TAGNAME= 36e2b61
-
-USES= pkgconfig
-PATCH_STRIP= -p1
-
-MAKE_ARGS= LIBDIR=${WRKDIR}/lib \
- LOCDIR=${PREFIX}/share/locale \
- VDRSRC=${LOCALBASE}/include/vdr \
- INCLUDES=-I${LOCALBASE}/include
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
- @${MKDIR} ${STAGEDIR}${PREFIX}/share/locale/de_DE/LC_MESSAGES \
- ${STAGEDIR}${PREFIX}/share/locale/lt_LT/LC_MESSAGES
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-vnsiserver/distinfo b/multimedia/vdr-plugin-vnsiserver/distinfo
deleted file mode 100644
index 49cd0cf68f92..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/FernetMenta-vdr-plugin-vnsiserver-14.0.20150330-36e2b61_GH0.tar.gz) = 439b568addbabbfab2efc218f0db1f65bf308716daeb682107a40ceda9d142af
-SIZE (vdr/FernetMenta-vdr-plugin-vnsiserver-14.0.20150330-36e2b61_GH0.tar.gz) = 82181
diff --git a/multimedia/vdr-plugin-vnsiserver/files/patch-Makefile b/multimedia/vdr-plugin-vnsiserver/files/patch-Makefile
deleted file mode 100644
index 9dfec422d9cc..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/files/patch-Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
---- Makefile.orig
-+++ Makefile
-@@ -134,7 +134,11 @@ $(I18Npot): $(wildcard *.c)
- @touch $@
-
- $(I18Nmsgs): $(DESTDIR)$(LOCDIR)/%/LC_MESSAGES/vdr-$(PLUGIN).mo: $(PODIR)/%.mo
-+ifdef FREEBSD
-+ install -m644 $< $@
-+else
- install -D -m644 $< $@
-+endif
-
- .PHONY: i18n
- i18n: $(I18Nmo) $(I18Npot)
-@@ -147,7 +151,11 @@ $(SOFILE): $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-
- install-lib: $(SOFILE)
-+ifdef FREEBSD
-+ install $^ $(LIBDIR)/$^.$(APIVERSION)
-+else
- install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
-+endif
-
- install: install-lib install-i18n
-
-@@ -164,3 +164,6 @@ clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
- compile: $(SOFILE)
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-vnsiserver/pkg-descr b/multimedia/vdr-plugin-vnsiserver/pkg-descr
deleted file mode 100644
index 3854e0bed931..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Vnsi-server-plugin
-
-VDR-Network-Streaming-Interface plugin to be used with XMBC >= 12.0
-(Frodo) pvr.vdr.vnsi addon (now part of multimedia/xbmc-addon-pvr)
-
-WWW: http://www.vdr-portal.de/board/thread.php?threadid=95292
diff --git a/multimedia/vdr-plugin-vnsiserver/pkg-plist b/multimedia/vdr-plugin-vnsiserver/pkg-plist
deleted file mode 100644
index 0db7a0ac3164..000000000000
--- a/multimedia/vdr-plugin-vnsiserver/pkg-plist
+++ /dev/null
@@ -1,4 +0,0 @@
-lib/vdr/libvdr-vnsiserver.so.%%APIVERSION%%
-@sample etc/vdr/plugins/vnsiserver/allowed_hosts.conf.sample
-share/locale/de_DE/LC_MESSAGES/vdr-vnsiserver.mo
-share/locale/lt_LT/LC_MESSAGES/vdr-vnsiserver.mo
diff --git a/multimedia/vdr-plugin-wirbelscan/Makefile b/multimedia/vdr-plugin-wirbelscan/Makefile
deleted file mode 100644
index 8136b9d345a3..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-wirbelscan
-PORTVERSION= 0.0.7
-PORTREVISION= 9
-CATEGORIES= multimedia
-MASTER_SITES= http://wirbel.htpc-forum.de/wirbelscan/
-DISTNAME= ${PORTNAME:S/-plugin-/-/}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - wirbelscan plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-USES= dos2unix tar:tgz
-DOS2UNIX_FILES= scanner.c
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/${PLUGIN}-${DISTVERSION}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS NLS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
- @${REINPLACE_CMD} -f ${FILESDIR}/types.sed ${WRKSRC}/*.c ${WRKSRC}/*.h
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-wirbelscan/distinfo b/multimedia/vdr-plugin-wirbelscan/distinfo
deleted file mode 100644
index 650ef554bac1..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-wirbelscan-0.0.7.tgz) = 42ffc3da1efd2ec6e40e233e4750f9b19ba04aa6e887d9cac960b758e4371dd2
-SIZE (vdr/vdr-wirbelscan-0.0.7.tgz) = 149949
diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb b/multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb
deleted file mode 100644
index 3db92846ba08..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/patch-64f969e39d18aefa263dc3a61172e33df33963fb
+++ /dev/null
@@ -1,51 +0,0 @@
-commit 64f969e39d18aefa263dc3a61172e33df33963fb
-Author: Stefan Saraev <stefan@saraev.ca>
-Date: Thu Mar 29 20:22:11 2012 +0300
-
- wirbelscan: receiver-api-fixes
-
-diff --git a/statemachine.c b/statemachine.c
-index 48a212e..bc0c8e5 100644
---- a/statemachine.c
-+++ b/statemachine.c
-@@ -36,12 +36,12 @@ protected:
- while (Running()) cCondWait::SleepMs(5);
- }; /*TODO: check here periodically for lock and wether we got any data!*/
- public:
-- cScanReceiver(tChannelID ChannelID, int AnyPid);
-+ cScanReceiver(const cChannel* chan, int AnyPid);
- virtual ~cScanReceiver() {cReceiver::Detach(); };
- };
-
--cScanReceiver::cScanReceiver(tChannelID ChannelID, int AnyPid) :
-- cReceiver(ChannelID, 99, AnyPid), cThread("dummy receiver") { }
-+cScanReceiver::cScanReceiver(const cChannel* chan, int AnyPid) :
-+ cReceiver(chan, 99), cThread("dummy receiver") { AddPid(AnyPid); }
-
- ///!-----------------------------------------------------------------
- ///! v 0.0.5, store state in lastState if different and print state
-@@ -144,7 +144,7 @@ void cStateMachine::Action(void) {
- ScannedTransponders.Add(ScannedTransponder);
-
- dev->SwitchChannel(Transponder, false);
-- aReceiver = new cScanReceiver(Transponder->GetChannelID(), 99);
-+ aReceiver = new cScanReceiver(Transponder, 99);
- dev->AttachReceiver(aReceiver);
-
- cCondWait::SleepMs(1000);
-diff --git a/ttext.c b/ttext.c
-index 0053936..0864484 100644
---- a/ttext.c
-+++ b/ttext.c
-@@ -374,9 +374,9 @@ void cSwReceiver::Action() {
- }
- }
-
--cSwReceiver::cSwReceiver(cChannel * Channel) : cReceiver(Channel->GetChannelID(),
-- 100, Channel->Tpid()), cThread("ttext") {
-+cSwReceiver::cSwReceiver(cChannel * Channel) : cReceiver(Channel, 100), cThread("ttext") {
-
-+ AddPid(Channel->Tpid());
- stopped = fuzzy = false;
- channel = Channel;
- buffer = new cRingBufferLinear(MEGABYTE(1),184);
diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-Makefile b/multimedia/vdr-plugin-wirbelscan/files/patch-Makefile
deleted file mode 100644
index 6529121a74e6..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/patch-Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -119,7 +119,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- perm:
- @chmod 644 *.{c,h,html} COPYING HISTORY README TODO Makefile po/* patches/*
-@@ -138,3 +142,6 @@ clean:
-
- clean_code: clean
- uncrustify -c ../../../../clean_code/config --replace --no-backup $(UNCRUSTIFY_FILES)
-+
-+install:
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c b/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c
deleted file mode 100644
index 5c6fa8443e94..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/patch-scanner.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/scanner.c
-+++ b/scanner.c
-@@ -633,7 +633,7 @@ void cScanner::Action(void) {
- else
- continue;
- cCondWait::SleepMs(2000);
-- vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE || V4L2_CAP_SLICED_VBI_CAPTURE);
-+ vbiSupport = vcap.capabilities & (V4L2_CAP_VBI_CAPTURE | V4L2_CAP_SLICED_VBI_CAPTURE);
- if (vbiSupport)
- dlog(1, "device can capture vbi");
- }
diff --git a/multimedia/vdr-plugin-wirbelscan/files/types.sed b/multimedia/vdr-plugin-wirbelscan/files/types.sed
deleted file mode 100644
index 6230cb96b7a1..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/files/types.sed
+++ /dev/null
@@ -1,5 +0,0 @@
-/^#include <linux\/dvb\/frontend.h>/i\
-#include <stdint.h>
-s/^#include <linux\/types.h>/#include <stdint.h>/
-s/__u8/uint8_t/g
-s/__u32/uint32_t/g
diff --git a/multimedia/vdr-plugin-wirbelscan/pkg-descr b/multimedia/vdr-plugin-wirbelscan/pkg-descr
deleted file mode 100644
index bf572c106c69..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/pkg-descr
+++ /dev/null
@@ -1,6 +0,0 @@
-http://www.vdr-wiki.de/wiki/index.php/Wirbelscan-plugin
-
-This plugin performs a channel scans for digital terrestrial and digital
-cable TV and analog ivtv cards, satellite is also supported.
-
-WWW: http://wirbel.htpc-forum.de/wirbelscan/index2.html
diff --git a/multimedia/vdr-plugin-wirbelscan/pkg-plist b/multimedia/vdr-plugin-wirbelscan/pkg-plist
deleted file mode 100644
index 6613e8296822..000000000000
--- a/multimedia/vdr-plugin-wirbelscan/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-lib/vdr/libvdr-wirbelscan.so.%%APIVERSION%%
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-wirbelscan.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-wirbelscan.mo
diff --git a/multimedia/vdr-plugin-xineliboutput/Makefile b/multimedia/vdr-plugin-xineliboutput/Makefile
deleted file mode 100644
index 1d38febbf87b..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/Makefile
+++ /dev/null
@@ -1,71 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-xineliboutput
-PORTVERSION= 1.0.90s20120511
-PORTREVISION= 32
-CATEGORIES= multimedia
-MASTER_SITES= SF/xineliboutput/files/xineliboutput/vdr-xineliboutput-${PORTVERSION}/:release \
- LOCAL/nox:snapshot
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - xineliboutput plugin/viewer
-
-LICENSE= GPLv2
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \
- libdbus-glib-1.so:devel/dbus-glib \
- libvdpau.so:multimedia/libvdpau \
- libxine.so:multimedia/libxine
-
-USES= compiler:c++11-lang gl pkgconfig tar:bzip2 xorg
-USE_GL= gl glu glut
-USE_XORG= xrandr xrender
-
-HAS_CONFIGURE= yes
-CONFIGURE_ARGS= --add-cflags=-I${VDRDIR} \
- --cc="${CC}" \
- --cxx="${CXX}"
-
-PATCH_STRIP= -p1
-
-WRKSRC= ${WRKDIR}/vdr-${PLUGIN}
-XINE_PLUGINSDIR= lib/xine/plugins/2.10
-
-PLIST_SUB= XINE_PLUGINSDIR=${XINE_PLUGINSDIR}
-PORTDOCS= HISTORY README
-PORTEXAMPLES= xine
-
-OPTIONS_DEFINE= DOCS EXAMPLES LIBBLURAY LIBEXTRACTOR NLS
-OPTIONS_SUB= yes
-
-LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
-LIBBLURAY_CONFIGURE_ENABLE= libbluray
-LIBEXTRACTOR_LIB_DEPENDS= libextractor.so:textproc/libextractor
-LIBEXTRACTOR_CONFIGURE_ENABLE= libextractor
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-# clang doesn't know -MG
- ${TOUCH} -t 200001010000 ${WRKSRC}/nosignal_720x576.c \
- ${WRKSRC}/black_720x576.c ${WRKSRC}/vdrlogo_720x576.c
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install: post-install-pluginlocales
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/examples/allowed_hosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-post-install-EXAMPLES-on:
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/xine
- ${INSTALL_DATA} ${FILESDIR}/keymap ${STAGEDIR}${EXAMPLESDIR}/xine
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-xineliboutput/distinfo b/multimedia/vdr-plugin-xineliboutput/distinfo
deleted file mode 100644
index 6273cfed8d9c..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1532570045
-SHA256 (vdr/vdr-plugin-xineliboutput-1.0.90s20120511.tar.bz2) = 87d6903cb66e29452c2e0c380dcbe7eed2c5414281a8ebf9be7f7e12b2dd611f
-SIZE (vdr/vdr-plugin-xineliboutput-1.0.90s20120511.tar.bz2) = 372415
diff --git a/multimedia/vdr-plugin-xineliboutput/files/keymap b/multimedia/vdr-plugin-xineliboutput/files/keymap
deleted file mode 100644
index ff3c81759c85..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/keymap
+++ /dev/null
@@ -1,1203 +0,0 @@
-##
-# xine key bindings.
-# Automatically generated by xine-ui version 0.99.7.
-##
-
-# start playback
-Play {
- key = VOID
- modifier = none
-}
-
-# playback pause toggle
-Pause {
- key = space
- modifier = meta
-}
-
-# stop playback
-Stop {
- key = S
- modifier = meta
-}
-
-# close stream
-Close {
- key = C
- modifier = none
-}
-
-# take a snapshot
-Snapshot {
- key = t
- modifier = none
-}
-
-# eject the current medium
-Eject {
- key = E
- modifier = none
-}
-
-# select and play next MRL in the playlist
-NextMrl {
- key = Next
- modifier = control
-}
-
-# select and play previous MRL in the playlist
-PriorMrl {
- key = Prior
- modifier = control
-}
-
-# select and play MRL in the playlist
-SelectMrl {
- key = Select
- modifier = none
-}
-
-# loop mode toggle
-ToggleLoopMode {
- key = l
- modifier = none
-}
-
-# stop playback after played stream
-PlaylistStop {
- key = l
- modifier = control
-}
-
-# scan playlist to grab stream infos
-ScanPlaylistInfo {
- key = s
- modifier = control
-}
-
-# add a mediamark from current playback
-AddMediamark {
- key = a
- modifier = control
-}
-
-# edit selected mediamark
-MediamarkEditor {
- key = e
- modifier = control
-}
-
-# set position to -60 seconds in current stream
-SeekRelative-60 {
- key = VOID
- modifier = none
-}
-
-# set position to +60 seconds in current stream
-SeekRelative+60 {
- key = VOID
- modifier = none
-}
-
-# set position to -30 seconds in current stream
-SeekRelative-30 {
- key = VOID
- modifier = meta
-}
-
-# set position to +30 seconds in current stream
-SeekRelative+30 {
- key = VOID
- modifier = meta
-}
-
-# set position to -15 seconds in current stream
-SeekRelative-15 {
- key = VOID
- modifier = control
-}
-
-# set position to +15 seconds in current stream
-SeekRelative+15 {
- key = VOID
- modifier = control
-}
-
-# set position to -7 seconds in current stream
-SeekRelative-7 {
- key = VOID
- modifier = mod3
-}
-
-# set position to +7 seconds in current stream
-SeekRelative+7 {
- key = VOID
- modifier = mod3
-}
-
-# set position to beginning of current stream
-SetPosition0% {
- key = 0
- modifier = control
-}
-
-# set position to 10% of current stream
-SetPosition10% {
- key = 1
- modifier = control
-}
-
-# set position to 20% of current stream
-SetPosition20% {
- key = 2
- modifier = control
-}
-
-# set position to 30% of current stream
-SetPosition30% {
- key = 3
- modifier = control
-}
-
-# set position to 40% of current stream
-SetPosition40% {
- key = 4
- modifier = control
-}
-
-# set position to 50% of current stream
-SetPosition50% {
- key = 5
- modifier = control
-}
-
-# set position to 60% of current stream
-SetPosition60% {
- key = 6
- modifier = control
-}
-
-# set position to 70% of current stream
-SetPosition70% {
- key = 7
- modifier = control
-}
-
-# set position to 80% of current stream
-SetPosition80% {
- key = 8
- modifier = control
-}
-
-# set position to 90% of current stream
-SetPosition90% {
- key = 9
- modifier = control
-}
-
-# set position to 100% of current stream
-SetPosition100% {
- key = End
- modifier = control
-}
-
-# increment playback speed
-SpeedFaster {
- key = VOID
- modifier = none
-}
-
-# decrement playback speed
-SpeedSlower {
- key = VOID
- modifier = none
-}
-
-# reset playback speed
-SpeedReset {
- key = DOWN
- modifier = meta
-}
-
-# increment audio volume
-Volume+ {
- key = V
- modifier = meta
-}
-
-# decrement audio volume
-Volume- {
- key = v
- modifier = meta
-}
-
-# increment amplification level
-Amp+ {
- key = V
- modifier = control
-}
-
-# decrement amplification level
-Amp- {
- key = v
- modifier = control
-}
-
-# reset amplification to default value
-ResetAmp {
- key = A
- modifier = control
-}
-
-# audio muting toggle
-Mute {
- key = VOID
- modifier = control
-}
-
-# select next audio channel
-AudioChannelNext {
- key = plus
- modifier = none
-}
-
-# select previous audio channel
-AudioChannelPrior {
- key = minus
- modifier = none
-}
-
-# visibility toggle of audio post effect window
-APProcessShow {
- key = VOID
- modifier = none
-}
-
-# toggle post effect usage
-APProcessEnable {
- key = VOID
- modifier = none
-}
-
-# select next sub picture (subtitle) channel
-SpuNext {
- key = period
- modifier = none
-}
-
-# select previous sub picture (subtitle) channel
-SpuPrior {
- key = comma
- modifier = none
-}
-
-# interlaced mode toggle
-ToggleInterleave {
- key = I
- modifier = none
-}
-
-# cycle aspect ratio values
-ToggleAspectRatio {
- key = A
- modifier = none
-}
-
-# reduce the output window size by factor 1.2
-WindowReduce {
- key = less
- modifier = none
-}
-
-# enlarge the output window size by factor 1.2
-WindowEnlarge {
- key = greater
- modifier = none
-}
-
-# set video output window to 50%
-Window50 {
- key = 1
- modifier = meta
-}
-
-# set video output window to 100%
-Window100 {
- key = 2
- modifier = meta
-}
-
-# set video output window to 200%
-Window200 {
- key = 3
- modifier = meta
-}
-
-# zoom in
-ZoomIn {
- key = z
- modifier = none
-}
-
-# zoom out
-ZoomOut {
- key = Z
- modifier = none
-}
-
-# zoom in horizontally
-ZoomInX {
- key = z
- modifier = control
-}
-
-# zoom out horizontally
-ZoomOutX {
- key = Z
- modifier = control
-}
-
-# zoom in vertically
-ZoomInY {
- key = z
- modifier = meta
-}
-
-# zoom out vertically
-ZoomOutY {
- key = Z
- modifier = meta
-}
-
-# reset zooming
-ZoomReset {
- key = z
- modifier = control, meta
-}
-
-# resize output window to stream size
-Zoom1:1 {
- key = S
- modifier = none
-}
-
-# fullscreen toggle
-ToggleFullscreen {
- key = f
- modifier = none
-}
-
-# Xinerama fullscreen toggle
-ToggleXineramaFullscr {
- key = F
- modifier = none
-}
-
-# jump to media Menu
-Menu {
- key = Tab
- modifier = none
-}
-
-# jump to Title Menu
-TitleMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Root Menu
-RootMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Subpicture Menu
-SubpictureMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Audio Menu
-AudioMenu {
- key = VOID
- modifier = none
-}
-
-# jump to Angle Menu
-AngleMenu {
- key = F1
- modifier = none
-}
-
-# jump to Part Menu
-PartMenu {
- key = F2
- modifier = none
-}
-
-# menu navigate up
-EventUp {
- key = Up
- modifier = none
-}
-
-# menu navigate down
-EventDown {
- key = Down
- modifier = none
-}
-
-# menu navigate left
-EventLeft {
- key = Left
- modifier = none
-}
-
-# menu navigate right
-EventRight {
- key = Right
- modifier = none
-}
-
-# menu select
-EventSelect {
- key = Return
- modifier = none
-}
-
-# jump to next chapter
-EventNext {
- key = KP_Next
- modifier = none
-}
-
-# jump to previous chapter
-EventPrior {
- key = KP_Prior
- modifier = none
-}
-
-# select next angle
-EventAngleNext {
- key = KP_Home
- modifier = none
-}
-
-# select previous angle
-EventAnglePrior {
- key = KP_End
- modifier = none
-}
-
-# visibility toggle of help window
-HelpShow {
- key = h
- modifier = meta
-}
-
-# visibility toggle of video post effect window
-VPProcessShow {
- key = P
- modifier = meta
-}
-
-# toggle post effect usage
-VPProcessEnable {
- key = P
- modifier = control, meta
-}
-
-# visibility toggle of output window
-ToggleWindowVisibility {
- key = h
- modifier = none
-}
-
-# bordered window toggle of output window
-ToggleWindowBorder {
- key = b
- modifier = none
-}
-
-# visibility toggle of UI windows
-ToggleVisibility {
- key = g
- modifier = none
-}
-
-# visibility toggle of control window
-ControlShow {
- key = c
- modifier = meta
-}
-
-# visibility toggle of mrl browser window
-MrlBrowser {
- key = m
- modifier = meta
-}
-
-# visibility toggle of playlist editor window
-PlaylistEditor {
- key = p
- modifier = meta
-}
-
-# visibility toggle of the setup window
-SetupShow {
- key = s
- modifier = meta
-}
-
-# visibility toggle of the event sender window
-EventSenderShow {
- key = e
- modifier = meta
-}
-
-# visibility toggle of analog TV window
-TVAnalogShow {
- key = t
- modifier = meta
-}
-
-# visibility toggle of log viewer
-ViewlogShow {
- key = l
- modifier = meta
-}
-
-# visibility toggle of stream info window
-StreamInfosShow {
- key = i
- modifier = meta
-}
-
-# display stream information using OSD
-OSDStreamInfos {
- key = i
- modifier = control
-}
-
-# display information using OSD
-OSDWriteText {
- key = VOID
- modifier = control
-}
-
-# show OSD menu
-OSDMenu {
- key = O
- modifier = none
-}
-
-# enter key binding editor
-KeyBindingEditor {
- key = k
- modifier = meta
-}
-
-# enable key bindings (not useful to bind a key to it!)
-KeyBindingsEnable {
- key = VOID
- modifier = none
-}
-
-# open file selector
-FileSelector {
- key = o
- modifier = control
-}
-
-# select a subtitle file
-SubSelector {
- key = S
- modifier = control
-}
-
-# download a skin from the skin server
-SkinDownload {
- key = d
- modifier = control
-}
-
-# display MRL/Ident toggle
-MrlIdentToggle {
- key = t
- modifier = control
-}
-
-# grab pointer toggle
-GrabPointer {
- key = Insert
- modifier = meta
-}
-
-# enter the number 0
-Number0 {
- key = 0
- modifier = none
-}
-
-# enter the number 1
-Number1 {
- key = 1
- modifier = none
-}
-
-# enter the number 2
-Number2 {
- key = 2
- modifier = none
-}
-
-# enter the number 3
-Number3 {
- key = 3
- modifier = none
-}
-
-# enter the number 4
-Number4 {
- key = 4
- modifier = none
-}
-
-# enter the number 5
-Number5 {
- key = 5
- modifier = none
-}
-
-# enter the number 6
-Number6 {
- key = 6
- modifier = none
-}
-
-# enter the number 7
-Number7 {
- key = 7
- modifier = none
-}
-
-# enter the number 8
-Number8 {
- key = 8
- modifier = none
-}
-
-# enter the number 9
-Number9 {
- key = 9
- modifier = none
-}
-
-# add 10 to the next entered number
-Number10add {
- key = plus
- modifier = mod3
-}
-
-# set position in current stream to numeric percentage
-SetPosition% {
- key = slash
- modifier = none
-}
-
-# set position forward by numeric argument in current stream
-SeekRelative+ {
- key = VOID
- modifier = meta
-}
-
-# set position back by numeric argument in current stream
-SeekRelative- {
- key = VOID
- modifier = mod3
-}
-
-# change audio video syncing (delay video)
-AudioVideoDecay+ {
- key = VOID
- modifier = none
-}
-
-# change audio video syncing (delay audio)
-AudioVideoDecay- {
- key = n
- modifier = none
-}
-
-# reset audio video syncing offset
-AudioVideoDecayReset {
- key = Home
- modifier = none
-}
-
-# change subtitle syncing (delay video)
-SpuVideoDecay+ {
- key = M
- modifier = none
-}
-
-# change subtitle syncing (delay subtitles)
-SpuVideoDecay- {
- key = N
- modifier = none
-}
-
-# reset subtitle syncing offset
-SpuVideoDecayReset {
- key = End
- modifier = none
-}
-
-# toggle TV modes (on the DXR3)
-ToggleTVmode {
- key = o
- modifier = control, meta
-}
-
-# switch Monitor to DPMS standby mode
-DPMSStandby {
- key = d
- modifier = none
-}
-
-# increase hue by 10
-HueControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease hue by 10
-HueControl- {
- key = VOID
- modifier = none
-}
-
-# increase saturation by 10
-SaturationControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease saturation by 10
-SaturationControl- {
- key = VOID
- modifier = none
-}
-
-# increase brightness by 10
-BrightnessControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease brightness by 10
-BrightnessControl- {
- key = VOID
- modifier = none
-}
-
-# increase contrast by 10
-ContrastControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease contrast by 10
-ContrastControl- {
- key = VOID
- modifier = none
-}
-
-# increase gamma by 10
-GammaControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease gamma by 10
-GammaControl- {
- key = VOID
- modifier = none
-}
-
-# increase sharpness by 10
-SharpnessControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease sharpness by 10
-SharpnessControl- {
- key = VOID
- modifier = none
-}
-
-# increase noise reduction by 10
-NoiseReductionControl+ {
- key = VOID
- modifier = none
-}
-
-# decrease noise reduction by 10
-NoiseReductionControl- {
- key = VOID
- modifier = none
-}
-
-# quit the program
-Quit {
- key = q
- modifier = none
-}
-
-# input_pvr: set input
-PVRSetInput {
- key = VOID
- modifier = none
-}
-
-# input_pvr: set frequency
-PVRSetFrequency {
- key = VOID
- modifier = none
-}
-
-# input_pvr: mark the start of a new stream section
-PVRSetMark {
- key = VOID
- modifier = none
-}
-
-# input_pvr: set the name for the current stream section
-PVRSetName {
- key = VOID
- modifier = none
-}
-
-# input_pvr: save the stream section
-PVRSave {
- key = VOID
- modifier = none
-}
-
-# VDR Red button
-VDRButtonRed {
- key = F5
- modifier = none
-}
-
-# VDR Green button
-VDRButtonGreen {
- key = F6
- modifier = none
-}
-
-# VDR Yellow button
-VDRButtonYellow {
- key = F7
- modifier = none
-}
-
-# VDR Blue button
-VDRButtonBlue {
- key = F8
- modifier = none
-}
-
-# VDR Play
-VDRPlay {
- key = p
- modifier = none
-}
-
-# VDR Pause
-VDRPause {
- key = space
- modifier = none
-}
-
-# VDR Stop
-VDRStop {
- key = s
- modifier = none
-}
-
-# VDR Record
-VDRRecord {
- key = r
- modifier = none
-}
-
-# VDR Fast forward
-VDRFastFwd {
- key = w
- modifier = none
-}
-
-# VDR Fast rewind
-VDRFastRew {
- key = e
- modifier = none
-}
-
-# VDR Power
-VDRPower {
- key = VOID
- modifier = none
-}
-
-# VDR Channel +
-VDRChannelPlus {
- key = Prior
- modifier = none
-}
-
-# VDR Channel -
-VDRChannelMinus {
- key = Next
- modifier = none
-}
-
-# VDR Schedule menu
-VDRSchedule {
- key = VOID
- modifier = none
-}
-
-# VDR Channel menu
-VDRChannels {
- key = c
- modifier = none
-}
-
-# VDR Timers menu
-VDRTimers {
- key = VOID
- modifier = none
-}
-
-# VDR Recordings menu
-VDRRecordings {
- key = o
- modifier = none
-}
-
-# VDR Setup menu
-VDRSetup {
- key = VOID
- modifier = none
-}
-
-# VDR Command menu
-VDRCommands {
- key = D
- modifier = none
-}
-
-# VDR Command back
-VDRBack {
- key = BackSpace
- modifier = none
-}
-
-# VDR User command 0
-VDRUser0 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 1
-VDRUser1 {
- key = U
- modifier = none
-}
-
-# VDR User command 2
-VDRUser2 {
- key = V
- modifier = none
-}
-
-# VDR User command 3
-VDRUser3 {
- key = W
- modifier = none
-}
-
-# VDR User command 4
-VDRUser4 {
- key = X
- modifier = none
-}
-
-# VDR User command 5
-VDRUser5 {
- key = Y
- modifier = none
-}
-
-# VDR User command 6
-VDRUser6 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 7
-VDRUser7 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 8
-VDRUser8 {
- key = VOID
- modifier = none
-}
-
-# VDR User command 9
-VDRUser9 {
- key = VOID
- modifier = none
-}
-
-# VDR Volume +
-VDRVolumePlus {
- key = KP_Add
- modifier = none
-}
-
-# VDR Volume -
-VDRVolumeMinus {
- key = KP_Subtract
- modifier = none
-}
-
-# VDR Mute audio
-VDRMute {
- key = m
- modifier = none
-}
-
-# VDR Audio menu
-VDRAudio {
- key = a
- modifier = none
-}
-
-# VDR Command info
-VDRInfo {
- key = i
- modifier = none
-}
-
-# VDR Previous channel
-VDRChannelPrevious {
- key = VOID
- modifier = none
-}
-
-# VDR Subtiles menu
-VDRSubtitles {
- key = u
- modifier = none
-}
-
-# menu select
-Alias {
- entry = EventSelect
- key = KP_Enter
- modifier = none
-}
-
-# jump to media Menu
-Alias {
- entry = Menu
- key = Insert
- modifier = none
-}
-
-# enter the number 0
-Alias {
- entry = Number0
- key = KP_0
- modifier = none
-}
-
-# enter the number 1
-Alias {
- entry = Number1
- key = KP_1
- modifier = none
-}
-
-# enter the number 2
-Alias {
- entry = Number2
- key = KP_2
- modifier = none
-}
-
-# enter the number 3
-Alias {
- entry = Number3
- key = KP_3
- modifier = none
-}
-
-# enter the number 4
-Alias {
- entry = Number4
- key = KP_4
- modifier = none
-}
-
-# enter the number 5
-Alias {
- entry = Number5
- key = KP_5
- modifier = none
-}
-
-# enter the number 6
-Alias {
- entry = Number6
- key = KP_6
- modifier = none
-}
-
-# enter the number 7
-Alias {
- entry = Number7
- key = KP_7
- modifier = none
-}
-
-# enter the number 8
-Alias {
- entry = Number8
- key = KP_8
- modifier = none
-}
-
-# enter the number 9
-Alias {
- entry = Number9
- key = KP_9
- modifier = none
-}
-
-# VDR Play
-Alias {
- entry = VDRPlay
- key = y
- modifier = none
-}
-
-##
-# End of xine key bindings.
-##
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-Makefile b/multimedia/vdr-plugin-xineliboutput/files/patch-Makefile
deleted file mode 100644
index 510b1084a45d..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-Makefile
+++ /dev/null
@@ -1,83 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -84,13 +84,8 @@ VDRINCDIR = /usr/local/include
- ### check for VDR
- ###
-
--ifeq ($(ARCH_APPLE_DARWIN), yes)
- VDRVERSION = $(shell sed -ne '/define VDRVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
- APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
--else
-- VDRVERSION = $(shell sed -ne '/define VDRVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
-- APIVERSION = $(shell sed -ne '/define APIVERSION/ { s/^.*"\(.*\)".*$$/\1/; p }' $(VDRDIR)/config.h)
--endif
-
- VDR_TREE = no
- ifeq ($(strip $(VDRVERSION)),)
-@@ -199,6 +194,9 @@ endif
- ifdef STARTUP_IMAGE_FILE
- DEFINES += -DSTARTUP_IMAGE_FILE='"$(STARTUP_IMAGE_FILE)"'
- endif
-+ifdef LOCALBASE
-+ DEFINES += -DLOCALBASE='"$(LOCALBASE)"'
-+endif
-
-
- ###
-@@ -410,10 +410,10 @@ ifeq ($(XINELIBOUTPUT_XINEPLUGIN), yes)
- endif
- ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
- ifeq ($(VDR_TREE), no)
-- @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN)
-- @mkdir -p $(DESTDIR)$(LIBDIR)
-- @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN)
-- @$(INSTALL) -D -m 0755 $(VDRPLUGIN) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN)
-+ @echo Installing $(LIBDIR)/$(VDRPLUGIN)
-+ @mkdir -p $(LIBDIR)
-+ @-rm -rf $(LIBDIR)/$(VDRPLUGIN)
-+ @$(INSTALL) -m 0755 $(VDRPLUGIN) $(LIBDIR)/$(VDRPLUGIN)
- endif
- endif
- ifeq ($(XINELIBOUTPUT_FB), yes)
-@@ -423,10 +423,10 @@ ifeq ($(XINELIBOUTPUT_FB), yes)
- @$(INSTALL) -m 0755 vdr-fbfe $(DESTDIR)/$(BINDIR)/vdr-fbfe
- ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
- ifeq ($(VDR_TREE), no)
-- @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_FBFE)
-- @mkdir -p $(DESTDIR)$(LIBDIR)
-- @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_FBFE)
-- @$(INSTALL) -m 0755 $(VDRPLUGIN_FBFE) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_FBFE)
-+ @echo Installing $(LIBDIR)/$(VDRPLUGIN_FBFE)
-+ @mkdir -p $(LIBDIR)
-+ @-rm -rf $(LIBDIR)/$(VDRPLUGIN_FBFE)
-+ @$(INSTALL) -m 0755 $(VDRPLUGIN_FBFE) $(LIBDIR)/$(VDRPLUGIN_FBFE)
- endif
- endif
- endif
-@@ -437,10 +437,10 @@ ifeq ($(XINELIBOUTPUT_X11), yes)
- @$(INSTALL) -m 0755 vdr-sxfe $(DESTDIR)/$(BINDIR)/vdr-sxfe
- ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
- ifeq ($(VDR_TREE), no)
-- @echo Installing $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_SXFE)
-- @mkdir -p $(DESTDIR)$(LIBDIR)
-- @-rm -rf $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_SXFE)
-- @$(INSTALL) -m 0755 $(VDRPLUGIN_SXFE) $(DESTDIR)$(LIBDIR)/$(VDRPLUGIN_SXFE)
-+ @echo Installing $(LIBDIR)/$(VDRPLUGIN_SXFE)
-+ @mkdir -p $(LIBDIR)
-+ @-rm -rf $(LIBDIR)/$(VDRPLUGIN_SXFE)
-+ @$(INSTALL) -m 0755 $(VDRPLUGIN_SXFE) $(LIBDIR)/$(VDRPLUGIN_SXFE)
- endif
- endif
- endif
-@@ -441,6 +439,11 @@ ifeq ($(XINELIBOUTPUT_X11), yes)
- endif
- endif
- endif
-+ifeq ($(XINELIBOUTPUT_VDRPLUGIN), yes)
-+ @$(INSTALL) -m 0755 $(LIBDIR)/$(VDRPLUGIN) $(DESTDIR)/${PREFIX}/lib/vdr
-+ @$(INSTALL) -m 0755 $(LIBDIR)/$(VDRPLUGIN_SXFE) $(DESTDIR)/${PREFIX}/lib/vdr
-+
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-c++11 b/multimedia/vdr-plugin-xineliboutput/files/patch-c++11
deleted file mode 100644
index ca242e5d3553..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-c++11
+++ /dev/null
@@ -1,163 +0,0 @@
-diff -ruN vdr-xineliboutput.orig/device.c vdr-xineliboutput/device.c
---- vdr-xineliboutput.orig/device.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/device.c 2021-08-30 10:52:36.560762000 +0200
-@@ -967,7 +967,7 @@
- #ifdef LOG_TRICKSPEED
- if(PictureType != NO_PICTURE && PES_HAS_PTS(buf)) {
- int64_t pts = pes_get_pts(buf, length);
-- LOGMSG(" TrickSpeed: frame %s pts %"PRId64, picture_type_str[PictureType], pts);
-+ LOGMSG(" TrickSpeed: frame %s pts %" PRId64, picture_type_str[PictureType], pts);
- }
- #endif
-
-@@ -1019,11 +1019,11 @@
- if(m_TrickSpeedPts == 0) {
- m_TrickSpeedMode |= trs_NoAudio;
- m_TrickSpeedPts = pts;
-- LOGTRICKSPEED(" Seen video pts = %"PRId64, pts);
-+ LOGTRICKSPEED(" Seen video pts = %" PRId64, pts);
- } else {
- if(pts < m_TrickSpeedPts) {
- /* -> playing fast backwards */
-- LOGTRICKSPEED(" Detected fast backward mode. last %"PRId64" now %"PRId64,
-+ LOGTRICKSPEED(" Detected fast backward mode. last %" PRId64 " now %" PRId64,
- m_TrickSpeedPts, pts);
- //if(!(m_TrickSpeedMode & trs_PTS_recalc))
- // ForEach(m_clients, &cXinelibThread::Clear);
-@@ -1051,7 +1051,7 @@
- if(m_TrickSpeedPts == 0)
- m_TrickSpeedPts = pts;
-
-- LOGTRICKSPEED(" pts %"PRId64" -> %"PRId64" (diff %"PRId64") %"PRId64"", pts,
-+ LOGTRICKSPEED(" pts %" PRId64 " -> %" PRId64 " (diff %" PRId64 ") %" PRId64 "", pts,
- m_TrickSpeedPts + 40*12*90, m_TrickSpeedPts + 40*12*90 - pts,
- (m_TrickSpeedPts + 40*12*90)^0x80000000);
- pts = m_TrickSpeedPts = m_TrickSpeedPts + 40*12*90; /* 12 frames * 40ms -> pts units */
-diff -ruN vdr-xineliboutput.orig/tools/ts.c vdr-xineliboutput/tools/ts.c
---- vdr-xineliboutput.orig/tools/ts.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/tools/ts.c 2021-08-30 10:54:49.676758000 +0200
-@@ -545,7 +545,7 @@
-
- #ifdef LOG_PCR
- uint epcr = ((pkt[10] & 0x1) << 8) | pkt[11];
-- LOGPCR("ts_get_pcr: PCR: %"PRId64", EPCR: %u", pcr, epcr);
-+ LOGPCR("ts_get_pcr: PCR: %" PRId64 ", EPCR: %u", pcr, epcr);
- #endif
-
- *ppcr = pcr;
-diff -ruN vdr-xineliboutput.orig/xine/BluRay/decode_spuhdmv.c vdr-xineliboutput/xine/BluRay/decode_spuhdmv.c
---- vdr-xineliboutput.orig/xine/BluRay/decode_spuhdmv.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/BluRay/decode_spuhdmv.c 2021-08-30 10:50:45.900369000 +0200
-@@ -925,7 +925,7 @@
-
- static void decode_segment(spuhdmv_decoder_t *this)
- {
-- XINE_HDMV_TRACE("*** new segment, pts %010"PRId64": 0x%02x (%8d bytes)\n",
-+ XINE_HDMV_TRACE("*** new segment, pts %010" PRId64 ": 0x%02x (%8d bytes)\n",
- this->pts, this->buf->segment_type, this->buf->segment_len);
-
- switch (segbuf_segment_type(this->buf)) {
-diff -ruN vdr-xineliboutput.orig/xine/BluRay/input_bluray.c vdr-xineliboutput/xine/BluRay/input_bluray.c
---- vdr-xineliboutput.orig/xine/BluRay/input_bluray.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/BluRay/input_bluray.c 2021-08-30 10:54:23.289681000 +0200
-@@ -568,7 +568,7 @@
-
- #ifdef LOG
- int ms = this->title_info->duration / INT64_C(90);
-- lprintf("Opened title %d. Length %"PRId64" bytes / %02d:%02d:%02d.%03d\n",
-+ lprintf("Opened title %d. Length %" PRId64 " bytes / %02d:%02d:%02d.%03d\n",
- this->current_title_idx, bd_get_title_size(this->bdh),
- ms / 3600000, (ms % 3600000 / 60000), (ms % 60000) / 1000, ms % 1000);
- #endif
-diff -ruN vdr-xineliboutput.orig/xine/adjustable_scr.c vdr-xineliboutput/xine/adjustable_scr.c
---- vdr-xineliboutput.orig/xine/adjustable_scr.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/adjustable_scr.c 2021-08-30 10:50:17.820989000 +0200
-@@ -274,13 +274,13 @@
- set_pivot( this );
- this->buffering = 1;
- this->buffering_start_time = time_ms();
-- LOGMSG("start buffering at %"PRId64, this->cur_pts);
-+ LOGMSG("start buffering at %" PRId64, this->cur_pts);
- }
- } else {
- if (this->buffering) {
- set_pivot( this );
- this->buffering = 0;
-- LOGMSG("stop buffering at %"PRId64" (buffering took %"PRIu64" ms)",
-+ LOGMSG("stop buffering at %" PRId64 " (buffering took %" PRIu64 " ms)",
- this->cur_pts, elapsed(this->buffering_start_time));
- }
- }
-diff -ruN vdr-xineliboutput.orig/xine/demux_xvdr.c vdr-xineliboutput/xine/demux_xvdr.c
---- vdr-xineliboutput.orig/xine/demux_xvdr.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/demux_xvdr.c 2021-08-30 10:51:33.112992000 +0200
-@@ -227,7 +227,7 @@
- int still_mode = (int)this->stream->metronom->get_option(this->stream->metronom, XVDR_METRONOM_STILL_MODE);
- int trick_speed = (int)this->stream->metronom->get_option(this->stream->metronom, XVDR_METRONOM_TRICK_SPEED);
- if (still_mode > 0 || trick_speed > 0) {
-- LOGMSG("Skipping new pts %"PRId64" (still=%d trickspeed=%d)", buf->pts, still_mode, trick_speed);
-+ LOGMSG("Skipping new pts %" PRId64 " (still=%d trickspeed=%d)", buf->pts, still_mode, trick_speed);
- return;
- }
- }
-@@ -239,7 +239,7 @@
-
- if (this->send_newpts || (this->last_pts[video] && abs(diff)>WRAP_THRESHOLD)) {
-
-- LOGVERBOSE("New PTS: %"PRId64" (%s)", buf->pts, video ? "VIDEO" : "AUDIO");
-+ LOGVERBOSE("New PTS: %" PRId64 " (%s)", buf->pts, video ? "VIDEO" : "AUDIO");
-
- if (this->buf_flag_seek) {
- _x_demux_control_newpts(this->stream, buf->pts, BUF_FLAG_SEEK);
-diff -ruN vdr-xineliboutput.orig/xine/vo_lastpts.c vdr-xineliboutput/xine/vo_lastpts.c
---- vdr-xineliboutput.orig/xine/vo_lastpts.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/vo_lastpts.c 2021-08-30 10:55:43.802524000 +0200
-@@ -83,7 +83,7 @@
- if (this->xvdr_metronom) {
- ASSERT_RET(this->xvdr_metronom->set_option, return);
-
-- LOGVERBOSE("last pts %"PRId64, vo_img->pts);
-+ LOGVERBOSE("last pts %" PRId64, vo_img->pts);
-
- this->xvdr_metronom->set_option(this->xvdr_metronom, XVDR_METRONOM_LAST_VO_PTS, vo_img->pts);
- }
-diff -ruN vdr-xineliboutput.orig/xine/xvdr_metronom.c vdr-xineliboutput/xine/xvdr_metronom.c
---- vdr-xineliboutput.orig/xine/xvdr_metronom.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine/xvdr_metronom.c 2021-08-30 10:57:30.121628000 +0200
-@@ -37,11 +37,11 @@
- int64_t dv = this->vid_pts - this->disc_pts;
- int64_t d_min = min64(da, dv);
- LOGMSG(" stream A-V diff %d ms", (int)(this->vid_pts - this->aud_pts)/90);
-- LOGMSG(" reported stream start at pts %"PRId64, this->disc_pts);
-- LOGMSG(" output fifo end at: audio %"PRId64" video %"PRId64, this->aud_pts, this->vid_pts);
-- LOGMSG(" dA %"PRId64" dV %"PRId64, da, dv);
-+ LOGMSG(" reported stream start at pts %" PRId64, this->disc_pts);
-+ LOGMSG(" output fifo end at: audio %" PRId64 " video %" PRId64, this->aud_pts, this->vid_pts);
-+ LOGMSG(" dA %" PRId64 " dV %" PRId64, da, dv);
- if (d_min < 0 && d_min > -10*90000) {
-- LOGMSG(" *** output is late %"PRId64" ticks (%"PRId64" ms) ***", d_min, -d_min/90);
-+ LOGMSG(" *** output is late %" PRId64 " ticks (%" PRId64 " ms) ***", d_min, -d_min/90);
- this->scr->jump(this->scr, d_min);
- }
- this->buffering = 0;
-diff -ruN vdr-xineliboutput.orig/xine_input_vdr.c vdr-xineliboutput/xine_input_vdr.c
---- vdr-xineliboutput.orig/xine_input_vdr.c 2012-05-11 09:37:27.000000000 +0200
-+++ vdr-xineliboutput/xine_input_vdr.c 2021-08-30 10:56:35.415173000 +0200
-@@ -3963,7 +3963,7 @@
- }
-
- if (this->discard_index != this->curpos) {
-- LOGMSG("wait_stream_sync: discard_index %"PRIu64" != curpos %"PRIu64" ! (diff %"PRId64")",
-+ LOGMSG("wait_stream_sync: discard_index %"PRIu64" != curpos %"PRIu64" ! (diff %" PRId64 ")",
- this->discard_index, this->curpos, (int64_t)(this->discard_index - this->curpos));
- }
-
-@@ -3983,7 +3983,7 @@
- errno = EINTR;
- }
- else if (counter <= 0) {
-- LOGMSG("wait_stream_sync: Timed out ! diff %"PRId64,
-+ LOGMSG("wait_stream_sync: Timed out ! diff %" PRId64,
- (int64_t)(this->discard_index - this->discard_index_ds));
- errno = EAGAIN;
- }
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-clang b/multimedia/vdr-plugin-xineliboutput/files/patch-clang
deleted file mode 100644
index 2efed807f0b7..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-clang
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -257,7 +257,7 @@ DEPFILE = .dependencies
- $(DEPFILE): Makefile config.mak
- @rm -f $@
- @for i in $(OBJS:%.o=%.c) $(OBJS_SXFE:%.o=%.c) $(OBJS_FBFE:%.o=%.c) $(OBJS_XINE:%.o=%.c) ; do \
-- $(MAKEDEP) $(DEFINES) $(INCLUDES) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
-+ $(MAKEDEP) $(DEFINES) $(INCLUDES) $(CFLAGS_X11) -MT "`dirname $$i`/`basename $$i .c`.o" $$i >>$@ ; \
- done
-
- -include $(DEPFILE)
---- a/xine_post_autocrop.c
-+++ b/xine_post_autocrop.c
-@@ -42,6 +42,7 @@
- */
-
-
-+#include <stddef.h>
- #include <stdint.h>
-
- #include <xine/xine_internal.h>
---- a/xine_post_swscale.c
-+++ b/xine_post_swscale.c
-@@ -37,6 +37,8 @@
- * - Fixed yv12 stretched warp tables generation
- */
-
-+#include <stddef.h>
-+
- #include <xine/xine_internal.h>
- #include <xine/post.h>
- #include <float.h> /* DBL_MIN */
---- a/xine_post_audiochannel.c
-+++ b/xine_post_audiochannel.c
-@@ -39,6 +39,8 @@
- *
- */
-
-+#include <stddef.h>
-+
- #include <xine/xine_internal.h>
- #include <xine/post.h>
-
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-config.c b/multimedia/vdr-plugin-xineliboutput/files/patch-config.c
deleted file mode 100644
index 7f17158bf777..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-config.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/config.c
-+++ b/config.c
-@@ -544,7 +544,11 @@ config_t::config_t() {
- memset(audio_equalizer,0,sizeof(audio_equalizer));
- strn0cpy(audio_visualization, "goom", sizeof(audio_visualization));
- strn0cpy(audio_vis_goom_opts, "fps:25,width:720,height:576", sizeof(audio_vis_goom_opts));
-+#ifdef LOCALBASE
-+ strn0cpy(audio_vis_image_mrl, "file:" LOCALBASE "/share/xine/visuals/default.avi", sizeof(audio_vis_image_mrl));
-+#else
- strn0cpy(audio_vis_image_mrl, "file:/usr/share/xine/visuals/default.avi", sizeof(audio_vis_image_mrl));
-+#endif
-
- headphone = 0;
- audio_upmix = 0;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-configure b/multimedia/vdr-plugin-xineliboutput/files/patch-configure
deleted file mode 100644
index 5051156c313e..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-configure
+++ /dev/null
@@ -1,93 +0,0 @@
-diff -ruN b/configure a/configure
---- b/configure 2012-05-11 09:37:27.000000000 +0200
-+++ a/configure 2021-08-31 08:43:00.871579000 +0200
-@@ -234,6 +234,7 @@
- xrender
- xshape
- opengl
-+ glx
- pthread
- dlfcn
- vdpau
-@@ -333,6 +334,7 @@
- disabled x11 && disable dbus-glib-1 xshm xrender xshape opengl xdpms xinerama vdpau
- disabled vdr && disable libextractor libcap libbluray
- disabled dlfcn && disable opengl
-+ disabled glx && disable opengl
- disabled pthread && disable opengl
- disabled xrender && disable xshape xshm
- }
-@@ -349,11 +351,14 @@
- [ $debug = yes ] && \
- test_library X11 do_error "none.h" "-lnolib"
-
--test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)"
--test_library VDR libcap "sys/capability.h" "-lcap" "cap_get_proc()"
--test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)"
--test_library XINE libxine "xine.h" "-lxine" "xine_init(0)"
--test_library DLFCN dlfcn "dlfcn.h" "-ldl" "dlopen(0,0)"
-+#test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)"
-+test_library VDR libextractor "extractor.h" "-lextractor" "EXTRACTOR_getKeywords(0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+#test_library VDR libcap "sys/capability.h" "-lcap" "cap_get_proc()"
-+#test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)"
-+test_library VDR libbluray "libbluray/bluray.h" "-lbluray" "bd_get_disc_info(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+#test_library XINE libxine "xine.h" "-lxine" "xine_init(0)"
-+test_library XINE libxine "xine.h" "-lxine" "xine_init(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+test_library DLFCN dlfcn "dlfcn.h" "" "dlopen(0,0)"
-
- if enabled libxine; then
-
-@@ -365,24 +370,41 @@
- fi
- log " $XINEPLUGINDIR"
-
-- test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)"
-- test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)"
-- test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()"
-+# test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)"
-+ test_library AVUTIL libavutil "libavutil/mem.h" "-lavutil" "av_mallocz(1)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)"
-+ test_library JPEG libjpeg "jpeglib.h" "-ljpeg" "jpeg_create_compress(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()"
-+ test_library X11 x11 "X11/X.h" "-lX11" "XInitThreads()" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
- test_library PTHREAD pthread "pthread.h" "-lpthread" "pthread_create(0,0,0,0)"
- if enabled x11; then
-- test_library X11 xext "X11/extensions/Xext.h" "-lXext" ""
-- test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)"
-- test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)"
-- test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)"
-- test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)"
-- test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)"
-- test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)"
-- test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)"
-+# test_library X11 xext "X11/extensions/Xext.h" "-lXext" ""
-+ test_library X11 xext "X11/extensions/Xext.h" "-lXext" "" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)"
-+ test_library X11 xshm "X11/extensions/XShm.h" "-lXext" "XShmQueryExtension(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)"
-+ test_library X11 xrender "X11/extensions/Xrender.h" "-lXrender" "XRenderQueryFormats(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)"
-+ test_library X11 xshape "X11/extensions/shape.h" "-lXext" "XShapeQueryExtension(0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)"
-+ test_library X11 xdpms "X11/extensions/dpms.h" "-lXext" "DPMSDisable(0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)"
-+ test_library X11 xinerama "X11/extensions/Xinerama.h" "-lXinerama" "XineramaQueryScreens(0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 opengl "GL/glx.h" "-lGL -lGLU" "glXQueryVersion(0,0,0)"
-+ test_library X11 opengl "GL/gl.h" "-lGL -LGLU" "glTexCoord2f(0.0,0.0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+ test_library X11 glx "GL/glx.h" "-lGLX" "glXQueryVersion(0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)"
-+ test_library none vdpau "vdpau/vdpau_x11.h" "-lvdpau" "vdp_device_create_x11(0,0,0,0)" "-I${LOCALBASE}/include -L${LOCALBASE}/lib"
-+# test_library X11 dbus-glib-1 \
-+# "dbus/dbus-glib.h" \
-+# "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \
-+# "dbus_g_bus_get(0,0)" \
-+# "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include"
- test_library X11 dbus-glib-1 \
- "dbus/dbus-glib.h" \
- "-ldbus-glib-1 -lgobject-2.0 -lglib-2.0" \
- "dbus_g_bus_get(0,0)" \
-- "-I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include"
-+ "-I/usr/include/dbus-1.0 -I${LOCALBASE}/include/dbus-1.0 -I/usr/include/glib-2.0 -I${LOCALBASE}/include/glib-2.0 -L${LOCALBASE}/lib"
- fi
- fi
-
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c b/multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c
deleted file mode 100644
index c788791a98dc..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-frontend.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/frontend.c.orig 2012-05-11 07:37:27 UTC
-+++ b/frontend.c
-@@ -91,7 +91,7 @@ void cXinelibThread::KeypressHandler(con
- if (!remote->Put(key, repeat, release)) {
- if (!strcmp(keymap, "KBD")) {
- uint64_t value = 0;
-- sscanf(key, "%"PRIX64, &value);
-+ sscanf(key, "%" PRIX64, &value);
- if (value) {
- remote->cRemote::Put(KBDKEY(value));
- return;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-osd.c b/multimedia/vdr-plugin-xineliboutput/files/patch-osd.c
deleted file mode 100644
index 074e367f5b97..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-osd.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/osd.c.orig 2012-05-11 07:37:27 UTC
-+++ b/osd.c
-@@ -567,7 +567,7 @@ void cXinelibOsd::Flush(void)
- int NumColors;
- const tColor *Colors = Bitmap->Colors(NumColors);
- if (Colors) {
-- osd_rect_t DirtyArea = {x1:x1, y1:y1, x2:x2, y2:y2};
-+ osd_rect_t DirtyArea = {x1:(uint16_t)x1, y1:(uint16_t)y1, x2:(uint16_t)x2, y2:(uint16_t)y2};
- CmdLut8(i,
- Left() + Bitmap->X0() + XOffset, Top() + Bitmap->Y0() + YOffset,
- Bitmap->Width(), Bitmap->Height(),
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c b/multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c
deleted file mode 100644
index acc7c835b7e7..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-osd__manager.c
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/xine/osd_manager.c.orig 2012-05-11 07:37:27 UTC
-+++ b/xine/osd_manager.c
-@@ -11,7 +11,6 @@
- #include <stdlib.h>
- #include <pthread.h>
-
--#define XINE_ENGINE_INTERNAL
- #include <xine/xine_internal.h>
- #include <xine/video_out.h>
-
-@@ -70,18 +69,25 @@ typedef struct osd_manager_impl_s {
- /*
- * acquire_ticket()
- */
--static void acquire_ticket(osd_manager_impl_t *this)
-+static int acquire_ticket(osd_manager_impl_t *this)
- {
-- if (!this->ticket_acquired) {
-- this->stream->xine->port_ticket->acquire(this->stream->xine->port_ticket, 1);
-+ if (this->ticket_acquired) {
-+ return 1;
-+ }
-+
-+ if (_x_lock_port_rewiring(this->stream->xine, 200)) {
- this->ticket_acquired = 1;
-+ return 1;
- }
-+
-+ LOGMSG("lock_port_rewiring() failed");
-+ return 0;
- }
-
- static void release_ticket(osd_manager_impl_t *this)
- {
- if (this->ticket_acquired) {
-- this->stream->xine->port_ticket->release(this->stream->xine->port_ticket, 1);
-+ _x_unlock_port_rewiring(this->stream->xine);
- this->ticket_acquired = 0;
- }
- }
-@@ -92,7 +98,10 @@ static void release_ticket(osd_manager_impl_t *this)
- video_overlay_manager_t *get_ovl_manager(osd_manager_impl_t *this)
- {
- /* Get overlay manager. We need ticket ... */
-- acquire_ticket(this);
-+
-+ if (!acquire_ticket(this))
-+ return NULL;
-+
- video_overlay_manager_t *ovl_manager = this->stream->video_out->get_overlay_manager(this->stream->video_out);
- if (!ovl_manager) {
- LOGMSG("Stream has no overlay manager !");
-@@ -256,7 +265,10 @@ static int exec_osd_size(osd_manager_impl_t *this, osd
- osd->video_window_w = 0;
- osd->video_window_h = 0;
-
-- acquire_ticket(this);
-+ if (!acquire_ticket(this)) {
-+ return CONTROL_PARAM_ERROR;
-+ }
-+
-
- xine_video_port_t *video_out = this->stream->video_out;
-
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h b/multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h
deleted file mode 100644
index 84abdecbc381..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-tools-sys_cap.h
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/tools/sys_cap.h
-+++ b/tools/sys_cap.h
-@@ -11,7 +11,9 @@
- #ifndef _XINELIBOUTPUT_SYS_CAP_H_
- #define _XINELIBOUTPUT_SYS_CAP_H_
-
--#include "../features.h"
-+#ifdef HAVE_LIBCAP
-+# include "../features.h"
-+#endif
-
- #include <unistd.h>
- #include <sys/types.h>
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h b/multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h
deleted file mode 100644
index 34ae671d09d6..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_sdp.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tools/sdp.h.orig 2012-05-11 07:37:27 UTC
-+++ b/tools/sdp.h
-@@ -54,7 +54,7 @@ static const char *vdr_sdp_description(c
- s_data = cString::sprintf(
- /*** session ***/
- /* version */ "v=0"
-- /* origin */ "\r\n" "o=%s %u %"PRIu64" IN IP4 %s"
-+ /* origin */ "\r\n" "o=%s %u %" PRIu64 " IN IP4 %s"
- /* name */ "\r\n" "s=%s@%s (multicast %s:%d)"
- /* opt:info */ /*"\r\n" "i=vdr-xineliboutput primary device output"*/
- /* time */ "\r\n" "t=0 0"
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c b/multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c
deleted file mode 100644
index 3a65825fa062..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-tools_udp__pes__scheduler.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tools/udp_pes_scheduler.c.orig 2012-05-11 07:37:27 UTC
-+++ b/tools/udp_pes_scheduler.c
-@@ -674,7 +674,7 @@ void cUdpScheduler::Schedule(const uchar
-
- if (DATA_IS_TS(Data)) {
- if (ts_get_pcr_n(Data, Length/TS_SIZE, &pts)) {
-- LOGSCR("UDP PCR: %"PRId64, pts);
-+ LOGSCR("UDP PCR: %" PRId64, pts);
- ScrSource = eScrFromPcr;
- elapsed = CalcElapsedVtime(pts, eScrFromPcr);
- }
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c
deleted file mode 100644
index 6d8b4dfb66a5..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend.c
+++ /dev/null
@@ -1,108 +0,0 @@
---- a/xine_frontend.c.orig 2012-05-11 07:37:27 UTC
-+++ b/xine_frontend.c
-@@ -25,7 +25,6 @@
- # undef boolean
- #endif
-
--#define XINE_ENGINE_INTERNAL
- #include <xine.h>
- #include <xine/xine_internal.h>
-
-@@ -1702,13 +1701,16 @@ static vo_frame_t *yuy2_to_yv12_frame(xine_stream_t *s
- {
- /* convert yuy12 frames to yv12 */
- if (frame && frame->format == XINE_IMGFMT_YUY2) {
-- stream->xine->port_ticket->acquire(stream->xine->port_ticket, 0);
-- vo_frame_t *img = stream->video_out->get_frame (stream->video_out,
-- frame->width, frame->height,
-- frame->ratio, XINE_IMGFMT_YV12,
-- VO_BOTH_FIELDS);
-- stream->xine->port_ticket->release(stream->xine->port_ticket, 0);
-+ vo_frame_t *img = NULL;
-
-+ if (_x_lock_port_rewiring(stream->xine, 0)) {
-+ img = stream->video_out->get_frame (stream->video_out,
-+ frame->width, frame->height,
-+ frame->ratio, XINE_IMGFMT_YV12,
-+ VO_BOTH_FIELDS);
-+ _x_unlock_port_rewiring(stream->xine);
-+ }
-+
- if (!img) {
- LOGMSG("yuy2_to_yv12_frame: get_frame failed");
- frame->free(frame);
-@@ -1738,6 +1740,8 @@ static char *frame_compress_jpeg(fe_t *this, int *size
-
- /* convert yuy2 frames to yv12 */
- frame = yuy2_to_yv12_frame(this->stream, frame);
-+ if (!frame)
-+ return NULL;
-
- /* Compress JPEG */
-
-@@ -1836,13 +1840,16 @@ static vo_frame_t *yv12_to_yuy2_frame(xine_stream_t *s
- {
- /* convert yv12 frames to yuy2 */
- if (frame && frame->format == XINE_IMGFMT_YV12) {
-- stream->xine->port_ticket->acquire(stream->xine->port_ticket, 0);
-- vo_frame_t *img = stream->video_out->get_frame (stream->video_out,
-- frame->width, frame->height,
-- frame->ratio, XINE_IMGFMT_YUY2,
-- VO_BOTH_FIELDS);
-- stream->xine->port_ticket->release(stream->xine->port_ticket, 0);
-+ vo_frame_t *img = NULL;
-
-+ if (_x_lock_port_rewiring(stream->xine, 0)) {
-+ img = stream->video_out->get_frame (stream->video_out,
-+ frame->width, frame->height,
-+ frame->ratio, XINE_IMGFMT_YUY2,
-+ VO_BOTH_FIELDS);
-+ _x_unlock_port_rewiring(stream->xine);
-+ }
-+
- if (!img) {
- LOGMSG("yv12_to_yuy2_frame: get_frame failed");
- frame->free(frame);
-@@ -2006,11 +2013,16 @@ static char *fe_grab(frontend_t *this_gen, int *size,
- height = (MAX(16, MIN(height, 1200)) + 1) & ~1; /* 16...1200, even */
-
- /* get last frame */
-- this->stream->xine->port_ticket->acquire(this->stream->xine->port_ticket, 0);
-
- #ifdef HAVE_XINE_GRAB_VIDEO_FRAME
-+ xine_grab_video_frame_t *grab_frame = NULL;
- char *img = NULL;
-- xine_grab_video_frame_t *grab_frame = xine_new_grab_video_frame(this->stream);
-+
-+ if (_x_lock_port_rewiring(this->xine, 0)) {
-+ grab_frame = xine_new_grab_video_frame(this->stream);
-+ _x_unlock_port_rewiring(this->xine);
-+ }
-+
- if (grab_frame) {
- grab_frame->width = width;
- grab_frame->height = height;
-@@ -2018,15 +2030,18 @@ static char *fe_grab(frontend_t *this_gen, int *size,
- img = fe_compress_grab_frame(this, size, jpeg, quality, width, height, grab_frame);
- grab_frame->dispose(grab_frame);
- }
-- this->stream->xine->port_ticket->release(this->stream->xine->port_ticket, 0);
- return img;
- #else
-- vo_frame_t *frame = this->stream->video_out->get_last_frame (this->stream->video_out);
-+ vo_frame_t *frame = NULL;
-+
-+ if (_x_lock_port_rewiring(this->xine, 0)) {
-+ frame = this->stream->video_out->get_last_frame (this->stream->video_out);
- #if XINE_VERSION_CODE < 10190
-- if(frame)
-- frame->lock(frame);
-+ if (frame)
-+ frame->lock(frame);
- #endif
-- this->stream->xine->port_ticket->release(this->stream->xine->port_ticket, 0);
-+ _x_unlock_port_rewiring(this->xine);
-+ }
-
- if(!frame) {
- LOGMSG("fe_grab: get_last_frame() failed");
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c
deleted file mode 100644
index cc3e28b64e7c..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_frontend_main.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xine_frontend_main.c
-+++ b/xine_frontend_main.c
-@@ -629,7 +629,7 @@ int main(int argc, char *argv[])
- case 'C': config_file = optarg;
- PRINTF("Config file: %s\n", config_file);
- break;
-- case 'L': lirc_dev = strdup(optarg ? : "/dev/lircd");
-+ case 'L': lirc_dev = strdup(optarg ? : "/var/run/lirc/lircd");
- if (strstr(lirc_dev, ",repeatemu")) {
- *strstr(lirc_dev, ",repeatemu") = 0;
- repeat_emu = 1;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c
deleted file mode 100644
index 6745a68fb3f9..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xine_input_vdr.c
+++ /dev/null
@@ -1,283 +0,0 @@
---- xine_input_vdr.c.orig 2012-05-11 07:37:27 UTC
-+++ xine_input_vdr.c
-@@ -1573,9 +1573,7 @@ static void set_still_mode(vdr_input_plugin_t *this, i
- if (still_mode || this->still_mode)
- CHECK_FALSE(this->live_mode);
-
-- pthread_mutex_lock (&this->stream->first_frame_lock);
-- this->stream->first_frame_flag = 2;
-- pthread_mutex_unlock (&this->stream->first_frame_lock);
-+ _x_trigger_relaxed_frame_drop_mode(this->stream);
-
- this->still_mode = !!still_mode;
- _x_stream_info_set(this->stream, XINE_STREAM_INFO_VIDEO_HAS_STILL, this->still_mode);
-@@ -1719,11 +1717,12 @@ static void queue_blank_yv12(vdr_input_plugin_t *this)
- _x_demux_control_newpts(this->stream, 0, BUF_FLAG_SEEK);
-
-
-- this->class->xine->port_ticket->acquire (this->class->xine->port_ticket, 1);
-- img = this->stream->video_out->get_frame (this->stream->video_out,
-- width, height, dratio,
-- XINE_IMGFMT_YV12, VO_BOTH_FIELDS);
-- this->class->xine->port_ticket->release (this->class->xine->port_ticket, 1);
-+ if (_x_lock_port_rewiring(this->class->xine, 100)) {
-+ img = this->stream->video_out->get_frame (this->stream->video_out,
-+ width, height, dratio,
-+ XINE_IMGFMT_YV12, VO_BOTH_FIELDS);
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
-
- if (img) {
- if (img->format == XINE_IMGFMT_YV12 && img->base[0] && img->base[1] && img->base[2]) {
-@@ -1977,88 +1976,6 @@ static int vdr_plugin_exec_osd_command(vdr_input_plugi
-
- /******************************* Control *********************************/
-
--#if XINE_VERSION_CODE < 10111
--# define DEMUX_MUTEX_LOCK
--# define DEMUX_MUTEX_UNLOCK
--# define DEMUX_RESUME_SIGNAL
--#else
--# define DEMUX_MUTEX_LOCK pthread_mutex_lock(&stream->demux_mutex)
--# define DEMUX_MUTEX_UNLOCK pthread_mutex_unlock(&stream->demux_mutex)
--# define DEMUX_RESUME_SIGNAL pthread_cond_signal(&this->stream->demux_resume)
--#endif
--
--#if XINE_VERSION_CODE < 10200
--# define RAISE_ACTION_PENDING this->stream->demux_action_pending = 1
--# define LOWER_ACTION_PENDING this->stream->demux_action_pending = 0
--#else
--# define RAISE_ACTION_PENDING _x_action_raise(this->stream)
--# define LOWER_ACTION_PENDING _x_action_lower(this->stream)
--#endif
--
--static void suspend_demuxer(vdr_input_plugin_t *this)
--{
-- if (this->is_paused)
-- LOGMSG("WARNING: called suspend_demuxer in paused mode !");
--
-- /* request demuxer to release demux_lock */
-- RAISE_ACTION_PENDING;
--
-- /* signal all possible sync points to speed up this */
-- pthread_cond_broadcast(&this->engine_flushed);
-- signal_buffer_not_empty(this);
--
-- /* let demuxer return from vdr_plugin_read_* */
-- if (pthread_mutex_unlock( &this->lock ))
-- LOGERR("pthread_mutex_unlock failed !");
--
-- /* lock demuxer */
-- pthread_mutex_lock( &this->stream->demux_lock );
--
-- LOWER_ACTION_PENDING;
--
-- pthread_mutex_lock( &this->lock );
--
-- /* must be paired with resume_demuxer !!! */
--}
--
--static void resume_demuxer(vdr_input_plugin_t *this)
--{
-- /* must be paired with suspend_demuxer !!! */
--
-- DEMUX_RESUME_SIGNAL;
-- pthread_mutex_unlock( &this->stream->demux_lock );
--}
--
--static void vdr_x_demux_control_newpts( xine_stream_t *stream, int64_t pts,
-- uint32_t flags )
--{
-- buf_element_t *buf;
--
-- DEMUX_MUTEX_LOCK;
--
-- buf = stream->video_fifo ? stream->video_fifo->buffer_pool_try_alloc (stream->video_fifo) : NULL;
-- if(buf) {
-- buf->type = BUF_CONTROL_NEWPTS;
-- buf->decoder_flags = flags;
-- buf->disc_off = pts;
-- stream->video_fifo->put (stream->video_fifo, buf);
-- } else {
-- LOGMSG("vdr_x_demux_control_newpts: video fifo full !");
-- }
--
-- buf = stream->audio_fifo ? stream->audio_fifo->buffer_pool_try_alloc (stream->audio_fifo) : NULL;
-- if (buf) {
-- buf->type = BUF_CONTROL_NEWPTS;
-- buf->decoder_flags = flags;
-- buf->disc_off = pts;
-- stream->audio_fifo->put (stream->audio_fifo, buf);
-- } else {
-- LOGMSG("vdr_x_demux_control_newpts: audio fifo full !");
-- }
--
-- DEMUX_MUTEX_UNLOCK;
--}
--
- static void vdr_flush_engine(vdr_input_plugin_t *this, uint64_t discard_index)
- {
- CHECK_LOCKED(this->lock);
-@@ -2078,44 +1995,30 @@ static void vdr_flush_engine(vdr_input_plugin_t *this,
- return;
- }
-
-+ if (this->is_paused)
-+ LOGMSG("WARNING: called suspend_demuxer in paused mode !");
-+
- /* reset speed */
-+ reset_scr_tuning(this);
- if(xine_get_param(this->stream, XINE_PARAM_FINE_SPEED) <= 0) {
- LOGMSG("vdr_flush_engine: playback is paused <0>");
- xine_set_param(this->stream, XINE_PARAM_FINE_SPEED, XINE_FINE_SPEED_NORMAL);
- }
-
-- /* suspend demuxer */
-- suspend_demuxer(this);
-+ pthread_mutex_unlock(&this->lock);
-
-- reset_scr_tuning(this);
-+ _x_demux_seek(this->stream, 0, 0, 1);
-+ pthread_mutex_lock(&this->lock);
-
-- /* reset speed again (adjust_realtime_speed might have set pause) */
-- if(xine_get_param(this->stream, XINE_PARAM_FINE_SPEED) <= 0) {
-- LOGMSG("vdr_flush_engine: playback is paused <1>");
-- xine_set_param(this->stream, XINE_PARAM_FINE_SPEED, XINE_FINE_SPEED_NORMAL);
-- }
--
--#if 0
-- _x_demux_flush_engine (this->stream);
-- /* warning: after clearing decoders fifos an absolute discontinuity
-- * indication must be sent. relative discontinuities are likely
-- * to cause "jumps" on metronom.
-- */
--#else
-- this->stream->demux_plugin->seek (this->stream->demux_plugin,
-- 0, 0, this->stream->demux_thread_running);
--#endif
--
- #if XINE_VERSION_CODE < 10104
- /* disabled _x_demux_control_start as it causes alsa output driver to exit now and then ... */
- #else
- _x_demux_control_start(this->stream);
- #endif
-+
-+reset_scr_tuning(this);
- this->stream_start = 1;
- this->I_frames = this->B_frames = this->P_frames = 0;
-- this->discard_index = discard_index;
--
-- resume_demuxer(this);
- }
-
- static int set_deinterlace_method(vdr_input_plugin_t *this, const char *method_name)
-@@ -2327,13 +2230,14 @@ static void select_spu_channel(xine_stream_t *stream,
- if (channel == SPU_CHANNEL_NONE) {
- /* re-enable overlay for VDR OSD ... */
- if (stream->video_out) {
-- pthread_mutex_lock (&stream->frontend_lock);
-- stream->xine->port_ticket->acquire (stream->xine->port_ticket, 0);
--
-- stream->video_out->enable_ovl (stream->video_out, 1);
-+ //pthread_mutex_lock (&stream->frontend_lock);
-
-- stream->xine->port_ticket->release (stream->xine->port_ticket, 0);
-- pthread_mutex_unlock (&stream->frontend_lock);
-+ if (_x_lock_port_rewiring(stream->xine, 100)) {
-+ stream->video_out->enable_ovl (stream->video_out, 1);
-+ _x_unlock_port_rewiring(stream->xine);
-+ }
-+
-+ //pthread_mutex_unlock (&stream->frontend_lock);
- }
- }
- }
-@@ -2957,12 +2861,13 @@ static int vdr_plugin_flush(vdr_input_plugin_t *this,
- return 1;
- }
-
-- this->class->xine->port_ticket->acquire(this->class->xine->port_ticket, 1);
-- result = MAX(0, pool->size(pool)) +
-- MAX(0, buffer->size(buffer)) +
-- this->stream->video_out->get_property(this->stream->video_out,
-- VO_PROP_BUFS_IN_FIFO);
-- this->class->xine->port_ticket->release(this->class->xine->port_ticket, 1);
-+ if (_x_lock_port_rewiring(this->class->xine, 100)) {
-+ result = MAX(0, pool->size(pool)) +
-+ MAX(0, buffer->size(buffer)) +
-+ this->stream->video_out->get_property(this->stream->video_out,
-+ VO_PROP_BUFS_IN_FIFO);
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
-
- put_control_buf(buffer, pool, BUF_CONTROL_FLUSH_DECODER);
- put_control_buf(buffer, pool, BUF_CONTROL_NOP);
-@@ -2985,12 +2890,14 @@ static int vdr_plugin_flush(vdr_input_plugin_t *this,
- &pool->buffer_pool_mutex, &abstime);
- pthread_mutex_unlock(&pool->buffer_pool_mutex);
-
-- this->class->xine->port_ticket->acquire(this->class->xine->port_ticket, 1);
-- result = MAX(0, pool->size(pool)) +
-- MAX(0, buffer->size(buffer)) +
-- this->stream->video_out->get_property(this->stream->video_out,
-- VO_PROP_BUFS_IN_FIFO);
-- this->class->xine->port_ticket->release(this->class->xine->port_ticket, 1);
-+ result = 0;
-+ if (_x_lock_port_rewiring(this->class->xine, 100)) {
-+ result = MAX(0, pool->size(pool)) +
-+ MAX(0, buffer->size(buffer)) +
-+ this->stream->video_out->get_property(this->stream->video_out,
-+ VO_PROP_BUFS_IN_FIFO);
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
- }
-
- TRACE("vdr_plugin_flush returns %d (%d+%d used, %d frames)\n", result,
-@@ -4775,7 +4682,6 @@ static buf_element_t *preprocess_buf(vdr_input_plugin_
- this->block_buffer->fifo_size,
- this->stream->video_fifo->fifo_size);
- } else {
-- vdr_x_demux_control_newpts(this->stream, 0, BUF_FLAG_SEEK);
- queue_blank_yv12(this);
- }
- pthread_mutex_unlock(&this->lock);
-@@ -4815,9 +4721,7 @@ static buf_element_t *preprocess_buf(vdr_input_plugin_
- /* First packet ? */
- if (this->stream_start) {
- this->stream_start = 0;
-- pthread_mutex_lock (&this->stream->first_frame_lock);
-- this->stream->first_frame_flag = 2;
-- pthread_mutex_unlock (&this->stream->first_frame_lock);
-+ _x_trigger_relaxed_frame_drop_mode(this->stream);
-
- memset(&this->scr_buf, 0, sizeof(this->scr_buf));
-
-@@ -4900,7 +4804,9 @@ static void handle_disconnect(vdr_input_plugin_t *this
- reset_trick_speed(this);
- this->live_mode = 0;
- reset_scr_tuning(this);
-+#if XINE_VERSION_CODE < 10209
- this->stream->emergency_brake = 1;
-+#endif
-
- this->control_running = 0;
- errno = ENOTCONN;
-@@ -5869,11 +5775,12 @@ static int vdr_plugin_open_net (input_plugin_t *this_g
- return 0;
- }
-
-- this->class->xine->port_ticket->acquire(this->class->xine->port_ticket, 1);
-- if(!(this->stream->video_out->get_capabilities(this->stream->video_out) &
-- VO_CAP_UNSCALED_OVERLAY))
-- LOGMSG("WARNING: Video output driver reports it does not support unscaled overlays !");
-- this->class->xine->port_ticket->release(this->class->xine->port_ticket, 1);
-+ if (_x_lock_port_rewiring(this->class->xine, 0)) {
-+ if(!(this->stream->video_out->get_capabilities(this->stream->video_out) &
-+ VO_CAP_UNSCALED_OVERLAY))
-+ LOGMSG("WARNING: Video output driver reports it does not support unscaled overlays !");
-+ _x_unlock_port_rewiring(this->class->xine);
-+ }
-
- this->threads_initialized = 1;
- return 1;
diff --git a/multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c b/multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c
deleted file mode 100644
index 31261ecf2560..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/files/patch-xineliboutput.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/xineliboutput.c.orig 2012-05-11 07:37:27 UTC
-+++ b/xineliboutput.c
-@@ -104,7 +104,7 @@ const char cmdLineHelp[] =
- " fbfe (framebuffer)\n"
- " none (only remote frontends)\n"
- " -r PORT --remote=PORT Listen PORT for remote clients\n"
--" (default "LISTEN_PORT_S")\n"
-+" (default " LISTEN_PORT_S ")\n"
- " none or 0 disables remote mode\n"
- " Also local interface address can be specified:\n"
- " --remote=<ip>:<port> (default is all interfaces)\n"
diff --git a/multimedia/vdr-plugin-xineliboutput/pkg-descr b/multimedia/vdr-plugin-xineliboutput/pkg-descr
deleted file mode 100644
index 1e67d38f0e65..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/pkg-descr
+++ /dev/null
@@ -1,17 +0,0 @@
-http://www.linuxtv.org/vdrwiki/index.php/Xineliboutput-plugin
-
-X11 and Linux framebuffer front-end for VDR.
-Plugin displays video and OSD in X/Xv/XvMC/VAAPI/VDPAU window,
-Linux framebuffer/DirectFB/vidixfb or DXR3 card.
-
-Support for local and remote frontends.
-
-Built-in image and media player supports playback of most known
-media files (avi/mp3/divx/jpeg/...), DVDs and radio/video streams
-(http, rtsp, ...) directly from VDR.
-
-FreeBSD Note: If you want to use VAAPI/VDPAU make sure the ffmpeg
-and libxine ports are (re)built with the corresponding knobs turned on!
-(make config in their port dirs.)
-
-WWW: https://sourceforge.net/projects/xineliboutput/
diff --git a/multimedia/vdr-plugin-xineliboutput/pkg-plist b/multimedia/vdr-plugin-xineliboutput/pkg-plist
deleted file mode 100644
index 7d8ea7facd84..000000000000
--- a/multimedia/vdr-plugin-xineliboutput/pkg-plist
+++ /dev/null
@@ -1,19 +0,0 @@
-bin/vdr-fbfe
-bin/vdr-sxfe
-%%XINE_PLUGINSDIR%%/xineplug_inp_xvdr.so
-%%XINE_PLUGINSDIR%%/post/xineplug_post_autocrop.so
-%%XINE_PLUGINSDIR%%/post/xineplug_post_swscale.so
-%%XINE_PLUGINSDIR%%/post/xineplug_post_audiochannel.so
-lib/vdr/libvdr-xineliboutput.so.%%APIVERSION%%
-lib/vdr/libxineliboutput-sxfe.so.1.0.90-cvs
-@sample etc/vdr/plugins/xineliboutput/allowed_hosts.conf.sample
-@dir(%%VDR_USER%%,%%VDR_GROUP%%) etc/vdr/plugins/xineliboutput
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-xineliboutput.mo
-%%NLS%%share/locale/zh_TW/LC_MESSAGES/vdr-xineliboutput.mo
diff --git a/multimedia/vdr-plugin-xvdr/Makefile b/multimedia/vdr-plugin-xvdr/Makefile
deleted file mode 100644
index 17033e0494a3..000000000000
--- a/multimedia/vdr-plugin-xvdr/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugin-xvdr
-PORTVERSION= 0.9.5
-PORTREVISION= 8
-CATEGORIES= multimedia
-MASTER_SITES= LOCAL/nox/
-DISTNAME= pipelka-${PORTNAME}-xvdr-${PORTVERSION}-0-g${GITHASH}
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - XVDR server plugin
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-GITHASH= e4cab47
-PATCH_STRIP= -p1
-WRKSRC= ${WRKDIR}/pipelka-${PORTNAME}-${GITHASH}
-
-PORTDOCS= README HISTORY
-
-OPTIONS_DEFINE= DOCS
-
-.include "${.CURDIR}/../vdr/Makefile.plugins"
-
-post-patch: post-patch-plugin
-
-pre-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/vdr
-
-post-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}
- ${INSTALL_DATA} ${WRKSRC}/${PLUGIN}/allowed_hosts.conf \
- ${STAGEDIR}${PREFIX}/etc/vdr/plugins/${PLUGIN}/allowed_hosts.conf.sample
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugin-xvdr/distinfo b/multimedia/vdr-plugin-xvdr/distinfo
deleted file mode 100644
index 7709619875d0..000000000000
--- a/multimedia/vdr-plugin-xvdr/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 791de7fea6b8fd355a38041b5d660b5f09a3fe7221c4cdfa86624f8ad2d8d6f3
-SIZE (vdr/pipelka-vdr-plugin-xvdr-xvdr-0.9.5-0-ge4cab47.tar.gz) = 62582
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e b/multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e
deleted file mode 100644
index 1e1939e3b0ee..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-81bde12cd5d36a5bb0f1bc5791977b58cc34f91e
+++ /dev/null
@@ -1,75 +0,0 @@
-commit 81bde12cd5d36a5bb0f1bc5791977b58cc34f91e
-Author: Alexander Pipelka <alexander.pipelka@gmail.com>
-Date: Mon Dec 19 10:30:16 2011 +0100
-
- wait until streaming stopped before switching to a new channel, thanks Juergen Lock
-
-diff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c
-index ced735e..8078454 100644
---- a/src/xvdr/xvdrclient.c
-+++ b/src/xvdr/xvdrclient.c
-@@ -72,6 +72,7 @@ static uint32_t recid2uid(const char* recid)
- }
-
- cMutex cXVDRClient::m_timerLock;
-+cMutex cXVDRClient::m_switchLock;
-
- cXVDRClient::cXVDRClient(int fd, unsigned int id, const char *ClientAdr)
- {
-@@ -183,6 +184,7 @@ void cXVDRClient::Action(void)
-
- bool cXVDRClient::StartChannelStreaming(const cChannel *channel, uint32_t timeout)
- {
-+ cMutexLock lock(&m_switchLock);
- m_Streamer = new cLiveStreamer(timeout);
- m_Streamer->SetLanguage(m_LanguageIndex, m_LangStreamType);
-
-@@ -192,12 +194,10 @@ bool cXVDRClient::StartChannelStreaming(const cChannel *channel, uint32_t timeou
-
- void cXVDRClient::StopChannelStreaming()
- {
-+ cMutexLock lock(&m_switchLock);
-+ delete m_Streamer;
-+ m_Streamer = NULL;
- m_isStreaming = false;
-- if (m_Streamer)
-- {
-- delete m_Streamer;
-- m_Streamer = NULL;
-- }
- }
-
- void cXVDRClient::TimerChange(const cTimer *Timer, eTimerChange Change)
-@@ -640,8 +640,7 @@ bool cXVDRClient::processChannelStream_Open() /* OPCODE 20 */
- if(timeout == 0)
- timeout = XVDRServerConfig.stream_timeout;
-
-- if (m_isStreaming)
-- StopChannelStreaming();
-+ StopChannelStreaming();
-
- Channels.Lock(false);
- const cChannel *channel = NULL;
-@@ -679,9 +678,7 @@ bool cXVDRClient::processChannelStream_Open() /* OPCODE 20 */
-
- bool cXVDRClient::processChannelStream_Close() /* OPCODE 21 */
- {
-- if (m_isStreaming)
-- StopChannelStreaming();
--
-+ StopChannelStreaming();
- return true;
- }
-
-diff --git a/src/xvdr/xvdrclient.h b/src/xvdr/xvdrclient.h
-index e602c70..99bae64 100644
---- a/src/xvdr/xvdrclient.h
-+++ b/src/xvdr/xvdrclient.h
-@@ -64,6 +64,7 @@ private:
- uint32_t m_protocolVersion;
- cMutex m_msgLock;
- static cMutex m_timerLock;
-+ static cMutex m_switchLock;
- int m_compressionLevel;
- int m_LanguageIndex;
- eStreamType m_LangStreamType;
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-Makefile b/multimedia/vdr-plugin-xvdr/files/patch-Makefile
deleted file mode 100644
index 559f7a28f8e6..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -114,5 +114,4 @@ clean:
- @-rm -f $(OBJS) $(DEPFILE) *.so *.tgz core* *~
-
- install:
-- @install -d ../../man
-- @install README ../../man/$(PLUGIN).man
-+ ${INSTALL_PROGRAM} $(LIBDIR)/libvdr-$(PLUGIN).so.$(APIVERSION) ${DESTDIR}$(PREFIX)/lib/vdr/libvdr-$(PLUGIN).so.$(APIVERSION)
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-rofafor b/multimedia/vdr-plugin-xvdr/files/patch-rofafor
deleted file mode 100644
index 059881585f56..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-rofafor
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/src/live/livepatfilter.c b/src/live/livepatfilter.c
-index e811c8c..f1b94fd 100644
---- a/src/live/livepatfilter.c
-+++ b/src/live/livepatfilter.c
-@@ -447,7 +447,7 @@ void cLivePatFilter::Process(u_short Pid, u_char Tid, const u_char *Data, int Le
- }
- }
-
-- m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel->GetChannelID(), m_Streamer->m_Priority, m_Streamer->m_Pids);
-+ m_Streamer->m_Receiver = new cLiveReceiver(m_Streamer, m_Channel, m_Streamer->m_Priority, m_Streamer->m_Pids);
- m_Streamer->m_Device->AttachReceiver(m_Streamer->m_Receiver);
- INFOLOG("Currently unknown new streams found, requesting stream change");
- m_Streamer->RequestStreamChange();
-diff --git a/src/live/livereceiver.c b/src/live/livereceiver.c
-index 34f5ba8..528f65a 100644
---- a/src/live/livereceiver.c
-+++ b/src/live/livereceiver.c
-@@ -27,10 +27,12 @@
- #include "livereceiver.h"
- #include "livestreamer.h"
-
--cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids)
-- : cReceiver(ChannelID, Priority, 0, Pids)
-+cLiveReceiver::cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids)
-+ : cReceiver(Channel, Priority)
- , m_Streamer(Streamer)
- {
-+ AddPid(0);
-+ AddPids(Pids);
- DEBUGLOG("Starting live receiver");
- }
-
-diff --git a/src/live/livereceiver.h b/src/live/livereceiver.h
-index 8d23522..2ccd8bf 100644
---- a/src/live/livereceiver.h
-+++ b/src/live/livereceiver.h
-@@ -42,7 +42,7 @@ protected:
- virtual void Receive(uchar *Data, int Length);
-
- public:
-- cLiveReceiver(cLiveStreamer *Streamer, tChannelID ChannelID, int Priority, const int *Pids);
-+ cLiveReceiver(cLiveStreamer *Streamer, const cChannel *Channel, int Priority, const int *Pids);
- virtual ~cLiveReceiver();
- };
-
-diff --git a/src/live/livestreamer.c b/src/live/livestreamer.c
-index a2d6826..6bafc02 100644
---- a/src/live/livestreamer.c
-+++ b/src/live/livestreamer.c
-@@ -406,7 +406,7 @@ bool cLiveStreamer::StreamChannel(const cChannel *channel, int priority, cxSocke
- if (m_NumStreams > 0 && m_Socket)
- {
- DEBUGLOG("Creating new live Receiver");
-- m_Receiver = new cLiveReceiver(this, m_Channel->GetChannelID(), m_Priority, m_Pids);
-+ m_Receiver = new cLiveReceiver(this, m_Channel, m_Priority, m_Pids);
- m_PatFilter = new cLivePatFilter(this, m_Channel);
- m_Device->AttachReceiver(m_Receiver);
- m_Device->AttachFilter(m_PatFilter);
-diff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c
-index cea1af2..931ea61 100644
---- a/src/xvdr/xvdrclient.c
-+++ b/src/xvdr/xvdrclient.c
-@@ -1572,7 +1572,7 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */
- }
- else
- {
-- recordingStart = recording->start;
-+ recordingStart = recording->Start();
- }
- }
- DEBUGLOG("GRI: RC: recordingStart=%lu recordingDuration=%i", recordingStart, recordingDuration);
-@@ -1584,10 +1584,10 @@ bool cXVDRClient::processRECORDINGS_GetList() /* OPCODE 102 */
- m_resp->add_U32(recordingDuration);
-
- // priority
-- m_resp->add_U32(recording->priority);
-+ m_resp->add_U32(recording->Priority());
-
- // lifetime
-- m_resp->add_U32(recording->lifetime);
-+ m_resp->add_U32(recording->Lifetime());
-
- // channel_name
- m_resp->add_String(recording->Info()->ChannelName() ? m_toUTF8.Convert(recording->Info()->ChannelName()) : "");
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c b/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c
deleted file mode 100644
index 3df5c8b9f7d8..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-live-livestreamer.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/live/livestreamer.c
-+++ b/src/live/livestreamer.c
-@@ -29,7 +29,12 @@
- #include <map>
- #include <vdr/remux.h>
- #include <vdr/channels.h>
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define __cpu_to_be64 htobe64
-+#else
- #include <asm/byteorder.h>
-+#endif
-
- #include "config/config.h"
- #include "net/cxsocket.h"
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c
deleted file mode 100644
index 801f0dfe6bbf..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/net/cxsocket.c
---- b/src/net/cxsocket.c
-@@ -48,6 +48,10 @@
- #include "config/config.h"
- #include "cxsocket.h"
-
-+#ifndef MSG_MORE
-+#define MSG_MORE 0
-+#endif
-+
- cxSocket::~cxSocket()
- {
- close();
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h b/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h
deleted file mode 100644
index 4474e309e03d..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-cxsocket.h
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/net/cxsocket.h
-+++ b/src/net/cxsocket.h
-@@ -29,6 +29,9 @@
- #ifndef __CXSOCKET_H
- #define __CXSOCKET_H
-
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include <inttypes.h>
- #include <sys/types.h>
- #include <sys/socket.h>
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c
deleted file mode 100644
index 0c3476f630db..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-requestpacket.c
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/src/net/requestpacket.c
-+++ b/src/net/requestpacket.c
-@@ -28,7 +28,13 @@
- #include <stdint.h>
- #include <string.h>
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define __cpu_to_be64 htobe64
-+#define __be64_to_cpu be64toh
-+#else
- #include <asm/byteorder.h>
-+#endif
-
- #include "xvdr/xvdrcommand.h"
- #include "config/config.h"
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c b/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c
deleted file mode 100644
index d5ccd711aaf2..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-net-responsepacket.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/net/responsepacket.c
-+++ b/src/net/responsepacket.c
-@@ -31,7 +31,12 @@
- #include <arpa/inet.h>
- #include <stdlib.h>
- #include <string.h>
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#define __cpu_to_be64 htobe64
-+#else
- #include <asm/byteorder.h>
-+#endif
- #include <zlib.h>
-
- #include "config/config.h"
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c b/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c
deleted file mode 100644
index 4e8fb5a6feb0..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-recordings-recplayer.c
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/src/recordings/recplayer.c
-+++ b/src/recordings/recplayer.c
-@@ -36,6 +36,10 @@
-
- #include "config/config.h"
-
-+#ifndef O_NOATIME
-+#define O_NOATIME 0
-+#endif
-+
- cRecPlayer::cRecPlayer(cRecording* rec)
- {
- m_file = -1;
-@@ -220,8 +220,10 @@ int cRecPlayer::getBlock(unsigned char*
- return 0;
- }
-
-+#ifndef __FreeBSD__
- // Tell linux not to bother keeping the data in the FS cache
- posix_fadvise(m_file, filePosition, bytes_read, POSIX_FADV_DONTNEED);
-+#endif
-
- // divide and conquer
- if(bytes_read < amount) {
diff --git a/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c b/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c
deleted file mode 100644
index 17767e1f682d..000000000000
--- a/multimedia/vdr-plugin-xvdr/files/patch-src-xvdr-xvdrserver.c
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/src/xvdr/xvdrserver.c
-+++ b/src/xvdr/xvdrserver.c
-@@ -156,6 +156,7 @@ void cXVDRServer::NewClientConnected(int
- int val = 1;
- setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &val, sizeof(val));
-
-+#ifndef __FreeBSD__
- val = 30;
- setsockopt(fd, SOL_TCP, TCP_KEEPIDLE, &val, sizeof(val));
-
-@@ -167,6 +168,10 @@ void cXVDRServer::NewClientConnected(int
-
- val = 1;
- setsockopt(fd, SOL_TCP, TCP_NODELAY, &val, sizeof(val));
-+#else
-+ val = 1;
-+ setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(val));
-+#endif
-
- INFOLOG("Client with ID %d connected: %s", m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf));
- cXVDRClient *connection = new cXVDRClient(fd, m_IdCnt, cxSocket::ip2txt(sin.sin_addr.s_addr, sin.sin_port, buf));
diff --git a/multimedia/vdr-plugin-xvdr/pkg-descr b/multimedia/vdr-plugin-xvdr/pkg-descr
deleted file mode 100644
index b9d47e2ce628..000000000000
--- a/multimedia/vdr-plugin-xvdr/pkg-descr
+++ /dev/null
@@ -1,5 +0,0 @@
-VDR plugin to handle XBMC clients.
-The vdr-plugin-xvdr is able to handle serveral XBMC clients connecting
-via the XVDR addon.
-
-WWW: https://github.com/pipelka/vdr-plugin-xvdr
diff --git a/multimedia/vdr-plugin-xvdr/pkg-plist b/multimedia/vdr-plugin-xvdr/pkg-plist
deleted file mode 100644
index c38720e5dac2..000000000000
--- a/multimedia/vdr-plugin-xvdr/pkg-plist
+++ /dev/null
@@ -1,2 +0,0 @@
-lib/vdr/libvdr-xvdr.so.%%APIVERSION%%
-@sample etc/vdr/plugins/xvdr/allowed_hosts.conf.sample
diff --git a/multimedia/vdr-plugins/Makefile b/multimedia/vdr-plugins/Makefile
deleted file mode 100644
index 3f239821ee34..000000000000
--- a/multimedia/vdr-plugins/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr-plugins
-PORTVERSION= 1.7.29
-PORTREVISION= 7
-CATEGORIES= multimedia
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - plugin metaport
-
-RUN_DEPENDS+= vdr:multimedia/vdr
-
-USES= metaport
-
-OPTIONS_DEFINE= CONTROL EPGSEARCH FEMON INFOSATEPG IPTV OSDPIP \
- OSDTELETEXT REELSCAN REMOTE SKINENIGMANG STREAMDEV \
- TTXTSUBS WIRBELSCAN XINELIBOUTPUT LIVE UPNP \
- SLEEPTIMER XVDR EEPG VDRMANAGER SOFTHDDEVICE \
- EXTRECMENU VNSISERVER MARKAD
-
-CONTROL_DESC= telnet control
-EPGSEARCH_DESC= EPG search
-FEMON_DESC= frontend monitor
-INFOSATEPG_DESC= infosat EPG data via satellite
-IPTV_DESC= IP television
-OSDPIP_DESC= picture-in-picture
-OSDTELETEXT_DESC= OSD teletext
-REELSCAN_DESC= Reel channelscan
-REMOTE_DESC= non-lirc remote control (experimental)
-SKINENIGMANG_DESC= Enigma-NG skin
-STREAMDEV_DESC= stream device (server and client)
-TTXTSUBS_DESC= teletext subtitle plugin
-WIRBELSCAN_DESC= Wirbelscan
-XINELIBOUTPUT_DESC= xineliboutput plugin/viewer
-LIVE_DESC= live web plugin
-UPNP_DESC= UPnP/DLNA plugin (alpha!)
-SLEEPTIMER_DESC= sleep timer plugin
-XVDR_DESC= XVDR plugin (for connecting XBMC PVR)
-EEPG_DESC= extended EPG plugin (for UK/NL/etc.)
-VDRMANAGER_DESC= plugin for VDR-Manager Android clients
-SOFTHDDEVICE_DESC= softhddevice plugin
-EXTRECMENU_DESC= extended recordings menu plugin
-VNSISERVER_DESC= VNSI server (for XBMC PVR branch - old)
-MARKAD_DESC= MarkAd plugin
-
-OPTIONS_DEFAULT= CONTROL EPGSEARCH FEMON INFOSATEPG IPTV OSDPIP \
- OSDTELETEXT REELSCAN REMOTE SKINENIGMANG STREAMDEV \
- TTXTSUBS WIRBELSCAN XINELIBOUTPUT LIVE \
- SLEEPTIMER EEPG VDRMANAGER EXTRECMENU VNSISERVER
-
-VDRDIR= ${LOCALBASE}/lib/vdr
-
-.for OPT in ${OPTIONS_DEFINE}
-. if ${OPTIONS_DEFINE:MREELSCAN} == ${OPT}
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-reelchannelscan.so.${PORTVERSION}:multimedia/vdr-plugin-reelchannelscan
-. elif ${OPTIONS_DEFINE:MSTREAMDEV} == ${OPT}
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-${OPT:tl}-server.so.${PORTVERSION}:multimedia/vdr-plugin-${OPT:tl}
-. elif ${OPTIONS_DEFINE:MLIVE} == ${OPT}
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-${OPT:tl}.so.${PORTVERSION}:www/vdr-plugin-${OPT:tl}
-. else
-${OPT}_RUN_DEPENDS= ${VDRDIR}/libvdr-${OPT:tl}.so.${PORTVERSION}:multimedia/vdr-plugin-${OPT:tl}
-. endif
-.endfor
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr-plugins/pkg-descr b/multimedia/vdr-plugins/pkg-descr
deleted file mode 100644
index 8f81180339a5..000000000000
--- a/multimedia/vdr-plugins/pkg-descr
+++ /dev/null
@@ -1,20 +0,0 @@
-Preliminary port of the vdr development branch, use at your own risk! :)
-
-This is just a metaport that lets you select the plugins you want to
-install.
-
-See vdr/webcamd dvb thread(s) on the freebsd-multimedia list and the
-wiki for FreeBSD notes:
-
- http://wiki.freebsd.org/VDR
-
-Some links are also here:
-
- http://people.freebsd.org/~nox/dvb/
-
-and see these links for general vdr info:
-
- http://www.linuxtv.org/vdrwiki/index.php/Main_Page
- http://www.vdr-portal.de/
-
-WWW: http://www.tvdr.de/
diff --git a/multimedia/vdr/Makefile b/multimedia/vdr/Makefile
deleted file mode 100644
index 8017958ddd73..000000000000
--- a/multimedia/vdr/Makefile
+++ /dev/null
@@ -1,114 +0,0 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
-PORTNAME= vdr
-PORTVERSION= 1.7.29
-PORTREVISION= 15
-CATEGORIES= multimedia
-MASTER_SITES= ftp://ftp.tvdr.de/vdr/Developer/
-DIST_SUBDIR= vdr
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video Disk Recorder - development version
-
-LICENSE= GPLv2+
-LICENSE_FILE= ${WRKSRC}/COPYING
-
-BUILD_DEPENDS= v4l_compat>=1.0.20120501:multimedia/v4l_compat \
- ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:x11-fonts/fontconfig
-RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/fontconfig.pc:x11-fonts/fontconfig \
- xorg-fonts-truetype>=0:x11-fonts/xorg-fonts-truetype
-
-USES= cpe gettext gmake iconv:wchar_t jpeg pkgconfig shebangfix tar:bzip2
-CPE_VENDOR= tvdr
-SHEBANG_FILES= svdrpsend
-CONFDIR= ${ETCDIR}
-USE_CSTD= gnu89
-MAKE_ARGS= CC="${CC}" \
- CXX="${CXX}" \
- VDR_USER=${VDR_USER} \
- CONFDIR=${CONFDIR} \
- OSTYPE=FreeBSD \
- LIRC_DEVICE=/var/run/lirc/lircd \
- LIBDIR=../../lib \
- VDRDIR=${WRKSRC} \
- TMPDIR=/tmp \
- PREFIX=${PREFIX}
-ALL_TARGET= all plugins
-
-VDR_USER= vdr
-VDR_GROUP= vdr
-
-VIDEODIR= /video
-SUB_LIST= VIDEODIR=${VIDEODIR}
-SUB_FILES= vdr-waitdvb
-USE_RC_SUBR= vdr
-USERS= ${VDR_USER}
-GROUPS= ${VDR_GROUP}
-PLIST_SUB= VDR_USER=${VDR_USER} \
- VDR_GROUP=${VDR_GROUP}
-
-PORTDOCS= INSTALL MANUAL README HISTORY
-
-OPTIONS_DEFINE= IPTVPATCH TTXPATCH STB0899_SIGNAL DOCS NLS
-OPTIONS_DEFAULT= IPTVPATCH TTXPATCH
-OPTIONS_SUB= yes
-
-IPTVPATCH_DESC= Stops EIT scans on IPTV channels
-TTXPATCH_DESC= Support patches for teletext subtitle plugin
-STB0899_SIGNAL_DESC= STB0899 signal strength patch
-
-IPTVPATCH_EXTRA_PATCHES= ${FILESDIR}/vdr-1.7.15-disable_eitscan.patch
-
-NLS_ALL_TARGET= vdr plugins
-
-.include <bsd.port.options.mk>
-
-.if ${OPSYS} == DragonFly
-IGNORE= will not work due to lack of driver support
-.endif
-
-.if ${ARCH} == "i386"
-USE_GCC= yes
-.endif
-
-post-patch:
-# clang doesn't know -MG:
- @${REINPLACE_CMD} -e '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \
- ${WRKSRC}/Makefile ${WRKSRC}/libsi/Makefile \
- ${WRKSRC}/PLUGINS/src/*/Makefile
- @[ ! -f ${WRKSRC}/s2apiwrapper.c ] || \
- ${REINPLACE_CMD} 's/__u32/uint32_t/' ${WRKSRC}/s2apiwrapper.c
- @${SED} \
- -e '/^PREFIX/d' \
- -e 's|^\(VIDEODIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*|\1\2${VIDEODIR}|' \
- ${WRKSRC}/Make.config.template >${WRKSRC}/Make.config
- @${REINPLACE_CMD} -e 's|%%CONFDIR%%|${CONFDIR}|' ${WRKSRC}/vdr.1
-# We don't support this yet:
- @${RM} -r ${WRKSRC}/PLUGINS/src/dvbhddevice
-
-post-patch-TTXPATCH-on:
- @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-1
- @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/vdr-1.7.21-ttxtsubs.patch-2
-
-post-patch-STB0899_SIGNAL-on:
-# This fixes signal strength display for e.g. pctv452e-based tuners.
-# (like TT S2-36?0.)
- @${PATCH} -d ${WRKSRC} --quiet -p1 <${FILESDIR}/stb0899-signalstrength.patch
-
-post-install:
- @${MKDIR} ${STAGEDIR}${CONFDIR}/plugins
- ${INSTALL_DATA} ${FILESDIR}/remote.conf ${STAGEDIR}${CONFDIR}/remote.conf.sample
- for i in $$(cd ${WRKSRC} && ls *.conf); do \
- ${MV} -i ${STAGEDIR}${CONFDIR}/$$i \
- ${STAGEDIR}${CONFDIR}/$$i.sample; \
- done
- ${INSTALL_SCRIPT} ${WRKDIR}/vdr-waitdvb ${STAGEDIR}${PREFIX}/bin
-
-post-install-NLS-on:
- @(cd ${WRKSRC} && ${COPYTREE_SHARE} locale ${STAGEDIR}${PREFIX}/share/)
-
-post-install-DOCS-on:
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- (cd ${WRKSRC} && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR})
-
-.include <bsd.port.mk>
diff --git a/multimedia/vdr/Makefile.plugins b/multimedia/vdr/Makefile.plugins
deleted file mode 100644
index d2e4866fa325..000000000000
--- a/multimedia/vdr/Makefile.plugins
+++ /dev/null
@@ -1,58 +0,0 @@
-# this is to be included by vdr plugin ports
-
-BUILD_DEPENDS+= ${LOCALBASE}/include/linux/dvb/frontend.h:multimedia/v4l_compat
-
-BUILD_DEPENDS+= vdr:multimedia/vdr
-RUN_DEPENDS+= vdr:multimedia/vdr
-
-APIVERSION= 1.7.29
-DIST_SUBDIR= vdr
-PATCH_SUBDIR= vdr
-USES+= gettext gmake
-VDRDIR= ${LOCALBASE}/include/vdr
-VDRINCDIR= ${LOCALBASE}/include
-USE_CSTD?= gnu89
-USE_CXXSTD?= gnu++98
-MAKE_ARGS+= CC="${CC}"
-MAKE_ARGS+= CXX="${CXX}"
-MAKE_ARGS+= CXXFLAGS="${CXXFLAGS} -fPIC"
-MAKE_ARGS+= DVBDIR=${LOCALBASE}/include
-MAKE_ARGS+= VDRDIR=${VDRDIR}
-MAKE_ARGS+= VDR_USER=${VDR_USER}
-MAKE_ARGS+= INSTALL_PROGRAM="${INSTALL_PROGRAM}"
-MAKE_ARGS+= OSTYPE=FreeBSD
-MAKE_ARGS+= PREFIX=${PREFIX}
-PLUGIN?= ${PORTNAME:S/^vdr-plugin-//}
-CONFIGURE_ENV+= LOCALBASE=${LOCALBASE}
-MAKE_ENV+= LOCALBASE=${LOCALBASE}
-VDR_USER= vdr
-VDR_GROUP= vdr
-PLIST_SUB+= VDR_USER=${VDR_USER}
-PLIST_SUB+= VDR_GROUP=${VDR_GROUP}
-PLIST_SUB+= APIVERSION=${APIVERSION}
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MNLS}
-PLIST_SUB+= NLS=""
-.else
-PLIST_SUB+= NLS="@comment "
-.endif
-
-localeplist:
- @${FIND} ${WRKDIR}/locale -type f -print |${SED} 's|^.*locale/|%%NLS%%share/locale/|'
-
-post-patch-plugin:
- @${MKDIR} ${WRKDIR}/lib ${WRKDIR}/locale
- @${REINPLACE_CMD} -e 's/^\(LIBDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/lib/;' \
- -e 's/^\(LOCALEDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2..\/locale/;' \
- -e 's/^\(VDRDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRDIR:S-/-\\\\/-g}/;" \
- -e 's/^\(VDRINCDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${VDRINCDIR:S-/-\\\\/-g}/;" \
- -e 's/^\(BINDIR[[:space:]]*\)[?]*\(=[[:space:]]*\).*/\1\2'"${PREFIX:S-/-\\\\/-g}\/bin/;" \
- -e '/^MAKEDEP.*-MM/s/-MG[[:space:]]*$$/# -MG/' \
- ${WRKSRC}/Makefile ${VDR_PLUGIN_MAKEFILES}
-
-post-install-pluginlocales:
-.if ${PORT_OPTIONS:MNLS}
- @(cd ${WRKDIR} && ${COPYTREE_SHARE} locale ${STAGEDIR}${PREFIX}/share/)
-.endif
diff --git a/multimedia/vdr/distinfo b/multimedia/vdr/distinfo
deleted file mode 100644
index f7361dad3130..000000000000
--- a/multimedia/vdr/distinfo
+++ /dev/null
@@ -1,2 +0,0 @@
-SHA256 (vdr/vdr-1.7.29.tar.bz2) = f734fe8f21d54944f7d8d9269de7d6e6577839ed235180f0d96eed6fe8d8212d
-SIZE (vdr/vdr-1.7.29.tar.bz2) = 784665
diff --git a/multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c b/multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c
deleted file mode 100644
index 8d33ca5b3954..000000000000
--- a/multimedia/vdr/files/patch-PLUGINS-src-dvbsddevice-dvbsdffdevice.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- PLUGINS/src/dvbsddevice/dvbsdffdevice.c.orig
-+++ PLUGINS/src/dvbsddevice/dvbsdffdevice.c
-@@ -6,12 +6,16 @@
- * $Id: dvbsdffdevice.c 2.26 2010/01/30 10:05:23 kls Exp $
- */
-
-+#include <stdint.h>
- #include "dvbsdffdevice.h"
- #include <errno.h>
- #include <limits.h>
- #include <linux/videodev2.h>
- #include <linux/dvb/audio.h>
- #include <linux/dvb/dmx.h>
-+#ifdef __FreeBSD__
-+typedef struct timespec __kernel_time_t;
-+#endif
- #include <linux/dvb/video.h>
- #include <sys/ioctl.h>
- #include <sys/mman.h>
diff --git a/multimedia/vdr/files/patch-abs-types.diff b/multimedia/vdr/files/patch-abs-types.diff
deleted file mode 100644
index cfad9f2ee4e5..000000000000
--- a/multimedia/vdr/files/patch-abs-types.diff
+++ /dev/null
@@ -1,27 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -766,7 +766,7 @@ bool cDvbTuner::SetFrontend(void)
- CHECK(ioctl(fd_frontend, FE_SET_VOLTAGE, volt));
- CHECK(ioctl(fd_frontend, FE_SET_TONE, tone));
- }
-- frequency = abs(frequency); // Allow for C-band, where the frequency is less than the LOF
-+ frequency = abs((int)frequency); // Allow for C-band, where the frequency is less than the LOF
-
- // DVB-S/DVB-S2 (common parts)
- SETCMD(DTV_FREQUENCY, frequency * 1000UL);
---- remux.c.orig 2012-03-02 11:56:49.000000000 +0100
-+++ remux.c 2016-04-02 19:05:34.753289000 +0200
-@@ -890,11 +943,11 @@ int cFrameDetector::Analyze(const uchar
- uint32_t Delta = ptsValues[0];
- // determine frame info:
- if (isVideo) {
-- if (abs(Delta - 3600) <= 1)
-+ if (abs((int)Delta - 3600) <= 1)
- framesPerSecond = 25.0;
- else if (Delta % 3003 == 0)
- framesPerSecond = 30.0 / 1.001;
-- else if (abs(Delta - 1800) <= 1) {
-+ else if (abs((int)Delta - 1800) <= 1) {
- if (numFrames > 50) {
- // this is a "best guess": if there are more than 50 frames between two I-frames, we assume each "frame" actually contains a "field", so two "fields" make one "frame"
- framesPerSecond = 25.0;
diff --git a/multimedia/vdr/files/patch-c++11 b/multimedia/vdr/files/patch-c++11
deleted file mode 100644
index 48b55fa7d604..000000000000
--- a/multimedia/vdr/files/patch-c++11
+++ /dev/null
@@ -1,74 +0,0 @@
---- ci.c.orig 2012-05-29 11:13:40 UTC
-+++ ci.c
-@@ -845,9 +845,9 @@ void cCiDateTime::SendDateTime(void)
- int D = tm_gmt.tm_mday;
- int L = (M == 1 || M == 2) ? 1 : 0;
- int MJD = 14956 + D + int((Y - L) * 365.25) + int((M + 1 + L * 12) * 30.6001);
--#define DEC2BCD(d) (((d / 10) << 4) + (d % 10))
-+#define DEC2BCD(d) uint8_t(((d / 10) << 4) + (d % 10))
- struct tTime { uint16_t mjd; uint8_t h, m, s; short offset; };
-- tTime T = { mjd : htons(MJD), h : DEC2BCD(tm_gmt.tm_hour), m : DEC2BCD(tm_gmt.tm_min), s : DEC2BCD(tm_gmt.tm_sec), offset : htons(tm_loc.tm_gmtoff / 60) };
-+ tTime T = { mjd : htons(MJD), h : DEC2BCD(tm_gmt.tm_hour), m : DEC2BCD(tm_gmt.tm_min), s : DEC2BCD(tm_gmt.tm_sec), offset : short(htons(tm_loc.tm_gmtoff / 60)) };
- bool OldDumpTPDUDataTransfer = DumpTPDUDataTransfer;
- DumpTPDUDataTransfer &= DumpDateTime;
- if (DumpDateTime)
---- dvbsubtitle.c.orig 2012-05-08 08:17:17 UTC
-+++ dvbsubtitle.c
-@@ -851,7 +851,7 @@ int cDvbSubtitleConverter::ConvertFragments(const ucha
- if (Length > PayloadOffset + SubstreamHeaderLength) {
- int64_t pts = PesHasPts(Data) ? PesGetPts(Data) : 0;
- if (pts)
-- dbgconverter("Converter PTS: %"PRId64"\n", pts);
-+ dbgconverter("Converter PTS: %" PRId64 "\n", pts);
- const uchar *data = Data + PayloadOffset + SubstreamHeaderLength; // skip substream header
- int length = Length - PayloadOffset - SubstreamHeaderLength; // skip substream header
- if (ResetSubtitleAssembler)
-@@ -887,7 +887,7 @@ int cDvbSubtitleConverter::Convert(const uchar *Data,
- if (Length > PayloadOffset) {
- int64_t pts = PesGetPts(Data);
- if (pts)
-- dbgconverter("Converter PTS: %"PRId64"\n", pts);
-+ dbgconverter("Converter PTS: %" PRId64 "\n", pts);
- const uchar *data = Data + PayloadOffset;
- int length = Length - PayloadOffset;
- if (length > 3) {
-@@ -946,7 +946,7 @@ void cDvbSubtitleConverter::Action(void)
- if (AssertOsd()) {
- sb->Draw(osd);
- Timeout.Set(sb->Timeout() * 1000);
-- dbgconverter("PTS: %"PRId64" STC: %"PRId64" (%"PRId64") timeout: %d\n", sb->Pts(), cDevice::PrimaryDevice()->GetSTC(), Delta, sb->Timeout());
-+ dbgconverter("PTS: %" PRId64 " STC: %" PRId64 " (%" PRId64 ") timeout: %d\n", sb->Pts(), cDevice::PrimaryDevice()->GetSTC(), Delta, sb->Timeout());
- }
- bitmaps->Del(sb);
- }
-@@ -1044,7 +1044,7 @@ int cDvbSubtitleConverter::ExtractSegment(const uchar
- page->SetTimeout(pageTimeout);
- page->SetState(bs.GetBits(2));
- bs.SkipBits(2); // reserved
-- dbgpages("Update page id %d version %d pts %"PRId64" timeout %d state %d\n", pageId, page->Version(), page->Pts(), page->Timeout(), page->State());
-+ dbgpages("Update page id %d version %d pts %" PRId64 " timeout %d state %d\n", pageId, page->Version(), page->Pts(), page->Timeout(), page->State());
- while (!bs.IsEOF()) {
- cSubtitleRegion *region = page->GetRegionById(bs.GetBits(8), true);
- bs.SkipBits(8); // reserved
---- recording.c.orig 2012-06-09 13:57:30 UTC
-+++ recording.c
-@@ -1643,7 +1643,7 @@ cIndexFile::cIndexFile(const char *FileName, bool Reco
- delta = int(buf.st_size % sizeof(tIndexTs));
- if (delta) {
- delta = sizeof(tIndexTs) - delta;
-- esyslog("ERROR: invalid file size (%"PRId64") in '%s'", buf.st_size, *fileName);
-+ esyslog("ERROR: invalid file size (%" PRId64 ") in '%s'", buf.st_size, *fileName);
- }
- last = int((buf.st_size + delta) / sizeof(tIndexTs) - 1);
- if (!Record && last >= 0) {
---- remote.c.orig 2012-01-16 16:57:00 UTC
-+++ remote.c
-@@ -124,7 +124,7 @@ bool cRemote::PutMacro(eKeys Key)
- bool cRemote::Put(uint64_t Code, bool Repeat, bool Release)
- {
- char buffer[32];
-- snprintf(buffer, sizeof(buffer), "%016"PRIX64, Code);
-+ snprintf(buffer, sizeof(buffer), "%016" PRIX64, Code);
- return Put(buffer, Repeat, Release);
- }
-
diff --git a/multimedia/vdr/files/patch-clang40 b/multimedia/vdr/files/patch-clang40
deleted file mode 100644
index 37e10282f78d..000000000000
--- a/multimedia/vdr/files/patch-clang40
+++ /dev/null
@@ -1,11 +0,0 @@
---- recording.c.orig 2012-06-09 13:57:30 UTC
-+++ recording.c
-@@ -2075,7 +2075,7 @@ cUnbufferedFile *cFileName::SetOffset(in
- }
- // found a non existing file suffix
- }
-- if (Open() >= 0) {
-+ if (Open()) {
- if (!record && Offset >= 0 && file && file->Seek(Offset, SEEK_SET) != Offset) {
- LOG_ERROR_STR(fileName);
- return NULL;
diff --git a/multimedia/vdr/files/patch-device.c b/multimedia/vdr/files/patch-device.c
deleted file mode 100644
index 408700c70686..000000000000
--- a/multimedia/vdr/files/patch-device.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- device.c.orig
-+++ device.c
-@@ -65,7 +65,7 @@ bool cDeviceHook::DeviceProvidesTranspon
- #define MIN_PRE_1_3_19_PRIVATESTREAM 10
-
- int cDevice::numDevices = 0;
--int cDevice::useDevice = 0;
-+uint64_t cDevice::useDevice = 0;
- int cDevice::nextCardIndex = 0;
- int cDevice::currentChannel = 1;
- cDevice *cDevice::device[MAXDEVICES] = { NULL };
diff --git a/multimedia/vdr/files/patch-device.h b/multimedia/vdr/files/patch-device.h
deleted file mode 100644
index 027c5a8fbeaa..000000000000
--- a/multimedia/vdr/files/patch-device.h
+++ /dev/null
@@ -1,20 +0,0 @@
---- device.h.orig
-+++ device.h
-@@ -25,7 +25,7 @@
- #include "thread.h"
- #include "tools.h"
-
--#define MAXDEVICES 16 // the maximum number of devices in the system
-+#define MAXDEVICES 64 // the maximum number of devices in the system
- #define MAXPIDHANDLES 64 // the maximum number of different PIDs per device
- #define MAXRECEIVERS 16 // the maximum number of receivers per device
- #define MAXVOLUME 255
-@@ -105,7 +105,7 @@ class cDevice : public cThread {
- friend class cDeviceHook;
- private:
- static int numDevices;
-- static int useDevice;
-+ static uint64_t useDevice;
- static cDevice *device[MAXDEVICES];
- static cDevice *primaryDevice;
- static cDevice *avoidDevice;
diff --git a/multimedia/vdr/files/patch-dvbdevice.c b/multimedia/vdr/files/patch-dvbdevice.c
deleted file mode 100644
index 99252462694c..000000000000
--- a/multimedia/vdr/files/patch-dvbdevice.c
+++ /dev/null
@@ -1,55 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -7,6 +7,7 @@
- * $Id: dvbdevice.c 2.71 2012/05/09 08:33:59 kls Exp $
- */
-
-+#include <stdint.h>
- #include "dvbdevice.h"
- #include <ctype.h>
- #include <errno.h>
-@@ -579,7 +580,7 @@ int cDvbTuner::GetSignalQuality(void) co
- while (1) {
- if (ioctl(fd_frontend, FE_READ_SNR, &Snr) != -1)
- break;
-- if (errno == EOPNOTSUPP) {
-+ if (errno == EOPNOTSUPP || errno == ENXIO) {
- Snr = 0xFFFF;
- HasSnr = false;
- break;
-@@ -592,7 +593,7 @@ int cDvbTuner::GetSignalQuality(void) co
- while (1) {
- if (ioctl(fd_frontend, FE_READ_BER, &Ber) != -1)
- break;
-- if (errno == EOPNOTSUPP) {
-+ if (errno == EOPNOTSUPP || errno == ENXIO) {
- Ber = 0;
- HasBer = false;
- break;
-@@ -605,7 +606,7 @@ int cDvbTuner::GetSignalQuality(void) co
- while (1) {
- if (ioctl(fd_frontend, FE_READ_UNCORRECTED_BLOCKS, &Unc) != -1)
- break;
-- if (errno == EOPNOTSUPP) {
-+ if (errno == EOPNOTSUPP || errno == ENXIO) {
- Unc = 0;
- HasUnc = false;
- break;
-@@ -732,7 +733,7 @@ bool cDvbTuner::SetFrontend(void)
- if (const cDiseqc *diseqc = Diseqcs.Get(device->CardIndex() + 1, channel.Source(), frequency, dtp.Polarization(), &scr)) {
- frequency -= diseqc->Lof();
- if (diseqc != lastDiseqc || diseqc->IsScr()) {
-- if (GetBondedMaster() == this) {
-+ if (!bondedTuner || bondedMaster) {
- ExecuteDiseqc(diseqc, &frequency);
- if (frequency == 0)
- return false;
-@@ -758,7 +759,7 @@ bool cDvbTuner::SetFrontend(void)
- tone = SEC_TONE_ON;
- }
- int volt = (dtp.Polarization() == 'V' || dtp.Polarization() == 'R') ? SEC_VOLTAGE_13 : SEC_VOLTAGE_18;
-- if (GetBondedMaster() != this) {
-+ if (bondedTuner && !bondedMaster) {
- tone = SEC_TONE_OFF;
- volt = SEC_VOLTAGE_13;
- }
diff --git a/multimedia/vdr/files/patch-dvbdevice.h b/multimedia/vdr/files/patch-dvbdevice.h
deleted file mode 100644
index 6f8297393951..000000000000
--- a/multimedia/vdr/files/patch-dvbdevice.h
+++ /dev/null
@@ -1,11 +0,0 @@
---- dvbdevice.h.orig
-+++ dvbdevice.h
-@@ -18,7 +18,7 @@
- #error VDR requires Linux DVB driver API version 5.3 or higher!
- #endif
-
--#define MAXDVBDEVICES 8
-+#define MAXDVBDEVICES 63
- #define MAXDELIVERYSYSTEMS 8
-
- #define DEV_VIDEO "/dev/video"
diff --git a/multimedia/vdr/files/patch-menu.c b/multimedia/vdr/files/patch-menu.c
deleted file mode 100644
index 69ddfd64d14f..000000000000
--- a/multimedia/vdr/files/patch-menu.c
+++ /dev/null
@@ -1,11 +0,0 @@
---- menu.c.orig
-+++ menu.c
-@@ -2938,6 +2938,8 @@ void cMenuSetupLNB::Setup(void)
- for (int i = 0; i < cDevice::NumDevices(); i++) {
- if (cDevice::GetDevice(i)->ProvidesSource(cSource::stSat))
- Add(new cMenuEditIntItem(cString::sprintf(tr("Setup.LNB$Device %d connected to sat cable"), i + 1), &satCableNumbers.Array()[i], 0, NumSatDevices, tr("Setup.LNB$own")));
-+ else
-+ satCableNumbers.Array()[i] = 0;
- }
- }
-
diff --git a/multimedia/vdr/files/patch-menuitems.c b/multimedia/vdr/files/patch-menuitems.c
deleted file mode 100644
index 45fe6f2dbede..000000000000
--- a/multimedia/vdr/files/patch-menuitems.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- menuitems.c.orig
-+++ menuitems.c
-@@ -7,6 +7,7 @@
- * $Id: menuitems.c 2.6 2010/02/16 14:44:35 kls Exp $
- */
-
-+#include <stdint.h>
- #include "menuitems.h"
- #include <ctype.h>
- #include <math.h>
diff --git a/multimedia/vdr/files/patch-plugin.c b/multimedia/vdr/files/patch-plugin.c
deleted file mode 100644
index 46497c90fe98..000000000000
--- a/multimedia/vdr/files/patch-plugin.c
+++ /dev/null
@@ -1,19 +0,0 @@
---- plugin.c.orig
-+++ plugin.c
-@@ -198,11 +198,14 @@ bool cDll::Load(bool Log)
- }
- handle = dlopen(fileName, RTLD_NOW);
- const char *error = dlerror();
-- if (!error) {
-+ if (handle) {
- void *(*creator)(void);
- creator = (void *(*)(void))dlsym(handle, "VDRPluginCreator");
-- if (!(error = dlerror()))
-+ error = dlerror();
-+ if (creator) {
- plugin = (cPlugin *)creator();
-+ error = NULL;
-+ }
- }
- if (!error) {
- if (plugin && args) {
diff --git a/multimedia/vdr/files/patch-receiver.c b/multimedia/vdr/files/patch-receiver.c
deleted file mode 100644
index c37c79d10f67..000000000000
--- a/multimedia/vdr/files/patch-receiver.c
+++ /dev/null
@@ -1,15 +0,0 @@
---- receiver.c.orig
-+++ receiver.c
-@@ -36,10 +36,10 @@ cReceiver::cReceiver(const cChannel *Cha
- cReceiver::~cReceiver()
- {
- if (device) {
-- const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will segfault now!";
-+ const char *msg = "ERROR: cReceiver has not been detached yet! This is a design fault and VDR will abort now!";
- esyslog("%s", msg);
- fprintf(stderr, "%s\n", msg);
-- *(char *)0 = 0; // cause a segfault
-+ abort();
- }
- }
-
diff --git a/multimedia/vdr/files/patch-tools.c b/multimedia/vdr/files/patch-tools.c
deleted file mode 100644
index d99421e11781..000000000000
--- a/multimedia/vdr/files/patch-tools.c
+++ /dev/null
@@ -1,38 +0,0 @@
---- tools.c.orig
-+++ tools.c
-@@ -1201,9 +1201,35 @@ cReadLine::~cReadLine()
- free(buffer);
- }
-
-+#ifdef __FreeBSD__
-+#if __FreeBSD_version > 800000
-+#define HAVE_GETLINE
-+#endif
-+#else
-+#define HAVE_GETLINE
-+#endif
-+
- char *cReadLine::Read(FILE *f)
- {
-+#ifndef HAVE_GETLINE
-+ size_t n;
-+
-+ if (!buffer) {
-+ if (!(buffer = (char *)malloc(size = 4096)))
-+ return NULL;
-+ }
-+ if (!fgets(buffer, size, f))
-+ return NULL;
-+ while ((n = strlen(buffer)) >= size - 1 && buffer[n - 1] != '\n') {
-+ if (!(buffer = (char *)realloc(buffer, size * 2)))
-+ return NULL;
-+ size *= 2;
-+ if (!fgets(buffer + n, size - n, f))
-+ break;
-+ }
-+#else
- int n = getline(&buffer, &size, f);
-+#endif
- if (n > 0) {
- n--;
- if (buffer[n] == '\n') {
diff --git a/multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates b/multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates
deleted file mode 100644
index f6c788f5803a..000000000000
--- a/multimedia/vdr/files/patch-vdr-1.7.15-disable_ca_updates
+++ /dev/null
@@ -1,10 +0,0 @@
---- pat.c.orig 2010-06-06 19:11:15.000000000 +0300
-+++ pat.c 2010-06-06 20:42:47.000000000 +0300
-@@ -490,6 +490,7 @@
- }
- if (Setup.UpdateChannels >= 2) {
- Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
-+ if (!cSource::IsType(Channel->Source(), 'I'))
- Channel->SetCaIds(CaDescriptors->CaIds());
- Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
- }
diff --git a/multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD b/multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD
deleted file mode 100644
index 583db5ab79e4..000000000000
--- a/multimedia/vdr/files/patch-vdr-1.7.28_FreeBSD
+++ /dev/null
@@ -1,1222 +0,0 @@
-Index: Make.config.template
-@@ -8,6 +8,11 @@
- #
- # $Id: Make.config.template 2.8 2012/03/20 11:20:13 kls Exp $
-
-+OSTYPE ?= $(shell uname -s)
-+ifeq ($(OSTYPE),FreeBSD)
-+FREEBSD=1
-+endif
-+
- ### The C compiler and options:
-
- CC = gcc
-@@ -28,11 +33,22 @@ PREFIX = $(DESTDIR)/usr/local
- MANDIR = $(PREFIX)/man
- BINDIR = $(PREFIX)/bin
-
-+ifdef FREEBSD
-+# you have to set DVBDIR to a valid path!!!
-+# you will need extra patches for DVBDIR!!!
-+#DVBDIR = /usr/local/include
-+LOCDIR = $(PREFIX)/share/locale
-+PLUGINDIR = ./PLUGINS
-+PLUGINLIBDIR = $(PREFIX)/lib/vdr
-+VIDEODIR = /video
-+CONFDIR = $(PREFIX)/etc/vdr
-+else
- LOCDIR = ./locale
- PLUGINDIR = ./PLUGINS
- PLUGINLIBDIR = $(PLUGINDIR)/lib
- VIDEODIR = /video
- CONFDIR = $(VIDEODIR)
-+endif
-
- ### The remote control:
-
-@@ -46,3 +62,7 @@ LIRC_DEVICE = /var/run/lirc/lircd
- ifdef DVBDIR
- INCLUDES += -I$(DVBDIR)/include
- endif
-+
-+ifdef FREEBSD
-+INCLUDES += -I$(VDRDIR)/include -I/usr/local/include
-+endif
-Index: Makefile
-@@ -8,6 +8,11 @@
-
- .DELETE_ON_ERROR:
-
-+OSTYPE ?= $(shell uname -s)
-+ifeq ($(OSTYPE),FreeBSD)
-+FREEBSD=1
-+endif
-+
- CC ?= gcc
- CFLAGS ?= -g -O3 -Wall
-
-@@ -21,7 +26,11 @@ MANDIR ?= $(PREFIX)/share/man
- BINDIR ?= $(PREFIX)/bin
- INCDIR ?= $(PREFIX)/include
- LOCDIR ?= ./locale
-+ifdef FREEBSD
-+LIBS = -ljpeg -lpthread -lrt -lutil -lintl -liconv $(shell pkg-config --libs freetype2 fontconfig)
-+else
- LIBS = -ljpeg -lpthread -ldl -lcap -lrt $(shell pkg-config --libs freetype2 fontconfig)
-+endif
- INCLUDES ?= $(shell pkg-config --cflags freetype2 fontconfig)
-
- PLUGINDIR= ./PLUGINS
-@@ -150,7 +159,11 @@ i18n: $(I18Nmsgs)
-
- install-i18n:
- @mkdir -p $(DESTDIR)$(LOCDIR)
-+ifdef FREEBSD
-+ @(cd $(LOCALEDIR); cp -R * $(DESTDIR)$(LOCDIR))
-+else
- @(cd $(LOCALEDIR); cp -r --parents * $(DESTDIR)$(LOCDIR))
-+endif
-
- # The 'include' directory (for plugins):
-
-@@ -189,7 +202,11 @@ install: install-bin install-conf instal
-
- install-bin: vdr
- @mkdir -p $(DESTDIR)$(BINDIR)
-+ifdef FREEBSD
-+ @cp -f vdr svdrpsend $(DESTDIR)$(BINDIR)
-+else
- @cp --remove-destination vdr svdrpsend $(DESTDIR)$(BINDIR)
-+endif
-
- # Configuration files:
-
-@@ -212,13 +229,18 @@ install-doc:
-
- install-plugins: plugins
- @mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
-+ifdef FREEBSD
-+ @cp -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
-+else
- @cp --remove-destination $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
-+endif
-
- # Includes:
-
- install-includes: include-dir
- @mkdir -p $(DESTDIR)$(INCDIR)
- @cp -pLR include/vdr include/libsi $(DESTDIR)$(INCDIR)
-+ @cp Make.config Make.global $(DESTDIR)$(INCDIR)/vdr
-
- # pkg-config file:
-
-Index: channels.c
-@@ -29,7 +29,12 @@ tChannelID tChannelID::FromString(const
- int tid;
- int sid;
- int rid = 0;
-+#ifdef __FreeBSD__
-+ sourcebuf = MALLOC(char, 10);
-+ int fields = sscanf(s, "%9[^-]-%d-%d-%d-%d", sourcebuf, &nid, &tid, &sid, &rid);
-+#else
- int fields = sscanf(s, "%a[^-]-%d-%d-%d-%d", &sourcebuf, &nid, &tid, &sid, &rid);
-+#endif
- if (fields == 4 || fields == 5) {
- int source = cSource::FromString(sourcebuf);
- free(sourcebuf);
-@@ -554,7 +559,18 @@ bool cChannel::Parse(const char *s)
- char *apidbuf = NULL;
- char *tpidbuf = NULL;
- char *caidbuf = NULL;
-+#ifdef __FreeBSD__
-+ namebuf = MALLOC(char, 256);
-+ sourcebuf = MALLOC(char, 10);
-+ parambuf = MALLOC(char, 256);
-+ vpidbuf = MALLOC(char, 256);
-+ apidbuf = MALLOC(char, 256);
-+ tpidbuf = MALLOC(char, 256);
-+ caidbuf = MALLOC(char, 256);
-+ int fields = sscanf(s, "%255[^:]:%d :%255[^:]:%255[^:] :%d :%255[^:]:%255[^:]:%255[^:]:%255[^:]:%d :%d :%d :%d ", namebuf, &frequency, parambuf, sourcebuf, &srate, vpidbuf, apidbuf, tpidbuf, caidbuf, &sid, &nid, &tid, &rid);
-+#else
- int fields = sscanf(s, "%a[^:]:%d :%a[^:]:%a[^:] :%d :%a[^:]:%a[^:]:%a[^:]:%a[^:]:%d :%d :%d :%d ", &namebuf, &frequency, &parambuf, &sourcebuf, &srate, &vpidbuf, &apidbuf, &tpidbuf, &caidbuf, &sid, &nid, &tid, &rid);
-+#endif
- if (fields >= 9) {
- if (fields == 9) {
- // allow reading of old format
-Index: ci.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/ci.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- ci.c 2010/02/17 10:14:44 1.1.1.2
-+++ ci.c 2010/02/17 10:46:55 1.3
-@@ -10,7 +10,11 @@
- #include "ci.h"
- #include <ctype.h>
- #include <linux/dvb/ca.h>
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include <netinet/in.h>
- #include <poll.h>
- #include <string.h>
-Index: config.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/config.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.4
-diff -u -r1.1.1.4 -r1.4
---- config.c 2010/06/07 09:07:28 1.1.1.4
-+++ config.c 2010/06/07 09:12:57 1.4
-@@ -10,6 +10,9 @@
- #include "config.h"
- #include <ctype.h>
- #include <stdlib.h>
-+#ifdef __FreeBSD__
-+#include <netinet/in.h>
-+#endif
- #include "device.h"
- #include "i18n.h"
- #include "interface.h"
-Index: diseqc.c
-@@ -114,7 +114,14 @@ bool cDiseqc::Parse(const char *s)
- return true;
- bool result = false;
- char *sourcebuf = NULL;
-+#ifdef __FreeBSD__
-+ sourcebuf = MALLOC(char, 10);
-+ if (commands == NULL)
-+ commands = MALLOC(char, 256);
-+ int fields = sscanf(s, "%9[^ ] %d %c %d %255[^\n]", sourcebuf, &slof, &polarization, &lof, commands);
-+#else
- int fields = sscanf(s, "%a[^ ] %d %c %d %a[^\n]", &sourcebuf, &slof, &polarization, &lof, &commands);
-+#endif
- if (fields == 4)
- commands = NULL; //XXX Apparently sscanf() doesn't work correctly if the last %a argument results in an empty string
- if (4 <= fields && fields <= 5) {
-Index: eit.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/eit.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- eit.c 2010/06/07 09:07:27 1.1.1.3
-+++ eit.c 2010/06/07 09:12:57 1.5
-@@ -339,10 +339,15 @@
- if (diff > 2) {
- mutex.Lock();
- if (abs(diff - lastDiff) < 3) {
-+#ifdef __FreeBSD__
-+ isyslog("system time would have changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim);
-+ esyslog("stime() not available on FreeBSD, maybe use adjtime()?");
-+#else
- if (stime(&sattim) == 0)
- isyslog("system time changed from %s (%ld) to %s (%ld)", *TimeToString(loctim), loctim, *TimeToString(sattim), sattim);
- else
- esyslog("ERROR while setting system time: %m");
-+#endif
- }
- lastDiff = diff;
- mutex.Unlock();
-Index: epg.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/epg.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- epg.c 2010/03/01 09:42:48 1.1.1.3
-+++ epg.c 2010/03/01 09:58:06 1.5
-@@ -31,7 +31,13 @@
- bool tComponent::FromString(const char *s)
- {
- unsigned int Stream, Type;
-+#ifdef __FreeBSD__
-+ if (description == NULL)
-+ description = MALLOC(char, 256);
-+ int n = sscanf(s, "%X %02X %7s %255[^\n]", &Stream, &Type, language, description); // 7 = MAXLANGCODE2 - 1
-+#else
- int n = sscanf(s, "%X %02X %7s %a[^\n]", &Stream, &Type, language, &description); // 7 = MAXLANGCODE2 - 1
-+#endif
- if (n != 4 || isempty(description)) {
- free(description);
- description = NULL;
-Index: font.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/font.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- font.c 2010/10/19 20:28:48 1.1.1.3
-+++ font.c 2010/10/19 20:32:58 1.5
-@@ -383,7 +383,11 @@
- {
- if (!FontNames->Size()) {
- FcInit();
-+#ifdef __FreeBSD__
-+ FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, (char *)NULL);
-+#else
- FcObjectSet *os = FcObjectSetBuild(FC_FAMILY, FC_STYLE, NULL);
-+#endif
- FcPattern *pat = FcPatternCreate();
- FcPatternAddBool(pat, FC_SCALABLE, FcTrue);
- if (Monospaced)
-Index: i18n.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/i18n.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- i18n.h 2010/02/17 10:14:45 1.1.1.2
-+++ i18n.h 2010/02/17 10:46:55 1.3
-@@ -48,7 +48,11 @@
- ///< have an actual locale installed. The rest are just dummy entries
- ///< to allow having three letter language codes for other languages
- ///< that have no actual locale on this system.
-+#ifdef __FreeBSD__
-+const char *I18nTranslate(const char *s, const char *Plugin = NULL) __format_arg(1);
-+#else
- const char *I18nTranslate(const char *s, const char *Plugin = NULL) __attribute_format_arg__(1);
-+#endif
- ///< Translates the given string (with optional Plugin context) into
- ///< the current language. If no translation is available, the original
- ///< string will be returned.
-Index: menu.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/menu.c,v
-retrieving revision 1.1.1.6
-retrieving revision 1.7
-diff -u -r1.1.1.6 -r1.7
-Index: menuitems.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/menuitems.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.5
-diff -u -r1.1.1.4 -r1.5
---- menuitems.c 2010/06/07 09:07:27 1.1.1.4
-+++ menuitems.c 2010/06/07 09:12:57 1.5
-@@ -838,7 +838,11 @@
- struct tm tm_r;
- localtime_r(value, &tm_r);
- strftime(buf, DATEBUFFERSIZE, "%Y-%m-%d ", &tm_r);
-+#ifdef __FreeBSD__
-+ strcat(buf, WeekDayNameReal(tm_r.tm_wday));
-+#else
- strcat(buf, WeekDayName(tm_r.tm_wday));
-+#endif
- }
- else
- *buf = 0;
-Index: pat.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/pat.c,v
-retrieving revision 1.1.1.5
-retrieving revision 1.6
-diff -u -r1.1.1.5 -r1.6
---- pat.c 2010/10/19 20:28:48 1.1.1.5
-+++ pat.c 2010/10/19 20:32:58 1.6
-@@ -8,7 +8,11 @@
- */
-
- #include "pat.h"
-+#ifdef __FreeBSD__
-+#include <stdlib.h>
-+#else
- #include <malloc.h>
-+#endif
- #include "channels.h"
- #include "libsi/section.h"
- #include "libsi/descriptor.h"
-Index: recording.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/recording.c,v
-retrieving revision 1.1.1.3
-retrieving revision 1.5
-diff -u -r1.1.1.3 -r1.5
---- recording.c 2010/03/16 15:18:58 1.1.1.3
-+++ recording.c 2010/03/16 15:21:05 1.5
-@@ -1825,7 +1829,11 @@
- // Search for a PAT packet from the end of the file:
- cPatPmtParser PatPmtParser;
- sprintf(pFileNumber, RECORDFILESUFFIXTS, Number);
-+#ifdef __FreeBSD__
-+ int fd = open(fileName, O_RDONLY, DEFFILEMODE);
-+#else
- int fd = open(fileName, O_RDONLY | O_LARGEFILE, DEFFILEMODE);
-+#endif
- if (fd >= 0) {
- off_t pos = lseek(fd, -TS_SIZE, SEEK_END);
- while (pos >= 0) {
-@@ -1866,14 +1874,22 @@
- int BlockingFlag = blocking ? 0 : O_NONBLOCK;
- if (record) {
- dsyslog("recording to '%s'", fileName);
-+#ifdef __FreeBSD__
-+ file = OpenVideoFile(fileName, O_RDWR | O_CREAT | BlockingFlag);
-+#else
- file = OpenVideoFile(fileName, O_RDWR | O_CREAT | O_LARGEFILE | BlockingFlag);
-+#endif
- if (!file)
- LOG_ERROR_STR(fileName);
- }
- else {
- if (access(fileName, R_OK) == 0) {
- dsyslog("playing '%s'", fileName);
-+#ifdef __FreeBSD__
-+ file = cUnbufferedFile::Create(fileName, O_RDONLY | BlockingFlag);
-+#else
- file = cUnbufferedFile::Create(fileName, O_RDONLY | O_LARGEFILE | BlockingFlag);
-+#endif
- if (!file)
- LOG_ERROR_STR(fileName);
- }
-Index: skins.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/skins.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- skins.c 2010/02/17 10:14:45 1.1.1.2
-+++ skins.c 2010/02/17 10:46:55 1.3
-@@ -11,6 +11,20 @@
- #include "interface.h"
- #include "status.h"
-
-+#if defined(__FreeBSD__) && __FreeBSD_version < 1000029
-+/* XXX Implement strchrnul for FreeBSD. */
-+static char *
-+strchrnul (const char *s, int c_in)
-+{
-+ char c = c_in;
-+ while (*s && (*s != c))
-+ s++;
-+
-+ return (char *) s;
-+}
-+#endif
-+
-+
- // --- cSkinQueuedMessage ----------------------------------------------------
-
- class cSkinQueuedMessage : public cListObject {
-Index: sources.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/sources.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.5
-diff -u -r1.1.1.4 -r1.5
---- sources.c 2010/03/16 15:18:58 1.1.1.4
-+++ sources.c 2010/03/16 15:21:05 1.5
-@@ -31,7 +31,14 @@
- bool cSource::Parse(const char *s)
- {
- char *codeBuf = NULL;
-+#ifdef __FreeBSD__
-+ codeBuf = MALLOC(char, 10);
-+ if (description == NULL)
-+ description = MALLOC(char, 256);
-+ if (2 == sscanf(s, "%9[^ ] %255[^\n]", codeBuf, description))
-+#else
- if (2 == sscanf(s, "%a[^ ] %a[^\n]", &codeBuf, &description))
-+#endif
- code = FromString(codeBuf);
- free(codeBuf);
- return code != stNone && description && *description;
-Index: svdrp.c
-@@ -40,6 +40,12 @@
- #include "tools.h"
- #include "videodir.h"
-
-+/* FreeBSD has it's own version of isnumber(),
-+ but VDR's version is incompatible */
-+#ifdef __FreeBSD__
-+#undef isnumber
-+#endif
-+
- // --- cSocket ---------------------------------------------------------------
-
- cSocket::cSocket(int Port, int Queue)
-@@ -124,6 +130,23 @@ int cSocket::Accept(void)
- }
- else if (errno != EINTR && errno != EAGAIN)
- LOG_ERROR;
-+#ifdef __FreeBSD__
-+ // Linux' accept() doesn't inherit O_NONBLOCK... (this fixes
-+ // cSVDRP::Send() failing due to EAGAIN when vdradmin-am downloads EPG.)
-+ if (newsock >= 0) {
-+ // make it blocking:
-+ int oldflags = fcntl(newsock, F_GETFL, 0);
-+ if (oldflags < 0) {
-+ LOG_ERROR;
-+ return -1;
-+ }
-+ oldflags &= ~O_NONBLOCK;
-+ if (fcntl(newsock, F_SETFL, oldflags) < 0) {
-+ LOG_ERROR;
-+ return -1;
-+ }
-+ }
-+#endif
- return newsock;
- }
- return -1;
-Index: themes.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/themes.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- themes.c 2010/02/17 10:14:44 1.1.1.2
-+++ themes.c 2010/02/17 10:46:55 1.3
-@@ -47,7 +47,11 @@
- // FileName is ok
- if (SetName) {
- free(name);
-+#ifdef __FreeBSD__
-+ name = (char *)strndup(n, e - n);
-+#else
- name = strndup(n, e - n);
-+#endif
- }
- }
- else
-Index: thread.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/thread.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.6
-diff -u -r1.1.1.2 -r1.6
---- thread.c 2010/02/17 10:14:45 1.1.1.2
-+++ thread.c 2010/02/24 08:41:13 1.6
-@@ -9,15 +9,22 @@
-
- #include "thread.h"
- #include <errno.h>
-+#ifdef __FreeBSD__
-+#include <pthread_np.h>
-+#include <stdlib.h>
-+#else
- #include <linux/unistd.h>
- #include <malloc.h>
-+#endif
- #include <stdarg.h>
- #include <stdlib.h>
- #include <sys/resource.h>
- #include <sys/syscall.h>
- #include <sys/time.h>
- #include <sys/wait.h>
-+#ifndef __FreeBSD__
- #include <sys/prctl.h>
-+#endif
- #include <unistd.h>
- #include "tools.h"
-
-@@ -143,7 +150,9 @@
- {
- pthread_rwlockattr_t attr;
- pthread_rwlockattr_init(&attr);
-+#ifndef __FreeBSD__
- pthread_rwlockattr_setkind_np(&attr, PreferWriter ? PTHREAD_RWLOCK_PREFER_WRITER_NP : PTHREAD_RWLOCK_PREFER_READER_NP);
-+#endif
- pthread_rwlock_init(&rwlock, &attr);
- }
-
-@@ -179,7 +188,11 @@
- locked = 0;
- pthread_mutexattr_t attr;
- pthread_mutexattr_init(&attr);
-+#ifdef __FreeBSD__
-+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
-+#else
- pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
-+#endif
- pthread_mutex_init(&mutex, &attr);
- }
-
-@@ -228,8 +241,12 @@
-
- void cThread::SetIOPriority(int Priority)
- {
-+#ifdef __FreeBSD__
-+ esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD");
-+#else
- if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class
- LOG_ERROR;
-+#endif
- }
-
- void cThread::SetDescription(const char *Description, ...)
-@@ -335,7 +352,11 @@
-
- tThreadId cThread::ThreadId(void)
- {
-+#ifdef __FreeBSD__
-+ return reinterpret_cast<long>(::pthread_self());
-+#else
- return syscall(__NR_gettid);
-+#endif
- }
-
- void cThread::SetMainThreadId(void)
-@@ -461,7 +482,11 @@
- int MaxPossibleFileDescriptors = getdtablesize();
- for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++)
- close(i); //close all dup'ed filedescriptors
-+#ifdef __FreeBSD__
-+ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) {
-+#else
- if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
-+#endif
- LOG_ERROR_STR(Command);
- close(fd[1 - iopipe]);
- _exit(-1);
-@@ -544,7 +569,11 @@
- int MaxPossibleFileDescriptors = getdtablesize();
- for (int i = STDERR_FILENO + 1; i < MaxPossibleFileDescriptors; i++)
- close(i); //close all dup'ed filedescriptors
-+#ifdef __FreeBSD__
-+ if (execl("/bin/sh", "sh", "-c", Command, (char *)NULL) == -1) {
-+#else
- if (execl("/bin/sh", "sh", "-c", Command, NULL) == -1) {
-+#endif
- LOG_ERROR_STR(Command);
- _exit(-1);
- }
-Index: thread.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/thread.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- thread.h 2010/02/17 10:14:44 1.1.1.2
-+++ thread.h 2010/02/17 10:46:55 1.3
-@@ -13,6 +13,9 @@
- #include <pthread.h>
- #include <stdio.h>
- #include <sys/types.h>
-+#ifdef __FreeBSD__
-+#include <signal.h>
-+#endif
-
- class cCondWait {
- private:
-Index: timers.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/timers.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- timers.c 2010/02/17 10:14:45 1.1.1.2
-+++ timers.c 2010/02/17 10:46:55 1.3
-@@ -23,6 +23,12 @@
- // format characters in order to allow any number of blanks after a numeric
- // value!
-
-+/* FreeBSD has it's own version of isnumber(),
-+ but VDR's version is incompatible */
-+#ifdef __FreeBSD__
-+#undef isnumber
-+#endif
-+
- // --- cTimer ----------------------------------------------------------------
-
- cTimer::cTimer(bool Instant, bool Pause, cChannel *Channel)
-@@ -292,7 +298,15 @@
- s = s2;
- }
- bool result = false;
-+#ifdef __FreeBSD__
-+ channelbuffer = MALLOC(char, 256);
-+ daybuffer = MALLOC(char, 256);
-+ filebuffer = MALLOC(char, 256);
-+ aux = MALLOC(char, 256);
-+ if (8 <= sscanf(s, "%u :%255[^:]:%255[^:]:%d :%d :%d :%d :%255[^:\n]:%255[^\n]", &flags, channelbuffer, daybuffer, &start, &stop, &priority, &lifetime, filebuffer, aux)) {
-+#else
- if (8 <= sscanf(s, "%u :%a[^:]:%a[^:]:%d :%d :%d :%d :%a[^:\n]:%a[^\n]", &flags, &channelbuffer, &daybuffer, &start, &stop, &priority, &lifetime, &filebuffer, &aux)) {
-+#endif
- ClrFlags(tfRecording);
- if (aux && !*skipspace(aux)) {
- free(aux);
-Index: tools.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/tools.c,v
-retrieving revision 1.1.1.5
-retrieving revision 1.8
-diff -u -r1.1.1.5 -r1.8
---- tools.c 2010/10/19 20:28:48 1.1.1.5
-+++ tools.c 2010/10/19 20:32:58 1.8
-@@ -21,13 +21,24 @@
- #include <stdarg.h>
- #include <stdlib.h>
- #include <sys/time.h>
-+#ifdef __FreeBSD__
-+#include <sys/param.h>
-+#include <sys/mount.h>
-+#else
- #include <sys/vfs.h>
-+#endif
- #include <time.h>
- #include <unistd.h>
- #include <utime.h>
- #include "i18n.h"
- #include "thread.h"
-
-+/* FreeBSD has it's own version of isnumber(),
-+ but VDR's version is incompatible */
-+#ifdef __FreeBSD__
-+#undef isnumber
-+#endif
-+
- int SysLogLevel = 3;
-
- #define MAXSYSLOGBUF 256
-@@ -493,6 +504,18 @@
- {
- if (!FileName)
- return NULL;
-+#ifdef __FreeBSD__
-+ char *resolved_path = NULL;
-+ resolved_path = MALLOC(char, PATH_MAX+1);
-+ if (realpath(FileName, resolved_path) == NULL)
-+ {
-+ if (errno != ENOENT) // some other error occurred
-+ LOG_ERROR_STR(FileName);
-+ else // file doesn't exist
-+ resolved_path = strdup(FileName);
-+ }
-+ return resolved_path;
-+#else
- char *TargetName = canonicalize_file_name(FileName);
- if (!TargetName) {
- if (errno == ENOENT) // file doesn't exist
-@@ -501,6 +524,7 @@
- LOG_ERROR_STR(FileName);
- }
- return TargetName;
-+#endif
- }
-
- bool SpinUpDisk(const char *FileName)
-@@ -517,7 +541,11 @@
- int f = open(buf, O_WRONLY | O_CREAT, DEFFILEMODE);
- // O_SYNC doesn't work on all file systems
- if (f >= 0) {
-+#ifdef __FreeBSD__
-+ if (fsync(f) < 0)
-+#else
- if (fdatasync(f) < 0)
-+#endif
- LOG_ERROR_STR(*buf);
- close(f);
- remove(buf);
-@@ -920,7 +952,11 @@
- return cString(buffer, true);
- }
-
-+#ifdef __FreeBSD__
-+cString WeekDayNameReal(int WeekDay)
-+#else
- cString WeekDayName(int WeekDay)
-+#endif
- {
- char buffer[16];
- WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0!
-@@ -938,10 +974,18 @@
- cString WeekDayName(time_t t)
- {
- struct tm tm_r;
-+#ifdef __FreeBSD__
-+ return WeekDayNameReal(localtime_r(&t, &tm_r)->tm_wday);
-+#else
- return WeekDayName(localtime_r(&t, &tm_r)->tm_wday);
-+#endif
- }
-
-+#ifdef __FreeBSD__
-+cString WeekDayNameFullReal(int WeekDay)
-+#else
- cString WeekDayNameFull(int WeekDay)
-+#endif
- {
- WeekDay = WeekDay == 0 ? 6 : WeekDay - 1; // we start with Monday==0!
- switch (WeekDay) {
-@@ -959,7 +1003,11 @@
- cString WeekDayNameFull(time_t t)
- {
- struct tm tm_r;
-+#ifdef __FreeBSD__
-+ return WeekDayNameFullReal(localtime_r(&t, &tm_r)->tm_wday);
-+#else
- return WeekDayNameFull(localtime_r(&t, &tm_r)->tm_wday);
-+#endif
- }
-
- cString DayDateTime(time_t t)
-@@ -969,7 +1017,11 @@
- time(&t);
- struct tm tm_r;
- tm *tm = localtime_r(&t, &tm_r);
-+#ifdef __FreeBSD__
-+ snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayNameReal(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min);
-+#else
- snprintf(buffer, sizeof(buffer), "%s %02d.%02d. %02d:%02d", *WeekDayName(tm->tm_wday), tm->tm_mday, tm->tm_mon + 1, tm->tm_hour, tm->tm_min);
-+#endif
- return buffer;
- }
-
-@@ -988,7 +1040,11 @@
- char buf[32];
- struct tm tm_r;
- tm *tm = localtime_r(&t, &tm_r);
-+#ifdef __FreeBSD__
-+ char *p = stpcpy(buf, WeekDayNameReal(tm->tm_wday));
-+#else
- char *p = stpcpy(buf, WeekDayName(tm->tm_wday));
-+#endif
- *p++ = ' ';
- strftime(p, sizeof(buf) - (p - buf), "%d.%m.%Y", tm);
- return buf;
-@@ -1315,7 +1371,11 @@
- if (!IsOpen()) {
- f = FileDes;
- if (f >= 0) {
-+#ifdef __FreeBSD__
-+ if ((uint)f < FD_SETSIZE) {
-+#else
- if (f < FD_SETSIZE) {
-+#endif
- if (f >= maxFiles)
- maxFiles = f + 1;
- if (!files[f])
-@@ -1356,7 +1416,11 @@
- if (files[i])
- FD_SET(i, &set);
- }
-+#ifdef __FreeBSD__
-+ if (0 <= FileDes && (uint)FileDes < FD_SETSIZE && !files[FileDes])
-+#else
- if (0 <= FileDes && FileDes < FD_SETSIZE && !files[FileDes])
-+#endif
- FD_SET(FileDes, &set); // in case we come in with an arbitrary descriptor
- if (TimeoutMs == 0)
- TimeoutMs = 10; // load gets too heavy with 0
-@@ -1451,7 +1515,9 @@
-
- // --- cUnbufferedFile -------------------------------------------------------
-
-+#ifndef __FreeBSD__
- #define USE_FADVISE
-+#endif
-
- #define WRITE_BUFFER KILOBYTE(800)
-
-@@ -1512,11 +1578,13 @@
- readahead = ra;
- }
-
-+#ifdef USE_FADVISE
- int cUnbufferedFile::FadviseDrop(off_t Offset, off_t Len)
- {
- // rounding up the window to make sure that not PAGE_SIZE-aligned data gets freed.
- return posix_fadvise(fd, Offset - (FADVGRAN - 1), Len + (FADVGRAN - 1) * 2, POSIX_FADV_DONTNEED);
- }
-+#endif
-
- off_t cUnbufferedFile::Seek(off_t Offset, int Whence)
- {
-Index: tools.h
-@@ -27,6 +27,12 @@
- #include <sys/stat.h>
- #include <sys/types.h>
-
-+#ifdef __FreeBSD__
-+#include <sys/param.h>
-+typedef int (*__compar_fn_t) (__const void *, __const void *);
-+#undef isnumber
-+#endif
-+
- typedef unsigned char uchar;
-
- extern int SysLogLevel;
-@@ -227,12 +233,20 @@ bool SpinUpDisk(const char *FileName);
- void TouchFile(const char *FileName);
- time_t LastModifiedTime(const char *FileName);
- off_t FileSize(const char *FileName); ///< returns the size of the given file, or -1 in case of an error (e.g. if the file doesn't exist)
-+#ifdef __FreeBSD__
-+cString WeekDayNameReal(int WeekDay);
-+#else
- cString WeekDayName(int WeekDay);
-+#endif
- ///< Converts the given WeekDay (0=Sunday, 1=Monday, ...) to a three letter
- ///< day name.
- cString WeekDayName(time_t t);
- ///< Converts the week day of the given time to a three letter day name.
-+#ifdef __FreeBSD__
-+cString WeekDayNameFullReal(int WeekDay);
-+#else
- cString WeekDayNameFull(int WeekDay);
-+#endif
- ///< Converts the given WeekDay (0=Sunday, 1=Monday, ...) to a full
- ///< day name.
- cString WeekDayNameFull(time_t t);
-Index: vdr.c
---- vdr.c
-+++ vdr.c
-@@ -32,8 +32,13 @@
- #include <pwd.h>
- #include <signal.h>
- #include <stdlib.h>
-+#ifndef __FreeBSD__
- #include <sys/capability.h>
- #include <sys/prctl.h>
-+#else
-+#include <sys/types.h>
-+#include <login_cap.h>
-+#endif
- #include <termios.h>
- #include <unistd.h>
- #include "audio.h"
-@@ -107,12 +112,15 @@ static bool SetUser(const char *UserName
- fprintf(stderr, "vdr: cannot set user id %u: %s\n", (unsigned int)user->pw_uid, strerror(errno));
- return false;
- }
-+#ifndef __FreeBSD__
- if (UserDump && prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) < 0)
- fprintf(stderr, "vdr: warning - cannot set dumpable: %s\n", strerror(errno));
-+#endif
- }
- return true;
- }
-
-+#ifndef __FreeBSD__
- static bool DropCaps(void)
- {
- // drop all capabilities except selected ones
-@@ -139,6 +147,7 @@ static bool SetKeepCaps(bool On)
- }
- return true;
- }
-+#endif
-
- static void SignalHandler(int signum)
- {
-@@ -400,14 +409,18 @@ int main(int argc, char *argv[])
- if (VdrUser && geteuid() == 0) {
- StartedAsRoot = true;
- if (strcmp(VdrUser, "root")) {
-+#ifndef __FreeBSD__
- if (!SetKeepCaps(true))
- return 2;
-+#endif
- if (!SetUser(VdrUser, UserDump))
- return 2;
-+#ifndef __FreeBSD__
- if (!SetKeepCaps(false))
- return 2;
- if (!DropCaps())
- return 2;
-+#endif
- }
- }
-
-@@ -556,6 +569,25 @@ int main(int argc, char *argv[])
- CodeSet++; // skip the dot
- }
- }
-+#ifdef __FreeBSD__
-+ // If we are started without a locale query login.conf(5) for
-+ // a lang setting
-+
-+ if (!CodeSet || !strcmp(CodeSet, "US-ASCII")) {
-+ struct passwd *User = getpwnam(VdrUser);
-+ login_cap_t *Lc = login_getuserclass(User);
-+ if (!Lc)
-+ Lc = login_getpwclass(User);
-+ if (Lc) {
-+ const char *Lang = login_getcapstr(Lc, "lang", NULL, NULL);
-+ if (Lang && setlocale(LC_CTYPE, Lang)) {
-+ CodeSet = nl_langinfo(CODESET);
-+ setenv("LANG", Lang, 1);
-+ }
-+ login_close(Lc);
-+ }
-+ }
-+#endif
- if (CodeSet) {
- bool known = SI::SetSystemCharacterTable(CodeSet);
- isyslog("codeset is '%s' - %s", CodeSet, known ? "known" : "unknown");
-Index: PLUGINS/src/svdrpdemo/svdrpdemo.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/PLUGINS/src/svdrpdemo/svdrpdemo.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.4
-diff -u -r1.1.1.2 -r1.4
-Index: libsi/headers.h
-===================================================================
-RCS file: /progs/network/ccvs/vdr/libsi/headers.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.3
-diff -u -r1.1.1.2 -r1.3
---- libsi/headers.h 2010/02/17 10:14:45 1.1.1.2
-+++ libsi/headers.h 2010/02/17 10:46:56 1.3
-@@ -17,7 +17,11 @@
- #ifndef LIBSI_HEADERS_H
- #define LIBSI_HEADERS_H
-
-+#ifdef __FreeBSD__
-+#include <sys/endian.h>
-+#else
- #include <endian.h>
-+#endif
-
- namespace SI {
-
-Index: libsi/si.c
-===================================================================
-RCS file: /progs/network/ccvs/vdr/libsi/si.c,v
-retrieving revision 1.1.1.4
-retrieving revision 1.7
-diff -u -r1.1.1.4 -r1.7
---- libsi/si.c 2010/03/01 09:42:49 1.1.1.4
-+++ libsi/si.c 2010/03/01 09:58:08 1.7
-@@ -13,7 +13,9 @@
- #include "si.h"
- #include <errno.h>
- #include <iconv.h>
-+#ifndef __FreeBSD__
- #include <malloc.h>
-+#endif
- #include <stdlib.h> // for broadcaster stupidity workaround
- #include <string.h>
- #include "descriptor.h"
---- PLUGINS/src/dvbsddevice/Makefile.orig
-+++ PLUGINS/src/dvbsddevice/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/hello/Makefile.orig
-+++ PLUGINS/src/hello/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/osddemo/Makefile.orig
-+++ PLUGINS/src/osddemo/Makefile
-@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -73,7 +73,11 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/pictures/Makefile.orig
-+++ PLUGINS/src/pictures/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/servicedemo/Makefile.orig
-+++ PLUGINS/src/servicedemo/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -75,11 +75,19 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN1).so: $(PLUGIN1).o
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN1).o -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- libvdr-$(PLUGIN2).so: $(PLUGIN2).o
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(PLUGIN2).o -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/skincurses/Makefile.orig
-+++ PLUGINS/src/skincurses/Makefile
-@@ -45,7 +45,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -lncursesw -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/status/Makefile.orig
-+++ PLUGINS/src/status/Makefile
-@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -73,7 +73,11 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/svdrpdemo/Makefile.orig
-+++ PLUGINS/src/svdrpdemo/Makefile
-@@ -43,7 +43,7 @@ PACKAGE = vdr-$(ARCHIVE)
-
- ### Includes and Defines (add further entries here):
-
--INCLUDES += -I$(VDRDIR)/include
-+INCLUDES = -I$(VDRDIR)/include -I${LOCALBASE}/include
-
- DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
-
-@@ -73,7 +73,11 @@ $(DEPFILE): Makefile
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
-+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/epgtableid0/Makefile.orig
-+++ PLUGINS/src/epgtableid0/Makefile
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
---- PLUGINS/src/rcu/Makefile.orig
-+++ PLUGINS/src/rcu/Makefile
-@@ -100,7 +100,11 @@ i18n: $(I18Nmsgs) $(I18Npot)
-
- libvdr-$(PLUGIN).so: $(OBJS)
- $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
-+ifdef FREEBSD
-+ @cp -f $@ $(LIBDIR)/$@.$(APIVERSION)
-+else
- @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
-+endif
-
- dist: $(I18Npo) clean
- @-rm -rf $(TMPDIR)/$(ARCHIVE)
diff --git a/multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff b/multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff
deleted file mode 100644
index 8b7a485ff532..000000000000
--- a/multimedia/vdr/files/patch-vdr-1.7.29-sortrectopmenu.diff
+++ /dev/null
@@ -1,13 +0,0 @@
---- recording.c 2012/06/09 13:57:30 2.57
-+++ recording.c 2012/07/15 10:47:58
-@@ -831,8 +831,8 @@
- {
- char **sb = (RecordingsSortMode == rsmName) ? &sortBufferName : &sortBufferTime;
- if (!*sb) {
-- char *s = (RecordingsSortMode == rsmName) ? strdup(FileName() + strlen(VideoDirectory) + 1)
-- : StripEpisodeName(strdup(FileName() + strlen(VideoDirectory) + 1));
-+ char *s = (RecordingsSortMode == rsmName) ? strdup(FileName() + strlen(VideoDirectory))
-+ : StripEpisodeName(strdup(FileName() + strlen(VideoDirectory)));
- strreplace(s, '/', 'a'); // some locales ignore '/' when sorting
- int l = strxfrm(NULL, s, 0) + 1;
- *sb = MALLOC(char, l);
diff --git a/multimedia/vdr/files/patch-vdr.1 b/multimedia/vdr/files/patch-vdr.1
deleted file mode 100644
index cd1218871d49..000000000000
--- a/multimedia/vdr/files/patch-vdr.1
+++ /dev/null
@@ -1,11 +0,0 @@
---- vdr.1.orig
-+++ vdr.1
-@@ -45,7 +45,7 @@ Send Dolby Digital audio to stdin of com
- .TP
- .BI \-c\ dir ,\ \-\-config= dir
- Read config files from directory \fIdir\fR
--(default is to read them from the video directory).
-+(default is to read them from %%CONFDIR%% on this installation.)
- .TP
- .B \-d, \-\-daemon
- Run in daemon mode (implies \-\-no\-kbd).
diff --git a/multimedia/vdr/files/patch-z-Makefile b/multimedia/vdr/files/patch-z-Makefile
deleted file mode 100644
index 2a066f5f6a87..000000000000
--- a/multimedia/vdr/files/patch-z-Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: Makefile
-@@ -112,7 +112,7 @@ vdr: $(OBJS) $(SILIB)
- # The libsi library:
-
- $(SILIB):
-- $(MAKE) -C $(LSIDIR) all
-+ $(MAKE) -C $(LSIDIR) all CC=${CC} CXX=${CXX}
-
- # pkg-config file:
-
-@@ -186,7 +186,7 @@ plugins: include-dir
- noapiv="$$noapiv $$i";\
- continue;\
- fi;\
-- $(MAKE) -C "$(PLUGINDIR)/src/$$i" all || failed="$$failed $$i";\
-+ $(MAKE) -C "$(PLUGINDIR)/src/$$i" all CC=${CC} CXX=${CXX} || failed="$$failed $$i";\
- done;\
- if [ -n "$$noapiv" ] ; then echo; echo "*** plugins without APIVERSION:$$noapiv"; echo; fi;\
- if [ -n "$$failed" ] ; then echo; echo "*** failed plugins:$$failed"; echo; exit 1; fi
-@@ -197,7 +197,7 @@ clean-plugins:
-
- # Install the files:
-
--install: install-bin install-conf install-doc install-plugins install-i18n install-includes install-pc
-+install: install-bin install-conf install-doc install-plugins install-includes install-pc
-
- # VDR binary:
-
-@@ -212,7 +212,6 @@ endif
- # Configuration files:
-
- install-conf:
-- @mkdir -p $(DESTDIR)$(VIDEODIR)
- @if [ ! -d $(DESTDIR)$(CONFDIR) ]; then\
- mkdir -p $(DESTDIR)$(CONFDIR);\
- cp *.conf $(DESTDIR)$(CONFDIR);\
-@@ -228,7 +227,7 @@ install-doc:
-
- # Plugins:
-
--install-plugins: plugins
-+install-plugins: #plugins
- @mkdir -p $(DESTDIR)$(PLUGINLIBDIR)
- ifdef FREEBSD
- @cp -f $(PLUGINDIR)/lib/lib*-*.so.$(APIVERSION) $(DESTDIR)$(PLUGINLIBDIR)
diff --git a/multimedia/vdr/files/patch-z-cutter.c b/multimedia/vdr/files/patch-z-cutter.c
deleted file mode 100644
index 39a4a731af12..000000000000
--- a/multimedia/vdr/files/patch-z-cutter.c
+++ /dev/null
@@ -1,61 +0,0 @@
---- cutter.c.orig
-+++ cutter.c
-@@ -83,7 +83,18 @@ void cCuttingThread::Action(void)
- int LastIFrame = 0;
- toMarks.Add(0);
- toMarks.Save();
-+#ifdef __FreeBSD__
-+ // XXX save thread stack space
-+ uchar *buffer = MALLOC(uchar, MAXFRAMESIZE);
-+ uchar *buffer2 = MALLOC(uchar, MAXFRAMESIZE);
-+ if (buffer == NULL || buffer2 == NULL) {
-+ free(buffer);
-+ error = "malloc";
-+ return;
-+ }
-+#else
- uchar buffer[MAXFRAMESIZE], buffer2[MAXFRAMESIZE];
-+#endif
- int Length2;
- bool CheckForSeamlessStream = false;
- bool LastMark = false;
-@@ -108,7 +119,7 @@ void cCuttingThread::Action(void)
- CurrentFileNumber = FileNumber;
- }
- if (fromFile) {
-- int len = ReadFrame(fromFile, buffer, Length, sizeof(buffer));
-+ int len = ReadFrame(fromFile, buffer, Length, MAXFRAMESIZE);
- if (len < 0) {
- error = "ReadFrame";
- break;
-@@ -193,7 +204,7 @@ void cCuttingThread::Action(void)
- if (FileNumber != CurrentFileNumber)
- fromFile = fromFileName->SetOffset(FileNumber, FileOffset);
- if (fromFile) {
-- int len = ReadFrame(fromFile, buffer2, Length2, sizeof(buffer2));
-+ int len = ReadFrame(fromFile, buffer2, Length2, MAXFRAMESIZE);
- if (len >= 0 && len == Length2)
- CheckForSeamlessStream = true;
- }
-@@ -216,6 +227,10 @@ void cCuttingThread::Action(void)
- }
- }
- Recordings.TouchUpdate();
-+#ifdef __FreeBSD__
-+ free(buffer);
-+ free(buffer2);
-+#endif
- }
- else
- esyslog("no editing marks found!");
---- thread.c.orig
-+++ thread.c
-@@ -242,7 +242,7 @@ void cThread::SetPriority(int Priority)
- void cThread::SetIOPriority(int Priority)
- {
- #ifdef __FreeBSD__
-- esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD");
-+ // esyslog("ERROR: syscall(SYS_ioprio_set ...) unsupported on FreeBSD");
- #else
- if (syscall(SYS_ioprio_set, 1, 0, (Priority & 0xff) | (2 << 13)) < 0) // best effort class
- LOG_ERROR;
diff --git a/multimedia/vdr/files/patch-z-dvbdevice.c b/multimedia/vdr/files/patch-z-dvbdevice.c
deleted file mode 100644
index 078f559a23d9..000000000000
--- a/multimedia/vdr/files/patch-z-dvbdevice.c
+++ /dev/null
@@ -1,14 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -823,7 +823,11 @@ bool cDvbTuner::SetFrontend(void)
- SETCMD(DTV_HIERARCHY, dtp.Hierarchy());
- if (frontendType == SYS_DVBT2) {
- // DVB-T2
-+#ifndef DTV_DVBT2_PLP_ID
-+ SETCMD(DTV_DVBT2_PLP_ID_LEGACY, dtp.PlpId());
-+#else
- SETCMD(DTV_DVBT2_PLP_ID, dtp.PlpId());
-+#endif
- }
-
- tuneTimeout = DVBT_TUNE_TIMEOUT;
diff --git a/multimedia/vdr/files/patch-z-libsi-si.c b/multimedia/vdr/files/patch-z-libsi-si.c
deleted file mode 100644
index d81cc482518a..000000000000
--- a/multimedia/vdr/files/patch-z-libsi-si.c
+++ /dev/null
@@ -1,42 +0,0 @@
---- libsi/si.c.orig
-+++ libsi/si.c
-@@ -308,6 +308,25 @@ static const char *CharacterTables2[] =
- "ISO-8859-15", // 0x0F
- };
-
-+static const char *CharacterTables3[] = {
-+ NULL, // 0x00
-+ "ISO8859-1", // 0x01
-+ "ISO8859-2", // 0x02
-+ "ISO8859-3", // 0x03
-+ "ISO8859-4", // 0x04
-+ "ISO8859-5", // 0x05
-+ "ISO8859-6", // 0x06
-+ "ISO8859-7", // 0x07
-+ "ISO8859-8", // 0x08
-+ "ISO8859-9", // 0x09
-+ "ISO8859-10", // 0x0A
-+ "ISO8859-11", // 0x0B
-+ "ISO8859-12", // 0x0C
-+ "ISO8859-13", // 0x0D
-+ "ISO8859-14", // 0x0E
-+ "ISO8859-15", // 0x0F
-+};
-+
- #define NumEntries(Table) (sizeof(Table) / sizeof(char *))
-
- static const char *SystemCharacterTable = NULL;
-@@ -334,6 +353,13 @@ bool SetSystemCharacterTable(const char
- return true;
- }
- }
-+ for (unsigned int i = 0; i < NumEntries(CharacterTables3); i++) {
-+ if (CharacterTables3[i] && strcasecmp(CharacterTable, CharacterTables3[i]) == 0) {
-+ SystemCharacterTable = CharacterTables3[i];
-+ SystemCharacterTableIsSingleByte = true;
-+ return true;
-+ }
-+ }
- } else {
- SystemCharacterTable = NULL;
- SystemCharacterTableIsSingleByte = true;
diff --git a/multimedia/vdr/files/remote.conf b/multimedia/vdr/files/remote.conf
deleted file mode 100644
index d6898e16a2d3..000000000000
--- a/multimedia/vdr/files/remote.conf
+++ /dev/null
@@ -1,116 +0,0 @@
-XKeySym.Up Up
-XKeySym.Down Down
-XKeySym.Menu Tab
-XKeySym.Menu Insert
-XKeySym.Ok Return
-XKeySym.Ok KP_Enter
-XKeySym.Back BackSpace
-XKeySym.Left Left
-XKeySym.Right Right
-XKeySym.Red F5
-XKeySym.Green F6
-XKeySym.Yellow F7
-XKeySym.Blue F8
-XKeySym.0 0
-XKeySym.1 1
-XKeySym.2 2
-XKeySym.3 3
-XKeySym.4 4
-XKeySym.5 5
-XKeySym.6 6
-XKeySym.7 7
-XKeySym.8 8
-XKeySym.9 9
-XKeySym.0 KP_0
-XKeySym.1 KP_1
-XKeySym.2 KP_2
-XKeySym.3 KP_3
-XKeySym.4 KP_4
-XKeySym.5 KP_5
-XKeySym.6 KP_6
-XKeySym.7 KP_7
-XKeySym.8 KP_8
-XKeySym.9 KP_9
-XKeySym.Info i
-XKeySym.Mute m
-XKeySym.Play p
-XKeySym.Play y
-XKeySym.Pause space
-XKeySym.Stop s
-XKeySym.Record r
-XKeySym.FastFwd w
-XKeySym.FastRew e
-XKeySym.Next n
-XKeySym.Prev v
-XKeySym.Channel+ Prior
-XKeySym.Channel- Next
-XKeySym.Volume+ KP_Add
-XKeySym.Volume- KP_Subtract
-XKeySym.Audio a
-XKeySym.Subtitles u
-XKeySym.Schedule l
-XKeySym.Channels c
-XKeySym.Timers t
-XKeySym.Recordings o
-XKeySym.Setup S
-XKeySym.Commands C
-XKeySym.User1 U
-XKeySym.User2 V
-XKeySym.User3 W
-XKeySym.User4 X
-XKeySym.User5 Y
-XKeySym.User6 Z
-KBD.Up 00000000001B5B41
-KBD.Down 00000000001B5B42
-KBD.Menu 0000000000000009
-KBD.Menu 000000001B5B327E
-KBD.Ok 000000000000000D
-KBD.Back 000000000000007F
-KBD.Back 0000000000000008
-KBD.Left 00000000001B5B44
-KBD.Right 00000000001B5B43
-KBD.Red 0000001B5B31357E
-KBD.Green 0000001B5B31377E
-KBD.Yellow 0000001B5B31387E
-KBD.Blue 0000001B5B31397E
-KBD.0 0000000000000030
-KBD.1 0000000000000031
-KBD.2 0000000000000032
-KBD.3 0000000000000033
-KBD.4 0000000000000034
-KBD.5 0000000000000035
-KBD.6 0000000000000036
-KBD.7 0000000000000037
-KBD.8 0000000000000038
-KBD.9 0000000000000039
-KBD.Info 0000000000000069
-KBD.Play 0000000000000070
-KBD.Play 0000000000000079
-KBD.Pause 0000000000000020
-KBD.Stop 0000000000000073
-KBD.Record 0000000000000072
-KBD.FastFwd 0000000000000066
-KBD.FastRew 0000000000000077
-KBD.Next 000000000000006E
-KBD.Prev 0000000000000076
-KBD.Power 000000000000001B
-KBD.Channel+ 000000001B5B357E
-KBD.Channel- 000000001B5B367E
-KBD.PrevChannel 000000001B5B317E
-KBD.Volume+ 000000000000002B
-KBD.Volume- 000000000000002D
-KBD.Mute 000000000000006D
-KBD.Audio 0000000000000061
-KBD.Subtitles 0000000000000075
-KBD.Schedule 000000000000006C
-KBD.Channels 0000000000000063
-KBD.Timers 0000000000000074
-KBD.Recordings 000000000000006F
-KBD.Setup 0000000000000053
-KBD.Commands 0000000000000043
-KBD.User1 0000000000000055
-KBD.User2 0000000000000056
-KBD.User3 0000000000000057
-KBD.User4 0000000000000058
-KBD.User5 0000000000000059
-KBD.User6 000000000000005A
diff --git a/multimedia/vdr/files/stb0899-signalstrength.patch b/multimedia/vdr/files/stb0899-signalstrength.patch
deleted file mode 100644
index 669a05f1133a..000000000000
--- a/multimedia/vdr/files/stb0899-signalstrength.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- dvbdevice.c.orig
-+++ dvbdevice.c
-@@ -560,6 +560,12 @@ int cDvbTuner::GetSignalStrength(void) c
- switch (subsystemId) {
- case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
- }
-+#if 1
-+ // XXX This is likely not correct for all cards using stb0899
-+ // but pctv452e usb ones seem to be affected too...
-+ if (!strcmp(device->DeviceName(), "STB0899 Multistandard"))
-+ MaxSignal = 670;
-+#endif
- int s = int(Signal) * 100 / MaxSignal;
- if (s > 100)
- s = 100;
-@@ -632,6 +638,12 @@ int cDvbTuner::GetSignalQuality(void) co
- switch (subsystemId) {
- case 0x13C21019: MaxSnr = 200; break; // TT-budget S2-3200 (DVB-S/DVB-S2)
- }
-+#if 1
-+ // XXX This is likely not correct for all cards using stb0899
-+ // but pctv452e usb ones seem to be affected too...
-+ if (!strcmp(device->DeviceName(), "STB0899 Multistandard"))
-+ MaxSnr = 200;
-+#endif
- int a = int(Snr) * 100 / MaxSnr;
- int b = 100 - (Unc * 10 + (Ber / 256) * 5);
- if (b < 0)
diff --git a/multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch b/multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch
deleted file mode 100644
index b3b3ef867eba..000000000000
--- a/multimedia/vdr/files/vdr-1.7.15-disable_eitscan.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- eitscan.c.orig 2010-06-06 19:11:14.000000000 +0300
-+++ eitscan.c 2010-06-06 20:44:07.000000000 +0300
-@@ -146,7 +146,7 @@
- if (Device) {
- for (cScanData *ScanData = scanList->First(); ScanData; ScanData = scanList->Next(ScanData)) {
- const cChannel *Channel = ScanData->GetChannel();
-- if (Channel) {
-+ if (Channel && !cSource::IsType(Channel->Source(), 'I')) {
- if (!Channel->Ca() || Channel->Ca() == Device->DeviceNumber() + 1 || Channel->Ca() >= CA_ENCRYPTED_MIN) {
- if (Device->ProvidesTransponder(Channel)) {
- if (!Device->Receiving()) {
diff --git a/multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff b/multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff
deleted file mode 100644
index 8ab3a21d5c7e..000000000000
--- a/multimedia/vdr/files/vdr-1.7.17-fix_na_dvbs_ac3.diff
+++ /dev/null
@@ -1,10 +0,0 @@
---- pat.c.orig 2011-03-13 23:15:42.000000000 -0700
-+++ pat.c 2011-03-14 00:14:40.000000000 -0700
-@@ -486,6 +486,7 @@ void cPatFilter::Process(u_short Pid, u_
- SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
- strn0cpy(lang, I18nNormalizeLanguageCode(ld->languageCode), MAXLANGCODE1);
- }
-+ IsAc3 = true;
- break;
- default: ;
- }
diff --git a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1 b/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1
deleted file mode 100644
index d31f4234cfb9..000000000000
--- a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-1
+++ /dev/null
@@ -1,959 +0,0 @@
-diff --git a/MANUAL b/MANUAL
-index 54e166e..57b687f 100644
---- a/MANUAL
-+++ b/MANUAL
-@@ -730,6 +730,9 @@ Version 1.6
- background transparency. By default the values as broadcast
- are used.
-
-+ Record Teletext Subtitles = no
-+ If set to 'yes', teletext subtitles will be recorded.
-+
- LNB:
-
- SLOF = 11700 The switching frequency (in MHz) between low and
-diff --git a/Makefile b/Makefile
-index 18d7eb9..3da4382 100644
---- a/Makefile
-+++ b/Makefile
-@@ -45,6 +45,8 @@ OBJS = audio.o channels.o ci.o config.o cutter.o device.o diseqc.o dvbdevice.o d
- skinclassic.o skins.o skinsttng.o sourceparams.o sources.o spu.o status.o svdrp.o themes.o thread.o\
- timers.o tools.o transfer.o vdr.o videodir.o
-
-+OBJS += vdrttxtsubshooks.o
-+
- ifndef NO_KBD
- DEFINES += -DREMOTE_KBD
- endif
-diff --git a/channels.c b/channels.c
-index b9204f2..44d4be2 100644
---- a/channels.c
-+++ b/channels.c
-@@ -378,6 +378,26 @@ void cChannel::SetSubtitlingDescriptors(uchar *SubtitlingTypes, uint16_t *Compos
- }
- }
-
-+void cChannel::SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages)
-+{
-+ int mod = CHANNELMOD_NONE;
-+ if (totalTtxtSubtitlePages != (fixedTtxtSubtitlePages + numberOfPages))
-+ mod |= CHANNELMOD_PIDS;
-+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages;
-+ for (int i = 0; (i < numberOfPages) && (totalTtxtSubtitlePages < MAXTXTPAGES); i++) {
-+ if (teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine != pages[i].ttxtMagazine ||
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage != pages[i].ttxtPage ||
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType != pages[i].ttxtType ||
-+ strcmp(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, pages[i].ttxtLanguage)) {
-+ mod |= CHANNELMOD_PIDS;
-+ teletextSubtitlePages[totalTtxtSubtitlePages] = pages[i];
-+ }
-+ totalTtxtSubtitlePages++;
-+ }
-+ modification |= mod;
-+ Channels.SetModified();
-+}
-+
- void cChannel::SetCaIds(const int *CaIds)
- {
- if (caids[0] && caids[0] <= CA_USER_MAX)
-@@ -506,10 +526,17 @@ cString cChannel::ToText(const cChannel *Channel)
- q += IntArrayToString(q, Channel->dpids, 10, Channel->dlangs, Channel->dtypes);
- }
- *q = 0;
-- const int TBufferSize = MAXSPIDS * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia and tpid
-+ const int TBufferSize = (MAXTXTPAGES * MAXSPIDS) * (5 + 1 + MAXLANGCODE2) + 10; // 5 digits plus delimiting ',' or ';' plus optional '=cod+cod', +10: paranoia and tpid
- char tpidbuf[TBufferSize];
- q = tpidbuf;
- q += snprintf(q, sizeof(tpidbuf), "%d", Channel->tpid);
-+ if (Channel->fixedTtxtSubtitlePages > 0) {
-+ *q++ = '+';
-+ for (int i = 0; i < Channel->fixedTtxtSubtitlePages; ++i) {
-+ tTeletextSubtitlePage page = Channel->teletextSubtitlePages[i];
-+ q += snprintf(q, sizeof(tpidbuf) - (q - tpidbuf), "%d=%s", page.PageNumber(), page.ttxtLanguage);
-+ }
-+ }
- if (Channel->spids[0]) {
- *q++ = ';';
- q += IntArrayToString(q, Channel->spids, 10, Channel->slangs);
-@@ -678,6 +705,32 @@ bool cChannel::Parse(const char *s)
- }
- spids[NumSpids] = 0;
- }
-+ fixedTtxtSubtitlePages = 0;
-+ if ((p = strchr(tpidbuf, '+')) != NULL) {
-+ *p++ = 0;
-+ char *q;
-+ char *strtok_next;
-+ while ((q = strtok_r(p, ",", &strtok_next)) != NULL) {
-+ if (fixedTtxtSubtitlePages < MAXTXTPAGES) {
-+ int page;
-+ char *l = strchr(q, '=');
-+ if (l)
-+ *l++ = 0;
-+ if (sscanf(q, "%d", &page) == 1) {
-+ teletextSubtitlePages[fixedTtxtSubtitlePages] = tTeletextSubtitlePage(page);
-+ if (l)
-+ strn0cpy(teletextSubtitlePages[fixedTtxtSubtitlePages].ttxtLanguage, l, MAXLANGCODE2);
-+ fixedTtxtSubtitlePages++;
-+ }
-+ else
-+ esyslog("ERROR: invalid Teletext page!"); // no need to set ok to 'false'
-+ }
-+ else
-+ esyslog("ERROR: too many Teletext pages!"); // no need to set ok to 'false'
-+ p = NULL;
-+ }
-+ totalTtxtSubtitlePages = fixedTtxtSubtitlePages;
-+ }
- if (sscanf(tpidbuf, "%d", &tpid) != 1)
- return false;
- if (caidbuf) {
-diff --git a/channels.h b/channels.h
-index 51f9830..6e7367f 100644
---- a/channels.h
-+++ b/channels.h
-@@ -35,6 +35,7 @@
- #define MAXDPIDS 16 // dolby (AC3 + DTS)
- #define MAXSPIDS 32 // subtitles
- #define MAXCAIDS 12 // conditional access
-+#define MAXTXTPAGES 8 // teletext pages
-
- #define MAXLANGCODE1 4 // a 3 letter language code, zero terminated
- #define MAXLANGCODE2 8 // up to two 3 letter language codes, separated by '+' and zero terminated
-@@ -71,6 +72,16 @@ public:
- static const tChannelID InvalidID;
- };
-
-+struct tTeletextSubtitlePage {
-+ tTeletextSubtitlePage(void) { ttxtPage = ttxtMagazine = 0; ttxtType = 0x02; strcpy(ttxtLanguage, "und"); }
-+ tTeletextSubtitlePage(int page) { ttxtMagazine = (page / 100) & 0x7; ttxtPage = (((page % 100) / 10) << 4) + (page % 10); ttxtType = 0x02; strcpy(ttxtLanguage, "und"); }
-+ char ttxtLanguage[MAXLANGCODE1];
-+ uchar ttxtPage;
-+ uchar ttxtMagazine;
-+ uchar ttxtType;
-+ int PageNumber(void) const { return BCDCHARTOINT(ttxtMagazine) * 100 + BCDCHARTOINT(ttxtPage); }
-+ };
-+
- class cChannel;
-
- class cLinkChannel : public cListObject {
-@@ -115,6 +126,9 @@ private:
- uint16_t compositionPageIds[MAXSPIDS];
- uint16_t ancillaryPageIds[MAXSPIDS];
- int tpid;
-+ int fixedTtxtSubtitlePages;
-+ int totalTtxtSubtitlePages;
-+ tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES];
- int caids[MAXCAIDS + 1]; // list is zero-terminated
- int nid;
- int tid;
-@@ -164,6 +178,8 @@ public:
- uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
- uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
- int Tpid(void) const { return tpid; }
-+ const tTeletextSubtitlePage *TeletextSubtitlePages() const { return teletextSubtitlePages; }
-+ int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; }
- const int *Caids(void) const { return caids; }
- int Ca(int Index = 0) const { return Index < MAXCAIDS ? caids[Index] : 0; }
- int Nid(void) const { return nid; }
-@@ -190,6 +206,7 @@ public:
- void SetName(const char *Name, const char *ShortName, const char *Provider);
- void SetPortalName(const char *PortalName);
- void SetPids(int Vpid, int Ppid, int Vtype, int *Apids, int *Atypes, char ALangs[][MAXLANGCODE2], int *Dpids, int *Dtypes, char DLangs[][MAXLANGCODE2], int *Spids, char SLangs[][MAXLANGCODE2], int Tpid);
-+ void SetTeletextSubtitlePages(tTeletextSubtitlePage pages[], int numberOfPages);
- void SetCaIds(const int *CaIds); // list must be zero-terminated
- void SetCaDescriptors(int Level);
- void SetLinkChannels(cLinkChannels *LinkChannels);
-diff --git a/ci.c b/ci.c
-index 59d62ef..b024f67 100644
---- a/ci.c
-+++ b/ci.c
-@@ -1913,6 +1913,8 @@ void cCamSlot::AddChannel(const cChannel *Channel)
- AddPid(Channel->Sid(), *Dpid, STREAM_TYPE_PRIVATE);
- for (const int *Spid = Channel->Spids(); *Spid; Spid++)
- AddPid(Channel->Sid(), *Spid, STREAM_TYPE_PRIVATE);
-+ if (Channel->Tpid() && Setup.SupportTeletext)
-+ AddPid(Channel->Sid(), Channel->Tpid(), STREAM_TYPE_PRIVATE);
- }
- }
-
-@@ -1936,6 +1938,9 @@ bool cCamSlot::CanDecrypt(const cChannel *Channel)
- CaPmt.AddPid(*Dpid, STREAM_TYPE_PRIVATE);
- for (const int *Spid = Channel->Spids(); *Spid; Spid++)
- CaPmt.AddPid(*Spid, STREAM_TYPE_PRIVATE);
-+ if (Channel->Tpid() && Setup.SupportTeletext) {
-+ CaPmt.AddPid(Channel->Tpid(), STREAM_TYPE_PRIVATE);
-+ }
- cas->SendPMT(&CaPmt);
- cTimeMs Timeout(QUERY_REPLY_TIMEOUT);
- do {
-diff --git a/config.c b/config.c
-index 73bb00d..982bd78 100644
---- a/config.c
-+++ b/config.c
-@@ -333,6 +333,7 @@ cSetup::cSetup(void)
- MarginStop = 10;
- AudioLanguages[0] = -1;
- DisplaySubtitles = 0;
-+ SupportTeletext = 0;
- SubtitleLanguages[0] = -1;
- SubtitleOffset = 0;
- SubtitleFgTransparency = 0;
-@@ -525,6 +526,7 @@ bool cSetup::Parse(const char *Name, const char *Value)
- else if (!strcasecmp(Name, "MarginStop")) MarginStop = atoi(Value);
- else if (!strcasecmp(Name, "AudioLanguages")) return ParseLanguages(Value, AudioLanguages);
- else if (!strcasecmp(Name, "DisplaySubtitles")) DisplaySubtitles = atoi(Value);
-+ else if (!strcasecmp(Name, "SupportTeletext")) SupportTeletext = atoi(Value);
- else if (!strcasecmp(Name, "SubtitleLanguages")) return ParseLanguages(Value, SubtitleLanguages);
- else if (!strcasecmp(Name, "SubtitleOffset")) SubtitleOffset = atoi(Value);
- else if (!strcasecmp(Name, "SubtitleFgTransparency")) SubtitleFgTransparency = atoi(Value);
-@@ -621,6 +623,7 @@ bool cSetup::Save(void)
- Store("MarginStop", MarginStop);
- StoreLanguages("AudioLanguages", AudioLanguages);
- Store("DisplaySubtitles", DisplaySubtitles);
-+ Store("SupportTeletext", SupportTeletext);
- StoreLanguages("SubtitleLanguages", SubtitleLanguages);
- Store("SubtitleOffset", SubtitleOffset);
- Store("SubtitleFgTransparency", SubtitleFgTransparency);
-diff --git a/config.h b/config.h
-index c51e3df..e46b4bd 100644
---- a/config.h
-+++ b/config.h
-@@ -235,6 +235,7 @@ public:
- int MarginStart, MarginStop;
- int AudioLanguages[I18N_MAX_LANGUAGES + 1];
- int DisplaySubtitles;
-+ int SupportTeletext;
- int SubtitleLanguages[I18N_MAX_LANGUAGES + 1];
- int SubtitleOffset;
- int SubtitleFgTransparency, SubtitleBgTransparency;
-diff --git a/device.c b/device.c
-index ba098d8..84bdd30 100644
---- a/device.c
-+++ b/device.c
-@@ -18,6 +18,7 @@
- #include "receiver.h"
- #include "status.h"
- #include "transfer.h"
-+#include "vdrttxtsubshooks.h"
-
- // --- cLiveSubtitle ---------------------------------------------------------
-
-@@ -1250,6 +1251,13 @@ int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly)
- }
- break;
- case 0xBD: { // private stream 1
-+ // EBU Teletext data, ETSI EN 300 472
-+ // if PES data header length = 24 and data_identifier = 0x10..0x1F (EBU Data)
-+ if (Data[8] == 0x24 && Data[45] >= 0x10 && Data[45] < 0x20) {
-+ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData((uint8_t*)Data, Length);
-+ break;
-+ }
-+
- int PayloadOffset = Data[8] + 9;
-
- // Compatibility mode for old subtitles plugin:
-@@ -1409,6 +1417,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
- tsToPesVideo.Reset();
- tsToPesAudio.Reset();
- tsToPesSubtitle.Reset();
-+ tsToPesTeletext.Reset();
- }
- else if (Length < TS_SIZE) {
- esyslog("ERROR: skipped %d bytes of TS fragment", Length);
-@@ -1454,6 +1463,17 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly)
- if (!VideoOnly || HasIBPTrickSpeed())
- PlayTsSubtitle(Data, TS_SIZE);
- }
-+ else if (Pid == patPmtParser.Tpid()) {
-+ if (!VideoOnly || HasIBPTrickSpeed()) {
-+ int l;
-+ tsToPesTeletext.PutTs(Data, Length);
-+ if (const uchar *p = tsToPesTeletext.GetPes(l)) {
-+ if ((l > 45) && (p[0] == 0x00) && (p[1] == 0x00) && (p[2] == 0x01) && (p[3] == 0xbd) && (p[8] == 0x24) && (p[45] >= 0x10) && (p[45] < 0x20))
-+ cVDRTtxtsubsHookListener::Hook()->PlayerTeletextData((uchar *)p, l, false, patPmtParser.TeletextSubtitlePages(), patPmtParser.TotalTeletextSubtitlePages());
-+ tsToPesTeletext.Reset();
-+ }
-+ }
-+ }
- }
- }
- else if (Pid == patPmtParser.Ppid()) {
-diff --git a/device.h b/device.h
-index fd587a8..078f080 100644
---- a/device.h
-+++ b/device.h
-@@ -538,6 +538,7 @@ private:
- cTsToPes tsToPesVideo;
- cTsToPes tsToPesAudio;
- cTsToPes tsToPesSubtitle;
-+ cTsToPes tsToPesTeletext;
- bool isPlayingVideo;
- protected:
- const cPatPmtParser *PatPmtParser(void) const { return &patPmtParser; }
-diff --git a/menu.c b/menu.c
-index ef2bb46..3548ccd 100644
---- a/menu.c
-+++ b/menu.c
-@@ -2798,6 +2798,7 @@ void cMenuSetupDVB::Setup(void)
- Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle foreground transparency"), &data.SubtitleFgTransparency, 0, 9));
- Add(new cMenuEditIntItem( tr("Setup.DVB$Subtitle background transparency"), &data.SubtitleBgTransparency, 0, 10));
- }
-+ Add(new cMenuEditBoolItem(tr("Setup.DVB$Enable teletext support"), &data.SupportTeletext));
-
- SetCurrent(Get(current));
- Display();
-diff --git a/po/ca_ES.po b/po/ca_ES.po
-index b104fea..1c09d79 100644
---- a/po/ca_ES.po
-+++ b/po/ca_ES.po
-@@ -950,6 +950,9 @@ msgstr "Transpar
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparència fons subtítols"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "Configuració de l'LNB"
-
-diff --git a/po/cs_CZ.po b/po/cs_CZ.po
-index bcafac7..370609f 100644
---- a/po/cs_CZ.po
-+++ b/po/cs_CZ.po
-@@ -949,6 +949,9 @@ msgstr "Průhlednost písma titulků"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Průhlednost pozadí titulků"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/da_DK.po b/po/da_DK.po
-index 81b11eb..5daca8d 100644
---- a/po/da_DK.po
-+++ b/po/da_DK.po
-@@ -947,6 +947,9 @@ msgstr "Undertekst forgrundsgennemsigtighed"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Undertekst baggrundsgennemsigtighed"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/de_DE.po b/po/de_DE.po
-index 6d5b822..0a00a5a 100644
---- a/po/de_DE.po
-+++ b/po/de_DE.po
-@@ -947,6 +947,9 @@ msgstr "Untertitel-Transparenz Vordergrund"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Untertitel-Transparenz Hintergrund"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr "Videotext-Unterstützung aktivieren"
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/el_GR.po b/po/el_GR.po
-index 9756ea7..5d4d6ea 100644
---- a/po/el_GR.po
-+++ b/po/el_GR.po
-@@ -947,6 +947,9 @@ msgstr ""
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr ""
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/es_ES.po b/po/es_ES.po
-index 193e75e..1f36b60 100644
---- a/po/es_ES.po
-+++ b/po/es_ES.po
-@@ -948,6 +948,9 @@ msgstr "Transparencia primer plano subt
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparencia fondo subtítulos"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/et_EE.po b/po/et_EE.po
-index 49794dd..83ff319 100644
---- a/po/et_EE.po
-+++ b/po/et_EE.po
-@@ -947,6 +947,9 @@ msgstr "Subtiitri l
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Subtiitri tausta läbipaistvus"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr "Teleteksti tugi"
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/fi_FI.po b/po/fi_FI.po
-index b093e88..4abf6a8 100644
---- a/po/fi_FI.po
-+++ b/po/fi_FI.po
-@@ -950,6 +950,9 @@ msgstr "Tekstityksen läpinäkyvyys"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Tekstityksen taustan läpinäkyvyys"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr "Salli teksti-TV-tuki"
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/fr_FR.po b/po/fr_FR.po
-index b5c5120..86a961a 100644
---- a/po/fr_FR.po
-+++ b/po/fr_FR.po
-@@ -953,6 +953,9 @@ msgstr "Transparence de l'avant-plan"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparence du fond"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/hr_HR.po b/po/hr_HR.po
-index ed519a2..43f2ea5 100644
---- a/po/hr_HR.po
-+++ b/po/hr_HR.po
-@@ -949,6 +949,9 @@ msgstr "Transparentnost titla"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparentnost pozadine titla"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/hu_HU.po b/po/hu_HU.po
-index 17b905f..06f4505 100644
---- a/po/hu_HU.po
-+++ b/po/hu_HU.po
-@@ -950,6 +950,9 @@ msgstr "Felirat transzparenci
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Felirat hátterének transzparenciája"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/it_IT.po b/po/it_IT.po
-index 501300e..e0227d3 100644
---- a/po/it_IT.po
-+++ b/po/it_IT.po
-@@ -954,6 +954,9 @@ msgstr "Trasparenza sottotitoli"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Trasparenza sfondo sottotitoli"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/lt_LT.po b/po/lt_LT.po
-index 6cb1faa..4efc707 100644
---- a/po/lt_LT.po
-+++ b/po/lt_LT.po
-@@ -947,6 +947,9 @@ msgstr "Subtitrų fonto permatomumas"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Subtitrų fono permatomumas"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "Konverteris (LNB)"
-
-diff --git a/po/nl_NL.po b/po/nl_NL.po
-index ae2b85e..34a71e9 100644
---- a/po/nl_NL.po
-+++ b/po/nl_NL.po
-@@ -951,6 +951,9 @@ msgstr "Transparantie voorgrond ondertiteling"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparantie achtergrond ondertiteling"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/nn_NO.po b/po/nn_NO.po
-index 8ec8dfb..9c129ee 100644
---- a/po/nn_NO.po
-+++ b/po/nn_NO.po
-@@ -948,6 +948,9 @@ msgstr ""
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr ""
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/pl_PL.po b/po/pl_PL.po
-index a5c1b47..9645eca 100644
---- a/po/pl_PL.po
-+++ b/po/pl_PL.po
-@@ -948,6 +948,9 @@ msgstr "Prze
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Prze¼rocze podtytu³ów: T³o"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/pt_PT.po b/po/pt_PT.po
-index c443312..3c108ea 100644
---- a/po/pt_PT.po
-+++ b/po/pt_PT.po
-@@ -948,6 +948,9 @@ msgstr "Transpar
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparência de fundo das legendas"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/ro_RO.po b/po/ro_RO.po
-index f8c5a1e..35ec9ec 100644
---- a/po/ro_RO.po
-+++ b/po/ro_RO.po
-@@ -950,6 +950,9 @@ msgstr "Transparen
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparenþa fundalului subtitrãrii"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/ru_RU.po b/po/ru_RU.po
-index e683b8b..b90e565 100644
---- a/po/ru_RU.po
-+++ b/po/ru_RU.po
-@@ -948,6 +948,9 @@ msgstr "
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "¿àÞ×àÐçÝÞáâì äÞÝÐ áãÑâØâàÞÒ"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "ºÞÝÒÕàâÕà"
-
-diff --git a/po/sk_SK.po b/po/sk_SK.po
-index 46edef5..aabb641 100644
---- a/po/sk_SK.po
-+++ b/po/sk_SK.po
-@@ -947,6 +947,9 @@ msgstr "Prieh
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Priehµadnos» pozadia titulkov"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/sl_SI.po b/po/sl_SI.po
-index 89c6923..8ef4387 100644
---- a/po/sl_SI.po
-+++ b/po/sl_SI.po
-@@ -948,6 +948,9 @@ msgstr "Transparentnost podnapisov"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparentnost ozadja podnapisov"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/sv_SE.po b/po/sv_SE.po
-index 150f95e..020c64d 100644
---- a/po/sv_SE.po
-+++ b/po/sv_SE.po
-@@ -950,6 +950,9 @@ msgstr "Transparent f
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Transparent bakgrund textremsa"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/tr_TR.po b/po/tr_TR.po
-index 194943b..338c649 100644
---- a/po/tr_TR.po
-+++ b/po/tr_TR.po
-@@ -947,6 +947,9 @@ msgstr "Altyaz
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "Altyazý arka þeffaflýk"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "LNB"
-
-diff --git a/po/uk_UA.po b/po/uk_UA.po
-index 433ec70..c0a7947 100644
---- a/po/uk_UA.po
-+++ b/po/uk_UA.po
-@@ -947,6 +947,9 @@ msgstr "ПрозоріÑÑ‚ÑŒ переднього плану Ñубтитрів"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "ПрозоріÑÑ‚ÑŒ заднього плану Ñубтитрів"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "Конвертер"
-
-diff --git a/po/zh_CN.po b/po/zh_CN.po
-index c28fe88..8a594e3 100644
---- a/po/zh_CN.po
-+++ b/po/zh_CN.po
-@@ -950,6 +950,9 @@ msgstr "字幕å‰æ™¯é€æ˜Žåº¦"
- msgid "Setup.DVB$Subtitle background transparency"
- msgstr "字幕背景é€æ˜Žåº¦"
-
-+msgid "Setup.DVB$Enable teletext support"
-+msgstr ""
-+
- msgid "LNB"
- msgstr "切æ¢å™¨è®¾ç½®"
-
-diff --git a/receiver.c b/receiver.c
-index 6a9ba04..a5c8967 100644
---- a/receiver.c
-+++ b/receiver.c
-@@ -81,7 +81,8 @@ bool cReceiver::SetPids(const cChannel *Channel)
- (Channel->Ppid() == Channel->Vpid() || AddPid(Channel->Ppid())) &&
- AddPids(Channel->Apids()) &&
- AddPids(Channel->Dpids()) &&
-- AddPids(Channel->Spids());
-+ AddPids(Channel->Spids()) &&
-+ (!Setup.SupportTeletext || AddPid(Channel->Tpid()));
- }
- return true;
- }
-diff --git a/remux.c b/remux.c
-index 78ab294..4f9950f 100644
---- a/remux.c
-+++ b/remux.c
-@@ -219,6 +219,29 @@ int cPatPmtGenerator::MakeSubtitlingDescriptor(uchar *Target, const char *Langua
- return i;
- }
-
-+int cPatPmtGenerator::MakeTeletextDescriptor(uchar *Target, const tTeletextSubtitlePage *pages, int pageCount)
-+{
-+ int i = 0, j = 0;
-+ Target[i++] = SI::TeletextDescriptorTag;
-+ int l = i;
-+ Target[i++] = 0x00; // length
-+ for (int n = 0; n < pageCount; n++) {
-+ const char* Language = pages[n].ttxtLanguage;
-+ Target[i++] = *Language++;
-+ Target[i++] = *Language++;
-+ Target[i++] = *Language++;
-+ Target[i++] = (pages[n].ttxtType << 3) + pages[n].ttxtMagazine;
-+ Target[i++] = pages[n].ttxtPage;
-+ j++;
-+ }
-+ if (j > 0) {
-+ Target[l] = j * 5; // update length
-+ IncEsInfoLength(i);
-+ return i;
-+ }
-+ return 0;
-+}
-+
- int cPatPmtGenerator::MakeLanguageDescriptor(uchar *Target, const char *Language)
- {
- int i = 0;
-@@ -306,6 +329,7 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
- if (Channel) {
- int Vpid = Channel->Vpid();
- int Ppid = Channel->Ppid();
-+ int Tpid = Channel->Tpid();
- uchar *p = buf;
- int i = 0;
- p[i++] = 0x02; // table id
-@@ -338,6 +362,10 @@ void cPatPmtGenerator::GeneratePmt(const cChannel *Channel)
- i += MakeStream(buf + i, 0x06, Channel->Spid(n));
- i += MakeSubtitlingDescriptor(buf + i, Channel->Slang(n), Channel->SubtitlingType(n), Channel->CompositionPageId(n), Channel->AncillaryPageId(n));
- }
-+ if (Tpid) {
-+ i += MakeStream(buf + i, 0x06, Tpid);
-+ i += MakeTeletextDescriptor(buf + i, Channel->TeletextSubtitlePages(), Channel->TotalTeletextSubtitlePages());
-+ }
-
- int sl = i - SectionLength - 2 + 4; // -2 = SectionLength storage, +4 = length of CRC
- buf[SectionLength] |= (sl >> 8) & 0x0F;
-@@ -411,6 +439,7 @@ void cPatPmtParser::Reset(void)
- pmtPid = -1;
- vpid = vtype = 0;
- ppid = 0;
-+ tpid = 0;
- }
-
- void cPatPmtParser::ParsePat(const uchar *Data, int Length)
-@@ -496,11 +525,13 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
- int NumSpids = 0;
- vpid = vtype = 0;
- ppid = 0;
-+ tpid = 0;
- apids[0] = 0;
- dpids[0] = 0;
- spids[0] = 0;
- atypes[0] = 0;
- dtypes[0] = 0;
-+ totalTtxtSubtitlePages = 0;
- SI::PMT::Stream stream;
- for (SI::Loop::Iterator it; Pmt.streamLoop.getNext(stream, it); ) {
- dbgpatpmt(" stream type = %02X, pid = %d", stream.getStreamType(), stream.getPid());
-@@ -599,6 +630,28 @@ void cPatPmtParser::ParsePmt(const uchar *Data, int Length)
- spids[NumSpids]= 0;
- }
- break;
-+ case SI::TeletextDescriptorTag: {
-+ dbgpatpmt(" teletext");
-+ tpid = stream.getPid();
-+ SI::TeletextDescriptor *sd = (SI::TeletextDescriptor *)d;
-+ SI::TeletextDescriptor::Teletext ttxt;
-+ if (totalTtxtSubtitlePages < MAXTXTPAGES) {
-+ for (SI::Loop::Iterator it; sd->teletextLoop.getNext(ttxt, it); ) {
-+ bool isSubtitlePage = (ttxt.getTeletextType() == 0x02) || (ttxt.getTeletextType() == 0x05);
-+ if (isSubtitlePage && ttxt.languageCode[0]) {
-+ dbgpatpmt(" '%s:%x.%x'", ttxt.languageCode, ttxt.getTeletextMagazineNumber(), ttxt.getTeletextPageNumber());
-+ strn0cpy(teletextSubtitlePages[totalTtxtSubtitlePages].ttxtLanguage, I18nNormalizeLanguageCode(ttxt.languageCode), MAXLANGCODE1);
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtPage = ttxt.getTeletextPageNumber();
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtMagazine = ttxt.getTeletextMagazineNumber();
-+ teletextSubtitlePages[totalTtxtSubtitlePages].ttxtType = ttxt.getTeletextType();
-+ totalTtxtSubtitlePages++;
-+ if (totalTtxtSubtitlePages >= MAXTXTPAGES)
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ break;
- case SI::ISO639LanguageDescriptorTag: {
- SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
- dbgpatpmt(" '%s'", ld->languageCode);
-diff --git a/remux.h b/remux.h
-index b882279..4af51e5 100644
---- a/remux.h
-+++ b/remux.h
-@@ -174,6 +174,7 @@ protected:
- int MakeStream(uchar *Target, uchar Type, int Pid);
- int MakeAC3Descriptor(uchar *Target, uchar Type);
- int MakeSubtitlingDescriptor(uchar *Target, const char *Language, uchar SubtitlingType, uint16_t CompositionPageId, uint16_t AncillaryPageId);
-+ int MakeTeletextDescriptor(uchar *Target, const tTeletextSubtitlePage *pages, int pageCount);
- int MakeLanguageDescriptor(uchar *Target, const char *Language);
- int MakeCRC(uchar *Target, const uchar *Data, int Length);
- void GeneratePmtPid(const cChannel *Channel);
-@@ -219,6 +220,7 @@ private:
- int vpid;
- int ppid;
- int vtype;
-+ int tpid;
- int apids[MAXAPIDS + 1]; // list is zero-terminated
- int atypes[MAXAPIDS + 1]; // list is zero-terminated
- char alangs[MAXAPIDS][MAXLANGCODE2];
-@@ -231,6 +233,8 @@ private:
- uint16_t compositionPageIds[MAXSPIDS];
- uint16_t ancillaryPageIds[MAXSPIDS];
- bool updatePrimaryDevice;
-+ int totalTtxtSubtitlePages;
-+ tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES];
- protected:
- int SectionLength(const uchar *Data, int Length) { return (Length >= 3) ? ((int(Data[1]) & 0x0F) << 8)| Data[2] : 0; }
- public:
-@@ -263,6 +267,9 @@ public:
- int Vtype(void) const { return vtype; }
- ///< Returns the video stream type as defined by the current PMT, or 0 if no video
- ///< stream type has been detected, yet.
-+ int Tpid(void) { return tpid; }
-+ ///< Returns the teletext pid as defined by the current PMT, or 0 if no teletext
-+ ///< pid has been detected, yet.
- const int *Apids(void) const { return apids; }
- const int *Dpids(void) const { return dpids; }
- const int *Spids(void) const { return spids; }
-@@ -277,6 +284,8 @@ public:
- uchar SubtitlingType(int i) const { return (0 <= i && i < MAXSPIDS) ? subtitlingTypes[i] : uchar(0); }
- uint16_t CompositionPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? compositionPageIds[i] : uint16_t(0); }
- uint16_t AncillaryPageId(int i) const { return (0 <= i && i < MAXSPIDS) ? ancillaryPageIds[i] : uint16_t(0); }
-+ const tTeletextSubtitlePage *TeletextSubtitlePages() const { return teletextSubtitlePages; }
-+ int TotalTeletextSubtitlePages() const { return totalTtxtSubtitlePages; }
- };
-
- // TS to PES converter:
-diff --git a/vdr.5 b/vdr.5
-index c46a2bf..96e142a 100644
---- a/vdr.5
-+++ b/vdr.5
-@@ -225,6 +225,12 @@ by an '=' sign, as in
-
- .B ...:201;2001=deu,2002=eng:...
-
-+Manual teletext subtitling pages can be defined separated by a '+' sign.
-+The pages (separated by commas) can contain language codes, delimited by a '='
-+sign, as in
-+
-+.B ...:201+150=deu,151=fin;2001,2002:...
-+
- .TP
- .B Conditional access
- A hexadecimal integer defining how this channel can be accessed:
-diff --git a/vdrttxtsubshooks.c b/vdrttxtsubshooks.c
-new file mode 100644
-index 0000000..2471788
---- /dev/null
-+++ b/vdrttxtsubshooks.c
-@@ -0,0 +1,63 @@
-+/*
-+ * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder
-+ * Copyright (c) 2003 - 2008 Ragnar Sundblad <ragge@nada.kth.se>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License as published by the
-+ * Free Software Foundation; either version 2 of the License, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-+ * details.
-+ *
-+ * You should have received a copy of the GNU General Public License along with
-+ * this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ */
-+
-+#include <stdlib.h>
-+#include <stdio.h>
-+#include <stdint.h>
-+
-+#include "vdrttxtsubshooks.h"
-+
-+// XXX Really should be a list...
-+static cVDRTtxtsubsHookListener *gListener;
-+
-+// ------ class cVDRTtxtsubsHookProxy ------
-+
-+class cVDRTtxtsubsHookProxy : public cVDRTtxtsubsHookListener
-+{
-+ public:
-+ virtual void HideOSD(void) { if(gListener) gListener->HideOSD(); };
-+ virtual void ShowOSD(void) { if(gListener) gListener->ShowOSD(); };
-+ virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0)
-+ { if(gListener) gListener->PlayerTeletextData(p, length, IsPesRecording, teletextSubtitlePages, pageCount); };
-+ virtual int ManualPageNumber(const cChannel *channel)
-+ { if(gListener) return gListener->ManualPageNumber(channel); else return 0; };
-+};
-+
-+
-+// ------ class cVDRTtxtsubsHookListener ------
-+
-+cVDRTtxtsubsHookListener::~cVDRTtxtsubsHookListener()
-+{
-+ gListener = 0;
-+}
-+
-+void cVDRTtxtsubsHookListener::HookAttach(void)
-+{
-+ gListener = this;
-+ //printf("cVDRTtxtsubsHookListener::HookAttach\n");
-+}
-+
-+static cVDRTtxtsubsHookProxy gProxy;
-+
-+cVDRTtxtsubsHookListener *cVDRTtxtsubsHookListener::Hook(void)
-+{
-+ return &gProxy;
-+}
-+
-diff --git a/vdrttxtsubshooks.h b/vdrttxtsubshooks.h
-new file mode 100644
-index 0000000..2f97969
---- /dev/null
-+++ b/vdrttxtsubshooks.h
-@@ -0,0 +1,46 @@
-+/*
-+ * vdr-ttxtsubs - A plugin for the Linux Video Disk Recorder
-+ * Copyright (c) 2003 - 2008 Ragnar Sundblad <ragge@nada.kth.se>
-+ *
-+ * This program is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License as published by the
-+ * Free Software Foundation; either version 2 of the License, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-+ * details.
-+ *
-+ * You should have received a copy of the GNU General Public License along with
-+ * this program; if not, write to the Free Software Foundation, Inc.,
-+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ */
-+
-+#ifndef __VDRTTXTSUBSHOOKS_H
-+#define __VDRTTXTSUBSHOOKS_H
-+
-+#define TTXTSUBSVERSNUM 2
-+
-+class cDevice;
-+class cChannel;
-+struct tTeletextSubtitlePage;
-+
-+class cVDRTtxtsubsHookListener {
-+ public:
-+ cVDRTtxtsubsHookListener(void) {};
-+ virtual ~cVDRTtxtsubsHookListener();
-+
-+ void HookAttach(void);
-+
-+ virtual void HideOSD(void) {};
-+ virtual void ShowOSD(void) {};
-+ virtual void PlayerTeletextData(uint8_t *p, int length, bool IsPesRecording = true, const struct tTeletextSubtitlePage teletextSubtitlePages[] = NULL, int pageCount = 0) {};
-+ virtual int ManualPageNumber(const cChannel *channel) { return 0; };
-+
-+ // used by VDR to call hook listeners
-+ static cVDRTtxtsubsHookListener *Hook(void);
-+};
-+
-+#endif
diff --git a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2 b/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2
deleted file mode 100644
index 1cbd92de8535..000000000000
--- a/multimedia/vdr/files/vdr-1.7.21-ttxtsubs.patch-2
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/pat.c b/pat.c
-index b7493ec..9262491 100644
---- a/pat.c
-+++ b/pat.c
-@@ -17,6 +17,7 @@
- #include "libsi/section.h"
- #include "libsi/descriptor.h"
- #include "thread.h"
-+#include "vdrttxtsubshooks.h"
-
- #define PMT_SCAN_TIMEOUT 10 // seconds
-
-@@ -347,6 +348,8 @@ void cPatFilter::Process(u_short Pid, u_
- char DLangs[MAXDPIDS][MAXLANGCODE2] = { "" };
- char SLangs[MAXSPIDS][MAXLANGCODE2] = { "" };
- int Tpid = 0;
-+ tTeletextSubtitlePage TeletextSubtitlePages[MAXTXTPAGES];
-+ int NumTPages = 0;
- int NumApids = 0;
- int NumDpids = 0;
- int NumSpids = 0;
-@@ -438,8 +441,21 @@ void cPatFilter::Process(u_short Pid, u_
- NumSpids++;
- }
- break;
-- case SI::TeletextDescriptorTag:
-+ case SI::TeletextDescriptorTag: {
- Tpid = esPid;
-+ SI::TeletextDescriptor *sd = (SI::TeletextDescriptor *)d;
-+ SI::TeletextDescriptor::Teletext ttxt;
-+ for (SI::Loop::Iterator it; sd->teletextLoop.getNext(ttxt, it); ) {
-+ bool isSubtitlePage = (ttxt.getTeletextType() == 0x02) || (ttxt.getTeletextType() == 0x05);
-+ if ((NumTPages < MAXTXTPAGES) && ttxt.languageCode[0] && isSubtitlePage) {
-+ strn0cpy(TeletextSubtitlePages[NumTPages].ttxtLanguage, I18nNormalizeLanguageCode(ttxt.languageCode), MAXLANGCODE1);
-+ TeletextSubtitlePages[NumTPages].ttxtPage = ttxt.getTeletextPageNumber();
-+ TeletextSubtitlePages[NumTPages].ttxtMagazine = ttxt.getTeletextMagazineNumber();
-+ TeletextSubtitlePages[NumTPages].ttxtType = ttxt.getTeletextType();
-+ NumTPages++;
-+ }
-+ }
-+ }
- break;
- case SI::ISO639LanguageDescriptorTag: {
- SI::ISO639LanguageDescriptor *ld = (SI::ISO639LanguageDescriptor *)d;
-@@ -541,6 +557,11 @@ void cPatFilter::Process(u_short Pid, u_
- }
- if (Setup.UpdateChannels >= 2) {
- Channel->SetPids(Vpid, Ppid, Vtype, Apids, Atypes, ALangs, Dpids, Dtypes, DLangs, Spids, SLangs, Tpid);
-+ if (NumTPages < MAXTXTPAGES) {
-+ int manualPageNumber = cVDRTtxtsubsHookListener::Hook()->ManualPageNumber(Channel);
-+ if (manualPageNumber)
-+ TeletextSubtitlePages[NumTPages++] = tTeletextSubtitlePage(manualPageNumber);
-+ }
- if (!cSource::IsType(Channel->Source(), 'I'))
- Channel->SetCaIds(CaDescriptors->CaIds());
- Channel->SetSubtitlingDescriptors(SubtitlingTypes, CompositionPageIds, AncillaryPageIds);
diff --git a/multimedia/vdr/files/vdr-waitdvb.in b/multimedia/vdr/files/vdr-waitdvb.in
deleted file mode 100644
index d1b6bf096d45..000000000000
--- a/multimedia/vdr/files/vdr-waitdvb.in
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-
-command="%%PREFIX%%/bin/vdr"
-
-echo -n "vdr: waiting for dvb nodes: "
-i=0
-while true
-do
- ndvb=$(ls /dev/dvb/adapter*/frontend* 2>/dev/null|wc -l|tr -d ' ')
- if [ $ndvb -gt 0 ]; then
- break
- fi
- if [ $i -ge 60 ]; then
- break
- fi
- i=$((i + 1))
- sleep 1
- echo -n "."
-done
-
-i=0
-while true
-do
- sleep 2
- nndvb=$(ls /dev/dvb/adapter*/frontend* 2>/dev/null|wc -l|tr -d ' ')
- echo -n " $nndvb"
- if [ $nndvb -eq $ndvb ]; then
- break
- fi
- if [ $i -ge 30 ]; then
- break
- fi
- i=$((i + 1))
-done
-echo .
-
-exec "$command" "$@"
diff --git a/multimedia/vdr/files/vdr.in b/multimedia/vdr/files/vdr.in
deleted file mode 100644
index 743325f9bd50..000000000000
--- a/multimedia/vdr/files/vdr.in
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-# PROVIDE: vdr
-# REQUIRE: LOGIN
-# KEYWORD: shutdown
-#
-# Add the following line to /etc/rc.conf[.local] to enable vdr:
-#
-# vdr_enable="YES"
-#
-# And if you are using vdr plugins etc. add those including any plugin
-# parameters to /etc/rc.conf[.local] similar to this:
-#
-# vdr_flags="'-Pxineliboutput --local=none --remote=127.1:37890' \
-# -Pfemon -Posdpip \
-# -Posdteletext --cache-system=packed --max-cache=128' \
-# -Pstreamdev-server '-Plive -i127.1' -Pepgsearch \
-# -Pinfosatepg"
-
-. /etc/rc.subr
-
-name=vdr
-rcvar=vdr_enable
-
-load_rc_config ${name}
-: ${vdr_enable="NO"}
-: ${vdr_chdir="%%VIDEODIR%%"}
-: ${vdr_waitdvb="YES"}
-
-command="%%PREFIX%%/bin/vdr"
-procname="$command"
-command_args="-d"
-
-start_precmd="${name}_prestart"
-
-vdr_prestart()
-{
- if checkyesno "${name}_waitdvb"; then
- command="/usr/sbin/daemon"
- rc_flags="-f %%PREFIX%%/bin/vdr-waitdvb $rc_flags"
- fi
-}
-
-run_rc_command "$1"
diff --git a/multimedia/vdr/pkg-descr b/multimedia/vdr/pkg-descr
deleted file mode 100644
index fd85ff15e8c9..000000000000
--- a/multimedia/vdr/pkg-descr
+++ /dev/null
@@ -1,17 +0,0 @@
-Preliminary port of the vdr development branch, use at your own risk! :)
-
-See vdr/webcamd dvb thread(s) on the freebsd-multimedia list and the
-wiki for FreeBSD notes:
-
- http://wiki.freebsd.org/VDR
-
-Some links are also here:
-
- http://people.freebsd.org/~nox/dvb/
-
-and see these links for general vdr info:
-
- http://www.linuxtv.org/vdrwiki/index.php/Main_Page
- http://www.vdr-portal.de/
-
-WWW: http://www.tvdr.de/
diff --git a/multimedia/vdr/pkg-plist b/multimedia/vdr/pkg-plist
deleted file mode 100644
index ead754d7edf6..000000000000
--- a/multimedia/vdr/pkg-plist
+++ /dev/null
@@ -1,152 +0,0 @@
-bin/svdrpsend
-bin/vdr
-bin/vdr-waitdvb
-lib/vdr/libvdr-dvbsddevice.so.1.7.29
-lib/vdr/libvdr-svcsvr.so.1.7.29
-lib/vdr/libvdr-svccli.so.1.7.29
-lib/vdr/libvdr-status.so.1.7.29
-lib/vdr/libvdr-skincurses.so.1.7.29
-lib/vdr/libvdr-pictures.so.1.7.29
-lib/vdr/libvdr-osddemo.so.1.7.29
-lib/vdr/libvdr-hello.so.1.7.29
-lib/vdr/libvdr-svdrpdemo.so.1.7.29
-lib/vdr/libvdr-epgtableid0.so.1.7.29
-lib/vdr/libvdr-rcu.so.1.7.29
-libdata/pkgconfig/vdr.pc
-man/man1/vdr.1.gz
-man/man5/vdr.5.gz
-%%NLS%%share/locale/ar/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/es_ES/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fr_FR/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/pt_PT/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/zh_CN/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/lt_LT/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/mk_MK/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/uk_UA/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/tr_TR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sr_SR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sv_SE/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sl_SI/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/sk_SK/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/ru_RU/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/ro_RO/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/pl_PL/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/nn_NO/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/nl_NL/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/it_IT/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/hu_HU/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/hr_HR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/fi_FI/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/et_EE/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/el_GR/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-pictures.mo
-%%NLS%%share/locale/de_DE/LC_MESSAGES/vdr-skincurses.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/da_DK/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/cs_CZ/LC_MESSAGES/vdr-hello.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr.mo
-%%NLS%%share/locale/ca_ES/LC_MESSAGES/vdr-hello.mo
-include/libsi/descriptor.h
-include/libsi/headers.h
-include/libsi/section.h
-include/libsi/si.h
-include/libsi/util.h
-include/vdr/Make.config
-include/vdr/Make.global
-include/vdr/audio.h
-include/vdr/channels.h
-include/vdr/ci.h
-include/vdr/config.h
-include/vdr/cutter.h
-include/vdr/device.h
-include/vdr/diseqc.h
-include/vdr/dvbci.h
-include/vdr/dvbdevice.h
-include/vdr/dvbplayer.h
-include/vdr/dvbspu.h
-include/vdr/dvbsubtitle.h
-include/vdr/eit.h
-include/vdr/eitscan.h
-include/vdr/epg.h
-include/vdr/filter.h
-include/vdr/font.h
-include/vdr/i18n.h
-include/vdr/interface.h
-include/vdr/keys.h
-include/vdr/lirc.h
-include/vdr/menu.h
-include/vdr/menuitems.h
-include/vdr/nit.h
-include/vdr/osd.h
-include/vdr/osdbase.h
-include/vdr/pat.h
-include/vdr/player.h
-include/vdr/plugin.h
-include/vdr/receiver.h
-include/vdr/recorder.h
-include/vdr/recording.h
-include/vdr/remote.h
-include/vdr/remux.h
-include/vdr/ringbuffer.h
-include/vdr/sdt.h
-include/vdr/sections.h
-include/vdr/shutdown.h
-include/vdr/skinclassic.h
-include/vdr/skinlcars.h
-include/vdr/skins.h
-include/vdr/skinsttng.h
-include/vdr/sourceparams.h
-include/vdr/sources.h
-include/vdr/spu.h
-include/vdr/status.h
-include/vdr/svdrp.h
-include/vdr/themes.h
-include/vdr/thread.h
-include/vdr/timers.h
-include/vdr/tools.h
-include/vdr/transfer.h
-include/vdr/videodir.h
-%%TTXPATCH%%include/vdr/vdrttxtsubshooks.h
-@dir(%%VDR_USER%%,%%VDR_GROUP%%,) etc/vdr/plugins
-@sample etc/vdr/remote.conf.sample
-@sample etc/vdr/channels.conf.sample
-@sample etc/vdr/diseqc.conf.sample
-@sample etc/vdr/keymacros.conf.sample
-@sample etc/vdr/scr.conf.sample
-@sample etc/vdr/sources.conf.sample
-@sample etc/vdr/svdrphosts.conf.sample
-@unexec echo "Warning: If you will *NOT* use this package anymore, please remove the vdr user and group manually."
diff --git a/multimedia/vid.stab/Makefile b/multimedia/vid.stab/Makefile
index fe56516d951d..e34d7e95f31c 100644
--- a/multimedia/vid.stab/Makefile
+++ b/multimedia/vid.stab/Makefile
@@ -4,6 +4,7 @@ CATEGORIES= multimedia
MAINTAINER= ports@FreeBSD.org
COMMENT= Video stabilization library
+WWW= http://public.hronopik.de/vid.stab/
LICENSE= GPLv2 GPLv3
LICENSE_COMB= dual
diff --git a/multimedia/vid.stab/pkg-descr b/multimedia/vid.stab/pkg-descr
index 9ff7c6409f52..fcf74f2a458a 100644
--- a/multimedia/vid.stab/pkg-descr
+++ b/multimedia/vid.stab/pkg-descr
@@ -5,5 +5,3 @@ hardware stabilization, however this does not work if you have really
strong vibrations - rather the contrary, sometimes this mechanisms
start to oscillate. Vid.Stab is your friend in this matter. It is
designed to stabilize even strongly jiggled clips.
-
-WWW: http://public.hronopik.de/vid.stab/
diff --git a/multimedia/video-trimmer/Makefile b/multimedia/video-trimmer/Makefile
new file mode 100644
index 000000000000..c1101b4ccfa6
--- /dev/null
+++ b/multimedia/video-trimmer/Makefile
@@ -0,0 +1,36 @@
+PORTNAME= video-trimmer
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.8.2
+PORTREVISION= 5
+CATEGORIES= multimedia
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= Trim videos quickly
+WWW= https://gitlab.gnome.org/YaLTeR/video-trimmer
+
+LICENSE= GPLv3+
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= blueprint-compiler:devel/blueprint-compiler
+RUN_DEPENDS= ffmpeg:multimedia/ffmpeg
+
+USES= cargo desktop-file-utils gettext gnome gstreamer meson pkgconfig
+USE_GITLAB= yes
+USE_GNOME= gtk40 libadwaita
+USE_GSTREAMER= good libav
+GL_SITE= https://gitlab.gnome.org
+GL_ACCOUNT= YaLTeR
+MAKE_ENV= ${CARGO_ENV}
+CARGO_BUILD= no
+CARGO_INSTALL= no
+CARGO_TEST= no
+GLIB_SCHEMAS= org.gnome.gitlab.YaLTeR.VideoTrimmer.gschema.xml
+
+post-patch:
+# Make each cargo subcommand very verbose
+# Add explicit <triple> subdir for --target from USES=cargo
+ @${REINPLACE_CMD} -e '/cargo/s/ --/&verbose&verbose&/' \
+ -Ee '/cp/s,/(release|debug)/,/${CARGO_BUILD_TARGET}&,' \
+ ${WRKSRC}/build-aux/cargo.sh
+
+.include <bsd.port.mk>
diff --git a/multimedia/video-trimmer/Makefile.crates b/multimedia/video-trimmer/Makefile.crates
new file mode 100644
index 000000000000..041da2c3196f
--- /dev/null
+++ b/multimedia/video-trimmer/Makefile.crates
@@ -0,0 +1,204 @@
+CARGO_CRATES= aho-corasick-1.1.1 \
+ anyhow-1.0.75 \
+ ashpd-0.6.2 \
+ async-broadcast-0.5.1 \
+ async-channel-1.9.0 \
+ async-executor-1.5.1 \
+ async-fs-1.6.0 \
+ async-global-executor-2.3.1 \
+ async-io-1.13.0 \
+ async-lock-2.8.0 \
+ async-process-1.7.0 \
+ async-recursion-1.0.5 \
+ async-std-1.12.0 \
+ async-task-4.4.0 \
+ async-trait-0.1.73 \
+ atomic-waker-1.1.1 \
+ autocfg-1.1.0 \
+ bitflags-1.3.2 \
+ bitflags-2.4.0 \
+ block-0.1.6 \
+ block-buffer-0.10.4 \
+ blocking-1.3.1 \
+ bumpalo-3.14.0 \
+ byteorder-1.4.3 \
+ cairo-rs-0.18.2 \
+ cairo-sys-rs-0.18.2 \
+ cc-1.0.83 \
+ cfg-expr-0.15.5 \
+ cfg-if-1.0.0 \
+ concurrent-queue-2.2.0 \
+ cpufeatures-0.2.9 \
+ crossbeam-utils-0.8.16 \
+ crypto-common-0.1.6 \
+ derivative-2.2.0 \
+ digest-0.10.7 \
+ enumflags2-0.7.8 \
+ enumflags2_derive-0.7.8 \
+ equivalent-1.0.1 \
+ errno-0.3.3 \
+ errno-dragonfly-0.1.2 \
+ event-listener-2.5.3 \
+ fastrand-1.9.0 \
+ fastrand-2.0.0 \
+ field-offset-0.3.6 \
+ form_urlencoded-1.2.0 \
+ futures-channel-0.3.28 \
+ futures-core-0.3.28 \
+ futures-executor-0.3.28 \
+ futures-io-0.3.28 \
+ futures-lite-1.13.0 \
+ futures-macro-0.3.28 \
+ futures-sink-0.3.28 \
+ futures-task-0.3.28 \
+ futures-util-0.3.28 \
+ gdk-pixbuf-0.18.0 \
+ gdk-pixbuf-sys-0.18.0 \
+ gdk4-0.7.3 \
+ gdk4-sys-0.7.2 \
+ gdk4-wayland-0.7.2 \
+ gdk4-wayland-sys-0.7.2 \
+ gdk4-x11-0.7.2 \
+ gdk4-x11-sys-0.7.2 \
+ generic-array-0.14.7 \
+ getrandom-0.2.10 \
+ gettext-rs-0.7.0 \
+ gettext-sys-0.21.3 \
+ gio-0.18.2 \
+ gio-sys-0.18.1 \
+ glib-0.18.2 \
+ glib-macros-0.18.2 \
+ glib-sys-0.18.1 \
+ gloo-timers-0.2.6 \
+ gobject-sys-0.18.0 \
+ graphene-rs-0.18.1 \
+ graphene-sys-0.18.1 \
+ gsk4-0.7.3 \
+ gsk4-sys-0.7.3 \
+ gtk4-0.7.3 \
+ gtk4-macros-0.7.2 \
+ gtk4-sys-0.7.3 \
+ hashbrown-0.14.0 \
+ heck-0.4.1 \
+ hermit-abi-0.3.3 \
+ hex-0.4.3 \
+ idna-0.4.0 \
+ indexmap-2.0.0 \
+ instant-0.1.12 \
+ io-lifetimes-1.0.11 \
+ js-sys-0.3.64 \
+ json-0.12.4 \
+ kv-log-macro-1.0.7 \
+ lazy_static-1.4.0 \
+ libadwaita-0.5.3 \
+ libadwaita-sys-0.5.3 \
+ libc-0.2.148 \
+ linux-raw-sys-0.3.8 \
+ linux-raw-sys-0.4.7 \
+ locale_config-0.3.0 \
+ log-0.4.20 \
+ malloc_buf-0.0.6 \
+ memchr-2.6.3 \
+ memoffset-0.7.1 \
+ memoffset-0.9.0 \
+ mime-0.3.17 \
+ mime_guess-2.0.4 \
+ minimal-lexical-0.2.1 \
+ nix-0.26.4 \
+ nom-7.1.3 \
+ objc-0.2.7 \
+ objc-foundation-0.1.1 \
+ objc_id-0.1.1 \
+ once_cell-1.18.0 \
+ ordered-stream-0.2.0 \
+ pango-0.18.0 \
+ pango-sys-0.18.0 \
+ parking-2.1.0 \
+ percent-encoding-2.3.0 \
+ pin-project-lite-0.2.13 \
+ pin-utils-0.1.0 \
+ pkg-config-0.3.27 \
+ polling-2.8.0 \
+ ppv-lite86-0.2.17 \
+ proc-macro-crate-1.3.1 \
+ proc-macro-error-1.0.4 \
+ proc-macro-error-attr-1.0.4 \
+ proc-macro2-1.0.67 \
+ quote-1.0.33 \
+ rand-0.8.5 \
+ rand_chacha-0.3.1 \
+ rand_core-0.6.4 \
+ redox_syscall-0.3.5 \
+ regex-1.9.5 \
+ regex-automata-0.3.8 \
+ regex-syntax-0.7.5 \
+ rustc_version-0.4.0 \
+ rustix-0.37.23 \
+ rustix-0.38.14 \
+ semver-1.0.19 \
+ serde-1.0.188 \
+ serde_derive-1.0.188 \
+ serde_repr-0.1.16 \
+ serde_spanned-0.6.3 \
+ sha1-0.10.6 \
+ signal-hook-0.3.17 \
+ signal-hook-registry-1.4.1 \
+ slab-0.4.9 \
+ smallvec-1.11.1 \
+ socket2-0.4.9 \
+ static_assertions-1.1.0 \
+ syn-1.0.109 \
+ syn-2.0.37 \
+ system-deps-6.1.1 \
+ target-lexicon-0.12.11 \
+ temp-dir-0.1.11 \
+ tempfile-3.8.0 \
+ thiserror-1.0.48 \
+ thiserror-impl-1.0.48 \
+ tinyvec-1.6.0 \
+ tinyvec_macros-0.1.1 \
+ toml-0.7.8 \
+ toml_datetime-0.6.3 \
+ toml_edit-0.19.15 \
+ tracing-0.1.37 \
+ tracing-attributes-0.1.26 \
+ tracing-core-0.1.31 \
+ typenum-1.17.0 \
+ uds_windows-1.0.2 \
+ unicase-2.7.0 \
+ unicode-bidi-0.3.13 \
+ unicode-ident-1.0.12 \
+ unicode-normalization-0.1.22 \
+ url-2.4.1 \
+ value-bag-1.4.1 \
+ version-compare-0.1.1 \
+ version_check-0.9.4 \
+ waker-fn-1.1.0 \
+ wasi-0.11.0+wasi-snapshot-preview1 \
+ wasm-bindgen-0.2.87 \
+ wasm-bindgen-backend-0.2.87 \
+ wasm-bindgen-futures-0.4.37 \
+ wasm-bindgen-macro-0.2.87 \
+ wasm-bindgen-macro-support-0.2.87 \
+ wasm-bindgen-shared-0.2.87 \
+ web-sys-0.3.64 \
+ winapi-0.3.9 \
+ winapi-i686-pc-windows-gnu-0.4.0 \
+ winapi-x86_64-pc-windows-gnu-0.4.0 \
+ windows-sys-0.48.0 \
+ windows-targets-0.48.5 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_msvc-0.48.5 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_msvc-0.48.5 \
+ winnow-0.5.15 \
+ xdg-home-1.0.0 \
+ zbus-3.14.1 \
+ zbus_macros-3.14.1 \
+ zbus_names-2.6.0 \
+ zvariant-3.15.0 \
+ zvariant_derive-3.15.0 \
+ zvariant_utils-1.0.1
diff --git a/multimedia/video-trimmer/distinfo b/multimedia/video-trimmer/distinfo
new file mode 100644
index 000000000000..a7c8a909f1e8
--- /dev/null
+++ b/multimedia/video-trimmer/distinfo
@@ -0,0 +1,411 @@
+TIMESTAMP = 1696736484
+SHA256 (rust/crates/aho-corasick-1.1.1.crate) = ea5d730647d4fadd988536d06fecce94b7b4f2a7efdae548f1cf4b63205518ab
+SIZE (rust/crates/aho-corasick-1.1.1.crate) = 182812
+SHA256 (rust/crates/anyhow-1.0.75.crate) = a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6
+SIZE (rust/crates/anyhow-1.0.75.crate) = 43901
+SHA256 (rust/crates/ashpd-0.6.2.crate) = f3affe251686bd936a0afb74b9693e8bf2f193d51da1b9a45d3f1303a9bd2cc7
+SIZE (rust/crates/ashpd-0.6.2.crate) = 67606
+SHA256 (rust/crates/async-broadcast-0.5.1.crate) = 7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b
+SIZE (rust/crates/async-broadcast-0.5.1.crate) = 20134
+SHA256 (rust/crates/async-channel-1.9.0.crate) = 81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35
+SIZE (rust/crates/async-channel-1.9.0.crate) = 13664
+SHA256 (rust/crates/async-executor-1.5.1.crate) = 6fa3dc5f2a8564f07759c008b9109dc0d39de92a88d5588b8a5036d286383afb
+SIZE (rust/crates/async-executor-1.5.1.crate) = 18615
+SHA256 (rust/crates/async-fs-1.6.0.crate) = 279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06
+SIZE (rust/crates/async-fs-1.6.0.crate) = 16506
+SHA256 (rust/crates/async-global-executor-2.3.1.crate) = f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776
+SIZE (rust/crates/async-global-executor-2.3.1.crate) = 11790
+SHA256 (rust/crates/async-io-1.13.0.crate) = 0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af
+SIZE (rust/crates/async-io-1.13.0.crate) = 37191
+SHA256 (rust/crates/async-lock-2.8.0.crate) = 287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b
+SIZE (rust/crates/async-lock-2.8.0.crate) = 29944
+SHA256 (rust/crates/async-process-1.7.0.crate) = 7a9d28b1d97e08915212e2e45310d47854eafa69600756fc735fb788f75199c9
+SIZE (rust/crates/async-process-1.7.0.crate) = 22861
+SHA256 (rust/crates/async-recursion-1.0.5.crate) = 5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0
+SIZE (rust/crates/async-recursion-1.0.5.crate) = 11890
+SHA256 (rust/crates/async-std-1.12.0.crate) = 62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d
+SIZE (rust/crates/async-std-1.12.0.crate) = 215080
+SHA256 (rust/crates/async-task-4.4.0.crate) = ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae
+SIZE (rust/crates/async-task-4.4.0.crate) = 35178
+SHA256 (rust/crates/async-trait-0.1.73.crate) = bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0
+SIZE (rust/crates/async-trait-0.1.73.crate) = 28654
+SHA256 (rust/crates/atomic-waker-1.1.1.crate) = 1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3
+SIZE (rust/crates/atomic-waker-1.1.1.crate) = 11551
+SHA256 (rust/crates/autocfg-1.1.0.crate) = d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa
+SIZE (rust/crates/autocfg-1.1.0.crate) = 13272
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.4.0.crate) = b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635
+SIZE (rust/crates/bitflags-2.4.0.crate) = 36954
+SHA256 (rust/crates/block-0.1.6.crate) = 0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a
+SIZE (rust/crates/block-0.1.6.crate) = 4077
+SHA256 (rust/crates/block-buffer-0.10.4.crate) = 3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71
+SIZE (rust/crates/block-buffer-0.10.4.crate) = 10538
+SHA256 (rust/crates/blocking-1.3.1.crate) = 77231a1c8f801696fc0123ec6150ce92cffb8e164a02afb9c8ddee0e9b65ad65
+SIZE (rust/crates/blocking-1.3.1.crate) = 19040
+SHA256 (rust/crates/bumpalo-3.14.0.crate) = 7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec
+SIZE (rust/crates/bumpalo-3.14.0.crate) = 82400
+SHA256 (rust/crates/byteorder-1.4.3.crate) = 14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610
+SIZE (rust/crates/byteorder-1.4.3.crate) = 22512
+SHA256 (rust/crates/cairo-rs-0.18.2.crate) = 1c0466dfa8c0ee78deef390c274ad756801e0a6dbb86c5ef0924a298c5761c4d
+SIZE (rust/crates/cairo-rs-0.18.2.crate) = 54200
+SHA256 (rust/crates/cairo-sys-rs-0.18.2.crate) = 685c9fa8e590b8b3d678873528d83411db17242a73fccaed827770ea0fedda51
+SIZE (rust/crates/cairo-sys-rs-0.18.2.crate) = 11855
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cfg-expr-0.15.5.crate) = 03915af431787e6ffdcc74c645077518c6b6e01f80b761e0fbbfa288536311b3
+SIZE (rust/crates/cfg-expr-0.15.5.crate) = 41639
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/concurrent-queue-2.2.0.crate) = 62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c
+SIZE (rust/crates/concurrent-queue-2.2.0.crate) = 19971
+SHA256 (rust/crates/cpufeatures-0.2.9.crate) = a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1
+SIZE (rust/crates/cpufeatures-0.2.9.crate) = 11895
+SHA256 (rust/crates/crossbeam-utils-0.8.16.crate) = 5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294
+SIZE (rust/crates/crossbeam-utils-0.8.16.crate) = 42508
+SHA256 (rust/crates/crypto-common-0.1.6.crate) = 1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3
+SIZE (rust/crates/crypto-common-0.1.6.crate) = 8760
+SHA256 (rust/crates/derivative-2.2.0.crate) = fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b
+SIZE (rust/crates/derivative-2.2.0.crate) = 48076
+SHA256 (rust/crates/digest-0.10.7.crate) = 9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292
+SIZE (rust/crates/digest-0.10.7.crate) = 19557
+SHA256 (rust/crates/enumflags2-0.7.8.crate) = 5998b4f30320c9d93aed72f63af821bfdac50465b75428fce77b48ec482c3939
+SIZE (rust/crates/enumflags2-0.7.8.crate) = 15374
+SHA256 (rust/crates/enumflags2_derive-0.7.8.crate) = f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246
+SIZE (rust/crates/enumflags2_derive-0.7.8.crate) = 7901
+SHA256 (rust/crates/equivalent-1.0.1.crate) = 5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5
+SIZE (rust/crates/equivalent-1.0.1.crate) = 6615
+SHA256 (rust/crates/errno-0.3.3.crate) = 136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd
+SIZE (rust/crates/errno-0.3.3.crate) = 10543
+SHA256 (rust/crates/errno-dragonfly-0.1.2.crate) = aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf
+SIZE (rust/crates/errno-dragonfly-0.1.2.crate) = 1810
+SHA256 (rust/crates/event-listener-2.5.3.crate) = 0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0
+SIZE (rust/crates/event-listener-2.5.3.crate) = 15392
+SHA256 (rust/crates/fastrand-1.9.0.crate) = e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be
+SIZE (rust/crates/fastrand-1.9.0.crate) = 11910
+SHA256 (rust/crates/fastrand-2.0.0.crate) = 6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764
+SIZE (rust/crates/fastrand-2.0.0.crate) = 14402
+SHA256 (rust/crates/field-offset-0.3.6.crate) = 38e2275cc4e4fc009b0669731a1e5ab7ebf11f469eaede2bab9309a5b4d6057f
+SIZE (rust/crates/field-offset-0.3.6.crate) = 10032
+SHA256 (rust/crates/form_urlencoded-1.2.0.crate) = a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652
+SIZE (rust/crates/form_urlencoded-1.2.0.crate) = 8923
+SHA256 (rust/crates/futures-channel-0.3.28.crate) = 955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2
+SIZE (rust/crates/futures-channel-0.3.28.crate) = 32281
+SHA256 (rust/crates/futures-core-0.3.28.crate) = 4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c
+SIZE (rust/crates/futures-core-0.3.28.crate) = 14780
+SHA256 (rust/crates/futures-executor-0.3.28.crate) = ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0
+SIZE (rust/crates/futures-executor-0.3.28.crate) = 17743
+SHA256 (rust/crates/futures-io-0.3.28.crate) = 4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964
+SIZE (rust/crates/futures-io-0.3.28.crate) = 8910
+SHA256 (rust/crates/futures-lite-1.13.0.crate) = 49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce
+SIZE (rust/crates/futures-lite-1.13.0.crate) = 37058
+SHA256 (rust/crates/futures-macro-0.3.28.crate) = 89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72
+SIZE (rust/crates/futures-macro-0.3.28.crate) = 11272
+SHA256 (rust/crates/futures-sink-0.3.28.crate) = f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e
+SIZE (rust/crates/futures-sink-0.3.28.crate) = 7852
+SHA256 (rust/crates/futures-task-0.3.28.crate) = 76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65
+SIZE (rust/crates/futures-task-0.3.28.crate) = 11848
+SHA256 (rust/crates/futures-util-0.3.28.crate) = 26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533
+SIZE (rust/crates/futures-util-0.3.28.crate) = 158510
+SHA256 (rust/crates/gdk-pixbuf-0.18.0.crate) = bbc9c2ed73a81d556b65d08879ba4ee58808a6b1927ce915262185d6d547c6f3
+SIZE (rust/crates/gdk-pixbuf-0.18.0.crate) = 18173
+SHA256 (rust/crates/gdk-pixbuf-sys-0.18.0.crate) = 3f9839ea644ed9c97a34d129ad56d38a25e6756f99f3a88e15cd39c20629caf7
+SIZE (rust/crates/gdk-pixbuf-sys-0.18.0.crate) = 9674
+SHA256 (rust/crates/gdk4-0.7.3.crate) = 7edb019ad581f8ecf8ea8e4baa6df7c483a95b5a59be3140be6a9c3b0c632af6
+SIZE (rust/crates/gdk4-0.7.3.crate) = 88832
+SHA256 (rust/crates/gdk4-sys-0.7.2.crate) = dbab43f332a3cf1df9974da690b5bb0e26720ed09a228178ce52175372dcfef0
+SIZE (rust/crates/gdk4-sys-0.7.2.crate) = 64775
+SHA256 (rust/crates/gdk4-wayland-0.7.2.crate) = 0db9102ff11e55bd65e153c1192abc21ddfa45ede90622e423d4e4a0e5d5f313
+SIZE (rust/crates/gdk4-wayland-0.7.2.crate) = 7370
+SHA256 (rust/crates/gdk4-wayland-sys-0.7.2.crate) = d48159be256ae0212d5a2b9884627197d08082c7168b28775b53a0f9885d5624
+SIZE (rust/crates/gdk4-wayland-sys-0.7.2.crate) = 3527
+SHA256 (rust/crates/gdk4-x11-0.7.2.crate) = 28c9bbf8ea1ea8469e74c3fdfafc142c9e14810a27f89ddb01b5e9076a60a450
+SIZE (rust/crates/gdk4-x11-0.7.2.crate) = 9968
+SHA256 (rust/crates/gdk4-x11-sys-0.7.2.crate) = a3de1709370758192369f5329aa593847797f1c693c95e8a261e9b2e06a5f125
+SIZE (rust/crates/gdk4-x11-sys-0.7.2.crate) = 6585
+SHA256 (rust/crates/generic-array-0.14.7.crate) = 85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a
+SIZE (rust/crates/generic-array-0.14.7.crate) = 15950
+SHA256 (rust/crates/getrandom-0.2.10.crate) = be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427
+SIZE (rust/crates/getrandom-0.2.10.crate) = 34955
+SHA256 (rust/crates/gettext-rs-0.7.0.crate) = e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364
+SIZE (rust/crates/gettext-rs-0.7.0.crate) = 14816
+SHA256 (rust/crates/gettext-sys-0.21.3.crate) = c63ce2e00f56a206778276704bbe38564c8695249fdc8f354b4ef71c57c3839d
+SIZE (rust/crates/gettext-sys-0.21.3.crate) = 6501658
+SHA256 (rust/crates/gio-0.18.2.crate) = 57052f84e8e5999b258e8adf8f5f2af0ac69033864936b8b6838321db2f759b1
+SIZE (rust/crates/gio-0.18.2.crate) = 205555
+SHA256 (rust/crates/gio-sys-0.18.1.crate) = 37566df850baf5e4cb0dfb78af2e4b9898d817ed9263d1090a2df958c64737d2
+SIZE (rust/crates/gio-sys-0.18.1.crate) = 81369
+SHA256 (rust/crates/glib-0.18.2.crate) = 1c316afb01ce8067c5eaab1fc4f2cd47dc21ce7b6296358605e2ffab23ccbd19
+SIZE (rust/crates/glib-0.18.2.crate) = 267214
+SHA256 (rust/crates/glib-macros-0.18.2.crate) = f8da903822b136d42360518653fcf154455defc437d3e7a81475bf9a95ff1e47
+SIZE (rust/crates/glib-macros-0.18.2.crate) = 50855
+SHA256 (rust/crates/glib-sys-0.18.1.crate) = 063ce2eb6a8d0ea93d2bf8ba1957e78dbab6be1c2220dd3daca57d5a9d869898
+SIZE (rust/crates/glib-sys-0.18.1.crate) = 60464
+SHA256 (rust/crates/gloo-timers-0.2.6.crate) = 9b995a66bb87bebce9a0f4a95aed01daca4872c050bfcb21653361c03bc35e5c
+SIZE (rust/crates/gloo-timers-0.2.6.crate) = 5516
+SHA256 (rust/crates/gobject-sys-0.18.0.crate) = 0850127b514d1c4a4654ead6dedadb18198999985908e6ffe4436f53c785ce44
+SIZE (rust/crates/gobject-sys-0.18.0.crate) = 18699
+SHA256 (rust/crates/graphene-rs-0.18.1.crate) = 3b2228cda1505613a7a956cca69076892cfbda84fc2b7a62b94a41a272c0c401
+SIZE (rust/crates/graphene-rs-0.18.1.crate) = 17724
+SHA256 (rust/crates/graphene-sys-0.18.1.crate) = cc4144cee8fc8788f2a9b73dc5f1d4e1189d1f95305c4cb7bd9c1af1cfa31f59
+SIZE (rust/crates/graphene-sys-0.18.1.crate) = 11573
+SHA256 (rust/crates/gsk4-0.7.3.crate) = 0d958e351d2f210309b32d081c832d7de0aca0b077aa10d88336c6379bd01f7e
+SIZE (rust/crates/gsk4-0.7.3.crate) = 33660
+SHA256 (rust/crates/gsk4-sys-0.7.3.crate) = 12bd9e3effea989f020e8f1ff3fa3b8c63ba93d43b899c11a118868853a56d55
+SIZE (rust/crates/gsk4-sys-0.7.3.crate) = 15050
+SHA256 (rust/crates/gtk4-0.7.3.crate) = 5aeb51aa3e9728575a053e1f43543cd9992ac2477e1b186ad824fd4adfb70842
+SIZE (rust/crates/gtk4-0.7.3.crate) = 468953
+SHA256 (rust/crates/gtk4-macros-0.7.2.crate) = d57ec49cf9b657f69a05bca8027cff0a8dfd0c49e812be026fc7311f2163832f
+SIZE (rust/crates/gtk4-macros-0.7.2.crate) = 16770
+SHA256 (rust/crates/gtk4-sys-0.7.3.crate) = 54d8c4aa23638ce9faa2caf7e2a27d4a1295af2155c8e8d28c4d4eeca7a65eb8
+SIZE (rust/crates/gtk4-sys-0.7.3.crate) = 106028
+SHA256 (rust/crates/hashbrown-0.14.0.crate) = 2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a
+SIZE (rust/crates/hashbrown-0.14.0.crate) = 116103
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.3.crate) = d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7
+SIZE (rust/crates/hermit-abi-0.3.3.crate) = 14253
+SHA256 (rust/crates/hex-0.4.3.crate) = 7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70
+SIZE (rust/crates/hex-0.4.3.crate) = 13299
+SHA256 (rust/crates/idna-0.4.0.crate) = 7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c
+SIZE (rust/crates/idna-0.4.0.crate) = 271429
+SHA256 (rust/crates/indexmap-2.0.0.crate) = d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d
+SIZE (rust/crates/indexmap-2.0.0.crate) = 64038
+SHA256 (rust/crates/instant-0.1.12.crate) = 7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c
+SIZE (rust/crates/instant-0.1.12.crate) = 6128
+SHA256 (rust/crates/io-lifetimes-1.0.11.crate) = eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2
+SIZE (rust/crates/io-lifetimes-1.0.11.crate) = 37346
+SHA256 (rust/crates/js-sys-0.3.64.crate) = c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a
+SIZE (rust/crates/js-sys-0.3.64.crate) = 80313
+SHA256 (rust/crates/json-0.12.4.crate) = 078e285eafdfb6c4b434e0d31e8cfcb5115b651496faca5749b88fafd4f23bfd
+SIZE (rust/crates/json-0.12.4.crate) = 105942
+SHA256 (rust/crates/kv-log-macro-1.0.7.crate) = 0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f
+SIZE (rust/crates/kv-log-macro-1.0.7.crate) = 16842
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/libadwaita-0.5.3.crate) = 2fe7e70c06507ed10a16cda707f358fbe60fe0dc237498f78c686ade92fd979c
+SIZE (rust/crates/libadwaita-0.5.3.crate) = 100024
+SHA256 (rust/crates/libadwaita-sys-0.5.3.crate) = 5e10aaa38de1d53374f90deeb4535209adc40cc5dba37f9704724169bceec69a
+SIZE (rust/crates/libadwaita-sys-0.5.3.crate) = 24713
+SHA256 (rust/crates/libc-0.2.148.crate) = 9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b
+SIZE (rust/crates/libc-0.2.148.crate) = 690988
+SHA256 (rust/crates/linux-raw-sys-0.3.8.crate) = ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519
+SIZE (rust/crates/linux-raw-sys-0.3.8.crate) = 1013776
+SHA256 (rust/crates/linux-raw-sys-0.4.7.crate) = 1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128
+SIZE (rust/crates/linux-raw-sys-0.4.7.crate) = 1350647
+SHA256 (rust/crates/locale_config-0.3.0.crate) = 08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934
+SIZE (rust/crates/locale_config-0.3.0.crate) = 20808
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/malloc_buf-0.0.6.crate) = 62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb
+SIZE (rust/crates/malloc_buf-0.0.6.crate) = 1239
+SHA256 (rust/crates/memchr-2.6.3.crate) = 8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c
+SIZE (rust/crates/memchr-2.6.3.crate) = 94377
+SHA256 (rust/crates/memoffset-0.7.1.crate) = 5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4
+SIZE (rust/crates/memoffset-0.7.1.crate) = 8556
+SHA256 (rust/crates/memoffset-0.9.0.crate) = 5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c
+SIZE (rust/crates/memoffset-0.9.0.crate) = 9033
+SHA256 (rust/crates/mime-0.3.17.crate) = 6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a
+SIZE (rust/crates/mime-0.3.17.crate) = 15712
+SHA256 (rust/crates/mime_guess-2.0.4.crate) = 4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef
+SIZE (rust/crates/mime_guess-2.0.4.crate) = 26399
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/nix-0.26.4.crate) = 598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b
+SIZE (rust/crates/nix-0.26.4.crate) = 279099
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/objc-0.2.7.crate) = 915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1
+SIZE (rust/crates/objc-0.2.7.crate) = 22036
+SHA256 (rust/crates/objc-foundation-0.1.1.crate) = 1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9
+SIZE (rust/crates/objc-foundation-0.1.1.crate) = 9063
+SHA256 (rust/crates/objc_id-0.1.1.crate) = c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b
+SIZE (rust/crates/objc_id-0.1.1.crate) = 3258
+SHA256 (rust/crates/once_cell-1.18.0.crate) = dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d
+SIZE (rust/crates/once_cell-1.18.0.crate) = 32969
+SHA256 (rust/crates/ordered-stream-0.2.0.crate) = 9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50
+SIZE (rust/crates/ordered-stream-0.2.0.crate) = 19077
+SHA256 (rust/crates/pango-0.18.0.crate) = 06a9e54b831d033206160096b825f2070cf5fda7e35167b1c01e9e774f9202d1
+SIZE (rust/crates/pango-0.18.0.crate) = 47499
+SHA256 (rust/crates/pango-sys-0.18.0.crate) = 436737e391a843e5933d6d9aa102cb126d501e815b83601365a948a518555dc5
+SIZE (rust/crates/pango-sys-0.18.0.crate) = 24709
+SHA256 (rust/crates/parking-2.1.0.crate) = 14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e
+SIZE (rust/crates/parking-2.1.0.crate) = 9491
+SHA256 (rust/crates/percent-encoding-2.3.0.crate) = 9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94
+SIZE (rust/crates/percent-encoding-2.3.0.crate) = 10196
+SHA256 (rust/crates/pin-project-lite-0.2.13.crate) = 8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58
+SIZE (rust/crates/pin-project-lite-0.2.13.crate) = 29141
+SHA256 (rust/crates/pin-utils-0.1.0.crate) = 8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184
+SIZE (rust/crates/pin-utils-0.1.0.crate) = 7580
+SHA256 (rust/crates/pkg-config-0.3.27.crate) = 26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964
+SIZE (rust/crates/pkg-config-0.3.27.crate) = 18838
+SHA256 (rust/crates/polling-2.8.0.crate) = 4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce
+SIZE (rust/crates/polling-2.8.0.crate) = 43554
+SHA256 (rust/crates/ppv-lite86-0.2.17.crate) = 5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de
+SIZE (rust/crates/ppv-lite86-0.2.17.crate) = 22242
+SHA256 (rust/crates/proc-macro-crate-1.3.1.crate) = 7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919
+SIZE (rust/crates/proc-macro-crate-1.3.1.crate) = 9678
+SHA256 (rust/crates/proc-macro-error-1.0.4.crate) = da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c
+SIZE (rust/crates/proc-macro-error-1.0.4.crate) = 25293
+SHA256 (rust/crates/proc-macro-error-attr-1.0.4.crate) = a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869
+SIZE (rust/crates/proc-macro-error-attr-1.0.4.crate) = 7971
+SHA256 (rust/crates/proc-macro2-1.0.67.crate) = 3d433d9f1a3e8c1263d9456598b16fec66f4acc9a74dacffd35c7bb09b3a1328
+SIZE (rust/crates/proc-macro2-1.0.67.crate) = 43683
+SHA256 (rust/crates/quote-1.0.33.crate) = 5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae
+SIZE (rust/crates/quote-1.0.33.crate) = 28090
+SHA256 (rust/crates/rand-0.8.5.crate) = 34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404
+SIZE (rust/crates/rand-0.8.5.crate) = 87113
+SHA256 (rust/crates/rand_chacha-0.3.1.crate) = e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88
+SIZE (rust/crates/rand_chacha-0.3.1.crate) = 15251
+SHA256 (rust/crates/rand_core-0.6.4.crate) = ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c
+SIZE (rust/crates/rand_core-0.6.4.crate) = 22666
+SHA256 (rust/crates/redox_syscall-0.3.5.crate) = 567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29
+SIZE (rust/crates/redox_syscall-0.3.5.crate) = 23404
+SHA256 (rust/crates/regex-1.9.5.crate) = 697061221ea1b4a94a624f67d0ae2bfe4e22b8a17b6a192afb11046542cc8c47
+SIZE (rust/crates/regex-1.9.5.crate) = 253883
+SHA256 (rust/crates/regex-automata-0.3.8.crate) = c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795
+SIZE (rust/crates/regex-automata-0.3.8.crate) = 610113
+SHA256 (rust/crates/regex-syntax-0.7.5.crate) = dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da
+SIZE (rust/crates/regex-syntax-0.7.5.crate) = 343366
+SHA256 (rust/crates/rustc_version-0.4.0.crate) = bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366
+SIZE (rust/crates/rustc_version-0.4.0.crate) = 12175
+SHA256 (rust/crates/rustix-0.37.23.crate) = 4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06
+SIZE (rust/crates/rustix-0.37.23.crate) = 328010
+SHA256 (rust/crates/rustix-0.38.14.crate) = 747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f
+SIZE (rust/crates/rustix-0.38.14.crate) = 344026
+SHA256 (rust/crates/semver-1.0.19.crate) = ad977052201c6de01a8ef2aa3378c4bd23217a056337d1d6da40468d267a4fb0
+SIZE (rust/crates/semver-1.0.19.crate) = 30027
+SHA256 (rust/crates/serde-1.0.188.crate) = cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e
+SIZE (rust/crates/serde-1.0.188.crate) = 76230
+SHA256 (rust/crates/serde_derive-1.0.188.crate) = 4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2
+SIZE (rust/crates/serde_derive-1.0.188.crate) = 55563
+SHA256 (rust/crates/serde_repr-0.1.16.crate) = 8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00
+SIZE (rust/crates/serde_repr-0.1.16.crate) = 9629
+SHA256 (rust/crates/serde_spanned-0.6.3.crate) = 96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186
+SIZE (rust/crates/serde_spanned-0.6.3.crate) = 7737
+SHA256 (rust/crates/sha1-0.10.6.crate) = e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba
+SIZE (rust/crates/sha1-0.10.6.crate) = 13517
+SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
+SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/slab-0.4.9.crate) = 8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67
+SIZE (rust/crates/slab-0.4.9.crate) = 17108
+SHA256 (rust/crates/smallvec-1.11.1.crate) = 942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a
+SIZE (rust/crates/smallvec-1.11.1.crate) = 34831
+SHA256 (rust/crates/socket2-0.4.9.crate) = 64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662
+SIZE (rust/crates/socket2-0.4.9.crate) = 45421
+SHA256 (rust/crates/static_assertions-1.1.0.crate) = a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f
+SIZE (rust/crates/static_assertions-1.1.0.crate) = 18480
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.37.crate) = 7303ef2c05cd654186cb250d29049a24840ca25d2747c25c0381c8d9e2f582e8
+SIZE (rust/crates/syn-2.0.37.crate) = 243250
+SHA256 (rust/crates/system-deps-6.1.1.crate) = 30c2de8a4d8f4b823d634affc9cd2a74ec98c53a756f317e529a48046cbf71f3
+SIZE (rust/crates/system-deps-6.1.1.crate) = 24171
+SHA256 (rust/crates/target-lexicon-0.12.11.crate) = 9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a
+SIZE (rust/crates/target-lexicon-0.12.11.crate) = 24594
+SHA256 (rust/crates/temp-dir-0.1.11.crate) = af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab
+SIZE (rust/crates/temp-dir-0.1.11.crate) = 5743
+SHA256 (rust/crates/tempfile-3.8.0.crate) = cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef
+SIZE (rust/crates/tempfile-3.8.0.crate) = 31720
+SHA256 (rust/crates/thiserror-1.0.48.crate) = 9d6d7a740b8a666a7e828dd00da9c0dc290dff53154ea77ac109281de90589b7
+SIZE (rust/crates/thiserror-1.0.48.crate) = 18862
+SHA256 (rust/crates/thiserror-impl-1.0.48.crate) = 49922ecae66cc8a249b77e68d1d0623c1b2c514f0060c27cdc68bd62a1219d35
+SIZE (rust/crates/thiserror-impl-1.0.48.crate) = 15096
+SHA256 (rust/crates/tinyvec-1.6.0.crate) = 87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50
+SIZE (rust/crates/tinyvec-1.6.0.crate) = 45991
+SHA256 (rust/crates/tinyvec_macros-0.1.1.crate) = 1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20
+SIZE (rust/crates/tinyvec_macros-0.1.1.crate) = 5865
+SHA256 (rust/crates/toml-0.7.8.crate) = dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257
+SIZE (rust/crates/toml-0.7.8.crate) = 49671
+SHA256 (rust/crates/toml_datetime-0.6.3.crate) = 7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b
+SIZE (rust/crates/toml_datetime-0.6.3.crate) = 10770
+SHA256 (rust/crates/toml_edit-0.19.15.crate) = 1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421
+SIZE (rust/crates/toml_edit-0.19.15.crate) = 95324
+SHA256 (rust/crates/tracing-0.1.37.crate) = 8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8
+SIZE (rust/crates/tracing-0.1.37.crate) = 73888
+SHA256 (rust/crates/tracing-attributes-0.1.26.crate) = 5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab
+SIZE (rust/crates/tracing-attributes-0.1.26.crate) = 32060
+SHA256 (rust/crates/tracing-core-0.1.31.crate) = 0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a
+SIZE (rust/crates/tracing-core-0.1.31.crate) = 61263
+SHA256 (rust/crates/typenum-1.17.0.crate) = 42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825
+SIZE (rust/crates/typenum-1.17.0.crate) = 42849
+SHA256 (rust/crates/uds_windows-1.0.2.crate) = ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d
+SIZE (rust/crates/uds_windows-1.0.2.crate) = 16206
+SHA256 (rust/crates/unicase-2.7.0.crate) = f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89
+SIZE (rust/crates/unicase-2.7.0.crate) = 23783
+SHA256 (rust/crates/unicode-bidi-0.3.13.crate) = 92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460
+SIZE (rust/crates/unicode-bidi-0.3.13.crate) = 44477
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/unicode-normalization-0.1.22.crate) = 5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921
+SIZE (rust/crates/unicode-normalization-0.1.22.crate) = 122604
+SHA256 (rust/crates/url-2.4.1.crate) = 143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5
+SIZE (rust/crates/url-2.4.1.crate) = 78228
+SHA256 (rust/crates/value-bag-1.4.1.crate) = d92ccd67fb88503048c01b59152a04effd0782d035a83a6d256ce6085f08f4a3
+SIZE (rust/crates/value-bag-1.4.1.crate) = 28652
+SHA256 (rust/crates/version-compare-0.1.1.crate) = 579a42fc0b8e0c63b76519a339be31bed574929511fa53c1a3acae26eb258f29
+SIZE (rust/crates/version-compare-0.1.1.crate) = 13224
+SHA256 (rust/crates/version_check-0.9.4.crate) = 49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f
+SIZE (rust/crates/version_check-0.9.4.crate) = 14895
+SHA256 (rust/crates/waker-fn-1.1.0.crate) = 9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca
+SIZE (rust/crates/waker-fn-1.1.0.crate) = 7114
+SHA256 (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423
+SIZE (rust/crates/wasi-0.11.0+wasi-snapshot-preview1.crate) = 28131
+SHA256 (rust/crates/wasm-bindgen-0.2.87.crate) = 7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342
+SIZE (rust/crates/wasm-bindgen-0.2.87.crate) = 175052
+SHA256 (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd
+SIZE (rust/crates/wasm-bindgen-backend-0.2.87.crate) = 26821
+SHA256 (rust/crates/wasm-bindgen-futures-0.4.37.crate) = c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03
+SIZE (rust/crates/wasm-bindgen-futures-0.4.37.crate) = 15193
+SHA256 (rust/crates/wasm-bindgen-macro-0.2.87.crate) = dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d
+SIZE (rust/crates/wasm-bindgen-macro-0.2.87.crate) = 13897
+SHA256 (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b
+SIZE (rust/crates/wasm-bindgen-macro-support-0.2.87.crate) = 20006
+SHA256 (rust/crates/wasm-bindgen-shared-0.2.87.crate) = ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1
+SIZE (rust/crates/wasm-bindgen-shared-0.2.87.crate) = 7248
+SHA256 (rust/crates/web-sys-0.3.64.crate) = 9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b
+SIZE (rust/crates/web-sys-0.3.64.crate) = 725584
+SHA256 (rust/crates/winapi-0.3.9.crate) = 5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419
+SIZE (rust/crates/winapi-0.3.9.crate) = 1200382
+SHA256 (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6
+SIZE (rust/crates/winapi-i686-pc-windows-gnu-0.4.0.crate) = 2918815
+SHA256 (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f
+SIZE (rust/crates/winapi-x86_64-pc-windows-gnu-0.4.0.crate) = 2947998
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/winnow-0.5.15.crate) = 7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc
+SIZE (rust/crates/winnow-0.5.15.crate) = 145621
+SHA256 (rust/crates/xdg-home-1.0.0.crate) = 2769203cd13a0c6015d515be729c526d041e9cf2c0cc478d57faee85f40c6dcd
+SIZE (rust/crates/xdg-home-1.0.0.crate) = 3310
+SHA256 (rust/crates/zbus-3.14.1.crate) = 31de390a2d872e4cd04edd71b425e29853f786dc99317ed72d73d6fcf5ebb948
+SIZE (rust/crates/zbus-3.14.1.crate) = 148931
+SHA256 (rust/crates/zbus_macros-3.14.1.crate) = 41d1794a946878c0e807f55a397187c11fc7a038ba5d868e7db4f3bd7760bc9d
+SIZE (rust/crates/zbus_macros-3.14.1.crate) = 25893
+SHA256 (rust/crates/zbus_names-2.6.0.crate) = fb80bb776dbda6e23d705cf0123c3b95df99c4ebeaec6c2599d4a5419902b4a9
+SIZE (rust/crates/zbus_names-2.6.0.crate) = 9638
+SHA256 (rust/crates/zvariant-3.15.0.crate) = 44b291bee0d960c53170780af148dca5fa260a63cdd24f1962fa82e03e53338c
+SIZE (rust/crates/zvariant-3.15.0.crate) = 72221
+SHA256 (rust/crates/zvariant_derive-3.15.0.crate) = 934d7a7dfc310d6ee06c87ffe88ef4eca7d3e37bb251dece2ef93da8f17d8ecd
+SIZE (rust/crates/zvariant_derive-3.15.0.crate) = 10943
+SHA256 (rust/crates/zvariant_utils-1.0.1.crate) = 7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200
+SIZE (rust/crates/zvariant_utils-1.0.1.crate) = 6223
+SHA256 (video-trimmer-v0.8.2.tar.bz2) = a912aab069523c6bf2da954f956fff197fd54897f01bdd19c7d7c425385dd571
+SIZE (video-trimmer-v0.8.2.tar.bz2) = 152567
diff --git a/multimedia/video-trimmer/pkg-descr b/multimedia/video-trimmer/pkg-descr
new file mode 100644
index 000000000000..245afb2602ad
--- /dev/null
+++ b/multimedia/video-trimmer/pkg-descr
@@ -0,0 +1,3 @@
+Video Trimmer cuts out a fragment of a video given the start and end
+timestamps. The video is never re-encoded, so the process is very fast
+and does not reduce the video quality.
diff --git a/multimedia/video-trimmer/pkg-plist b/multimedia/video-trimmer/pkg-plist
new file mode 100644
index 000000000000..1118f086e428
--- /dev/null
+++ b/multimedia/video-trimmer/pkg-plist
@@ -0,0 +1,36 @@
+bin/video-trimmer
+share/applications/org.gnome.gitlab.YaLTeR.VideoTrimmer.desktop
+share/icons/hicolor/scalable/apps/org.gnome.gitlab.YaLTeR.VideoTrimmer.svg
+share/icons/hicolor/symbolic/apps/org.gnome.gitlab.YaLTeR.VideoTrimmer-symbolic.svg
+share/locale/ar/LC_MESSAGES/video-trimmer.mo
+share/locale/cs/LC_MESSAGES/video-trimmer.mo
+share/locale/da/LC_MESSAGES/video-trimmer.mo
+share/locale/de/LC_MESSAGES/video-trimmer.mo
+share/locale/es/LC_MESSAGES/video-trimmer.mo
+share/locale/eu/LC_MESSAGES/video-trimmer.mo
+share/locale/fi/LC_MESSAGES/video-trimmer.mo
+share/locale/fr/LC_MESSAGES/video-trimmer.mo
+share/locale/gl/LC_MESSAGES/video-trimmer.mo
+share/locale/he/LC_MESSAGES/video-trimmer.mo
+share/locale/hr/LC_MESSAGES/video-trimmer.mo
+share/locale/hu/LC_MESSAGES/video-trimmer.mo
+share/locale/id/LC_MESSAGES/video-trimmer.mo
+share/locale/it/LC_MESSAGES/video-trimmer.mo
+share/locale/ja/LC_MESSAGES/video-trimmer.mo
+share/locale/ka/LC_MESSAGES/video-trimmer.mo
+share/locale/nl/LC_MESSAGES/video-trimmer.mo
+share/locale/oc/LC_MESSAGES/video-trimmer.mo
+share/locale/pl/LC_MESSAGES/video-trimmer.mo
+share/locale/pt/LC_MESSAGES/video-trimmer.mo
+share/locale/pt_BR/LC_MESSAGES/video-trimmer.mo
+share/locale/ro/LC_MESSAGES/video-trimmer.mo
+share/locale/ru/LC_MESSAGES/video-trimmer.mo
+share/locale/sl/LC_MESSAGES/video-trimmer.mo
+share/locale/sv/LC_MESSAGES/video-trimmer.mo
+share/locale/ta/LC_MESSAGES/video-trimmer.mo
+share/locale/tr/LC_MESSAGES/video-trimmer.mo
+share/locale/uk/LC_MESSAGES/video-trimmer.mo
+share/locale/zh_CN/LC_MESSAGES/video-trimmer.mo
+share/locale/zh_TW/LC_MESSAGES/video-trimmer.mo
+share/metainfo/org.gnome.gitlab.YaLTeR.VideoTrimmer.metainfo.xml
+%%DATADIR%%/video-trimmer.gresource
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index 69e1e6e10511..2f96031d4d36 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -1,16 +1,17 @@
-# Created by: Brian Somers <brian@FreeBSD.org>
-
PORTNAME= vlc
-DISTVERSION= 3.0.17.4
-PORTREVISION= 1
+DISTVERSION= 3.0.20
+PORTREVISION= 5
PORTEPOCH= 4
CATEGORIES= multimedia audio net www
-MASTER_SITES= http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
- http://ftp.snt.utwente.nl/pub/software/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
- ftp://ftp.crans.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/
+MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION:S/a$//}/ \
+ https://mirror.init7.net/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
+ http://mirror.clarkson.edu/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/ \
+ http://ftp.kaist.ac.kr/vlc/${PORTNAME}/${DISTVERSION:S/a$//}/ \
+ http://download.videolan.org/pub/videolan/${PORTNAME}/${DISTVERSION:S/a$//}/
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Qt based multimedia player and streaming server
+WWW= https://www.videolan.org
LICENSE= GPLv2
@@ -27,10 +28,12 @@ BUILD_DEPENDS= gsed:textproc/gsed \
yasm:devel/yasm
RUN_DEPENDS= ffmpeg>=3.4.1,1:multimedia/ffmpeg
-USES= compiler:c++17-lang cpe desktop-file-utils gettext-tools gmake gnome \
- iconv:wchar_t libtool localbase pathfix pkgconfig tar:xz
+USES= compiler:c++17-lang cpe desktop-file-utils elfctl gettext-tools \
+ gmake gnome iconv:wchar_t libtool localbase pathfix pkgconfig \
+ tar:xz
CPE_VENDOR= videolan
+ELF_FEATURES= +noaslr:bin/.libs/vlc # See PR 270038
# VLC git (post 2.2.4) requires C++11 support and passes the appropriate flag
# to the compiler. Until the port is updated, we explicitly pass -std=c++11 to
@@ -43,6 +46,7 @@ USE_LDCONFIG= yes
INSTALL_TARGET= install-strip
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
BINARY_ALIAS= sed=${LOCALBASE}/bin/gsed
CONFIGURE_ARGS= --enable-avcodec --enable-avformat --enable-dvbpsi \
--enable-fontconfig --enable-freetype --enable-libgcrypt \
@@ -51,8 +55,8 @@ CONFIGURE_ARGS= --enable-avcodec --enable-avformat --enable-dvbpsi \
--disable-alsa --disable-archive --disable-chromaprint --disable-crystalhd \
--disable-dc1394 --disable-decklink --disable-dsm \
--disable-dv1394 --disable-fdkaac --disable-gst-decode \
- --disable-gles2 --disable-kai --disable-kva --disable-mpg123 \
- --disable-vnc --disable-opencv --disable-projectm \
+ --disable-gles2 --disable-kai --disable-kate --disable-kva --disable-mpg123 \
+ --disable-vnc --disable-opencv --disable-projectm --disable-schroedinger \
--disable-secret --disable-soxr --disable-telx \
--disable-tiger --disable-tremor --disable-udev \
--disable-update-check --disable-vsxu \
@@ -67,10 +71,10 @@ CFLAGS_i386= -fomit-frame-pointer
OPTIONS_DEFINE= A52 AALIB AOM ASS AVAHI CACA CHROMECAST DAV1D DBUS DCA DOCS DVDREAD \
DEBUG DVDNAV FAAD FLAC FLUID FREERDP FRIBIDI GME GNUTLS \
- GOOM HARFBUZZ JACK JPEG KATE LIBBLURAY LIBPLACEBO LIBRSVG2 LIBSSH2 LIRC \
+ GOOM HARFBUZZ JACK JPEG LIBBLURAY LIBPLACEBO LIBRSVG2 LIBSSH2 LIRC \
LIVEMEDIA LUA MAD MFX MODPLUG MPEG2 MTP MUSEPACK \
NCURSES NFS NLS NOTIFY OGG OGGSPOTS OPTIMIZED_CFLAGS OPUS PNG PULSEAUDIO \
- QT5 REALRTSP RUNROOT SAMPLERATE SIDPLAY SCHROEDINGER \
+ QT5 REALRTSP RUNROOT SAMPLERATE SIDPLAY \
SDL SHOUTCAST SKINS SMB SNDIO STREAM SPEEX TAGLIB THEORA \
TWOLAME UPNP V4L VAAPI VCD VDPAU VPX VORBIS WAYLAND X11 X264 X265 ZVBI
OPTIONS_DEFINE_powerpc= ALTIVEC
@@ -81,6 +85,8 @@ OPTIONS_DEFAULT=ASS AVAHI DAV1D DBUS DVDREAD DVDNAV GNUTLS HARFBUZZ JPEG \
UPNP V4L VAAPI VCD VDPAU VORBIS WAYLAND X11
OPTIONS_DEFAULT_powerpc= ALTIVEC
OPTIONS_DEFAULT_powerpc64= ALTIVEC
+OPTIONS_EXCLUDE=LIBPLACEBO # https://code.videolan.org/videolan/vlc/-/commit/8e22c39ea3c3
+OPTIONS_EXCLUDE+= VAAPI # Not compatible until VLC 4
OPTIONS_SUB= yes
AOM_DESC= AV1 video encoding/decoding via libaom
@@ -94,7 +100,6 @@ FREERDP_DESC= RDP support
GME_DESC= Game Music Emu (libgme) support
GOOM_DESC= Goom visualisation plugin
HARFBUZZ_DESC= OpenType text shaping engine
-KATE_DESC= Kate codec support
LIBPLACEBO_DESC=HDR tonemapping support through libplacebo
LIBSSH2_DESC= SCP/SFTP support via libssh2
MFX_DESC= Intel MediaSDK (aka Quick Sync Video)
@@ -102,7 +107,7 @@ OGGSPOTS_DESC= Experimental OggSpots codec
REALRTSP_DESC= Real RTSP access module
RUNROOT_DESC= Enable running as root
SIDPLAY_DESC= C64 sid demux support
-SKINS_DESC= Skins interface module
+SKINS_DESC= Build skins2 interface module (implies QT5)
STREAM_DESC= stream output
TAGLIB_DESC= ID3 tag and Ogg comment support
VCD_DESC= Audio/Video CD support
@@ -119,6 +124,7 @@ ASS_LIB_DEPENDS= libass.so:multimedia/libass
ASS_CONFIGURE_ENABLE= libass
ALTIVEC_CONFIGURE_ENABLE= altivec
+ALTIVEC_CFLAGS= -maltivec
AOM_LIB_DEPENDS= libaom.so:multimedia/aom
AOM_CONFIGURE_ENABLE= aom
@@ -131,6 +137,7 @@ CACA_CONFIGURE_ENABLE= caca
CHROMECAST_LIB_DEPENDS= libprotobuf-lite.so:devel/protobuf
CHROMECAST_CONFIGURE_ENABLE= chromecast
+CHROMECAST_USE= cxxstd=c++17
DAV1D_LIB_DEPENDS= libdav1d.so:multimedia/dav1d
DAV1D_CONFIGURE_ENABLE= dav1d
@@ -186,9 +193,6 @@ JACK_CONFIGURE_ENABLE= jack
JPEG_USES= jpeg
JPEG_CONFIGURE_ENABLE= jpeg
-KATE_LIB_DEPENDS= libkate.so:multimedia/libkate
-KATE_CONFIGURE_ENABLE= kate
-
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
LIBBLURAY_CONFIGURE_ENABLE= bluray
@@ -208,7 +212,7 @@ LIRC_CONFIGURE_ENV= LIBS_lirc="-L${LOCALBASE}/lib -llirc_client"
LIVEMEDIA_USES= ssl
LIVEMEDIA_LIB_DEPENDS= libliveMedia.so:net/liveMedia
LIVEMEDIA_CONFIGURE_ENABLE= live555
-LIVEMEDIA_CONFIGURE_ENV= \
+LIVEMEDIA_CONFIGURE_ENV= \
LIVE555_CFLAGS="-I${LOCALBASE}/include/liveMedia \
-I${LOCALBASE}/include/UsageEnvironment \
-I${LOCALBASE}/include/groupsock \
@@ -276,7 +280,7 @@ PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio
PULSEAUDIO_CONFIGURE_ENABLE= pulse
QT5_USES= qt:5
-QT5_USE= QT=gui,core,svg,widgets,x11extras,buildtools_build
+QT5_USE= QT=gui,core,svg,widgets,x11extras,buildtools:build
QT5_CONFIGURE_ENABLE= qt
QT5_IMPLIES= X11
@@ -287,9 +291,6 @@ RUNROOT_CONFIGURE_ENABLE= run-as-root
SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate
SAMPLERATE_CONFIGURE_ENABLE= samplerate
-SCHROEDINGER_LIB_DEPENDS= libschroedinger-1.0.so:multimedia/schroedinger
-SCHROEDINGER_CONFIGURE_ENABLE= schroedinger
-
SDL_USES= sdl
SDL_USE= SDL=image
SDL_CONFIGURE_ENABLE= sdl-image
@@ -299,14 +300,14 @@ SIDPLAY_LDFLAGS= -L${LOCALBASE}/lib/sidplay/builders
SIDPLAY_CONFIGURE_ENABLE= sid
CONFIGURE_ARGS+= --disable-sid
-SKINS_USE= XORG=xext,xinerama,xpm minizip
-SKINS_LIB_DEPENDS= libtar.so:devel/libtar
-SKINS_CONFIGURE_ENABLE= skins2 libtar
-SKINS_IMPLIES= QT5
-
SHOUTCAST_LIB_DEPENDS= libshout.so:audio/libshout
SHOUTCAST_CONFIGURE_ENABLE= shout
+SKINS_USE= XORG=xext,xinerama,xpm
+SKINS_USES= xorg
+SKINS_CONFIGURE_ENABLE= skins2
+SKINS_IMPLIES= QT5
+
SNDIO_LIB_DEPENDS= libsndio.so:audio/sndio
SNDIO_CONFIGURE_ENABLE= sndio
@@ -351,6 +352,7 @@ VPX_CONFIGURE_ENABLE= vpx
VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis
VORBIS_CONFIGURE_ENABLE=vorbis
+WAYLAND_CATEGORIES= wayland
WAYLAND_BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols
WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
WAYLAND_CONFIGURE_ENABLE= wayland
@@ -378,11 +380,7 @@ WITH_DVD_DEVICE?=/dev/cd0
.include <bsd.port.options.mk>
-.if ${PORT_OPTIONS:MX11}
-.endif
-
.if ${PORT_OPTIONS:MDEBUG}
-WITH_DEBUG=yes
CONFIGURE_ARGS+=--enable-debug --disable-optimizations
CFLAGS+=-g -O0
CXXFLAGS+=-g -O0
diff --git a/multimedia/vlc/distinfo b/multimedia/vlc/distinfo
index a7a1f58bf737..39fae2b482d4 100644
--- a/multimedia/vlc/distinfo
+++ b/multimedia/vlc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1651168440
-SHA256 (vlc-3.0.17.4.tar.xz) = 8c5a62d88a4fb45c1b095cf10befef217dfa87aedcec5184b9e7d590b6dd4133
-SIZE (vlc-3.0.17.4.tar.xz) = 26567148
+TIMESTAMP = 1701619081
+SHA256 (vlc-3.0.20.tar.xz) = adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5
+SIZE (vlc-3.0.20.tar.xz) = 25596392
diff --git a/multimedia/vlc/files/patch-arch-vlc-live-media-2021 b/multimedia/vlc/files/patch-arch-vlc-live-media-2021
deleted file mode 100644
index 700c3f9b4953..000000000000
--- a/multimedia/vlc/files/patch-arch-vlc-live-media-2021
+++ /dev/null
@@ -1,17 +0,0 @@
-Obtained from
- https://github.com/archlinux/svntogit-packages/blob/packages/vlc/trunk/vlc-live-media-2021.patch
-
-diff -ru vlc-3.0.13.orig/modules/access/live555.cpp vlc-3.0.13/modules/access/live555.cpp
---- modules/access/live555.cpp.orig 2019-03-29 20:01:15.000000000 +0100
-+++ modules/access/live555.cpp 2021-05-03 16:04:38.030121796 +0200
-@@ -852,7 +852,9 @@
- if( !p_sys->b_multicast )
- {
- /* We need different rollover behaviour for multicast */
-- p_sys->b_multicast = IsMulticastAddress( sub->connectionEndpointAddress() );
-+ struct sockaddr_storage tempAddr;
-+ sub->getConnectionEndpointAddress(tempAddr);
-+ p_sys->b_multicast = IsMulticastAddress( tempAddr );
- }
-
- tk = (live_track_t*)malloc( sizeof( live_track_t ) );
diff --git a/multimedia/vlc/files/patch-dav1d-1.0 b/multimedia/vlc/files/patch-dav1d-1.0
deleted file mode 100644
index 764f124819d8..000000000000
--- a/multimedia/vlc/files/patch-dav1d-1.0
+++ /dev/null
@@ -1,136 +0,0 @@
-https://code.videolan.org/videolan/vlc/-/merge_requests/605
-
-codec/dav1d.c:66:57: error: use of undeclared identifier 'DAV1D_MAX_FRAME_THREADS'; did you mean 'DAV1D_OBU_FRAME_HDR'?
- add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
- ^~~~~~~~~~~~~~~~~~~~~~~
- DAV1D_OBU_FRAME_HDR
-../include/vlc_plugin.h:434:34: note: expanded from macro 'add_integer_with_range'
- change_integer_range( i_min, i_max )
- ^
-../include/vlc_plugin.h:490:66: note: expanded from macro 'change_integer_range'
- vlc_config_set (VLC_CONFIG_RANGE, (int64_t)(minv), (int64_t)(maxv));
- ^
-../include/vlc_plugin.h:246:54: note: expanded from macro 'vlc_config_set'
-#define vlc_config_set(...) vlc_set (opaque, config, __VA_ARGS__)
- ^
-/usr/local/include/dav1d/headers.h:48:5: note: 'DAV1D_OBU_FRAME_HDR' declared here
- DAV1D_OBU_FRAME_HDR = 3,
- ^
-codec/dav1d.c:68:56: error: use of undeclared identifier 'DAV1D_MAX_TILE_THREADS'
- add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
- ^
-codec/dav1d.c:286:14: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
- ~~~~~~~~ ^
-codec/dav1d.c:287:18: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- if (p_sys->s.n_tile_threads == 0)
- ~~~~~~~~ ^
-codec/dav1d.c:288:18: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- p_sys->s.n_tile_threads =
- ~~~~~~~~ ^
-codec/dav1d.c:292:14: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
- ~~~~~~~~ ^
-codec/dav1d.c:293:18: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- if (p_sys->s.n_frame_threads == 0)
- ~~~~~~~~ ^
-codec/dav1d.c:294:18: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- p_sys->s.n_frame_threads = (i_core_count < 16) ? i_core_count : 16;
- ~~~~~~~~ ^
-codec/dav1d.c:306:39: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
- ~~~~~~~~ ^
-../include/vlc_messages.h:87:38: note: expanded from macro 'msg_Dbg'
- msg_Generic(p_this, VLC_MSG_DBG, __VA_ARGS__)
- ^~~~~~~~~~~
-../include/vlc_messages.h:79:23: note: expanded from macro 'msg_Generic'
- __func__, __VA_ARGS__)
- ^~~~~~~~~~~
-codec/dav1d.c:306:65: error: no member named 'n_tile_threads' in 'struct Dav1dSettings'
- dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
- ~~~~~~~~ ^
-../include/vlc_messages.h:87:38: note: expanded from macro 'msg_Dbg'
- msg_Generic(p_this, VLC_MSG_DBG, __VA_ARGS__)
- ^~~~~~~~~~~
-../include/vlc_messages.h:79:23: note: expanded from macro 'msg_Generic'
- __func__, __VA_ARGS__)
- ^~~~~~~~~~~
-codec/dav1d.c:310:46: error: no member named 'n_frame_threads' in 'struct Dav1dSettings'
- dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
- ~~~~~~~~ ^
-
---- modules/codec/dav1d.c.orig 2021-04-27 13:18:39 UTC
-+++ modules/codec/dav1d.c
-@@ -53,6 +53,8 @@ static void CloseDecoder(vlc_object_t *);
- #define THREAD_FRAMES_LONGTEXT N_( "Max number of threads used for frame decoding, default 0=auto" )
- #define THREAD_TILES_TEXT N_("Tiles Threads")
- #define THREAD_TILES_LONGTEXT N_( "Max number of threads used for tile decoding, default 0=auto" )
-+#define THREAD_TEXT N_("Threads")
-+#define THREAD_LONGTEXT N_( "Max number of threads used for decoding, default 0=auto" )
-
-
- vlc_module_begin ()
-@@ -63,10 +65,18 @@ vlc_module_begin ()
- set_category(CAT_INPUT)
- set_subcategory(SUBCAT_INPUT_VCODEC)
-
-+#if DAV1D_API_VERSION_MAJOR <= 5
- add_integer_with_range("dav1d-thread-frames", 0, 0, DAV1D_MAX_FRAME_THREADS,
- THREAD_FRAMES_TEXT, THREAD_FRAMES_LONGTEXT, false)
- add_integer_with_range("dav1d-thread-tiles", 0, 0, DAV1D_MAX_TILE_THREADS,
- THREAD_TILES_TEXT, THREAD_TILES_LONGTEXT, false)
-+#else
-+ add_obsolete_integer("dav1d-thread-frames")
-+ add_obsolete_integer("dav1d-thread-tiles")
-+
-+ add_integer_with_range("dav1d-threads", 0, 0, DAV1D_MAX_THREADS,
-+ THREAD_TEXT, THREAD_LONGTEXT, false)
-+#endif
- vlc_module_end ()
-
- /*****************************************************************************
-@@ -283,6 +293,8 @@ static int OpenDecoder(vlc_object_t *p_this)
- return VLC_ENOMEM;
-
- dav1d_default_settings(&p_sys->s);
-+
-+#if DAV1D_API_VERSION_MAJOR <= 5
- p_sys->s.n_tile_threads = var_InheritInteger(p_this, "dav1d-thread-tiles");
- if (p_sys->s.n_tile_threads == 0)
- p_sys->s.n_tile_threads =
-@@ -292,6 +304,12 @@ static int OpenDecoder(vlc_object_t *p_this)
- p_sys->s.n_frame_threads = var_InheritInteger(p_this, "dav1d-thread-frames");
- if (p_sys->s.n_frame_threads == 0)
- p_sys->s.n_frame_threads = (i_core_count < 16) ? i_core_count : 16;
-+#else
-+ p_sys->s.n_threads = var_InheritInteger(p_this, "dav1d-threads");
-+ if (p_sys->s.n_threads == 0)
-+ p_sys->s.n_threads = i_core_count;
-+#endif
-+
- p_sys->s.allocator.cookie = dec;
- p_sys->s.allocator.alloc_picture_callback = NewPicture;
- p_sys->s.allocator.release_picture_callback = FreePicture;
-@@ -302,13 +320,20 @@ static int OpenDecoder(vlc_object_t *p_this)
- return VLC_EGENERIC;
- }
-
-+#if DAV1D_API_VERSION_MAJOR <= 5
- msg_Dbg(p_this, "Using dav1d version %s with %d/%d frame/tile threads",
- dav1d_version(), p_sys->s.n_frame_threads, p_sys->s.n_tile_threads);
-
-- dec->pf_decode = Decode;
-- dec->pf_flush = FlushDecoder;
- dec->i_extra_picture_buffers = (p_sys->s.n_frame_threads - 1);
-+#else
-+ msg_Dbg(p_this, "Using dav1d version %s with %d threads",
-+ dav1d_version(), p_sys->s.n_threads);
-
-+ dec->i_extra_picture_buffers = (p_sys->s.max_frame_delay - 1);
-+#endif
-+
-+ dec->pf_decode = Decode;
-+ dec->pf_flush = FlushDecoder;
- dec->fmt_out.video.i_width = dec->fmt_in.video.i_width;
- dec->fmt_out.video.i_height = dec->fmt_in.video.i_height;
- dec->fmt_out.i_codec = VLC_CODEC_I420;
diff --git a/multimedia/vlc/pkg-descr b/multimedia/vlc/pkg-descr
index cef0b7066075..ced32bad773b 100644
--- a/multimedia/vlc/pkg-descr
+++ b/multimedia/vlc/pkg-descr
@@ -4,5 +4,3 @@ more) as well as DVD's, VCD's, and various streaming protocols. It
can also be used as a server to stream in unicast or multicast in
IPv4 or IPv6 on a high-bandwidth network. VLC also has the ability
to transcode media on-the-fly for streaming or saving to disk.
-
-WWW: https://www.videolan.org
diff --git a/multimedia/vlc/pkg-plist b/multimedia/vlc/pkg-plist
index bddb44be1c3f..65b62d70adc5 100644
--- a/multimedia/vlc/pkg-plist
+++ b/multimedia/vlc/pkg-plist
@@ -105,14 +105,14 @@ include/vlc/plugins/vlc_xml.h
include/vlc/vlc.h
lib/libvlc.so
lib/libvlc.so.5
-lib/libvlc.so.5.6.0
+lib/libvlc.so.5.6.1
lib/libvlccore.so
lib/libvlccore.so.9
-lib/libvlccore.so.9.0.0
+lib/libvlccore.so.9.0.1
libdata/pkgconfig/libvlc.pc
libdata/pkgconfig/vlc-plugin.pc
-man/man1/vlc-wrapper.1.gz
-man/man1/vlc.1.gz
+share/man/man1/vlc-wrapper.1.gz
+share/man/man1/vlc.1.gz
share/applications/vlc.desktop
share/icons/hicolor/128x128/apps/vlc-kb.png
share/icons/hicolor/128x128/apps/vlc-xmas.png
@@ -150,6 +150,7 @@ share/icons/hicolor/48x48/apps/vlc.png
%%NLS%%share/locale/de/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/el/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/en_GB/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/es/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/es_MX/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/et/LC_MESSAGES/vlc.mo
@@ -170,6 +171,7 @@ share/icons/hicolor/48x48/apps/vlc.png
%%NLS%%share/locale/hu/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/hy/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/id/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/ie/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/is/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/it/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ja/LC_MESSAGES/vlc.mo
@@ -183,18 +185,22 @@ share/icons/hicolor/48x48/apps/vlc.png
%%NLS%%share/locale/ku_IQ/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ky/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/lg/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/lo/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/lt/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/lv/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/mai/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/mk/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ml/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/mn/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/mr/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ms/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/my/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/nb/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ne/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/nl/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/nn/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/oc/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/or_IN/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/pa/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/pl/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ps/LC_MESSAGES/vlc.mo
@@ -205,9 +211,11 @@ share/icons/hicolor/48x48/apps/vlc.png
%%NLS%%share/locale/si/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/sk/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/sl/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/sm/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/sq/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/sr/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/sv/LC_MESSAGES/vlc.mo
+%%NLS%%share/locale/sw/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/ta/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/te/LC_MESSAGES/vlc.mo
%%NLS%%share/locale/th/LC_MESSAGES/vlc.mo
diff --git a/multimedia/vmaf/Makefile b/multimedia/vmaf/Makefile
index 33dd780517a4..8c0fb0cb68d8 100644
--- a/multimedia/vmaf/Makefile
+++ b/multimedia/vmaf/Makefile
@@ -1,10 +1,11 @@
PORTNAME= vmaf
DISTVERSIONPREFIX= v
-DISTVERSION= 2.3.1
+DISTVERSION= 3.0.0
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Perceptual video quality assessment based on multi-method fusion
+WWW= https://github.com/Netflix/vmaf
LICENSE= BSD2CLAUSE+PATENT
LICENSE_GROUPS= FSF OSI COPYFREE
@@ -12,7 +13,7 @@ LICENSE_NAME= BSD-2-Clause Plus Patent License
LICENSE_FILE= ${WRKSRC:H}/LICENSE
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-BUILD_DEPENDS= xxd:editors/vim \
+BUILD_DEPENDS= xxd:sysutils/xxd \
${BUILD_DEPENDS_${ARCH}}
BUILD_DEPENDS_amd64= nasm:devel/nasm
BUILD_DEPENDS_i386= nasm:devel/nasm
diff --git a/multimedia/vmaf/distinfo b/multimedia/vmaf/distinfo
index ebc85859117a..61c657d56f3d 100644
--- a/multimedia/vmaf/distinfo
+++ b/multimedia/vmaf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1649696797
-SHA256 (Netflix-vmaf-v2.3.1_GH0.tar.gz) = 8d60b1ddab043ada25ff11ced821da6e0c37fd7730dd81c24f1fc12be7293ef2
-SIZE (Netflix-vmaf-v2.3.1_GH0.tar.gz) = 18388094
+TIMESTAMP = 1701977252
+SHA256 (Netflix-vmaf-v3.0.0_GH0.tar.gz) = 7178c4833639e6b989ecae73131d02f70735fdb3fc2c7d84bc36c9c3461d93b1
+SIZE (Netflix-vmaf-v3.0.0_GH0.tar.gz) = 18111853
diff --git a/multimedia/vmaf/files/patch-meson.build b/multimedia/vmaf/files/patch-meson.build
index 7ceac1aea3a1..0843e2f267a1 100644
--- a/multimedia/vmaf/files/patch-meson.build
+++ b/multimedia/vmaf/files/patch-meson.build
@@ -1,16 +1,22 @@
-../src/cpu_info.c:37:20: error: use of undeclared identifier '_SC_NPROCESSORS_ONLN'
- return sysconf(_SC_NPROCESSORS_ONLN);
- ^
+../src/feature/feature_collector.c:72:36: error: call to undeclared function 'strnlen'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ 72 | const size_t feature_name_sz = strnlen(feature_name, 2048);
+ | ^
+../src/feature/feature_name.c:34:24: error: call to undeclared function 'strnlen'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
+ 34 | const size_t len = strnlen(buf, buf_sz);
+ | ^
+../tools/cli_parse.c:194:21: error: incompatible integer to pointer conversion assigning to 'char *' from 'int' [-Wint-conversion]
+ while ((key_val = strsep(&optarg_copy, ":")) != NULL) {
+ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
---- meson.build.orig 2020-06-30 19:00:42 UTC
+--- meson.build.orig 2023-11-20 19:15:15 UTC
+++ meson.build
-@@ -26,9 +26,6 @@ if host_machine.system() == 'linux'
+@@ -26,9 +26,6 @@ elif host_machine.system() == 'darwin'
elif host_machine.system() == 'darwin'
test_args += '-D_DARWIN_C_SOURCE'
add_project_arguments('-D_DARWIN_C_SOURCE', language: 'c')
-else
-- test_args += '-D_POSIX_C_SOURCE=200112L'
-- add_project_arguments('-D_POSIX_C_SOURCE=200112L', language: 'c')
+- test_args += '-D_XOPEN_SOURCE=600'
+- add_project_arguments('-D_XOPEN_SOURCE=600', language: 'c')
endif
# Header checks
diff --git a/multimedia/vmaf/pkg-descr b/multimedia/vmaf/pkg-descr
index 575ab8442b63..8253b7d4d6bb 100644
--- a/multimedia/vmaf/pkg-descr
+++ b/multimedia/vmaf/pkg-descr
@@ -2,5 +2,3 @@ VMAF is a perceptual video quality assessment algorithm developed by
Netflix. VMAF Development Kit (VDK) is a software package that
contains the VMAF algorithm implementation, as well as a set of tools
that allows a user to train and test a custom VMAF model.
-
-WWW: https://github.com/Netflix/vmaf
diff --git a/multimedia/vmaf/pkg-plist b/multimedia/vmaf/pkg-plist
index 51728bd70407..de8f6ae997f0 100644
--- a/multimedia/vmaf/pkg-plist
+++ b/multimedia/vmaf/pkg-plist
@@ -1,5 +1,4 @@
bin/vmaf
-include/libvmaf/compute_vmaf.h
include/libvmaf/feature.h
include/libvmaf/libvmaf.h
include/libvmaf/model.h
@@ -7,8 +6,8 @@ include/libvmaf/picture.h
include/libvmaf/version.h
lib/libvmaf.a
lib/libvmaf.so
-lib/libvmaf.so.1
-lib/libvmaf.so.1.1.3
+lib/libvmaf.so.3
+lib/libvmaf.so.3.0.0
libdata/pkgconfig/libvmaf.pc
share/model/other_models/nflx_v1.json
share/model/other_models/nflxtrain_norm_type_none.json
@@ -16,6 +15,7 @@ share/model/other_models/vmaf_v0.6.0.json
share/model/other_models/vmaf_v0.6.1mfz.json
share/model/vmaf_4k_rb_v0.6.2/vmaf_4k_rb_v0.6.2.json
share/model/vmaf_4k_v0.6.1.json
+share/model/vmaf_4k_v0.6.1neg.json
share/model/vmaf_b_v0.6.3.json
share/model/vmaf_float_4k_v0.6.1.json
share/model/vmaf_float_b_v0.6.3.json
diff --git a/multimedia/vtkmpeg2encode/Makefile b/multimedia/vtkmpeg2encode/Makefile
index 51870853df92..8f75b64f6902 100644
--- a/multimedia/vtkmpeg2encode/Makefile
+++ b/multimedia/vtkmpeg2encode/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vtkmpeg2encode
PORTVERSION= ${VTK_VERSION}
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia math
MASTER_SITES= http://www.vtk.org/files/support/ \
http://www.neuro.mcw.edu/Ports/distfiles/VTK5/
@@ -8,6 +8,7 @@ DISTNAME= vtkmpeg2encode
MAINTAINER= ports@FreeBSD.org
COMMENT= VTK MPEG2 encoding library
+WWW= http://www.vtk.org/get-software.php #addons
LICENSE= MPEG-2
LICENSE_NAME= MPEG-2 license
@@ -32,7 +33,7 @@ PLIST_FILES= lib/${MPEGLIB}.so.${PORTVERSION} \
include/vtk-${VTK_VERSION:R}/mpeg2enc.h \
include/vtk-${VTK_VERSION:R}/mpeg2enc_config.h \
include/vtk-${VTK_VERSION:R}/vlc.h \
- man/man3/vtkmpeg2encode.3.gz
+ share/man/man3/vtkmpeg2encode.3.gz
post-build:
${MV} ${WRKSRC}/${MPEGLIB}.so ${WRKSRC}/${MPEGLIB}.so.${PORTVERSION}
@@ -52,6 +53,6 @@ do-install:
${WRKSRC}/mpeg2enc_config.h \
${WRKSRC}/vlc.h \
${STAGEDIR}${PREFIX}/include/vtk-${VTK_VERSION:R}
- ${INSTALL_MAN} ${WRKDIR}/vtkmpeg2encode.3 ${STAGEDIR}${MANPREFIX}/man/man3
+ ${INSTALL_MAN} ${WRKDIR}/vtkmpeg2encode.3 ${STAGEDIR}${PREFIX}/share/man/man3
.include <bsd.port.mk>
diff --git a/multimedia/vtkmpeg2encode/pkg-descr b/multimedia/vtkmpeg2encode/pkg-descr
index 3a6e938a12c1..8f3a543e6029 100644
--- a/multimedia/vtkmpeg2encode/pkg-descr
+++ b/multimedia/vtkmpeg2encode/pkg-descr
@@ -1,3 +1 @@
VTK5 MPEG2 Encoder
-
-WWW: http://www.vtk.org/get-software.php#addons
diff --git a/multimedia/vvdec/Makefile b/multimedia/vvdec/Makefile
index 04ba65b555e4..e7355ed4fe54 100644
--- a/multimedia/vvdec/Makefile
+++ b/multimedia/vvdec/Makefile
@@ -1,28 +1,32 @@
PORTNAME= vvdec
DISTVERSIONPREFIX= v
-DISTVERSION= 1.5.0
+DISTVERSION= 2.2.0
CATEGORIES= multimedia python
MAINTAINER= yuri@FreeBSD.org
COMMENT= Versatile Video Coding (VVC) decoder
+WWW= https://github.com/fraunhoferhhi/vvdec
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
-ONLY_FOR_ARCHS= amd64 powerpc powerpc64 powerpc64le riscv64
+ONLY_FOR_ARCHS= aarch64 armv6 armv7 amd64 powerpc powerpc64 powerpc64le riscv64
-USES= cmake compiler:c++14-lang
+USES= cmake:noninja,testing compiler:c++14-lang
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= fraunhoferhhi
-CMAKE_ON= BUILD_SHARED_LIBS
-CMAKE_OFF= FREEBSD_VVDEC_ENABLE_X86_SIMD
+CMAKE_ON= BUILD_SHARED_LIBS \
+ VVDEC_INSTALL_VVDECAPP
+CMAKE_OFF= FREEBSD_VVDEC_ENABLE_X86_SIMD \
+ VVDEC_ENABLE_WARNINGS_AS_WERROR
+CMAKE_TESTING_TARGET= test enable-bitstream-download=1 # tests fail to download bitstreams, see https://github.com/fraunhoferhhi/vvdec/issues/125
.include <bsd.port.options.mk>
-.if ${ARCH} == powerpc64 || ${ARCH} == riscv64
+.if ${ARCH} == riscv64
CMAKE_ARGS+= -DVVDEC_ENABLE_LINK_TIME_OPT:BOOL=OFF
.endif
diff --git a/multimedia/vvdec/distinfo b/multimedia/vvdec/distinfo
index ac787d8d366c..fe136ee45feb 100644
--- a/multimedia/vvdec/distinfo
+++ b/multimedia/vvdec/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1650557622
-SHA256 (fraunhoferhhi-vvdec-v1.5.0_GH0.tar.gz) = 4a5860b3fd827c4666701f928c59df1a0c1b470203a84e73b33ccf81441c6e38
-SIZE (fraunhoferhhi-vvdec-v1.5.0_GH0.tar.gz) = 1227793
+TIMESTAMP = 1710351508
+SHA256 (fraunhoferhhi-vvdec-v2.2.0_GH0.tar.gz) = 7a839f9d8c32abb3f0c33c5242d8b2ac7ff0842b160421332cc8c291b32547bc
+SIZE (fraunhoferhhi-vvdec-v2.2.0_GH0.tar.gz) = 1339562
diff --git a/multimedia/vvdec/files/patch-source_Lib_vvdec_vvdecimpl.h b/multimedia/vvdec/files/patch-source_Lib_vvdec_vvdecimpl.h
new file mode 100644
index 000000000000..1e05d99dc070
--- /dev/null
+++ b/multimedia/vvdec/files/patch-source_Lib_vvdec_vvdecimpl.h
@@ -0,0 +1,13 @@
+- workaround for https://github.com/fraunhoferhhi/vvdec/issues/170
+
+--- source/Lib/vvdec/vvdecimpl.h.orig 2024-03-13 17:45:41 UTC
++++ source/Lib/vvdec/vvdecimpl.h
+@@ -225,7 +225,7 @@ inline auto VVDecImpl::catchExceptions( MembFunc fn, A
+ static auto returnErrOrNullptr = []( intptr_t err )
+ {
+ if( std::is_pointer<TRet>() )
+- return (TRet) NULL;
++ return (TRet) 0;
+ return (TRet) err;
+ };
+
diff --git a/multimedia/vvdec/pkg-descr b/multimedia/vvdec/pkg-descr
index bf5f8a27f5a7..f6690e3f66eb 100644
--- a/multimedia/vvdec/pkg-descr
+++ b/multimedia/vvdec/pkg-descr
@@ -12,5 +12,3 @@ well as immersive applications like 360 degree video and augmented reality (AR).
The Fraunhofer Versatile Video Decoder (VVdeC) is a fast VVC x86 software
decoder implementation. The decoder supports most standard features available in
the Main10 profile, with support for some high-level features still pending.
-
-WWW: https://github.com/fraunhoferhhi/vvdec
diff --git a/multimedia/vvdec/pkg-plist b/multimedia/vvdec/pkg-plist
index fe5a494509a4..a89847a43a33 100644
--- a/multimedia/vvdec/pkg-plist
+++ b/multimedia/vvdec/pkg-plist
@@ -8,4 +8,6 @@ lib/cmake/vvdec/vvdecConfigVersion.cmake
lib/cmake/vvdec/vvdecTargets-shared-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/vvdec/vvdecTargets-shared.cmake
lib/libvvdec.so
+lib/libvvdec.so.2
+lib/libvvdec.so.2.2.0
libdata/pkgconfig/libvvdec.pc
diff --git a/multimedia/vvenc/Makefile b/multimedia/vvenc/Makefile
new file mode 100644
index 000000000000..c3373958c45f
--- /dev/null
+++ b/multimedia/vvenc/Makefile
@@ -0,0 +1,34 @@
+PORTNAME= vvenc
+DISTVERSIONPREFIX= v
+DISTVERSION= 1.11.1
+CATEGORIES= multimedia
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Versatile Video Coding (VVC) encoder
+WWW= https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE.txt
+
+BROKEN_i386= compilation fails: error: use of undeclared identifier 'read_x86_extension_flags'
+BROKEN_powerpc= compilation fails: error: use of undeclared identifier 'read_x86_extension_flags'
+
+USES= cmake:testing compiler:c++14-lang
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= fraunhoferhhi
+
+CMAKE_ON= BUILD_SHARED_LIBS
+
+.include <bsd.port.options.mk>
+
+.if ${ARCH:Marmv?} || ${ARCH} == i386 || ${ARCH} == powerpc
+CMAKE_OFF+= VVENC_ENABLE_X86_SIMD
+.endif
+
+.if ${ARCH} == riscv64
+CMAKE_OFF+= VVENC_ENABLE_LINK_TIME_OPT
+.endif
+
+.include <bsd.port.mk>
diff --git a/multimedia/vvenc/distinfo b/multimedia/vvenc/distinfo
new file mode 100644
index 000000000000..284c5a145de7
--- /dev/null
+++ b/multimedia/vvenc/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1709623260
+SHA256 (fraunhoferhhi-vvenc-v1.11.1_GH0.tar.gz) = 4f0c8ac3f03eb970bee7a0cacc57a886ac511d58f081bb08ba4bce6f547d92fa
+SIZE (fraunhoferhhi-vvenc-v1.11.1_GH0.tar.gz) = 2048109
diff --git a/multimedia/vvenc/pkg-descr b/multimedia/vvenc/pkg-descr
new file mode 100644
index 000000000000..5e5e39c43fae
--- /dev/null
+++ b/multimedia/vvenc/pkg-descr
@@ -0,0 +1,12 @@
+The Fraunhofer Versatile Video Encoder (VVenC) is a fast and efficient
+H.266/VVC encoder implementation with the following main features:
+- Easy to use encoder implementation with five predefined
+ quality/speed presets;
+- Perceptual optimization to improve subjective video quality, based
+ on the XPSNR visual model;
+- Extensive frame-level and task-based parallelization with very good
+ scaling;
+- Frame-level single-pass and two-pass rate control supporting
+ variable bit-rate (VBR) encoding;
+- Expert mode encoder interface available, allowing fine-grained
+ control of the encoding process.
diff --git a/multimedia/vvenc/pkg-plist b/multimedia/vvenc/pkg-plist
new file mode 100644
index 000000000000..4ec69be8abed
--- /dev/null
+++ b/multimedia/vvenc/pkg-plist
@@ -0,0 +1,13 @@
+bin/vvencapp
+include/vvenc/version.h
+include/vvenc/vvenc.h
+include/vvenc/vvencCfg.h
+include/vvenc/vvencDecl.h
+lib/cmake/vvenc/vvencConfig.cmake
+lib/cmake/vvenc/vvencConfigVersion.cmake
+lib/cmake/vvenc/vvencTargets-shared-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/vvenc/vvencTargets-shared.cmake
+lib/libvvenc.so
+lib/libvvenc.so.1.11
+lib/libvvenc.so.1.11.1
+libdata/pkgconfig/libvvenc.pc
diff --git a/multimedia/w_scan2/Makefile b/multimedia/w_scan2/Makefile
index 8677a0472451..fd3d5829380e 100644
--- a/multimedia/w_scan2/Makefile
+++ b/multimedia/w_scan2/Makefile
@@ -1,11 +1,11 @@
-# Created by: Juergen Lock <nox@FreeBSD.org>
-
PORTNAME= w_scan2
-PORTVERSION= 1.0.14
+PORTVERSION= 1.0.15
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= rene@FreeBSD.org
COMMENT= Perform frequency scans for DVB and ATSC transmissions
+WWW= https://github.com/stefantalpalaru/w_scan2
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -13,7 +13,8 @@ LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= v4l_compat>=1.0.20120501:multimedia/v4l_compat
GNU_CONFIGURE= yes
-USES= gettext iconv localbase
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
+USES= autoreconf gettext iconv localbase
LDFLAGS+= ${ICONV_LIB}
USE_GITHUB= yes
@@ -21,7 +22,7 @@ GH_ACCOUNT= stefantalpalaru
PORTDOCS= COPYING ChangeLog README.md
PLIST_FILES= bin/${PORTNAME} \
- man/man1/${PORTNAME}.1.gz
+ share/man/man1/${PORTNAME}.1.gz
OPTIONS_DEFINE= DOCS
diff --git a/multimedia/w_scan2/distinfo b/multimedia/w_scan2/distinfo
index b58c3cce5843..c7e390bca3c2 100644
--- a/multimedia/w_scan2/distinfo
+++ b/multimedia/w_scan2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1644666771
-SHA256 (stefantalpalaru-w_scan2-1.0.14_GH0.tar.gz) = 3749c44300646b280a88e73fae5fb6a8d2c57b6840586cc6c77f5e202b3d4f5e
-SIZE (stefantalpalaru-w_scan2-1.0.14_GH0.tar.gz) = 315385
+TIMESTAMP = 1704230722
+SHA256 (stefantalpalaru-w_scan2-1.0.15_GH0.tar.gz) = 0bc18f11bd20ac191ea34cc963e7f506d2a0d46768245ccd4d389ef2e0a208cc
+SIZE (stefantalpalaru-w_scan2-1.0.15_GH0.tar.gz) = 315631
diff --git a/multimedia/w_scan2/pkg-descr b/multimedia/w_scan2/pkg-descr
index 3aa4e6466171..7678d74e151b 100644
--- a/multimedia/w_scan2/pkg-descr
+++ b/multimedia/w_scan2/pkg-descr
@@ -20,5 +20,3 @@ Main changes from w_scan to w_scan2:
https://stefantalpalaru.wordpress.com/2016/02/04/scan-all-the-things/
The old behaviour can be enabled with -d (--delete-duplicate-transponders).
* re-enable VHF band III in Europe
-
-WWW: https://github.com/stefantalpalaru/w_scan2
diff --git a/multimedia/webcamd/Makefile b/multimedia/webcamd/Makefile
index f0968df1b015..ac8b34e9b870 100644
--- a/multimedia/webcamd/Makefile
+++ b/multimedia/webcamd/Makefile
@@ -1,12 +1,12 @@
-# Created by: Andrew Thompson <thompsa@FreeBSD.org>
-
PORTNAME= webcamd
DISTVERSIONPREFIX= v
-DISTVERSION= 5.17.1.0
+DISTVERSION= 5.17.1.2
+PORTREVISION= 2
CATEGORIES= multimedia
-MAINTAINER= hselasky@FreeBSD.org
+MAINTAINER= ports@FreeBSD.org
COMMENT= Port of Linux USB webcam and DVB drivers into userspace
+WWW= https://github.com/hselasky/webcamd
LICENSE= GPLv2
@@ -69,6 +69,7 @@ USERS= webcamd
GROUPS= webcamd
MAKE_ARGS+= HAVE_MAN="YES"
+MAKE_ARGS+= MANDIR=${PREFIX}/share/man/man
MAKE_ARGS+= PTHREAD_LIBS="-lpthread"
WEBCAMDDIR= ${WRKDIR}/webcamd-${DISTVERSION}
diff --git a/multimedia/webcamd/distinfo b/multimedia/webcamd/distinfo
index aef4c52ed333..42a688adcf84 100644
--- a/multimedia/webcamd/distinfo
+++ b/multimedia/webcamd/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1643118644
-SHA256 (hselasky-webcamd-v5.17.1.0_GH0.tar.gz) = 33a34f90f583a1829d1b7b00e03e5ea123e188e2560fcfb01ca1714fb6010565
-SIZE (hselasky-webcamd-v5.17.1.0_GH0.tar.gz) = 272952
+TIMESTAMP = 1657731286
+SHA256 (hselasky-webcamd-v5.17.1.2_GH0.tar.gz) = 430c14a0d480c275d0a5bec3fcea1db63802376faba6dba9a3b1c1b72237476c
+SIZE (hselasky-webcamd-v5.17.1.2_GH0.tar.gz) = 273204
SHA256 (torvalds-linux-v5.17-rc1_GH0.tar.gz) = 9269b46a87c16941871f81057c8b82c913869eb86037b92c0bd4d5b9aa69dece
SIZE (torvalds-linux-v5.17-rc1_GH0.tar.gz) = 201780465
SHA256 (swills-v4l2loopback-8ab6a12_GH0.tar.gz) = b8f478ed3b5c06b963958808cb8ffae12a43a5459d9335b51bbc03165c3d169d
diff --git a/multimedia/webcamd/files/webcamd.in b/multimedia/webcamd/files/webcamd.in
index b9e6b66b5f4b..30dd72850047 100644
--- a/multimedia/webcamd/files/webcamd.in
+++ b/multimedia/webcamd/files/webcamd.in
@@ -101,6 +101,7 @@ command_args="-B -U ${webcamd_user} -G ${webcamd_group}"
start_cmd="${name}_start"
stop_cmd="${name}_stop"
status_cmd="${name}_status"
+required_modules="cuse"
#
# The following pidfile should not exist and
diff --git a/multimedia/webcamd/pkg-descr b/multimedia/webcamd/pkg-descr
index b1dad2f3edf5..f56c9fb32b44 100644
--- a/multimedia/webcamd/pkg-descr
+++ b/multimedia/webcamd/pkg-descr
@@ -4,5 +4,3 @@ system. The webcam daemon is basically an application which is a port
of Linux USB device drivers into userspace on FreeBSD. The daemon
currently depends on libc, pthreads, libusb and the CUSE kernel
module.
-
-WWW: https://github.com/hselasky/webcamd
diff --git a/multimedia/webcamd/pkg-message b/multimedia/webcamd/pkg-message
index 07463243eae5..b0d991ef8a13 100644
--- a/multimedia/webcamd/pkg-message
+++ b/multimedia/webcamd/pkg-message
@@ -1,30 +1,19 @@
[
{ type: install
message: <<EOM
-1) webcamd requires the cuse(3) kernel module.
-Please load this dependency by doing:
-
- # kldload cuse
-
-or by adding
-
- cuse_load="YES"
-
-to your /boot/loader.conf
-
-2) add webcamd_enable="YES"
+1) add webcamd_enable="YES"
to your /etc/rc.conf
-3) Please restart devd to start webcamd
+2) Please restart devd to start webcamd
# service devd restart
-4) Optionally add a user to the "webcamd" group
+3) Optionally add a user to the "webcamd" group
# pw groupmod webcamd -m <username>
-5) If webcamd still did not start, consult the installed webcamd rc.d
+4) If webcamd still did not start, consult the installed webcamd rc.d
script for more help and instructions on how to start webcamd.
EOM
}
diff --git a/multimedia/webcamd/pkg-plist b/multimedia/webcamd/pkg-plist
index 4e1b3d72dd77..e8cb0b6b2239 100644
--- a/multimedia/webcamd/pkg-plist
+++ b/multimedia/webcamd/pkg-plist
@@ -1,66 +1,66 @@
etc/devd/webcamd.conf
sbin/webcamd
-man/man4/a800.4.gz
-man/man4/af9005.4.gz
-man/man4/af9015.4.gz
-man/man4/anysee.4.gz
-man/man4/au0828.4.gz
-man/man4/au6610.4.gz
-man/man4/b2c2.4.gz
-man/man4/benq.4.gz
-man/man4/ce6230.4.gz
-man/man4/cinergy.4.gz
-man/man4/conex.4.gz
-man/man4/cpiax.4.gz
-man/man4/cxusb.4.gz
-man/man4/dib0700.4.gz
-man/man4/digitv.4.gz
-man/man4/dtt200u.4.gz
-man/man4/dtv5100.4.gz
-man/man4/dw2102.4.gz
-man/man4/ec168.4.gz
-man/man4/em28xx.4.gz
-man/man4/et61x251.4.gz
-man/man4/finepix.4.gz
-man/man4/friio.4.gz
-man/man4/gl860.4.gz
-man/man4/gl861.4.gz
-man/man4/gp8psk.4.gz
-man/man4/hdpvr.4.gz
-man/man4/ibmcam.4.gz
-man/man4/jeilinj.4.gz
-man/man4/m5602.4.gz
-man/man4/m920x.4.gz
-man/man4/mars.4.gz
-man/man4/mr800.4.gz
-man/man4/mr97310a.4.gz
-man/man4/nova-t.4.gz
-man/man4/opera.4.gz
-man/man4/ov519.4.gz
-man/man4/ov534.4.gz
-man/man4/pacxxx.4.gz
-man/man4/pvrusb2.4.gz
-man/man4/pwcusb.4.gz
-man/man4/s2255.4.gz
-man/man4/se401.4.gz
-man/man4/siano.4.gz
-man/man4/sn9c102.4.gz
-man/man4/sn9c20x.4.gz
-man/man4/sonixj.4.gz
-man/man4/spca5xx.4.gz
-man/man4/sq905c.4.gz
-man/man4/stk014.4.gz
-man/man4/stv06xx.4.gz
-man/man4/sunplus.4.gz
-man/man4/t613.4.gz
-man/man4/ttusb2.4.gz
-man/man4/tv8532.4.gz
-man/man4/umt.4.gz
-man/man4/usbvision.4.gz
-man/man4/uvc.4.gz
-man/man4/vc032x.4.gz
-man/man4/vp702x.4.gz
-man/man4/vp7045.4.gz
-man/man4/zc3xx.4.gz
-man/man4/zr364xx.4.gz
-man/man8/webcamd.8.gz
+share/man/man4/a800.4.gz
+share/man/man4/af9005.4.gz
+share/man/man4/af9015.4.gz
+share/man/man4/anysee.4.gz
+share/man/man4/au0828.4.gz
+share/man/man4/au6610.4.gz
+share/man/man4/b2c2.4.gz
+share/man/man4/benq.4.gz
+share/man/man4/ce6230.4.gz
+share/man/man4/cinergy.4.gz
+share/man/man4/conex.4.gz
+share/man/man4/cpiax.4.gz
+share/man/man4/cxusb.4.gz
+share/man/man4/dib0700.4.gz
+share/man/man4/digitv.4.gz
+share/man/man4/dtt200u.4.gz
+share/man/man4/dtv5100.4.gz
+share/man/man4/dw2102.4.gz
+share/man/man4/ec168.4.gz
+share/man/man4/em28xx.4.gz
+share/man/man4/et61x251.4.gz
+share/man/man4/finepix.4.gz
+share/man/man4/friio.4.gz
+share/man/man4/gl860.4.gz
+share/man/man4/gl861.4.gz
+share/man/man4/gp8psk.4.gz
+share/man/man4/hdpvr.4.gz
+share/man/man4/ibmcam.4.gz
+share/man/man4/jeilinj.4.gz
+share/man/man4/m5602.4.gz
+share/man/man4/m920x.4.gz
+share/man/man4/mars.4.gz
+share/man/man4/mr800.4.gz
+share/man/man4/mr97310a.4.gz
+share/man/man4/nova-t.4.gz
+share/man/man4/opera.4.gz
+share/man/man4/ov519.4.gz
+share/man/man4/ov534.4.gz
+share/man/man4/pacxxx.4.gz
+share/man/man4/pvrusb2.4.gz
+share/man/man4/pwcusb.4.gz
+share/man/man4/s2255.4.gz
+share/man/man4/se401.4.gz
+share/man/man4/siano.4.gz
+share/man/man4/sn9c102.4.gz
+share/man/man4/sn9c20x.4.gz
+share/man/man4/sonixj.4.gz
+share/man/man4/spca5xx.4.gz
+share/man/man4/sq905c.4.gz
+share/man/man4/stk014.4.gz
+share/man/man4/stv06xx.4.gz
+share/man/man4/sunplus.4.gz
+share/man/man4/t613.4.gz
+share/man/man4/ttusb2.4.gz
+share/man/man4/tv8532.4.gz
+share/man/man4/umt.4.gz
+share/man/man4/usbvision.4.gz
+share/man/man4/uvc.4.gz
+share/man/man4/vc032x.4.gz
+share/man/man4/vp702x.4.gz
+share/man/man4/vp7045.4.gz
+share/man/man4/zc3xx.4.gz
+share/man/man4/zr364xx.4.gz
+share/man/man8/webcamd.8.gz
diff --git a/multimedia/webcamoid/Makefile b/multimedia/webcamoid/Makefile
index 3fbe96801742..0b141c0aeb0d 100644
--- a/multimedia/webcamoid/Makefile
+++ b/multimedia/webcamoid/Makefile
@@ -1,10 +1,11 @@
PORTNAME= webcamoid
-DISTVERSION= 8.8.0
-PORTREVISION= 2
+DISTVERSION= 9.1.1
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= yuri@FreeBSD.org
COMMENT= Full featured webcam suite
+WWW= https://webcamoid.github.io
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -13,15 +14,21 @@ BUILD_DEPENDS= ${LOCALBASE}/include/linux/videodev2.h:multimedia/v4l_compat
LIB_DEPENDS= libasound.so:audio/alsa-lib \
libavcodec.so:multimedia/ffmpeg \
libjack.so:audio/jack \
+ libpipewire-0.3.so:multimedia/pipewire \
+ libportaudio.so:audio/portaudio \
libpulse.so:audio/pulseaudio \
- libv4l2.so:multimedia/libv4l
+ libuvc.so:multimedia/libuvc \
+ libv4l2.so:multimedia/libv4l \
+ libvlc.so:multimedia/vlc
-USES= compiler:c++11-lang gl gnome gstreamer pkgconfig qmake qt:5 xorg
+USES= cmake compiler:c++11-lang desktop-file-utils gl gnome gstreamer pkgconfig qt:5 sdl xorg
USE_GITHUB= yes
USE_GNOME= glib20
USE_GL= gl
-USE_QT= concurrent core declarative gui multimedia network opengl quickcontrols2 svg widgets xml \
- buildtools_build quickcontrols_run
+USE_QT= concurrent core dbus declarative gui multimedia network opengl quickcontrols2 svg widgets xml \
+ buildtools:build qmake:build quickcontrols:run
+USE_SDL= sdl2
+USE_LDCONFIG= yes
MAKE_ENV= NOOSS=1 # NOOSS is because the OSS module attempts to use kevent on OSS devices, which is broken in the base
QMAKE_ARGS= INSTALLQMLDIR=${QT_QMLDIR} \
diff --git a/multimedia/webcamoid/distinfo b/multimedia/webcamoid/distinfo
index 0f4ce892e472..bc1bce1db448 100644
--- a/multimedia/webcamoid/distinfo
+++ b/multimedia/webcamoid/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1613620488
-SHA256 (webcamoid-webcamoid-8.8.0_GH0.tar.gz) = 77ed77cbaf57180247485646b81af30edcc89ee545bc241c23d8bd648464bf15
-SIZE (webcamoid-webcamoid-8.8.0_GH0.tar.gz) = 8887888
+TIMESTAMP = 1686979739
+SHA256 (webcamoid-webcamoid-9.1.1_GH0.tar.gz) = 70209d5ff5f3d00b71376171a73a4ce610ecee5e050edca658c484c0cb508e74
+SIZE (webcamoid-webcamoid-9.1.1_GH0.tar.gz) = 9288681
diff --git a/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_capture_v4l2sys_src_capturev4l2.cpp b/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_capture_v4l2sys_src_capturev4l2.cpp
new file mode 100644
index 000000000000..05041581c5a7
--- /dev/null
+++ b/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_capture_v4l2sys_src_capturev4l2.cpp
@@ -0,0 +1,41 @@
+--- libAvKys/Plugins/VideoCapture/src/capture/v4l2sys/src/capturev4l2.cpp.orig 2023-04-04 08:06:27 UTC
++++ libAvKys/Plugins/VideoCapture/src/capture/v4l2sys/src/capturev4l2.cpp
+@@ -910,6 +910,7 @@ void CaptureV4L2::reset()
+ CaptureV4L2Private::CaptureV4L2Private(CaptureV4L2 *self):
+ self(self)
+ {
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ this->m_fsWatcher = new QFileSystemWatcher({"/dev"}, self);
+ QObject::connect(this->m_fsWatcher,
+ &QFileSystemWatcher::directoryChanged,
+@@ -917,12 +918,15 @@ CaptureV4L2Private::CaptureV4L2Private(CaptureV4L2 *se
+ [this] () {
+ this->updateDevices();
+ });
++#endif
+ this->updateDevices();
+ }
+
+ CaptureV4L2Private::~CaptureV4L2Private()
+ {
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ delete this->m_fsWatcher;
++#endif
+ }
+
+ int CaptureV4L2Private::planesCount(const v4l2_format &format) const
+@@ -1765,11 +1769,13 @@ void CaptureV4L2Private::updateDevices()
+ this->m_devicesCaps = devicesCaps;
+
+ if (this->m_devices != devices) {
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ if (!this->m_devices.isEmpty())
+ this->m_fsWatcher->removePaths(this->m_devices);
++#endif
+
+ this->m_devices = devices;
+-#ifndef Q_OS_BSD4
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ if (!this->m_devices.isEmpty())
+ this->m_fsWatcher->addPaths(this->m_devices);
+ #endif
diff --git a/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp b/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp
deleted file mode 100644
index 3324daf47569..000000000000
--- a/multimedia/webcamoid/files/patch-libAvKys_Plugins_VideoCapture_src_v4l2sys_src_capturev4l2.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
---- libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp.orig 2021-02-15 15:25:23 UTC
-+++ libAvKys/Plugins/VideoCapture/src/v4l2sys/src/capturev4l2.cpp
-@@ -727,6 +727,7 @@ void CaptureV4L2::reset()
- CaptureV4L2Private::CaptureV4L2Private(CaptureV4L2 *self):
- self(self)
- {
-+#if !defined(FREEBSD_BUG224011_VIDEO0)
- this->m_fsWatcher = new QFileSystemWatcher({"/dev"}, self);
- QObject::connect(this->m_fsWatcher,
- &QFileSystemWatcher::directoryChanged,
-@@ -734,12 +735,15 @@ CaptureV4L2Private::CaptureV4L2Private(CaptureV4L2 *se
- [this] () {
- this->updateDevices();
- });
-+#endif
- this->updateDevices();
- }
-
- CaptureV4L2Private::~CaptureV4L2Private()
- {
-+#if !defined(FREEBSD_BUG224011_VIDEO0)
- delete this->m_fsWatcher;
-+#endif
- }
-
- QVariantList CaptureV4L2Private::capsFps(int fd,
-@@ -1385,11 +1389,13 @@ void CaptureV4L2Private::updateDevices()
- this->m_devicesCaps = devicesCaps;
-
- if (this->m_devices != devices) {
-+#if !defined(FREEBSD_BUG224011_VIDEO0)
- if (!this->m_devices.isEmpty())
- this->m_fsWatcher->removePaths(this->m_devices);
-+#endif
-
- this->m_devices = devices;
--#ifndef Q_OS_BSD4
-+#if !defined(FREEBSD_BUG224011_VIDEO0)
- if (!this->m_devices.isEmpty())
- this->m_fsWatcher->addPaths(this->m_devices);
- #endif
diff --git a/multimedia/webcamoid/files/patch-libAvKys_Plugins_VirtualCamera_src_v4l2lb_src_vcamv4l2lb.cpp b/multimedia/webcamoid/files/patch-libAvKys_Plugins_VirtualCamera_src_v4l2lb_src_vcamv4l2lb.cpp
new file mode 100644
index 000000000000..67a9a1edf9ff
--- /dev/null
+++ b/multimedia/webcamoid/files/patch-libAvKys_Plugins_VirtualCamera_src_v4l2lb_src_vcamv4l2lb.cpp
@@ -0,0 +1,41 @@
+--- libAvKys/Plugins/VirtualCamera/src/v4l2lb/src/vcamv4l2lb.cpp.orig 2023-04-04 08:08:44 UTC
++++ libAvKys/Plugins/VirtualCamera/src/v4l2lb/src/vcamv4l2lb.cpp
+@@ -1283,6 +1283,7 @@ VCamV4L2LoopBackPrivate::VCamV4L2LoopBackPrivate(VCamV
+ self(self)
+ {
+ this->initDefaultFormats();
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ this->m_fsWatcher = new QFileSystemWatcher({"/dev"}, self);
+ QObject::connect(this->m_fsWatcher,
+ &QFileSystemWatcher::directoryChanged,
+@@ -1290,12 +1291,15 @@ VCamV4L2LoopBackPrivate::VCamV4L2LoopBackPrivate(VCamV
+ [this] () {
+ this->updateDevices();
+ });
++#endif
+ this->updateDevices();
+ }
+
+ VCamV4L2LoopBackPrivate::~VCamV4L2LoopBackPrivate()
+ {
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ delete this->m_fsWatcher;
++#endif
+ }
+
+ int VCamV4L2LoopBackPrivate::xioctl(int fd, ulong request, void *arg) const
+@@ -2351,11 +2355,13 @@ void VCamV4L2LoopBackPrivate::updateDevices()
+ this->m_devicesFormats = devicesFormats;
+
+ if (this->m_devices != devices) {
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ if (!this->m_devices.isEmpty())
+ this->m_fsWatcher->removePaths(this->m_devices);
++#endif
+
+ this->m_devices = devices;
+-#ifndef Q_OS_BSD4
++#if !defined(FREEBSD_BUG224011_VIDEO0)
+ if (!this->m_devices.isEmpty())
+ this->m_fsWatcher->addPaths(this->m_devices);
+ #endif
diff --git a/multimedia/webcamoid/pkg-descr b/multimedia/webcamoid/pkg-descr
index 0b2c8a2a042c..d5903fdab975 100644
--- a/multimedia/webcamoid/pkg-descr
+++ b/multimedia/webcamoid/pkg-descr
@@ -13,5 +13,3 @@ Features:
* Capture from desktop.
* Many recording formats.
* Virtual webcam support for feeding other programs.
-
-WWW: https://webcamoid.github.io
diff --git a/multimedia/webcamoid/pkg-plist b/multimedia/webcamoid/pkg-plist
index 6f4a4e3202c3..7ab79e3c1d84 100644
--- a/multimedia/webcamoid/pkg-plist
+++ b/multimedia/webcamoid/pkg-plist
@@ -1,7 +1,14 @@
bin/webcamoid
-lib/avkys/libACapsConvert.so
+lib/avkys/libAdjustHSL.so
lib/avkys/libAging.so
+lib/avkys/libAnalogTV.so
+lib/avkys/libAspectRatio.so
lib/avkys/libAudioDevice.so
+lib/avkys/libAudioDevice_alsa.so
+lib/avkys/libAudioDevice_jack.so
+lib/avkys/libAudioDevice_portaudio.so
+lib/avkys/libAudioDevice_pulseaudio.so
+lib/avkys/libAudioDevice_sdl.so
lib/avkys/libAudioGen.so
lib/avkys/libBlur.so
lib/avkys/libCartoon.so
@@ -12,10 +19,15 @@ lib/avkys/libColorFilter.so
lib/avkys/libColorReplace.so
lib/avkys/libColorTap.so
lib/avkys/libColorTransform.so
+lib/avkys/libContrast.so
lib/avkys/libConvolve.so
+lib/avkys/libCrop.so
lib/avkys/libDelayGrab.so
lib/avkys/libDenoise.so
lib/avkys/libDesktopCapture.so
+lib/avkys/libDesktopCapture_ffmpeg.so
+lib/avkys/libDesktopCapture_pipewire.so
+lib/avkys/libDesktopCapture_qtscreen.so
lib/avkys/libDice.so
lib/avkys/libDistort.so
lib/avkys/libDizzy.so
@@ -23,64 +35,63 @@ lib/avkys/libEdge.so
lib/avkys/libEmboss.so
lib/avkys/libEqualize.so
lib/avkys/libFaceDetect.so
+lib/avkys/libFaceTrack.so
lib/avkys/libFalseColor.so
lib/avkys/libFire.so
+lib/avkys/libFlip.so
lib/avkys/libFrameOverlap.so
+lib/avkys/libGamma.so
lib/avkys/libGrayScale.so
lib/avkys/libHalftone.so
lib/avkys/libHypnotic.so
+lib/avkys/libImageSrc.so
lib/avkys/libImplode.so
lib/avkys/libInvert.so
lib/avkys/libLife.so
lib/avkys/libMatrix.so
lib/avkys/libMatrixTransform.so
lib/avkys/libMultiSink.so
+lib/avkys/libMultiSink_ffmpeg.so
+lib/avkys/libMultiSink_gstreamer.so
lib/avkys/libMultiSrc.so
-lib/avkys/libMultiplex.so
+lib/avkys/libMultiSrc_ffmpeg.so
+lib/avkys/libMultiSrc_gstreamer.so
+lib/avkys/libMultiSrc_vlc.so
lib/avkys/libNervous.so
lib/avkys/libNormalize.so
lib/avkys/libOilPaint.so
+lib/avkys/libOpacity.so
+lib/avkys/libOtsu.so
lib/avkys/libPhotocopy.so
lib/avkys/libPixelate.so
-lib/avkys/libPrimariesColors.so
lib/avkys/libQuark.so
lib/avkys/libRadioactive.so
lib/avkys/libRipple.so
+lib/avkys/libRotate.so
+lib/avkys/libSaturated.so
lib/avkys/libScanLines.so
-lib/avkys/libScroll.so
lib/avkys/libShagadelic.so
+lib/avkys/libSwapRB.so
lib/avkys/libSwirl.so
lib/avkys/libTemperature.so
lib/avkys/libVideoCapture.so
+lib/avkys/libVideoCapture_ffmpeg.so
+lib/avkys/libVideoCapture_gstreamer.so
+lib/avkys/libVideoCapture_libuvc.so
+lib/avkys/libVideoCapture_qtcamera.so
+lib/avkys/libVideoCapture_v4l2sys.so
+lib/avkys/libVideoCapture_v4lutils.so
lib/avkys/libVignette.so
lib/avkys/libVirtualCamera.so
+lib/avkys/libVirtualCamera_akvcam.so
+lib/avkys/libVirtualCamera_v4l2lb.so
lib/avkys/libWarhol.so
lib/avkys/libWarp.so
lib/avkys/libWave.so
-lib/avkys/submodules/ACapsConvert/libffmpegav.so
-lib/avkys/submodules/ACapsConvert/libffmpegsw.so
-lib/avkys/submodules/ACapsConvert/libgeneric.so
-lib/avkys/submodules/ACapsConvert/libgstreamer.so
-lib/avkys/submodules/AudioDevice/libalsa.so
-lib/avkys/submodules/AudioDevice/libjack.so
-lib/avkys/submodules/AudioDevice/libpulseaudio.so
-lib/avkys/submodules/DesktopCapture/libqtscreen.so
-lib/avkys/submodules/MultiSink/libffmpeg.so
-lib/avkys/submodules/MultiSink/libgstreamer.so
-lib/avkys/submodules/MultiSrc/libffmpeg.so
-lib/avkys/submodules/MultiSrc/libgstreamer.so
-lib/avkys/submodules/VideoCapture/libffmpeg.so
-lib/avkys/submodules/VideoCapture/libgeneric.so
-lib/avkys/submodules/VideoCapture/libgstreamer.so
-lib/avkys/submodules/VideoCapture/libv4l2sys.so
-lib/avkys/submodules/VideoCapture/libv4lutils.so
+lib/avkys/libZoom.so
lib/libavkys.so
-lib/libavkys.so.8
-lib/libavkys.so.8.8
-lib/libavkys.so.8.8.0
-%%QT_QMLDIR%%/AkQml/libAkQml.so
-%%QT_QMLDIR%%/AkQml/qmldir
-man/man1/webcamoid.1.gz
+lib/libavkys.so.9
+lib/libavkys.so.9.1.1
share/applications/webcamoid.desktop
share/icons/hicolor/128x128/apps/webcamoid.png
share/icons/hicolor/16x16/apps/webcamoid.png
@@ -91,3 +102,5 @@ share/icons/hicolor/48x48/apps/webcamoid.png
share/icons/hicolor/64x64/apps/webcamoid.png
share/icons/hicolor/8x8/apps/webcamoid.png
share/icons/hicolor/scalable/apps/webcamoid.svg
+share/man/man1/webcamoid.1.gz
+share/metainfo/io.github.webcamoid.Webcamoid.metainfo.xml
diff --git a/multimedia/webvfx-qt5/Makefile b/multimedia/webvfx-qt5/Makefile
deleted file mode 100644
index 8bd8a96d861f..000000000000
--- a/multimedia/webvfx-qt5/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-PORTNAME= webvfx
-DISTVERSION= 0.4.4-20160823
-PORTREVISION= 14
-CATEGORIES= multimedia
-PKGNAMESUFFIX= -qt5
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= Video effects library based on HTML/QML
-
-LICENSE= BSD3CLAUSE
-LICENSE_FILE= ${WRKSRC}/LICENSE
-
-USE_GITHUB= yes
-GH_ACCOUNT= mltframework
-GH_TAGNAME= e918ce4
-
-USES= compiler:c++11-lang mlt:6 pkgconfig qmake qt:5
-USE_QT= 3d buildtools_build declarative opengl webkit
-USE_LDCONFIG= yes
-
-PORTEXAMPLES= *
-
-OPTIONS_DEFINE= DOXYGEN EXAMPLES
-OPTIONS_SUB= yes
-
-DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
-
-post-patch-EXAMPLES-on:
- @${REINPLACE_CMD} -i '' -e 's,examples/,,g' ${WRKSRC}/demo/mlt/*
-
-pre-configure:
-# Fix make jobs and speed up build.
- @${REINPLACE_CMD} -e 's/debug_and_release//' ${WRKSRC}/common.pri
-
-post-build-DOXYGEN-on:
- cd ${WRKSRC} && ${MAKE} doxydoc
-
-post-install-DOXYGEN-on:
- cd ${WRKSRC}/doxydoc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}
-
-post-install-EXAMPLES-on:
- cd ${WRKSRC}/demo/examples && \
- ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
- cd ${WRKSRC}/demo && \
- ${COPYTREE_SHARE} mlt ${STAGEDIR}${EXAMPLESDIR}
-
-.include <bsd.port.mk>
diff --git a/multimedia/webvfx-qt5/distinfo b/multimedia/webvfx-qt5/distinfo
deleted file mode 100644
index 84f29b630681..000000000000
--- a/multimedia/webvfx-qt5/distinfo
+++ /dev/null
@@ -1,3 +0,0 @@
-TIMESTAMP = 1482943021
-SHA256 (mltframework-webvfx-0.4.4-20160823-e918ce4_GH0.tar.gz) = 0fdeecf484195e33cc7eb29000ee9372e96e6752560a8219a7dc2745bfb5cf0d
-SIZE (mltframework-webvfx-0.4.4-20160823-e918ce4_GH0.tar.gz) = 239354
diff --git a/multimedia/webvfx-qt5/files/patch-tools_browser_browser.ui b/multimedia/webvfx-qt5/files/patch-tools_browser_browser.ui
deleted file mode 100644
index a334207c1296..000000000000
--- a/multimedia/webvfx-qt5/files/patch-tools_browser_browser.ui
+++ /dev/null
@@ -1,11 +0,0 @@
---- tools/browser/browser.ui.orig 2018-12-11 15:29:09 UTC
-+++ tools/browser/browser.ui
-@@ -59,7 +59,7 @@
- <customwidget>
- <class>QWebView</class>
- <extends>QWidget</extends>
-- <header>QtWebKit/QWebView</header>
-+ <header>QtWebKitWidgets/QWebView</header>
- </customwidget>
- </customwidgets>
- <resources/>
diff --git a/multimedia/webvfx-qt5/pkg-descr b/multimedia/webvfx-qt5/pkg-descr
deleted file mode 100644
index cebac2600d8a..000000000000
--- a/multimedia/webvfx-qt5/pkg-descr
+++ /dev/null
@@ -1,8 +0,0 @@
-WebVfx is a video effects framework that allows video effects
-(filters, transitions, etc.) to be authored using web technologies
-(HTML, CSS, JavaScript, WebGL, etc.) or with Qt Quick QML (a
-declarative CSS and JavaScript like language).
-
-WebVfx includes plugins for the MLT open source multimedia framework.
-
-WWW: https://www.mltframework.org/doxygen/webvfx/
diff --git a/multimedia/webvfx-qt5/pkg-plist b/multimedia/webvfx-qt5/pkg-plist
deleted file mode 100644
index a47e688816a7..000000000000
--- a/multimedia/webvfx-qt5/pkg-plist
+++ /dev/null
@@ -1,149 +0,0 @@
-bin/webvfx_browser
-bin/webvfx_render
-bin/webvfx_viewer
-lib/libwebvfx.so
-lib/libwebvfx.so.1
-lib/libwebvfx.so.1.0
-lib/libwebvfx.so.1.0.0
-lib/mlt/libmltwebvfx.so
-%%DOXYGEN%%%%DOCSDIR%%/annotated.html
-%%DOXYGEN%%%%DOCSDIR%%/bc_s.png
-%%DOXYGEN%%%%DOCSDIR%%/bdwn.png
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_effects-members.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_effects.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_image-members.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_image.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_logger-members.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_logger.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_parameters-members.html
-%%DOXYGEN%%%%DOCSDIR%%/class_web_vfx_1_1_parameters.html
-%%DOXYGEN%%%%DOCSDIR%%/classes.html
-%%DOXYGEN%%%%DOCSDIR%%/closed.png
-%%DOXYGEN%%%%DOCSDIR%%/dir_9ead2682ff8c5d072d53541a40d3c441.html
-%%DOXYGEN%%%%DOCSDIR%%/doc.png
-%%DOXYGEN%%%%DOCSDIR%%/doxygen.css
-%%DOXYGEN%%%%DOCSDIR%%/doxygen.svg
-%%DOXYGEN%%%%DOCSDIR%%/dynsections.js
-%%DOXYGEN%%%%DOCSDIR%%/effects_3d.html
-%%DOXYGEN%%%%DOCSDIR%%/effects_authoring.html
-%%DOXYGEN%%%%DOCSDIR%%/examples.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2filter-demo_8html-example.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2filter-demo_8qml-example.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2producer-demo_8html-example.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2transition-demo3d_8qml-example.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2transition-demo_8html-example.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2transition-shader-crosszoom_8html-example.html
-%%DOXYGEN%%%%DOCSDIR%%/examples_2transition-shader-pagecurl_8html-example.html
-%%DOXYGEN%%%%DOCSDIR%%/folderclosed.png
-%%DOXYGEN%%%%DOCSDIR%%/folderopen.png
-%%DOXYGEN%%%%DOCSDIR%%/functions.html
-%%DOXYGEN%%%%DOCSDIR%%/functions_enum.html
-%%DOXYGEN%%%%DOCSDIR%%/functions_eval.html
-%%DOXYGEN%%%%DOCSDIR%%/functions_func.html
-%%DOXYGEN%%%%DOCSDIR%%/functions_vars.html
-%%DOXYGEN%%%%DOCSDIR%%/hierarchy.html
-%%DOXYGEN%%%%DOCSDIR%%/index.html
-%%DOXYGEN%%%%DOCSDIR%%/jquery.js
-%%DOXYGEN%%%%DOCSDIR%%/license.html
-%%DOXYGEN%%%%DOCSDIR%%/logo.png
-%%DOXYGEN%%%%DOCSDIR%%/menu.js
-%%DOXYGEN%%%%DOCSDIR%%/menudata.js
-%%DOXYGEN%%%%DOCSDIR%%/mlt.html
-%%DOXYGEN%%%%DOCSDIR%%/namespace_web_vfx.html
-%%DOXYGEN%%%%DOCSDIR%%/namespacemembers.html
-%%DOXYGEN%%%%DOCSDIR%%/namespacemembers_func.html
-%%DOXYGEN%%%%DOCSDIR%%/namespaces.html
-%%DOXYGEN%%%%DOCSDIR%%/nav_f.png
-%%DOXYGEN%%%%DOCSDIR%%/nav_g.png
-%%DOXYGEN%%%%DOCSDIR%%/nav_h.png
-%%DOXYGEN%%%%DOCSDIR%%/open.png
-%%DOXYGEN%%%%DOCSDIR%%/pages.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_1.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_1.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_2.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_2.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_3.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_3.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_4.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_4.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_5.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_5.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_6.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_6.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_7.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_7.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_8.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_8.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_9.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_9.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_a.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_a.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_b.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_b.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_c.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_c.js
-%%DOXYGEN%%%%DOCSDIR%%/search/all_d.html
-%%DOXYGEN%%%%DOCSDIR%%/search/all_d.js
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_1.html
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_1.js
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_2.html
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_2.js
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_3.html
-%%DOXYGEN%%%%DOCSDIR%%/search/classes_3.js
-%%DOXYGEN%%%%DOCSDIR%%/search/close.svg
-%%DOXYGEN%%%%DOCSDIR%%/search/enums_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/enums_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/enumvalues_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/enumvalues_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/enumvalues_1.html
-%%DOXYGEN%%%%DOCSDIR%%/search/enumvalues_1.js
-%%DOXYGEN%%%%DOCSDIR%%/search/enumvalues_2.html
-%%DOXYGEN%%%%DOCSDIR%%/search/enumvalues_2.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_1.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_1.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_2.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_2.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_3.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_3.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_4.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_4.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_5.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_5.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_6.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_6.js
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_7.html
-%%DOXYGEN%%%%DOCSDIR%%/search/functions_7.js
-%%DOXYGEN%%%%DOCSDIR%%/search/mag_sel.svg
-%%DOXYGEN%%%%DOCSDIR%%/search/namespaces_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/namespaces_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/nomatches.html
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_0.js
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_1.html
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_1.js
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_2.html
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_2.js
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_3.html
-%%DOXYGEN%%%%DOCSDIR%%/search/pages_3.js
-%%DOXYGEN%%%%DOCSDIR%%/search/search.css
-%%DOXYGEN%%%%DOCSDIR%%/search/search.js
-%%DOXYGEN%%%%DOCSDIR%%/search/search_l.png
-%%DOXYGEN%%%%DOCSDIR%%/search/search_m.png
-%%DOXYGEN%%%%DOCSDIR%%/search/search_r.png
-%%DOXYGEN%%%%DOCSDIR%%/search/searchdata.js
-%%DOXYGEN%%%%DOCSDIR%%/search/variables_0.html
-%%DOXYGEN%%%%DOCSDIR%%/search/variables_0.js
-%%DOXYGEN%%%%DOCSDIR%%/splitbar.png
-%%DOXYGEN%%%%DOCSDIR%%/sync_off.png
-%%DOXYGEN%%%%DOCSDIR%%/sync_on.png
-%%DOXYGEN%%%%DOCSDIR%%/tab_a.png
-%%DOXYGEN%%%%DOCSDIR%%/tab_b.png
-%%DOXYGEN%%%%DOCSDIR%%/tab_h.png
-%%DOXYGEN%%%%DOCSDIR%%/tab_s.png
-%%DOXYGEN%%%%DOCSDIR%%/tabs.css
diff --git a/multimedia/wf-recorder/Makefile b/multimedia/wf-recorder/Makefile
index 353069970f43..ad04fcbc2f32 100644
--- a/multimedia/wf-recorder/Makefile
+++ b/multimedia/wf-recorder/Makefile
@@ -1,13 +1,12 @@
PORTNAME= wf-recorder
-DISTVERSION= 0.2.1
+DISTVERSION= 0.4.1
+PORTREVISION= 1
CATEGORIES= multimedia wayland
MASTER_SITES= https://github.com/ammen99/wf-recorder/releases/download/v${DISTVERSION}/
-PATCH_SITES= https://github.com/ammen99/${PORTNAME}/commit/
-PATCHFILES+= 78d6a60833aa.patch:-p1 # https://github.com/ammen99/wf-recorder/pull/88
-
MAINTAINER= ports@FreeBSD.org
COMMENT= Screen recorder for wlroots-based compositors
+WWW= https://github.com/ammen99/wf-recorder
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -18,25 +17,27 @@ BUILD_DEPENDS= scdoc:textproc/scdoc \
LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \
libwayland-client.so:graphics/wayland
-USES= compiler:c++11-lang meson pkgconfig tar:xz
+USES= compiler:c++11-lang gl meson pkgconfig tar:xz
+USE_GL= gbm
PLIST_FILES= bin/wf-recorder \
- man/man1/wf-recorder.1.gz
+ share/man/man1/wf-recorder.1.gz
PORTDOCS= README.md
-OPTIONS_DEFINE= DOCS OPENCL PULSEAUDIO
-OPTIONS_DEFAULT= OPENCL PULSEAUDIO
+OPTIONS_DEFINE= DOCS PULSEAUDIO
+OPTIONS_DEFAULT= PULSEAUDIO
-OPENCL_DESC= RGB to YUV conversion with the help of OpenCL
PULSEAUDIO_DESC=Audio recording via PulseAudio
-OPENCL_BUILD_DEPENDS= opencl>0:devel/opencl
-OPENCL_LIB_DEPENDS= libOpenCL.so:devel/ocl-icd
-OPENCL_MESON_ENABLED= opencl
-
PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio
PULSEAUDIO_MESON_ENABLED= pulse
+post-patch:
+# Extract (snapshot) version from the port instead of meson.build
+ @${REINPLACE_CMD} -i .nogit -e 's/git.found()/false/' \
+ -e '/project_version/s/@0@/${DISTVERSIONFULL}/' \
+ ${WRKSRC}/meson.build
+
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/wf-recorder/distinfo b/multimedia/wf-recorder/distinfo
index 1c82f13b53e7..cc305428b5e8 100644
--- a/multimedia/wf-recorder/distinfo
+++ b/multimedia/wf-recorder/distinfo
@@ -1,5 +1,3 @@
-TIMESTAMP = 1586883884
-SHA256 (wf-recorder-0.2.1.tar.xz) = bfe51f4f88ba755ac0ad993d00da706496f84e60b53de0ae24fe1c654cfaa376
-SIZE (wf-recorder-0.2.1.tar.xz) = 19828
-SHA256 (78d6a60833aa.patch) = a5bf2b396a0979249e8a8b7a9321a5c08cc257457679dc9a3895aab46db05f6e
-SIZE (78d6a60833aa.patch) = 11711
+TIMESTAMP = 1693891097
+SHA256 (wf-recorder-0.4.1.tar.xz) = 502ba54db8aaf5ebd280738f065c73409694a1440b9a660ef5c4e398714c51f7
+SIZE (wf-recorder-0.4.1.tar.xz) = 26184
diff --git a/multimedia/wf-recorder/pkg-descr b/multimedia/wf-recorder/pkg-descr
index 35bfae914c4e..efd40d34e690 100644
--- a/multimedia/wf-recorder/pkg-descr
+++ b/multimedia/wf-recorder/pkg-descr
@@ -1,5 +1,3 @@
wf-recorder is a utility program for screen recording of wlroots-based
compositors (more specifically, those that support wlr-screencopy-v1
and xdg-output).
-
-WWW: https://github.com/ammen99/wf-recorder
diff --git a/multimedia/win32-codecs/Makefile b/multimedia/win32-codecs/Makefile
deleted file mode 100644
index ce0e54302913..000000000000
--- a/multimedia/win32-codecs/Makefile
+++ /dev/null
@@ -1,81 +0,0 @@
-# Created by: Holger Lamm
-
-PORTNAME= win32-codecs
-DISTVERSION= 20110131
-PORTEPOCH= 1
-CATEGORIES= multimedia audio
-MASTER_SITES= http://www.mplayerhq.hu/MPlayer/releases/codecs/ \
- http://ftp.lug.udel.edu/MPlayer/releases/codecs/ \
- ftp://ftp.lug.udel.edu/MPlayer/releases/codecs/
-DISTFILES= all-${DISTVERSION}.tar.bz2 \
- ${ADDITIONAL_CODECS_DISTFILES}
-DIST_SUBDIR= win32
-EXTRACT_ONLY= all-${DISTVERSION}.tar.bz2
-
-MAINTAINER= multimedia@FreeBSD.org
-COMMENT= Huge compilation of Win32 binary video codecs
-
-# Converted from RESTRICTED
-LICENSE= win32-codec
-LICENSE_NAME= win32-codec
-LICENSE_TEXT= Unsure of codec's license
-LICENSE_PERMS= auto-accept
-
-USES= tar:bzip2
-
-ONLY_FOR_ARCHS= i386
-NO_BUILD= yes
-WRKSRC= ${WRKDIR}/w32codec-${DISTVERSION}
-
-PLIST_SUB= PKGNAME=${PKGNAME}
-
-# Used by other ports to detect if this is installed
-CODEC_DETECTION_FILE= ${LOCALBASE}/lib/win32/${PKGNAME}
-
-# additional codec packs
-ADDITIONAL_CODECS_DISTFILES= xanimdlls-20040626.tar.bz2
-
-# extraction wrksrc
-ADDITIONAL_CODECS_WRKSRC= ${DISTFILES:S/.tar.bz2//}
-
-# list of quicktime codecs that will be removed
-REMOVE_CODECS_FILES= AvidQTAVUICodec.qtx QuickTimeEssentials.qtx QuickTime.qts \
- QuickTimeInternetExtras.qtx qtmlClient.dll BeHereiVideo.qtx
-
-OPTIONS_DEFINE= REALPLAYER
-OPTIONS_DEFAULT= REALPLAYER
-REALPLAYER_DESC= Install realplayer codec
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MREALPLAYER}
-ADDITIONAL_CODECS_DISTFILES+= rp9codecs-20050115.tar.bz2 \
- rp9codecs-win32-20050115.tar.bz2
-PLIST_SUB+= REALPLAYER=""
-.else
-PLIST_SUB+= REALPLAYER="@comment "
-.endif
-
-post-extract:
- @cd ${WRKDIR}/all-${DISTVERSION} && \
- ${RM} ${REMOVE_CODECS_FILES}
-.for file in ${ADDITIONAL_CODECS_DISTFILES}
- @cd ${WRKDIR} && ${TAR} xyf \
- ${DISTDIR}/${DIST_SUBDIR}/${file}
-.endfor
- @${MKDIR} ${WRKSRC}
-.for dir in ${ADDITIONAL_CODECS_WRKSRC}
- @${INSTALL} ${WRKDIR}/${dir}/* ${WRKSRC}
-.endfor
-
-do-install:
- @${MKDIR} ${STAGEDIR}${PREFIX}/lib/win32
-.if ${PORT_OPTIONS:MREALPLAYER}
- @${INSTALL_DATA} ${WRKSRC}/* ${STAGEDIR}${PREFIX}/lib/win32
-.else
- @${INSTALL_DATA} ${WRKSRC}/*[^0] ${STAGEDIR}${PREFIX}/lib/win32
-.endif
-# marker file
- @${CP} /dev/null ${STAGEDIR}${PREFIX}/lib/win32/${PKGNAME}
-
-.include <bsd.port.mk>
diff --git a/multimedia/win32-codecs/distinfo b/multimedia/win32-codecs/distinfo
deleted file mode 100644
index b9e6f4b0eb3f..000000000000
--- a/multimedia/win32-codecs/distinfo
+++ /dev/null
@@ -1,8 +0,0 @@
-SHA256 (win32/all-20110131.tar.bz2) = 448e94f6246564f2d815d68ba530ac3adc051f3a33beda63e38075009e5e2c55
-SIZE (win32/all-20110131.tar.bz2) = 25863214
-SHA256 (win32/xanimdlls-20040626.tar.bz2) = 389bd7722dacf99bb453c85c2a2740b676aeed3ab2ca54d66ede86e33086b4ce
-SIZE (win32/xanimdlls-20040626.tar.bz2) = 318850
-SHA256 (win32/rp9codecs-20050115.tar.bz2) = 353c22e2c992a1c730bdd5fade66a94e1a058e38063d2ce064a6510b70c39677
-SIZE (win32/rp9codecs-20050115.tar.bz2) = 510136
-SHA256 (win32/rp9codecs-win32-20050115.tar.bz2) = f1a8ae1861263411ee6233373b8f98490e334e9ca058af1149ce5eec11d737b7
-SIZE (win32/rp9codecs-win32-20050115.tar.bz2) = 540641
diff --git a/multimedia/win32-codecs/pkg-descr b/multimedia/win32-codecs/pkg-descr
deleted file mode 100644
index 44cecbcbe551..000000000000
--- a/multimedia/win32-codecs/pkg-descr
+++ /dev/null
@@ -1,39 +0,0 @@
-A huge compilation of Win32 codecs:
-
-Video:
-- Win32 VfW DLLs:
- Indeo Video 3.2, 4.1
- Microsoft MPEG-4 v1 & v2 beta
- Microsoft MPEG-4 v3 ( also known as DivX ;-) )
- Cinepak Video
- ATI VCR-2
- I263
- Quicktime 6 (includes 3ivX, ZyGo)
- Realplayer 9 (includes RV40)
- xanim (includes 3ivX, Indeo3/4/5)
-- Win32 DirectShow filters, decompression-only support:
- Microsoft MPEG-4 v3 ( this decoder is slower than VfW one,
- but offers wider range of picture control features )
- Windows Media Video 7
- Indeo Video 5.0
- Motion JPEG ( using Morgan Multimedia shareware codec )
-- Open-source plugins:
- Motion JPEG ( using libjpeg, very slow )
-
-Audio:
-- Win32 ACM DLLs, decompression-only support:
- Windows Media Audio ( also known as DivX ;-) Audio )
- MS ADPCM
- Intel Music Codec
-- Open-source plugins, decompression-only support:
- PCM
- AC3
- IMA ADPCM
- MPEG Layer-1,2,3 ( compression into MP3 is also supported )
- MSN Audio
- GSM 6.1 Audio
-- Win32 DirectShow filters, untested decompression-only support:
- Voxware Metasound
- ACELP.net
-
-WWW: http://www.mplayerhq.hu/MPlayer/releases/codecs/
diff --git a/multimedia/win32-codecs/pkg-plist b/multimedia/win32-codecs/pkg-plist
deleted file mode 100644
index 40d37340d6e4..000000000000
--- a/multimedia/win32-codecs/pkg-plist
+++ /dev/null
@@ -1,239 +0,0 @@
-lib/win32/README
-lib/win32/14_43260.dll
-lib/win32/28_83260.dll
-lib/win32/3ivx Delta 3.5.qtx
-lib/win32/3ivx.dll
-lib/win32/3ivxDSVideoDecoder.ax
-lib/win32/ACDV.dll
-lib/win32/ACTLComponent.qtx
-lib/win32/ADV601.dll
-lib/win32/Amv2Codec.dll
-lib/win32/AppleProResDecoder.qtx
-lib/win32/AvidAVICodec.dll
-lib/win32/AvidAVdnCodec.qtx
-lib/win32/BMDCodecLib.dll
-lib/win32/BTVVC32.DRV
-lib/win32/CLRVIDDC.DLL
-lib/win32/CSEUvec.dll
-lib/win32/CUVCcodc.dll
-lib/win32/CineWave.qtx
-lib/win32/CtWbJpg.DLL
-lib/win32/DECVW_32.DLL
-lib/win32/DVACM.acm
-lib/win32/G2M.dll
-lib/win32/GXAMP4.dll
-lib/win32/GeoCodec.dll
-lib/win32/KGV1-VFW.dll
-lib/win32/LCMW2.dll
-lib/win32/LCODCCMW2E.dll
-lib/win32/LCodcCMP.dll
-lib/win32/MLZCodec.dll
-lib/win32/MV3.dll
-lib/win32/MVCodec.dll
-lib/win32/Microsoft.Expression.Encoder.EEScreen.Codec.dll
-lib/win32/MyFlashZip0.ax
-lib/win32/Nsgsm32.acm
-lib/win32/Nstsp32.acm
-lib/win32/NuB2.dll
-lib/win32/On2_VP3.qtx
-lib/win32/SCLS.DLL
-lib/win32/SN4Codec.dll
-lib/win32/Sif1Dec.ax
-lib/win32/Sif1_vfw.dll
-lib/win32/TRICDC32.DRV
-lib/win32/VDODEC32.dll
-lib/win32/VFCodec.dll
-lib/win32/VTZ32.DLL
-lib/win32/ViVD2.dll
-lib/win32/WCMV.dll
-lib/win32/WavCWAIP.dll
-lib/win32/WavLor.dll
-lib/win32/Zlib.dll
-lib/win32/ZyGoAudioS.qtx
-lib/win32/ZyGoVideo.qtx
-lib/win32/acelpdec.ax
-lib/win32/alf2cd.acm
-lib/win32/aoxdxipl.ax
-lib/win32/aslcodec_dshow.dll
-lib/win32/aslcodec_vfw.dll
-lib/win32/asusasv2.dll
-lib/win32/asusasvd.dll
-lib/win32/ativcr1.dll
-lib/win32/ativcr2.dll
-lib/win32/atrac3.acm
-lib/win32/avimszh.dll
-lib/win32/avizlib.dll
-lib/win32/blox.dll
-lib/win32/bw10.dll
-lib/win32/camfc.dll
-lib/win32/cinevfw.dll
-lib/win32/cllccodc.dll
-lib/win32/clrviddd.dll
-lib/win32/cook.so
-lib/win32/cseHQa.dll
-lib/win32/csellc.dll
-lib/win32/ctadp32.acm
-lib/win32/decvdo.dll
-lib/win32/divx.dll
-lib/win32/divx_c32.ax
-lib/win32/divxa32.acm
-lib/win32/divxc32.dll
-lib/win32/drvc.so
-lib/win32/fmcodec.DLL
-lib/win32/frapsvid.dll
-lib/win32/frwd.dll
-lib/win32/frwt.dll
-lib/win32/frwu.dll
-lib/win32/huffyuv.dll
-lib/win32/i263_32.drv
-lib/win32/iac25_32.ax
-lib/win32/iccvid.dll
-lib/win32/icmw_32.dll
-lib/win32/imaadp32.acm
-lib/win32/imc32.acm
-lib/win32/ir32_32.dll
-lib/win32/ir41_32.dll
-lib/win32/ir50_32.dll
-lib/win32/ivvideo.dll
-lib/win32/jp2avi.dll
-lib/win32/kdvyuv8.dll
-lib/win32/l3codeca.acm
-lib/win32/lagarith.dll
-lib/win32/lhacm.acm
-lib/win32/lhacm2.acm
-lib/win32/libguide40.dll
-lib/win32/lsvxdec.dll
-lib/win32/m3jp2k32.dll
-lib/win32/m3jpeg32.dll
-lib/win32/m3jpegdec.ax
-lib/win32/mcdvd_32.dll
-lib/win32/mcmjpg32.dll
-lib/win32/md5sum
-lib/win32/mi-sc4.acm
-lib/win32/mpg4c32.dll
-lib/win32/mpg4ds32.ax
-lib/win32/msadp32.acm
-lib/win32/msgsm32.acm
-lib/win32/msh261.drv
-lib/win32/msms001.vwp
-lib/win32/msnaudio.acm
-lib/win32/msscds32.ax
-lib/win32/msvcr100.dll
-lib/win32/msvidc32.dll
-lib/win32/mvoiced.vwp
-lib/win32/mwsc.dll
-lib/win32/nsrt2432.acm
-lib/win32/nsvideo.dll
-lib/win32/nuvision.ax
-lib/win32/pclepim1.dll
-lib/win32/psiv.dll
-lib/win32/pvljpg20.dll
-lib/win32/pvmjpg21.dll
-lib/win32/pvwv220.dll
-lib/win32/qdv.dll
-lib/win32/qpeg32.dll
-lib/win32/rricm.dll
-lib/win32/rt32dcmp.dll
-lib/win32/scdec.dll
-lib/win32/scg726.acm
-lib/win32/scrvid.dll
-lib/win32/sirenacm.dll
-lib/win32/slif.dll
-lib/win32/smcelp32.acm
-lib/win32/smv2vfw.dll
-lib/win32/sp4x_32.dll
-lib/win32/sp5x_32.dll
-lib/win32/sp6x_32.dll
-lib/win32/tm20dec.ax
-lib/win32/tm2x.dll
-lib/win32/tr2032.dll
-lib/win32/tsccvid.dll
-lib/win32/tsd32.dll
-lib/win32/tssoft32.acm
-lib/win32/tvqdec.dll
-lib/win32/ubv263d+.ax
-lib/win32/ubvmp4d.dll
-lib/win32/ultimo.dll
-lib/win32/vcmimm4.dll
-lib/win32/vdo32_30.drv
-lib/win32/vdowave.acm
-lib/win32/vdowave.drv
-lib/win32/vgpix32d.dll
-lib/win32/vid_3ivX.xa
-lib/win32/vid_3ivX_d3.5_linuxELFx86c6.xa
-lib/win32/vid_cvid.xa
-lib/win32/vid_cvid_2.1_linuxELFx86c6.xa
-lib/win32/vid_cyuv.xa
-lib/win32/vid_cyuv_1.0_linuxELFx86c6.xa
-lib/win32/vid_h261.xa
-lib/win32/vid_h261_1.0_linuxELFx86c6.xa
-lib/win32/vid_h263.xa
-lib/win32/vid_h263_1.1_linuxELFx86c6.xa
-lib/win32/vid_iv32.xa
-lib/win32/vid_iv32_2.1_linuxELFx86c6.xa
-lib/win32/vid_iv41.xa
-lib/win32/vid_iv41_1.1_linuxELFx86c6.xa
-lib/win32/vid_iv50.xa
-lib/win32/vid_iv50_1.0_linuxELFx86c6.xa
-lib/win32/vivog723.acm
-lib/win32/vmnc.dll
-lib/win32/vorbis.acm
-lib/win32/voxmsdec.ax
-lib/win32/vp31vfw.dll
-lib/win32/vp4vfw.dll
-lib/win32/vp5vfw.dll
-lib/win32/vp6vfw.dll
-lib/win32/vp7vfw.dll
-lib/win32/vssh264.dll
-lib/win32/vssh264core.dll
-lib/win32/vssh264dec.dll
-lib/win32/vsshdsd.dll
-lib/win32/vsslight.dll
-lib/win32/vsswlt.dll
-lib/win32/wavelet.dll
-lib/win32/wma9dmod.dll
-lib/win32/wmadmod.dll
-lib/win32/wmavds32.ax
-lib/win32/wms10dmod.dll
-lib/win32/wmsdmod.dll
-lib/win32/wmspdmod.dll
-lib/win32/wmv8ds32.ax
-lib/win32/wmv9dmod.dll
-lib/win32/wmvadvd.dll
-lib/win32/wmvdmod.dll
-lib/win32/wmvds32.ax
-lib/win32/wnvplay1.dll
-lib/win32/wnvwinx.dll
-lib/win32/wtvc.DLL
-lib/win32/wv32vfw.dll
-lib/win32/wvc1dmod.dll
-lib/win32/xanlib.dll
-lib/win32/xfcodec.dll
-lib/win32/ylc.vcm
-lib/win32/zlib1.dll
-lib/win32/zmbv.dll
-%%REALPLAYER%%lib/win32/dnet.so.6.0
-%%REALPLAYER%%lib/win32/drv2.so.6.0
-%%REALPLAYER%%lib/win32/tokr.so.6.0
-%%REALPLAYER%%lib/win32/drv4.so.6.0
-%%REALPLAYER%%lib/win32/dspr.so.6.0
-%%REALPLAYER%%lib/win32/atrc.so.6.0
-%%REALPLAYER%%lib/win32/drv3.so.6.0
-%%REALPLAYER%%lib/win32/ddnt.so.6.0
-%%REALPLAYER%%lib/win32/cook.so.6.0
-%%REALPLAYER%%lib/win32/sipr.so.6.0
-%%REALPLAYER%%lib/win32/tokf.so.6.0
-%%REALPLAYER%%lib/win32/NOTE
-%%REALPLAYER%%lib/win32/Readme.txt
-%%REALPLAYER%%lib/win32/atrc3260.dll
-%%REALPLAYER%%lib/win32/cook3260.dll
-%%REALPLAYER%%lib/win32/drv13260.dll
-%%REALPLAYER%%lib/win32/drv23260.dll
-%%REALPLAYER%%lib/win32/drv33260.dll
-%%REALPLAYER%%lib/win32/drv43260.dll
-%%REALPLAYER%%lib/win32/pncrt.dll
-%%REALPLAYER%%lib/win32/sipr3260.dll
-%%REALPLAYER%%lib/win32/tokr3260.dll
-@mode 0444
-lib/win32/%%PKGNAME%%
-@mode
diff --git a/multimedia/winff/Makefile b/multimedia/winff/Makefile
index 5090103d923b..5563d81f9d5c 100644
--- a/multimedia/winff/Makefile
+++ b/multimedia/winff/Makefile
@@ -1,15 +1,14 @@
-# Created by: Thierry Thomas <thierry@pompo.net>
-
PORTNAME= WinFF
-PORTVERSION= 1.5.5
-PORTREVISION= 22
+PORTVERSION= 1.6.3
+PORTREVISION= 1
CATEGORIES= multimedia
-MASTER_SITES= LOCAL/thierry
+MASTER_SITES= https://github.com/WinFF/winff/archive/refs/tags/
PKGNAMESUFFIX= ${LAZARUS_PKGNAMESUFFIX}
-DISTNAME= ${_PORTNAME}-${PORTVERSION}-source
+DISTNAME= ${_PORTNAME}-${PORTVERSION}
MAINTAINER= thierry@FreeBSD.org
COMMENT= Convert your videos quickly, easily, and all at once
+WWW= https://www.biggmatt.com/p/winff.html
LICENSE= GPLv3
@@ -17,9 +16,10 @@ LIB_DEPENDS= libavutil.so:multimedia/ffmpeg
USES= fpc lazarus:flavors xorg
USE_XORG= x11
-USE_FPC= chm fcl-base fcl-image fcl-json fcl-xml pasjpeg regexpr x11
-NO_WRKSUBDIR= yes
+#USE_GITHUB= yes
+#GH_PROJECT= ${_PORTNAME}
+
_PORTNAME= ${PORTNAME:tl}
DATADIR= ${PREFIX}/share/${_PORTNAME}
DOCSDIR= ${PREFIX}/share/doc/${_PORTNAME}
@@ -31,15 +31,14 @@ DESKTOP_ENTRIES= "${PORTNAME}" \
"AudioVideo;" \
true
-LAZARUS_NO_FLAVORS= qt5
LAZARUS_PROJECT_FILES= winff.lpr
-LAZBUILD_ARGS= -d
+LAZBUILD_ARGS= -d --pcp=${WRKSRC} --scp=${WRKDIR}
-BUILD_WRKSRC= ${WRKDIR}/${PKGNAME}/${_PORTNAME}
+WRKSRC= ${WRKDIR}/${_PORTNAME}-${_PORTNAME}-${PORTVERSION}
+BUILD_WRKSRC= ${WRKSRC}/${_PORTNAME}
.if ${FLAVOR:Ugtk2:Mgtk2}
USES+= gnome
-USE_FPC+= cairo
USE_GNOME+= cairo
.endif
@@ -51,12 +50,15 @@ pre-configure:
${REINPLACE_CMD} -e 's|/usr/bin/|${LOCALBASE}/bin/|g' ${BUILD_WRKSRC}/${fp}
.endfor
+pre-build:
+ ${CP} -p ${LOCALBASE}/etc/fppkg.cfg ${WRKDIR}
+
do-install:
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/${PORTNAME:tl} ${STAGEDIR}${PREFIX}/bin
${MKDIR} ${STAGEDIR}${DATADIR}/languages
${INSTALL_DATA} ${BUILD_WRKSRC}/presets.xml ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${BUILD_WRKSRC}/languages/* ${STAGEDIR}${DATADIR}/languages/
- ${INSTALL_MAN} ${BUILD_WRKSRC}/${_PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ ${INSTALL_MAN} ${BUILD_WRKSRC}/${_PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1
${INSTALL_DATA} ${BUILD_WRKSRC}/winff-icons/48x48/${_PORTNAME}.png \
${STAGEDIR}${PREFIX}/share/pixmaps
${MKDIR} ${STAGEDIR}${DOCSDIR}
diff --git a/multimedia/winff/distinfo b/multimedia/winff/distinfo
index 0909933648b1..f729d7be0111 100644
--- a/multimedia/winff/distinfo
+++ b/multimedia/winff/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1475613452
-SHA256 (winff-1.5.5-source.tar.gz) = 3f67400ab8f7f43d2290dff3c5a0a8b8a966ba67cd971edb5d63e6a127d7a485
-SIZE (winff-1.5.5-source.tar.gz) = 2622722
+TIMESTAMP = 1708452527
+SHA256 (winff-1.6.3.tar.gz) = 7205b855c65f2d642cd3619e1c3e2943f058ed97d0c69d1544a91164c713786a
+SIZE (winff-1.6.3.tar.gz) = 40479311
diff --git a/multimedia/winff/files/patch-winff_unit1.pas b/multimedia/winff/files/patch-winff_unit1.pas
index e272ae6f9916..f7022575e327 100644
--- a/multimedia/winff/files/patch-winff_unit1.pas
+++ b/multimedia/winff/files/patch-winff_unit1.pas
@@ -1,52 +1,11 @@
---- winff/unit1.pas 2016-09-21 16:40:54.000000000 -0500
-+++ winff/unit1.pas 2018-03-07 17:35:42.310241000 -0500
-@@ -27,7 +27,7 @@
- {$IFDEF WINDOWS} windows, shellapi, dos,{$endif}
- {$IFDEF unix} baseunix, unix, {$endif}
- laz_xmlcfg, dom, xmlread, xmlwrite, StdCtrls, Buttons, ActnList, Menus, unit2, unit3,
-- unit4, unit5, gettext, translations, process
-+ unit4, unit5, gettext, translations, process, LazFileUtils, LazUTF8
- {$IFDEF TRANSLATESTRING}, DefaultTranslator{$ENDIF}, ExtCtrls, ComCtrls, Spin, UTF8Process,
- PoTranslator, types, FileUtil, regexpr;
+--- winff/unit1.pas.orig 2024-02-19 13:49:13 UTC
++++ winff/unit1.pas
+@@ -31,7 +31,7 @@ uses
+ {$IFDEF TRANSLATESTRING}, DefaultTranslator{$ENDIF},
+ ExtCtrls, ComCtrls, Spin, UTF8Process, PoTranslator, types, FileUtil, regexpr
+ {$IFDEF WINDOWS}, LazUTF8, LazFileUtils {$endif}
+- {$IFDEF linux}, LazUTF8, LazFileUtils {$endif};
++ {$IFDEF unix}, LazUTF8, LazFileUtils {$endif};
-@@ -1241,13 +1241,13 @@
+ type
- // launch browser
- procedure TfrmMain.launchbrowser(URL:string);
--{$IFDEF linux}
-+{$IFDEF unix}
- var
- launcher:tprocess;
- s:string;
- {$endif}
- begin
-- {$ifdef linux}
-+ {$ifdef unix}
- s:='';
- if fileexists('/usr/bin/konqueror') then s:='/usr/bin/konqueror';
- if fileexists('/usr/bin/mozilla-firefox') then s:='/usr/bin/mozilla-firefox';
-@@ -1382,13 +1382,13 @@
-
- // launch pdf
- procedure TfrmMain.LaunchPdf(pdffile:string);
--{$IFDEF linux}
-+{$IFDEF unix}
- var
- launcher:tprocess;
- s:string;
- {$endif}
- begin
-- {$ifdef linux}
-+ {$ifdef unix}
- s:='';
- if fileexists('/usr/bin/evince') then s:='/usr/bin/evince';
- if fileexists('/usr/bin/kpdf') then s:='/usr/bin/kpdf';
-@@ -1982,7 +1982,7 @@
- language: string;
- begin
- language:=leftstr(lang,2);
-- {$ifdef linux}
-+ {$ifdef unix}
- s :='';
- if fileexists('/usr/share/doc/winff/WinFF.' + language + '.pdf.gz') then s:='/usr/share/doc/winff/WinFF.' + language + '.pdf.gz';
- if fileexists('/usr/share/doc/winff/WinFF.' + language + '.pdf') then s:='/usr/share/doc/winff/WinFF.' + language + '.pdf';
diff --git a/multimedia/winff/pkg-descr b/multimedia/winff/pkg-descr
index 7d69657fc811..8b3ec2f2f22e 100644
--- a/multimedia/winff/pkg-descr
+++ b/multimedia/winff/pkg-descr
@@ -1,3 +1 @@
WinFF is a GUI for FFmpeg. It will let you encode videos easily.
-
-WWW: https://www.biggmatt.com/p/winff.html
diff --git a/multimedia/winff/pkg-plist b/multimedia/winff/pkg-plist
index 7ca0490e70b6..82bd83e13e6f 100644
--- a/multimedia/winff/pkg-plist
+++ b/multimedia/winff/pkg-plist
@@ -1,10 +1,11 @@
bin/winff
-man/man1/winff.1.gz
+share/man/man1/winff.1.gz
%%PORTDOCS%%%%DOCSDIR%%/WinFF.ca.pdf
%%PORTDOCS%%%%DOCSDIR%%/WinFF.en.pdf
%%PORTDOCS%%%%DOCSDIR%%/WinFF.es.pdf
%%PORTDOCS%%%%DOCSDIR%%/WinFF.fr.pdf
%%PORTDOCS%%%%DOCSDIR%%/WinFF.nl.pdf
+%%PORTDOCS%%%%DOCSDIR%%/WinFF.pt.pdf
share/pixmaps/winff.png
%%DATADIR%%/languages/winff.ab.po
%%DATADIR%%/languages/winff.ar.po
@@ -12,7 +13,6 @@ share/pixmaps/winff.png
%%DATADIR%%/languages/winff.bg.po
%%DATADIR%%/languages/winff.ca.po
%%DATADIR%%/languages/winff.cs.po
-%%DATADIR%%/languages/winff.de_DE.po
%%DATADIR%%/languages/winff.de.po
%%DATADIR%%/languages/winff.el.po
%%DATADIR%%/languages/winff.en_GB.po
@@ -36,7 +36,6 @@ share/pixmaps/winff.png
%%DATADIR%%/languages/winff.nb.po
%%DATADIR%%/languages/winff.nl.po
%%DATADIR%%/languages/winff.pl.po
-%%DATADIR%%/languages/winff.po
%%DATADIR%%/languages/winff.pot
%%DATADIR%%/languages/winff.pt_BR.po
%%DATADIR%%/languages/winff.pt.po
diff --git a/multimedia/wireplumber/Makefile b/multimedia/wireplumber/Makefile
new file mode 100644
index 000000000000..2ecad6f3e3a4
--- /dev/null
+++ b/multimedia/wireplumber/Makefile
@@ -0,0 +1,47 @@
+PORTNAME= wireplumber
+DISTVERSION= 0.4.90
+CATEGORIES= multimedia
+
+MAINTAINER= arrowd@FreeBSD.org
+COMMENT= Session and policy manager for PipeWire
+WWW= https://pipewire.pages.freedesktop.org/wireplumber/
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire
+
+USES= gnome localbase:ldflags lua meson pkgconfig python:build
+
+USE_GITLAB= yes
+GL_SITE= https://gitlab.freedesktop.org
+GL_ACCOUNT= pipewire
+
+USE_GNOME= glib20
+
+OPTIONS_DEFINE= DOCS DOXYGEN NLS
+
+DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen \
+ g-ir-scanner:devel/gobject-introspection \
+ sphinx-build:textproc/py-sphinx \
+ ${PYTHON_PKGNAMEPREFIX}breathe>0:devel/py-breathe@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}lxml>0:devel/py-lxml@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}sphinx_rtd_theme>0:textproc/py-sphinx_rtd_theme@${PY_FLAVOR}
+DOXYGEN_MESON_ENABLED= doc introspection
+DOXYGEN_IMPLIES= DOCS
+
+NLS_USES= gettext-runtime gettext-tools
+
+MESON_ARGS= -D system-lua=true \
+ -D systemd=disabled \
+ -D elogind=disabled
+
+OPTIONS_SUB= yes
+
+PORTDOCS= *
+
+post-patch:
+ ${REINPLACE_CMD} -e "s|'python3'|'python${PYTHON_VER}'|" \
+ ${WRKSRC}/docs/meson.build
+
+.include <bsd.port.mk>
diff --git a/multimedia/wireplumber/distinfo b/multimedia/wireplumber/distinfo
new file mode 100644
index 000000000000..a383050eb26e
--- /dev/null
+++ b/multimedia/wireplumber/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1710556110
+SHA256 (wireplumber-0.4.90.tar.bz2) = dea5d162f73a94d6b2d834ec4a5ea011e4917343c10869b8fcd72dbad461f32f
+SIZE (wireplumber-0.4.90.tar.bz2) = 398538
diff --git a/multimedia/wireplumber/pkg-descr b/multimedia/wireplumber/pkg-descr
new file mode 100644
index 000000000000..eac6e3b4fa89
--- /dev/null
+++ b/multimedia/wireplumber/pkg-descr
@@ -0,0 +1,6 @@
+PipeWire is a server and user space API to deal with multimedia pipelines.
+
+WirePlumber is a modular session / policy manager for PipeWire and a
+GObject-based high-level library that wraps PipeWire's API, providing
+convenience for writing the daemon's modules as well as external tools for
+managing PipeWire.
diff --git a/multimedia/wireplumber/pkg-plist b/multimedia/wireplumber/pkg-plist
new file mode 100644
index 000000000000..4ed2f0f3701f
--- /dev/null
+++ b/multimedia/wireplumber/pkg-plist
@@ -0,0 +1,178 @@
+bin/wireplumber
+bin/wpctl
+bin/wpexec
+include/wireplumber-0.5/wp/base-dirs.h
+include/wireplumber-0.5/wp/client.h
+include/wireplumber-0.5/wp/component-loader.h
+include/wireplumber-0.5/wp/conf.h
+include/wireplumber-0.5/wp/core.h
+include/wireplumber-0.5/wp/defs.h
+include/wireplumber-0.5/wp/device.h
+include/wireplumber-0.5/wp/error.h
+include/wireplumber-0.5/wp/event-dispatcher.h
+include/wireplumber-0.5/wp/event-hook.h
+include/wireplumber-0.5/wp/event.h
+include/wireplumber-0.5/wp/factory.h
+include/wireplumber-0.5/wp/global-proxy.h
+include/wireplumber-0.5/wp/iterator.h
+include/wireplumber-0.5/wp/json-utils.h
+include/wireplumber-0.5/wp/link.h
+include/wireplumber-0.5/wp/log.h
+include/wireplumber-0.5/wp/metadata.h
+include/wireplumber-0.5/wp/module.h
+include/wireplumber-0.5/wp/node.h
+include/wireplumber-0.5/wp/object-interest.h
+include/wireplumber-0.5/wp/object-manager.h
+include/wireplumber-0.5/wp/object.h
+include/wireplumber-0.5/wp/plugin.h
+include/wireplumber-0.5/wp/port.h
+include/wireplumber-0.5/wp/properties.h
+include/wireplumber-0.5/wp/proxy-interfaces.h
+include/wireplumber-0.5/wp/proxy.h
+include/wireplumber-0.5/wp/session-item.h
+include/wireplumber-0.5/wp/settings.h
+include/wireplumber-0.5/wp/si-factory.h
+include/wireplumber-0.5/wp/si-interfaces.h
+include/wireplumber-0.5/wp/spa-json.h
+include/wireplumber-0.5/wp/spa-pod.h
+include/wireplumber-0.5/wp/spa-type.h
+include/wireplumber-0.5/wp/state.h
+include/wireplumber-0.5/wp/transition.h
+include/wireplumber-0.5/wp/wp.h
+include/wireplumber-0.5/wp/wpenums.h
+include/wireplumber-0.5/wp/wpversion.h
+%%DOXYGEN%%lib/girepository-1.0/Wp-0.5.typelib
+lib/libwireplumber-0.5.so
+lib/libwireplumber-0.5.so.0
+lib/libwireplumber-0.5.so.0.4.90
+lib/wireplumber-0.5/libwireplumber-module-dbus-connection.so
+lib/wireplumber-0.5/libwireplumber-module-default-nodes-api.so
+lib/wireplumber-0.5/libwireplumber-module-file-monitor-api.so
+lib/wireplumber-0.5/libwireplumber-module-log-settings.so
+lib/wireplumber-0.5/libwireplumber-module-lua-scripting.so
+lib/wireplumber-0.5/libwireplumber-module-mixer-api.so
+lib/wireplumber-0.5/libwireplumber-module-portal-permissionstore.so
+lib/wireplumber-0.5/libwireplumber-module-reserve-device.so
+lib/wireplumber-0.5/libwireplumber-module-settings.so
+lib/wireplumber-0.5/libwireplumber-module-si-audio-adapter.so
+lib/wireplumber-0.5/libwireplumber-module-si-audio-virtual.so
+lib/wireplumber-0.5/libwireplumber-module-si-node.so
+lib/wireplumber-0.5/libwireplumber-module-si-standard-link.so
+lib/wireplumber-0.5/libwireplumber-module-standard-event-source.so
+libdata/pkgconfig/wireplumber-0.5.pc
+%%DOXYGEN%%share/gir-1.0/Wp-0.5.gir
+%%NLS%%share/locale/af/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/as/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/be/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/bg/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/bn_IN/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/da/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/de/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/de_CH/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/el/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/eo/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/es/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/fa/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/gl/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/gu/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/he/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/hi/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/hr/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/id/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/it/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ja/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ka/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/kn/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ko/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ml/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/mr/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/my/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/nn/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/oc/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/or/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/pa/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/si/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/sr@latin/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/ta/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/te/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/wireplumber.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/wireplumber.mo
+%%DATADIR%%/scripts/client/access-default.lua
+%%DATADIR%%/scripts/client/access-portal.lua
+%%DATADIR%%/scripts/client/access-snap.lua
+%%DATADIR%%/scripts/default-nodes/apply-default-node.lua
+%%DATADIR%%/scripts/default-nodes/find-best-default-node.lua
+%%DATADIR%%/scripts/default-nodes/find-selected-default-node.lua
+%%DATADIR%%/scripts/default-nodes/rescan.lua
+%%DATADIR%%/scripts/default-nodes/state-default-nodes.lua
+%%DATADIR%%/scripts/device/apply-profile.lua
+%%DATADIR%%/scripts/device/apply-routes.lua
+%%DATADIR%%/scripts/device/autoswitch-bluetooth-profile.lua
+%%DATADIR%%/scripts/device/find-best-profile.lua
+%%DATADIR%%/scripts/device/find-best-routes.lua
+%%DATADIR%%/scripts/device/find-preferred-profile.lua
+%%DATADIR%%/scripts/device/select-profile.lua
+%%DATADIR%%/scripts/device/select-routes.lua
+%%DATADIR%%/scripts/device/state-profile.lua
+%%DATADIR%%/scripts/device/state-routes.lua
+%%DATADIR%%/scripts/fallback-sink.lua
+%%DATADIR%%/scripts/intended-roles.lua
+%%DATADIR%%/scripts/lib/common-utils.lua
+%%DATADIR%%/scripts/lib/device-info-cache.lua
+%%DATADIR%%/scripts/lib/filter-utils.lua
+%%DATADIR%%/scripts/lib/linking-utils.lua
+%%DATADIR%%/scripts/lib/monitor-utils.lua
+%%DATADIR%%/scripts/linking/find-best-target.lua
+%%DATADIR%%/scripts/linking/find-default-target.lua
+%%DATADIR%%/scripts/linking/find-defined-target.lua
+%%DATADIR%%/scripts/linking/find-filter-target.lua
+%%DATADIR%%/scripts/linking/find-user-target.lua.example
+%%DATADIR%%/scripts/linking/find-virtual-target.lua
+%%DATADIR%%/scripts/linking/get-filter-from-target.lua
+%%DATADIR%%/scripts/linking/link-target.lua
+%%DATADIR%%/scripts/linking/prepare-link.lua
+%%DATADIR%%/scripts/linking/rescan-virtual-links.lua
+%%DATADIR%%/scripts/linking/rescan.lua
+%%DATADIR%%/scripts/metadata.lua
+%%DATADIR%%/scripts/monitors/alsa-midi.lua
+%%DATADIR%%/scripts/monitors/alsa.lua
+%%DATADIR%%/scripts/monitors/bluez-midi.lua
+%%DATADIR%%/scripts/monitors/bluez.lua
+%%DATADIR%%/scripts/monitors/libcamera/create-device.lua
+%%DATADIR%%/scripts/monitors/libcamera/create-node.lua
+%%DATADIR%%/scripts/monitors/libcamera/enumerate-device.lua
+%%DATADIR%%/scripts/monitors/libcamera/name-device.lua
+%%DATADIR%%/scripts/monitors/libcamera/name-node.lua
+%%DATADIR%%/scripts/monitors/v4l2/create-device.lua
+%%DATADIR%%/scripts/monitors/v4l2/create-node.lua
+%%DATADIR%%/scripts/monitors/v4l2/enumerate-device.lua
+%%DATADIR%%/scripts/monitors/v4l2/name-device.lua
+%%DATADIR%%/scripts/monitors/v4l2/name-node.lua
+%%DATADIR%%/scripts/node/create-item.lua
+%%DATADIR%%/scripts/node/create-virtual-item.lua
+%%DATADIR%%/scripts/node/filter-forward-format.lua
+%%DATADIR%%/scripts/node/state-stream.lua
+%%DATADIR%%/scripts/node/suspend-node.lua
+%%DATADIR%%/scripts/policy-dsp.lua
+%%DATADIR%%/scripts/sm-objects.lua
+%%DATADIR%%/wireplumber.conf
+%%DATADIR%%/wireplumber.conf.d/alsa-vm.conf
+share/zsh/site-functions/_wpctl
diff --git a/multimedia/wl-screenrec/Makefile b/multimedia/wl-screenrec/Makefile
new file mode 100644
index 000000000000..50a2d92fd3cc
--- /dev/null
+++ b/multimedia/wl-screenrec/Makefile
@@ -0,0 +1,32 @@
+PORTNAME= wl-screenrec
+DISTVERSIONPREFIX= v
+DISTVERSION= 0.1.3
+PORTREVISION= 2
+CATEGORIES= multimedia wayland
+
+MAINTAINER= jbeich@FreeBSD.org
+COMMENT= High performance wlroots screen recording, featuring hardware encoding
+WWW= https://github.com/russelltg/wl-screenrec
+
+LICENSE= APACHE20
+
+LIB_DEPENDS= libdrm.so:graphics/libdrm \
+ libavformat.so:multimedia/ffmpeg
+
+USES= cargo llvm
+USE_GITHUB= yes
+GH_ACCOUNT= russelltg
+PLIST_FILES= bin/${PORTNAME}
+
+post-patch:
+# Extract (snapshot) version from the port instead of Cargo.toml
+ @${REINPLACE_CMD} -i .nogit -e '/^version/s/0\.1\.0/&-${DISTVERSION}-g${GH_TAGNAME}/' \
+ ${WRKSRC}/Cargo.toml
+ @${REINPLACE_CMD} -e 's,"llvm-config,"${LLVM_CONFIG},' \
+ ${WRKSRC_crate_clang-sys}/build/common.rs \
+ ${WRKSRC_crate_clang-sys}/src/support.rs
+
+post-install:
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+.include <bsd.port.mk>
diff --git a/multimedia/wl-screenrec/Makefile.crates b/multimedia/wl-screenrec/Makefile.crates
new file mode 100644
index 000000000000..f1b035955ac6
--- /dev/null
+++ b/multimedia/wl-screenrec/Makefile.crates
@@ -0,0 +1,92 @@
+CARGO_CRATES= aho-corasick-1.1.2 \
+ anstream-0.6.11 \
+ anstyle-1.0.6 \
+ anstyle-parse-0.2.3 \
+ anstyle-query-1.0.2 \
+ anstyle-wincon-3.0.2 \
+ anyhow-1.0.79 \
+ bindgen-0.64.0 \
+ bitflags-1.3.2 \
+ bitflags-2.4.2 \
+ cc-1.0.83 \
+ cexpr-0.6.0 \
+ cfg-if-1.0.0 \
+ clang-sys-1.7.0 \
+ clap-4.5.0 \
+ clap_builder-4.5.0 \
+ clap_derive-4.5.0 \
+ clap_lex-0.7.0 \
+ colorchoice-1.0.0 \
+ dlib-0.5.2 \
+ downcast-rs-1.2.0 \
+ drm-fourcc-2.2.0 \
+ errno-0.3.8 \
+ ffmpeg-next-6.1.1 \
+ ffmpeg-sys-next-6.1.0 \
+ glob-0.3.1 \
+ heck-0.4.1 \
+ hermit-abi-0.3.6 \
+ human-size-0.4.3 \
+ itoa-1.0.10 \
+ lazy_static-1.4.0 \
+ lazycell-1.3.0 \
+ libc-0.2.153 \
+ libloading-0.8.1 \
+ linux-raw-sys-0.4.13 \
+ log-0.4.20 \
+ memchr-2.7.1 \
+ minimal-lexical-0.2.1 \
+ nix-0.27.1 \
+ nom-7.1.3 \
+ num_cpus-1.16.0 \
+ peeking_take_while-0.1.2 \
+ pkg-config-0.3.30 \
+ proc-macro2-1.0.78 \
+ quick-xml-0.31.0 \
+ quote-1.0.35 \
+ regex-1.10.3 \
+ regex-automata-0.4.5 \
+ regex-syntax-0.8.2 \
+ rustc-hash-1.1.0 \
+ rustix-0.38.31 \
+ ryu-1.0.16 \
+ scoped-tls-1.0.1 \
+ serde-1.0.196 \
+ serde_derive-1.0.196 \
+ serde_json-1.0.113 \
+ shlex-1.3.0 \
+ signal-hook-0.3.17 \
+ signal-hook-registry-1.4.1 \
+ smallvec-1.13.1 \
+ strsim-0.11.0 \
+ syn-1.0.109 \
+ syn-2.0.49 \
+ thiserror-1.0.57 \
+ thiserror-impl-1.0.57 \
+ unicode-ident-1.0.12 \
+ utf8parse-0.2.1 \
+ vcpkg-0.2.15 \
+ wayland-backend-0.3.3 \
+ wayland-client-0.31.2 \
+ wayland-protocols-0.31.2 \
+ wayland-protocols-wlr-0.2.0 \
+ wayland-scanner-0.31.1 \
+ wayland-sys-0.31.1 \
+ windows-sys-0.48.0 \
+ windows-sys-0.52.0 \
+ windows-targets-0.48.5 \
+ windows-targets-0.52.0 \
+ windows_aarch64_gnullvm-0.48.5 \
+ windows_aarch64_gnullvm-0.52.0 \
+ windows_aarch64_msvc-0.48.5 \
+ windows_aarch64_msvc-0.52.0 \
+ windows_i686_gnu-0.48.5 \
+ windows_i686_gnu-0.52.0 \
+ windows_i686_msvc-0.48.5 \
+ windows_i686_msvc-0.52.0 \
+ windows_x86_64_gnu-0.48.5 \
+ windows_x86_64_gnu-0.52.0 \
+ windows_x86_64_gnullvm-0.48.5 \
+ windows_x86_64_gnullvm-0.52.0 \
+ windows_x86_64_msvc-0.48.5 \
+ windows_x86_64_msvc-0.52.0
diff --git a/multimedia/wl-screenrec/distinfo b/multimedia/wl-screenrec/distinfo
new file mode 100644
index 000000000000..749aedadb9d1
--- /dev/null
+++ b/multimedia/wl-screenrec/distinfo
@@ -0,0 +1,187 @@
+TIMESTAMP = 1708082652
+SHA256 (rust/crates/aho-corasick-1.1.2.crate) = b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0
+SIZE (rust/crates/aho-corasick-1.1.2.crate) = 183136
+SHA256 (rust/crates/anstream-0.6.11.crate) = 6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5
+SIZE (rust/crates/anstream-0.6.11.crate) = 30239
+SHA256 (rust/crates/anstyle-1.0.6.crate) = 8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc
+SIZE (rust/crates/anstyle-1.0.6.crate) = 14604
+SHA256 (rust/crates/anstyle-parse-0.2.3.crate) = c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c
+SIZE (rust/crates/anstyle-parse-0.2.3.crate) = 24699
+SHA256 (rust/crates/anstyle-query-1.0.2.crate) = e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648
+SIZE (rust/crates/anstyle-query-1.0.2.crate) = 8739
+SHA256 (rust/crates/anstyle-wincon-3.0.2.crate) = 1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7
+SIZE (rust/crates/anstyle-wincon-3.0.2.crate) = 11272
+SHA256 (rust/crates/anyhow-1.0.79.crate) = 080e9890a082662b09c1ad45f567faeeb47f22b5fb23895fbe1e651e718e25ca
+SIZE (rust/crates/anyhow-1.0.79.crate) = 44931
+SHA256 (rust/crates/bindgen-0.64.0.crate) = c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4
+SIZE (rust/crates/bindgen-0.64.0.crate) = 204700
+SHA256 (rust/crates/bitflags-1.3.2.crate) = bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a
+SIZE (rust/crates/bitflags-1.3.2.crate) = 23021
+SHA256 (rust/crates/bitflags-2.4.2.crate) = ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf
+SIZE (rust/crates/bitflags-2.4.2.crate) = 42602
+SHA256 (rust/crates/cc-1.0.83.crate) = f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0
+SIZE (rust/crates/cc-1.0.83.crate) = 68343
+SHA256 (rust/crates/cexpr-0.6.0.crate) = 6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766
+SIZE (rust/crates/cexpr-0.6.0.crate) = 17966
+SHA256 (rust/crates/cfg-if-1.0.0.crate) = baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd
+SIZE (rust/crates/cfg-if-1.0.0.crate) = 7934
+SHA256 (rust/crates/clang-sys-1.7.0.crate) = 67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1
+SIZE (rust/crates/clang-sys-1.7.0.crate) = 42088
+SHA256 (rust/crates/clap-4.5.0.crate) = 80c21025abd42669a92efc996ef13cfb2c5c627858421ea58d5c3b331a6c134f
+SIZE (rust/crates/clap-4.5.0.crate) = 55379
+SHA256 (rust/crates/clap_builder-4.5.0.crate) = 458bf1f341769dfcf849846f65dffdf9146daa56bcd2a47cb4e1de9915567c99
+SIZE (rust/crates/clap_builder-4.5.0.crate) = 163521
+SHA256 (rust/crates/clap_derive-4.5.0.crate) = 307bc0538d5f0f83b8248db3087aa92fe504e4691294d0c96c0eabc33f47ba47
+SIZE (rust/crates/clap_derive-4.5.0.crate) = 29042
+SHA256 (rust/crates/clap_lex-0.7.0.crate) = 98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce
+SIZE (rust/crates/clap_lex-0.7.0.crate) = 11915
+SHA256 (rust/crates/colorchoice-1.0.0.crate) = acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7
+SIZE (rust/crates/colorchoice-1.0.0.crate) = 6857
+SHA256 (rust/crates/dlib-0.5.2.crate) = 330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412
+SIZE (rust/crates/dlib-0.5.2.crate) = 5806
+SHA256 (rust/crates/downcast-rs-1.2.0.crate) = 9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650
+SIZE (rust/crates/downcast-rs-1.2.0.crate) = 11670
+SHA256 (rust/crates/drm-fourcc-2.2.0.crate) = 0aafbcdb8afc29c1a7ee5fbe53b5d62f4565b35a042a662ca9fecd0b54dae6f4
+SIZE (rust/crates/drm-fourcc-2.2.0.crate) = 12192
+SHA256 (rust/crates/errno-0.3.8.crate) = a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245
+SIZE (rust/crates/errno-0.3.8.crate) = 10645
+SHA256 (rust/crates/ffmpeg-next-6.1.1.crate) = 4e72c72e8dcf638fb0fb03f033a954691662b5dabeaa3f85a6607d101569fccd
+SIZE (rust/crates/ffmpeg-next-6.1.1.crate) = 89765
+SHA256 (rust/crates/ffmpeg-sys-next-6.1.0.crate) = c2529ad916d08c3562c754c21bc9b17a26c7882c0f5706cc2cd69472175f1620
+SIZE (rust/crates/ffmpeg-sys-next-6.1.0.crate) = 15767
+SHA256 (rust/crates/glob-0.3.1.crate) = d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b
+SIZE (rust/crates/glob-0.3.1.crate) = 18880
+SHA256 (rust/crates/heck-0.4.1.crate) = 95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8
+SIZE (rust/crates/heck-0.4.1.crate) = 11567
+SHA256 (rust/crates/hermit-abi-0.3.6.crate) = bd5256b483761cd23699d0da46cc6fd2ee3be420bbe6d020ae4a091e70b7e9fd
+SIZE (rust/crates/hermit-abi-0.3.6.crate) = 14884
+SHA256 (rust/crates/human-size-0.4.3.crate) = 9994b79e8c1a39b3166c63ae7823bb2b00831e2a96a31399c50fe69df408eaeb
+SIZE (rust/crates/human-size-0.4.3.crate) = 14757
+SHA256 (rust/crates/itoa-1.0.10.crate) = b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c
+SIZE (rust/crates/itoa-1.0.10.crate) = 10534
+SHA256 (rust/crates/lazy_static-1.4.0.crate) = e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646
+SIZE (rust/crates/lazy_static-1.4.0.crate) = 10443
+SHA256 (rust/crates/lazycell-1.3.0.crate) = 830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55
+SIZE (rust/crates/lazycell-1.3.0.crate) = 12502
+SHA256 (rust/crates/libc-0.2.153.crate) = 9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd
+SIZE (rust/crates/libc-0.2.153.crate) = 740614
+SHA256 (rust/crates/libloading-0.8.1.crate) = c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161
+SIZE (rust/crates/libloading-0.8.1.crate) = 27893
+SHA256 (rust/crates/linux-raw-sys-0.4.13.crate) = 01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c
+SIZE (rust/crates/linux-raw-sys-0.4.13.crate) = 1493855
+SHA256 (rust/crates/log-0.4.20.crate) = b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f
+SIZE (rust/crates/log-0.4.20.crate) = 38307
+SHA256 (rust/crates/memchr-2.7.1.crate) = 523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149
+SIZE (rust/crates/memchr-2.7.1.crate) = 96307
+SHA256 (rust/crates/minimal-lexical-0.2.1.crate) = 68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a
+SIZE (rust/crates/minimal-lexical-0.2.1.crate) = 94841
+SHA256 (rust/crates/nix-0.27.1.crate) = 2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053
+SIZE (rust/crates/nix-0.27.1.crate) = 286494
+SHA256 (rust/crates/nom-7.1.3.crate) = d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a
+SIZE (rust/crates/nom-7.1.3.crate) = 117570
+SHA256 (rust/crates/num_cpus-1.16.0.crate) = 4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43
+SIZE (rust/crates/num_cpus-1.16.0.crate) = 15713
+SHA256 (rust/crates/peeking_take_while-0.1.2.crate) = 19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099
+SIZE (rust/crates/peeking_take_while-0.1.2.crate) = 6697
+SHA256 (rust/crates/pkg-config-0.3.30.crate) = d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec
+SIZE (rust/crates/pkg-config-0.3.30.crate) = 20613
+SHA256 (rust/crates/proc-macro2-1.0.78.crate) = e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae
+SIZE (rust/crates/proc-macro2-1.0.78.crate) = 47158
+SHA256 (rust/crates/quick-xml-0.31.0.crate) = 1004a344b30a54e2ee58d66a71b32d2db2feb0a31f9a2d302bf0536f15de2a33
+SIZE (rust/crates/quick-xml-0.31.0.crate) = 172236
+SHA256 (rust/crates/quote-1.0.35.crate) = 291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef
+SIZE (rust/crates/quote-1.0.35.crate) = 28136
+SHA256 (rust/crates/regex-1.10.3.crate) = b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15
+SIZE (rust/crates/regex-1.10.3.crate) = 253101
+SHA256 (rust/crates/regex-automata-0.4.5.crate) = 5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd
+SIZE (rust/crates/regex-automata-0.4.5.crate) = 617406
+SHA256 (rust/crates/regex-syntax-0.8.2.crate) = c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f
+SIZE (rust/crates/regex-syntax-0.8.2.crate) = 347228
+SHA256 (rust/crates/rustc-hash-1.1.0.crate) = 08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2
+SIZE (rust/crates/rustc-hash-1.1.0.crate) = 9331
+SHA256 (rust/crates/rustix-0.38.31.crate) = 6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949
+SIZE (rust/crates/rustix-0.38.31.crate) = 375443
+SHA256 (rust/crates/ryu-1.0.16.crate) = f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c
+SIZE (rust/crates/ryu-1.0.16.crate) = 47351
+SHA256 (rust/crates/scoped-tls-1.0.1.crate) = e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294
+SIZE (rust/crates/scoped-tls-1.0.1.crate) = 8202
+SHA256 (rust/crates/serde-1.0.196.crate) = 870026e60fa08c69f064aa766c10f10b1d62db9ccd4d0abb206472bee0ce3b32
+SIZE (rust/crates/serde-1.0.196.crate) = 77097
+SHA256 (rust/crates/serde_derive-1.0.196.crate) = 33c85360c95e7d137454dc81d9a4ed2b8efd8fbe19cee57357b32b9771fccb67
+SIZE (rust/crates/serde_derive-1.0.196.crate) = 55775
+SHA256 (rust/crates/serde_json-1.0.113.crate) = 69801b70b1c3dac963ecb03a364ba0ceda9cf60c71cfe475e99864759c8b8a79
+SIZE (rust/crates/serde_json-1.0.113.crate) = 146970
+SHA256 (rust/crates/shlex-1.3.0.crate) = 0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64
+SIZE (rust/crates/shlex-1.3.0.crate) = 18713
+SHA256 (rust/crates/signal-hook-0.3.17.crate) = 8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801
+SIZE (rust/crates/signal-hook-0.3.17.crate) = 50296
+SHA256 (rust/crates/signal-hook-registry-1.4.1.crate) = d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1
+SIZE (rust/crates/signal-hook-registry-1.4.1.crate) = 17987
+SHA256 (rust/crates/smallvec-1.13.1.crate) = e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7
+SIZE (rust/crates/smallvec-1.13.1.crate) = 34952
+SHA256 (rust/crates/strsim-0.11.0.crate) = 5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01
+SIZE (rust/crates/strsim-0.11.0.crate) = 13710
+SHA256 (rust/crates/syn-1.0.109.crate) = 72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237
+SIZE (rust/crates/syn-1.0.109.crate) = 237611
+SHA256 (rust/crates/syn-2.0.49.crate) = 915aea9e586f80826ee59f8453c1101f9d1c4b3964cd2460185ee8e299ada496
+SIZE (rust/crates/syn-2.0.49.crate) = 250652
+SHA256 (rust/crates/thiserror-1.0.57.crate) = 1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b
+SIZE (rust/crates/thiserror-1.0.57.crate) = 20993
+SHA256 (rust/crates/thiserror-impl-1.0.57.crate) = a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81
+SIZE (rust/crates/thiserror-impl-1.0.57.crate) = 15639
+SHA256 (rust/crates/unicode-ident-1.0.12.crate) = 3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b
+SIZE (rust/crates/unicode-ident-1.0.12.crate) = 42168
+SHA256 (rust/crates/utf8parse-0.2.1.crate) = 711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a
+SIZE (rust/crates/utf8parse-0.2.1.crate) = 13435
+SHA256 (rust/crates/vcpkg-0.2.15.crate) = accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426
+SIZE (rust/crates/vcpkg-0.2.15.crate) = 228735
+SHA256 (rust/crates/wayland-backend-0.3.3.crate) = 9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40
+SIZE (rust/crates/wayland-backend-0.3.3.crate) = 70455
+SHA256 (rust/crates/wayland-client-0.31.2.crate) = 82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f
+SIZE (rust/crates/wayland-client-0.31.2.crate) = 62976
+SHA256 (rust/crates/wayland-protocols-0.31.2.crate) = 8f81f365b8b4a97f422ac0e8737c438024b5951734506b0e1d775c73030561f4
+SIZE (rust/crates/wayland-protocols-0.31.2.crate) = 147062
+SHA256 (rust/crates/wayland-protocols-wlr-0.2.0.crate) = ad1f61b76b6c2d8742e10f9ba5c3737f6530b4c243132c2a2ccc8aa96fe25cd6
+SIZE (rust/crates/wayland-protocols-wlr-0.2.0.crate) = 25804
+SHA256 (rust/crates/wayland-scanner-0.31.1.crate) = 63b3a62929287001986fb58c789dce9b67604a397c15c611ad9f747300b6c283
+SIZE (rust/crates/wayland-scanner-0.31.1.crate) = 35419
+SHA256 (rust/crates/wayland-sys-0.31.1.crate) = 15a0c8eaff5216d07f226cb7a549159267f3467b289d9a2e52fd3ef5aae2b7af
+SIZE (rust/crates/wayland-sys-0.31.1.crate) = 8577
+SHA256 (rust/crates/windows-sys-0.48.0.crate) = 677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9
+SIZE (rust/crates/windows-sys-0.48.0.crate) = 2628884
+SHA256 (rust/crates/windows-sys-0.52.0.crate) = 282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d
+SIZE (rust/crates/windows-sys-0.52.0.crate) = 2576877
+SHA256 (rust/crates/windows-targets-0.48.5.crate) = 9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c
+SIZE (rust/crates/windows-targets-0.48.5.crate) = 6904
+SHA256 (rust/crates/windows-targets-0.52.0.crate) = 8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd
+SIZE (rust/crates/windows-targets-0.52.0.crate) = 6229
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8
+SIZE (rust/crates/windows_aarch64_gnullvm-0.48.5.crate) = 418492
+SHA256 (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea
+SIZE (rust/crates/windows_aarch64_gnullvm-0.52.0.crate) = 430182
+SHA256 (rust/crates/windows_aarch64_msvc-0.48.5.crate) = dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc
+SIZE (rust/crates/windows_aarch64_msvc-0.48.5.crate) = 798483
+SHA256 (rust/crates/windows_aarch64_msvc-0.52.0.crate) = bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef
+SIZE (rust/crates/windows_aarch64_msvc-0.52.0.crate) = 821663
+SHA256 (rust/crates/windows_i686_gnu-0.48.5.crate) = a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e
+SIZE (rust/crates/windows_i686_gnu-0.48.5.crate) = 844891
+SHA256 (rust/crates/windows_i686_gnu-0.52.0.crate) = a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313
+SIZE (rust/crates/windows_i686_gnu-0.52.0.crate) = 870285
+SHA256 (rust/crates/windows_i686_msvc-0.48.5.crate) = 8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406
+SIZE (rust/crates/windows_i686_msvc-0.48.5.crate) = 864300
+SHA256 (rust/crates/windows_i686_msvc-0.52.0.crate) = ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a
+SIZE (rust/crates/windows_i686_msvc-0.52.0.crate) = 888693
+SHA256 (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e
+SIZE (rust/crates/windows_x86_64_gnu-0.48.5.crate) = 801619
+SHA256 (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd
+SIZE (rust/crates/windows_x86_64_gnu-0.52.0.crate) = 826213
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc
+SIZE (rust/crates/windows_x86_64_gnullvm-0.48.5.crate) = 418486
+SHA256 (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e
+SIZE (rust/crates/windows_x86_64_gnullvm-0.52.0.crate) = 430165
+SHA256 (rust/crates/windows_x86_64_msvc-0.48.5.crate) = ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538
+SIZE (rust/crates/windows_x86_64_msvc-0.48.5.crate) = 798412
+SHA256 (rust/crates/windows_x86_64_msvc-0.52.0.crate) = dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04
+SIZE (rust/crates/windows_x86_64_msvc-0.52.0.crate) = 821600
+SHA256 (russelltg-wl-screenrec-v0.1.3_GH0.tar.gz) = 8abe10c20a43bbf4d04534d9b737375cd19f66acf294f1c20f8df43b527a789b
+SIZE (russelltg-wl-screenrec-v0.1.3_GH0.tar.gz) = 32789
diff --git a/multimedia/wl-screenrec/files/patch-ffmpeg b/multimedia/wl-screenrec/files/patch-ffmpeg
new file mode 100644
index 000000000000..007c18dffc29
--- /dev/null
+++ b/multimedia/wl-screenrec/files/patch-ffmpeg
@@ -0,0 +1,40 @@
+https://github.com/zmwangx/rust-ffmpeg/issues/63
+
+error[E0432]: unresolved imports `libc::ENODATA`, `libc::ENOSR`, `libc::ENOSTR`, `libc::ETIME`
+ --> cargo-crates/ffmpeg-next-6.0.0/src/util/error.rs:20:22
+ |
+20 | ENFILE, ENOBUFS, ENODATA, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
+ | ^^^^^^^ no `ENODATA` in the root
+21 | ENOPROTOOPT, ENOSPC, ENOSR, ENOSTR, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
+ | ^^^^^ ^^^^^^ no `ENOSTR` in the root
+ | |
+ | no `ENOSR` in the root
+22 | ENOTSOCK, ENOTSUP, ENOTTY, ENXIO, EOPNOTSUPP, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, EPROTO,
+23 | EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, ETIME, ETIMEDOUT, ETXTBSY,
+ | ^^^^^ no `ETIME` in the root
+ |
+help: a similar name exists in the module
+ |
+21 | ENOPROTOOPT, ENOSPC, ENOSR, NOSTR, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
+ | ~~~~~
+help: a similar name exists in the module
+ |
+23 | EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, VTIME, ETIMEDOUT, ETXTBSY,
+ | ~~~~~
+
+--- cargo-crates/ffmpeg-next-6.1.1/src/util/error.rs.orig 2006-07-24 01:21:28 UTC
++++ cargo-crates/ffmpeg-next-6.1.1/src/util/error.rs
+@@ -17,10 +17,10 @@ pub use libc::{
+ EBUSY, ECANCELED, ECHILD, ECONNABORTED, ECONNREFUSED, ECONNRESET, EDEADLK, EDESTADDRREQ, EDOM,
+ EEXIST, EFAULT, EFBIG, EHOSTUNREACH, EIDRM, EILSEQ, EINPROGRESS, EINTR, EINVAL, EIO, EISCONN,
+ EISDIR, ELOOP, EMFILE, EMLINK, EMSGSIZE, ENAMETOOLONG, ENETDOWN, ENETRESET, ENETUNREACH,
+- ENFILE, ENOBUFS, ENODATA, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
+- ENOPROTOOPT, ENOSPC, ENOSR, ENOSTR, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
++ ENFILE, ENOBUFS, ENODEV, ENOENT, ENOEXEC, ENOLCK, ENOLINK, ENOMEM, ENOMSG,
++ ENOPROTOOPT, ENOSPC, ENOSYS, ENOTCONN, ENOTDIR, ENOTEMPTY, ENOTRECOVERABLE,
+ ENOTSOCK, ENOTSUP, ENOTTY, ENXIO, EOPNOTSUPP, EOVERFLOW, EOWNERDEAD, EPERM, EPIPE, EPROTO,
+- EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, ETIME, ETIMEDOUT, ETXTBSY,
++ EPROTONOSUPPORT, EPROTOTYPE, ERANGE, EROFS, ESPIPE, ESRCH, ETIMEDOUT, ETXTBSY,
+ EWOULDBLOCK, EXDEV,
+ };
+
diff --git a/multimedia/wl-screenrec/pkg-descr b/multimedia/wl-screenrec/pkg-descr
new file mode 100644
index 000000000000..f4b76f641df2
--- /dev/null
+++ b/multimedia/wl-screenrec/pkg-descr
@@ -0,0 +1,14 @@
+High performance screen recorder for wlroots Wayland.
+
+Uses dma-buf transfers to get surface, and uses the GPU to do both the
+pixel format conversion and the encoding, meaning the raw video data
+never touches the CPU, leaving it free to run your applications.
+
+System Requirements:
+* Wayland compositor supporting the following protocols:
+ * wlr-output-management-unstable-v1 (missing in hikari, cagebreak, gamescope)
+ * wlr-screencopy-unstable-v1 (missing in gamescope and theseus-ship)
+ Known working examples: sway, hyprland, wayfire, labwc.
+* VA-API encoding:
+ * Intel iGPUs: libva-intel-media-driver or libva-intel-driver
+ * AMD/ATI GPUs: mesa-gallium-va
diff --git a/multimedia/wlrobs/Makefile b/multimedia/wlrobs/Makefile
index a2638206d4c7..6ea8d8d3c8a0 100644
--- a/multimedia/wlrobs/Makefile
+++ b/multimedia/wlrobs/Makefile
@@ -1,12 +1,13 @@
PORTNAME= wlrobs
DISTVERSIONPREFIX= v
-PORTVERSION= 1.0
-PORTREVISION= 2
-CATEGORIES= multimedia
+PORTVERSION= 1.1
+PORTREVISION= 3
+CATEGORIES= multimedia wayland
MASTER_SITES= https://hg.sr.ht/~scoopta/${PORTNAME}/archive/${DISTVERSIONFULL:C/.*-//}${EXTRACT_SUFX}?dummy=/
MAINTAINER= jbeich@FreeBSD.org
COMMENT= Wayland screen capture plugin for obs-studio
+WWW= https://hg.sr.ht/~scoopta/wlrobs
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/COPYING.md
@@ -14,8 +15,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING.md
LIB_DEPENDS= libwayland-client.so:graphics/wayland \
libobs.so:multimedia/obs-studio
-USES= compiler:c11 gl meson pkgconfig
-USE_GL= egl
+USES= cmake:indirect compiler:c11 meson pkgconfig
DATADIR= ${PREFIX}/lib/obs-plugins
PORTDATA= lib${PORTNAME}.so
diff --git a/multimedia/wlrobs/distinfo b/multimedia/wlrobs/distinfo
index 8376d9f702d7..46d8b213cfc4 100644
--- a/multimedia/wlrobs/distinfo
+++ b/multimedia/wlrobs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1598923465
-SHA256 (wlrobs-v1.0.tar.gz) = 19a9894fc7a9854b7f17d675b48d16d5876b750aa91ebc001dcc32f68ee9cc56
-SIZE (wlrobs-v1.0.tar.gz) = 54980
+TIMESTAMP = 1667083149
+SHA256 (wlrobs-v1.1.tar.gz) = 5311c434316577b27803b272cb57011515f853705ef5d7e604ed73c483fa14be
+SIZE (wlrobs-v1.1.tar.gz) = 26920
diff --git a/multimedia/wlrobs/files/patch-meson.build b/multimedia/wlrobs/files/patch-meson.build
new file mode 100644
index 000000000000..4559bd77b99b
--- /dev/null
+++ b/multimedia/wlrobs/files/patch-meson.build
@@ -0,0 +1,13 @@
+https://github.com/obsproject/obs-studio/issues/7990
+
+--- meson.build.orig 2022-10-29 22:39:09 UTC
++++ meson.build
+@@ -4,7 +4,7 @@ wayland = dependency('wayland-client')
+
+ inc = include_directories('inc')
+ wayland = dependency('wayland-client')
+-obs = dependency('libobs')
++obs = dependency('libobs', method: 'cmake', modules: ['OBS::libobs'])
+ dl = cc.find_library('dl')
+
+ sources = ['src/main.c', 'proto/xdg-output-unstable-v1-protocol.c']
diff --git a/multimedia/wlrobs/pkg-descr b/multimedia/wlrobs/pkg-descr
index 8216d7264009..0c78803ae7f9 100644
--- a/multimedia/wlrobs/pkg-descr
+++ b/multimedia/wlrobs/pkg-descr
@@ -1,4 +1,2 @@
wlrobs is an obs-studio plugin that allows you to screen capture on
wlroots-based Wayland compositors.
-
-WWW: https://hg.sr.ht/~scoopta/wlrobs
diff --git a/multimedia/x264/Makefile b/multimedia/x264/Makefile
index 2133f1695425..1545c7d6af76 100644
--- a/multimedia/x264/Makefile
+++ b/multimedia/x264/Makefile
@@ -1,4 +1,3 @@
-# Created by: Michael Johnson <ahze@FreeBSD.org>
#
# NOTES FOR UPDATING PORT:
#
@@ -17,7 +16,7 @@
PORTNAME= x264
PORTVERSION= 0.${X264_BUILD}.${X264_REV}
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES= multimedia
MASTER_SITES= https://samples.mplayerhq.hu/yuv4mpeg2/:pgo
DIST_SUBDIR= x264
@@ -25,32 +24,44 @@ EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
MAINTAINER= bofh@FreeBSD.org
COMMENT?= H.264/MPEG-4 AVC Video Encoding (Front End CLI)
+WWW= https://www.videolan.org/x264.html
LICENSE= GPLv2
+LICENSE_NAME_PGO= PGO
LICENSE_FILE= ${WRKSRC}/COPYING
+LICENSE_PERMS_PGO= auto-accept
+# ${Y4M_VIDEO_DISTFILE} file may not be mirrored
+LICENSE_DISTFILES_PGO= ${Y4M_VIDEO_DISTFILE}
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS?= libx264.so:multimedia/libx264
-X264_BUILD= 163
-X264_REV= 3060
-X264_GITVER= ${GL_COMMIT:C/^(.{7}).*/\1/}
+X264_BUILD= 164
+X264_REV= 3095
+X264_GITVER= ${GL_TAGNAME:C/^(.{7}).*/\1/}
USES?= pkgconfig
USES+= compiler:c11 gmake localbase shebangfix
USE_GITLAB= yes
-USE_LDCONFIG= yes
GL_SITE= https://code.videolan.org
GL_ACCOUNT= videolan
-GL_COMMIT= 5db6aa6cab1b146e07b60cc1736a01f21da01154
-HAS_CONFIGURE= yes
+GL_TAGNAME= baee400fa9ced6f5481a728138fed6e867b0ff7f
+USE_LDCONFIG= yes
+
SHEBANG_FILES= configure
+
+HAS_CONFIGURE= yes
+CONFIGURE_ARGS?= --system-libx264
+CONFIGURE_ARGS+= --prefix="${PREFIX}" \
+ --extra-cflags="${CPPFLAGS} ${CFLAGS}" \
+ --extra-ldflags="${LDFLAGS}"
+
PLIST_FILES?= bin/x264
OPTIONS_DEFINE+= BASH DEBUG FFMS LAVF PGO SWSCALE
+OPTIONS_DEFAULT+= BASH FFMS LAVF LSMASH SWSCALE
OPTIONS_RADIO+= MP4
OPTIONS_RADIO_MP4+= GPAC LSMASH
-OPTIONS_DEFAULT+= BASH FFMS LAVF LSMASH SWSCALE
.if make(makesum) # for optional distfiles
.MAKEFLAGS: WITH="${OPTIONS_DEFINE}"
@@ -67,48 +78,32 @@ BASH_BUILD_DEPENDS= bash-completion>0:shells/bash-completion
BASH_RUN_DEPENDS= bash-completion>0:shells/bash-completion
BASH_CONFIGURE_ENABLE= bashcompletion
BASH_PLIST_FILES= share/bash-completion/completions/x264
-
-DEBUG_CONFIGURE_ENABLE= debug
DEBUG_CONFIGURE_OFF= --enable-strip
-
+DEBUG_CONFIGURE_ENABLE= debug
+FFMS_IMPLIES= SWSCALE
FFMS_LIB_DEPENDS= libffms2.so:multimedia/ffms2
FFMS_CONFIGURE_ENABLE= ffms
-FFMS_IMPLIES= SWSCALE
-
GPAC_LIB_DEPENDS= libgpac.so:multimedia/gpac-libgpac
GPAC_CONFIGURE_ENABLE= gpac
-
+LAVF_IMPLIES= SWSCALE
LAVF_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg \
libavformat.so:multimedia/ffmpeg \
libavutil.so:multimedia/ffmpeg
LAVF_CONFIGURE_ENABLE= lavf
-LAVF_IMPLIES= SWSCALE
-
LSMASH_LIB_DEPENDS= liblsmash.so:multimedia/l-smash
LSMASH_CONFIGURE_ENABLE=lsmash
-
PGO_DISTFILES= ${Y4M_VIDEO_DISTFILE}:pgo
PGO_MAKE_ENV= VIDS="${WRKDIR}/${Y4M_VIDEO}"
PGO_ALL_TARGET= fprofiled
-# y4m sample video
-Y4M_VIDEO= example.y4m
-Y4M_VIDEO_DISTFILE= example.y4m.bz2
-PGO_VARS= USE_GCC=yes \
- LICENSE+=PGO LICENSE_COMB=multi
-
-# ${Y4M_VIDEO_DISTFILE} file may not be mirrored
-LICENSE_NAME_PGO= PGO
-LICENSE_DISTFILES_PGO= ${Y4M_VIDEO_DISTFILE}
-LICENSE_PERMS_PGO= auto-accept
-
+PGO_USE= GCC=yes
+PGO_VARS= LICENSE+=PGO LICENSE_COMB=multi
SWSCALE_LIB_DEPENDS= libavutil.so:multimedia/ffmpeg \
libswscale.so:multimedia/ffmpeg
SWSCALE_CONFIGURE_ENABLE= swscale
-CONFIGURE_ARGS?= --system-libx264
-CONFIGURE_ARGS+= --prefix="${PREFIX}" \
- --extra-cflags="${CPPFLAGS} ${CFLAGS}" \
- --extra-ldflags="${LDFLAGS}"
+# y4m sample video
+Y4M_VIDEO= example.y4m
+Y4M_VIDEO_DISTFILE= example.y4m.bz2
post-extract-PGO-on:
@${BZIP2_CMD} -dc ${DISTDIR}/${DIST_SUBDIR}/${Y4M_VIDEO_DISTFILE} \
@@ -129,4 +124,10 @@ pre-build:
@(${RM} ${WRKSRC}/x264_config.h)
.endif
-.include <bsd.port.mk>
+.include <bsd.port.pre.mk>
+
+.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 160 && !${PORT_OPTIONS:MPGO}
+CFLAGS+= -Wno-error=incompatible-function-pointer-types
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/multimedia/x264/distinfo b/multimedia/x264/distinfo
index d066fe87d06f..779d8fd7da16 100644
--- a/multimedia/x264/distinfo
+++ b/multimedia/x264/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1623588237
+TIMESTAMP = 1654122710
SHA256 (x264/example.y4m.bz2) = a5bec9d37362bd9d7773fbd0644643f9ec096d654d20823004e88d5df32bbff7
SIZE (x264/example.y4m.bz2) = 4910029
-SHA256 (x264/videolan-x264-5db6aa6cab1b146e07b60cc1736a01f21da01154_GL0.tar.gz) = e55e5ab8bec0897ef83ddf71b2c8969ea377a9cd4cb097ba5dca115a23e18ef9
-SIZE (x264/videolan-x264-5db6aa6cab1b146e07b60cc1736a01f21da01154_GL0.tar.gz) = 938734
+SHA256 (x264/videolan-x264-baee400fa9ced6f5481a728138fed6e867b0ff7f_GL0.tar.gz) = 436a2be54d8bc0cb05dd33ecbbcb7df9c3b57362714fcdaa3a5991189a33319b
+SIZE (x264/videolan-x264-baee400fa9ced6f5481a728138fed6e867b0ff7f_GL0.tar.gz) = 942829
diff --git a/multimedia/x264/files/patch-configure b/multimedia/x264/files/patch-configure
index c2dfba0cefa9..07d1103cdc7a 100644
--- a/multimedia/x264/files/patch-configure
+++ b/multimedia/x264/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2020-09-12 17:23:57 UTC
+--- configure.orig 2024-01-05 22:26:57 UTC
+++ configure
-@@ -743,12 +743,6 @@ case $host_cpu in
+@@ -744,12 +744,6 @@ case $host_cpu in
AS_EXT=".asm"
ASFLAGS="$ASFLAGS -DARCH_X86_64=0 -I\$(SRCPATH)/common/x86/"
if [ $compiler = GNU ]; then
@@ -13,7 +13,7 @@
CFLAGS="-m32 $CFLAGS"
LDFLAGS="-m32 $LDFLAGS"
fi
-@@ -763,7 +757,7 @@ case $host_cpu in
+@@ -764,7 +758,7 @@ case $host_cpu in
ASFLAGS="$ASFLAGS -f elf32"
fi
;;
@@ -22,7 +22,16 @@
ARCH="X86_64"
AS="${AS-nasm}"
AS_EXT=".asm"
-@@ -952,7 +946,7 @@ if cc_check '' '' '' '__attribute__((force_align_arg_p
+@@ -801,7 +795,7 @@ case $host_cpu in
+ if [ $SYS = MACOSX ] ; then
+ CFLAGS="$CFLAGS -faltivec -fastf -mcpu=G4"
+ else
+- CFLAGS="$CFLAGS -maltivec -mabi=altivec"
++ CFLAGS="$CFLAGS -maltivec"
+ define HAVE_ALTIVEC_H
+ fi
+ if [ "$vsx" != "no" ] ; then
+@@ -958,7 +952,7 @@ fi
fi
fi
@@ -31,7 +40,7 @@
if ! as_check "vmovdqa32 [eax]{k1}{z}, zmm0" ; then
VER="$( ($AS --version || echo no assembler) 2>/dev/null | head -n 1 )"
echo "Found $VER"
-@@ -965,9 +959,6 @@ if [ $asm = auto -a \( $ARCH = X86 -o $ARCH = X86_64 \
+@@ -971,9 +965,6 @@ if [ $asm = auto -a $ARCH = ARM ] ; then
fi
if [ $asm = auto -a $ARCH = ARM ] ; then
@@ -41,7 +50,7 @@
cc_check '' '' '__asm__("add r0, r1, r2");' && define HAVE_ARM_INLINE_ASM
if [ $compiler = CL ] && cpp_check '' '' 'defined(_M_ARM) && _M_ARM >= 7' ; then
define HAVE_ARMV6
-@@ -978,9 +969,8 @@ if [ $asm = auto -a $ARCH = ARM ] ; then
+@@ -984,9 +975,8 @@ if [ $asm = auto -a $ARCH = ARM ] ; then
cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON
ASFLAGS="$ASFLAGS -c"
else
@@ -53,7 +62,7 @@
fi
fi
-@@ -1012,9 +1002,8 @@ if [ $asm = auto -a $ARCH = MIPS ] ; then
+@@ -1018,9 +1008,8 @@ if [ $asm = auto -a $ARCH = MIPS ] ; then
if cc_check '' '' '__asm__("addvi.b $w0, $w1, 1");' ; then
define HAVE_MSA
else
@@ -65,7 +74,7 @@
fi
fi
-@@ -1343,10 +1332,6 @@ if cc_check '' -Wshadow ; then
+@@ -1368,10 +1357,6 @@ fi
CFLAGS="-Wshadow $CFLAGS"
fi
@@ -76,7 +85,7 @@
if [ $compiler = GNU ] && cc_check '' -fvisibility=hidden ; then
CFLAGS="$CFLAGS -fvisibility=hidden"
fi
-@@ -1386,6 +1371,9 @@ if [ "$opencl" = "yes" ]; then
+@@ -1411,6 +1396,9 @@ if [ "$opencl" = "yes" ]; then
opencl="yes"
define HAVE_OPENCL "(BIT_DEPTH==8)"
libdl="-ldl"
diff --git a/multimedia/x264/pkg-descr b/multimedia/x264/pkg-descr
index ebadb26dcee2..17bed72542a1 100644
--- a/multimedia/x264/pkg-descr
+++ b/multimedia/x264/pkg-descr
@@ -9,5 +9,3 @@ Encoder features
* Inter B: partitions from 16x16 down to 8x8 (including SKIP/DIRECT)
* Ratecontrol: constant quantizer, constant bitrate, or multipass ABR
* Scene cut detection
-
-WWW: http://www.videolan.org/x264.html
diff --git a/multimedia/x265/Makefile b/multimedia/x265/Makefile
index 967ee47695cb..f25a8f128fb6 100644
--- a/multimedia/x265/Makefile
+++ b/multimedia/x265/Makefile
@@ -1,22 +1,24 @@
-# Created by: adamw
-
PORTNAME= x265
-PORTVERSION= 3.4
-PORTREVISION= 2
+PORTVERSION= 3.5
+PORTREVISION= 1
CATEGORIES= multimedia
MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/get/${BB_TAG}.tar.gz?meow=/
+PATCH_SITES= https://bitbucket.org/multicoreware/x265_git/commits/8f18e3ad32684eee95e885e718655f93951128c3/raw/
+PATCHFILES+= x265-asm-warnings.patch:-p1
+
MAINTAINER= mi@aldan.algebra.com
COMMENT= H.265/High Efficiency Video Coding (HEVC) format
+WWW= https://www.x265.org/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKSRC:H}/COPYING
USES= cmake compiler:c++14-lang cpe pathfix dos2unix
-CPE_VENDOR= multicorewareinc
+CPE_VENDOR= multicorewareinc
-BB_TAG= 25b2c07035ff # Top of the Release_3.4 branch at this time
+BB_TAG= Release_${DISTVERSION}
OPTIONS_DEFINE= DEBUG OPTIMIZED_FLAGS VMAF
OPTIONS_DEFAULT= OPTIMIZED_FLAGS HI8P HI10P HI12P
@@ -31,10 +33,9 @@ OPTIONS_DEFAULT_powerpc64le= ASM
OPTIONS_MULTI= PixelWidth
OPTIONS_MULTI_PixelWidth=HI8P HI10P HI12P
-DOS2UNIX_FILES= abrEncApp.cpp
+DOS2UNIX_FILES= common/scaler.cpp
DEBUG_PREVENTS= OPTIMIZED_FLAGS
DEBUG_PREVENTS_MSG= Optimizations are incompatible with debugging code
-DEBUG_VARS_OFF= CFLAGS+=-DNDEBUG
DEBUG_CMAKE_ON= -DCMAKE_ASM_NASM_FLAGS:STRING="-g -O0"
OPTIMIZED_FLAGS_VARS= CFLAGS+=-O3
SVTHEVC_LIB_DEPENDS= libSvtHevcEnc.so:multimedia/svt-hevc
@@ -43,7 +44,7 @@ SVTHEVC_CMAKE_ON= -DSVT_HEVC_INCLUDE_DIR:PATH="${LOCALBASE}/include/svt-hevc"
VMAF_LIB_DEPENDS= libvmaf.so:multimedia/vmaf
VMAF_USES= localbase:ldflags
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF
-VMAF_CMAKE_ON= -DVMAF_INCLUDE_DIR:PATH="${LOCALBASE}/include/libvmaf"
+VMAF_CMAKE_ON= -DVMAF_INCLUDE_DIR:PATH="${LOCALBASE}/include/libvmaf"
DEBUG_DESC= Enable debugging
HI8P_DESC= Enable 8-bit pixel-width (you, probably, want this)
@@ -54,9 +55,9 @@ SVTHEVC_DESC= HEVC encoding via SVT-HEVC
VMAF_DESC= Per frame and aggregate VMAF score
USE_LDCONFIG= yes
-CMAKE_ARGS= -DENABLE_TESTS=on -DENABLE_HDR10_PLUS:BOOL=true
+CMAKE_ARGS= -DENABLE_TESTS=on -DENABLE_HDR10_PLUS:BOOL=true -DGIT_ARCHETYPE=1
LDFLAGS_i386= -Wl,-znotext
-EXTRACT_AFTER_ARGS+= --exclude compat --strip-components=1
+EXTRACT_AFTER_ARGS+= --exclude compat --exclude md5\.* --strip-components=1
PATCH_WRKSRC= ${WRKSRC:H}
WRKSRC= ${WRKDIR}/source
diff --git a/multimedia/x265/distinfo b/multimedia/x265/distinfo
index cec36bc8e5d6..48150a37f61e 100644
--- a/multimedia/x265/distinfo
+++ b/multimedia/x265/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1600662771
-SHA256 (x265-3.4.tar.gz) = 01f17d94689ef79807fa2b4bd7f5f58bb18416e72a135c7f56c30162a980cfb8
-SIZE (x265-3.4.tar.gz) = 1532396
+TIMESTAMP = 1698027802
+SHA256 (x265-3.5.tar.gz) = 8a5fcfddb3e2db520b637e475a507fb00117d554bdb3204c5828626d888c306a
+SIZE (x265-3.5.tar.gz) = 1538610
+SHA256 (x265-asm-warnings.patch) = 0faa3278887a47ed8c968c994e4cc71a2921aac38f5d560dae898124f806871d
+SIZE (x265-asm-warnings.patch) = 4526
diff --git a/multimedia/x265/files/patch-md5 b/multimedia/x265/files/patch-md5
new file mode 100644
index 000000000000..0c7837b8f9ec
--- /dev/null
+++ b/multimedia/x265/files/patch-md5
@@ -0,0 +1,53 @@
+--- source/common/picyuv.h 2023-06-27 10:11:49.000000000 -0400
++++ source/common/picyuv.h 2023-10-22 21:14:09.423270000 -0400
+@@ -26,5 +26,6 @@
+
+ #include "common.h"
+-#include "md5.h"
++#include <sys/types.h>
++#include <md5.h>
+ #include "x265.h"
+ struct x265_picyuv {};
+--- source/encoder/frameencoder.h 2023-06-27 10:11:49.000000000 -0400
++++ source/encoder/frameencoder.h 2023-10-22 21:14:52.414503000 -0400
+@@ -31,5 +31,4 @@
+ #include "frame.h"
+ #include "picyuv.h"
+-#include "md5.h"
+
+ #include "analysis.h"
+--- source/encoder/sei.h 2023-06-27 10:11:49.000000000 -0400
++++ source/encoder/sei.h 2023-10-22 21:15:50.862452000 -0400
+@@ -29,5 +29,6 @@
+ #include "slice.h"
+ #include "nal.h"
+-#include "md5.h"
++#include <sys/types.h>
++#include <md5.h>
+
+ namespace X265_NS {
+--- source/encoder/frameencoder.cpp 2023-06-27 10:11:49.000000000 -0400
++++ source/encoder/frameencoder.cpp 2023-10-22 21:27:55.363979000 -0400
+@@ -426,5 +426,5 @@
+ m_seiReconPictureDigest.m_method = SEIDecodedPictureHash::MD5;
+ for (int i = 0; i < planes; i++)
+- MD5Final(&m_seiReconPictureDigest.m_state[i], m_seiReconPictureDigest.m_digest[i]);
++ MD5Final(m_seiReconPictureDigest.m_digest[i], &m_seiReconPictureDigest.m_state[i]);
+ payloadSize = 1 + 16 * planes;
+ }
+--- source/CMakeLists.txt 2023-06-27 10:11:49.000000000 -0400
++++ source/CMakeLists.txt 2023-10-22 21:54:36.900303000 -0400
+@@ -96,4 +96,5 @@
+ if(UNIX)
+ list(APPEND PLATFORM_LIBS pthread)
++ list(APPEND PLATFORM_LIBS md)
+ find_library(LIBRT rt)
+ if(LIBRT)
+--- source/common/CMakeLists.txt 2023-06-27 10:11:49.000000000 -0400
++++ source/common/CMakeLists.txt 2023-10-22 21:21:56.177834000 -0400
+@@ -156,5 +156,4 @@
+ threadpool.cpp threadpool.h
+ wavefront.h wavefront.cpp
+- md5.cpp md5.h
+ bitstream.h bitstream.cpp
+ yuv.cpp yuv.h
diff --git a/multimedia/x265/files/patch-source_CMakeLists.txt b/multimedia/x265/files/patch-source_CMakeLists.txt
index 19fa130e3b0e..5a3fdb3cca3d 100644
--- a/multimedia/x265/files/patch-source_CMakeLists.txt
+++ b/multimedia/x265/files/patch-source_CMakeLists.txt
@@ -1,6 +1,6 @@
---- source/CMakeLists.txt.orig 2021-10-31 01:46:10 UTC
-+++ source/CMakeLists.txt
-@@ -43,7 +43,7 @@ set(X86_ALIASES x86 i386 i686 x86_64 amd64)
+--- source/CMakeLists.txt 2023-10-22 22:08:10.704150000 -0400
++++ source/CMakeLists.txt 2023-10-22 22:10:02.947579000 -0400
+@@ -43,7 +43,7 @@
set(ARM_ALIASES armv6l armv7l aarch64)
list(FIND X86_ALIASES "${SYSPROC}" X86MATCH)
list(FIND ARM_ALIASES "${SYSPROC}" ARMMATCH)
@@ -9,7 +9,7 @@
list(FIND POWER_ALIASES "${SYSPROC}" POWERMATCH)
if("${SYSPROC}" STREQUAL "" OR X86MATCH GREATER "-1")
set(X86 1)
-@@ -121,6 +121,7 @@ if(UNIX)
+@@ -122,6 +122,7 @@
option(ENABLE_LIBVMAF "Enable VMAF" OFF)
if(ENABLE_LIBVMAF)
add_definitions(-DENABLE_LIBVMAF)
@@ -17,7 +17,7 @@
endif()
endif(UNIX)
-@@ -592,12 +593,6 @@ if(ENABLE_HDR10_PLUS)
+@@ -593,12 +594,6 @@
ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
endif()
@@ -30,7 +30,7 @@
install(FILES x265.h "${PROJECT_BINARY_DIR}/x265_config.h" DESTINATION include)
if((WIN32 AND ENABLE_CLI) OR (WIN32 AND ENABLE_SHARED))
if(MSVC_IDE)
-@@ -649,7 +644,10 @@ if(ENABLE_SHARED)
+@@ -650,7 +645,10 @@
if(EXTRA_LIB)
target_link_libraries(x265-shared ${EXTRA_LIB})
endif()
diff --git a/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake b/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake
index 4c6029d4213e..dcd80ad6f2e0 100644
--- a/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake
+++ b/multimedia/x265/files/patch-source_cmake_Findsvthevc.cmake
@@ -1,6 +1,7 @@
---- source/cmake/Findsvthevc.cmake 2020-05-29 17:39:35.000000000 +0000
-+++ source/cmake/Findsvthevc.cmake 2020-08-07 02:26:55.307048000 +0000
-@@ -39,9 +39,5 @@
+--- source/cmake/Findsvthevc.cmake.orig 2023-05-08 09:43:31 UTC
++++ source/cmake/Findsvthevc.cmake
+@@ -38,11 +38,7 @@ if(SVT_HEVC_INCLUDE_DIR)
+ string(REGEX MATCH "SVT_VERSION_PATCHLEVEL \\(([0-9]*)\\)" _ ${version})
set(SVT_VERSION_PATCHLEVEL ${CMAKE_MATCH_1})
- if(NOT ${SVT_VERSION_MAJOR} EQUAL "1" OR NOT ${SVT_VERSION_MINOR} EQUAL "4" OR NOT ${SVT_VERSION_PATCHLEVEL} EQUAL "1")
@@ -11,3 +12,4 @@
+ message(STATUS "-- Found SVT-HEVC Lib Version: ${SVT_VERSION_MAJOR}.${SVT_VERSION_MINOR}.${SVT_VERSION_PATCHLEVEL}")
else()
message (SEND_ERROR "-- Required version of SVT-HEVC Lib: ${SVT_VERSION_MAJOR_REQUIRED}.${SVT_VERSION_MINOR_REQUIRED}.${SVT_VERSION_PATCHLEVEL_REQUIRED}; Aborting configure ")
+ endif()
diff --git a/multimedia/x265/files/patch-source_common_version.cpp b/multimedia/x265/files/patch-source_common_version.cpp
index ef813a02d684..0210f5f77d83 100644
--- a/multimedia/x265/files/patch-source_common_version.cpp
+++ b/multimedia/x265/files/patch-source_common_version.cpp
@@ -1,4 +1,4 @@
---- source/common/version.cpp.orig 2020-05-29 17:39:35 UTC
+--- source/common/version.cpp.orig 2023-06-27 14:11:49 UTC
+++ source/common/version.cpp
@@ -63,6 +63,8 @@
#define ONOS "[Linux]"
@@ -9,12 +9,3 @@
#elif __CYGWIN__
#define ONOS "[Cygwin]"
#elif __APPLE__
-@@ -71,7 +73,7 @@
- #define ONOS "[Unk-OS]"
- #endif
-
--#if X86_64
-+#if defined(X86_64) || X265_ARCH_ARM64
- #define BITS "[64 bit]"
- #else
- #define BITS "[32 bit]"
diff --git a/multimedia/x265/files/patch-source_encoder_api.cpp b/multimedia/x265/files/patch-source_encoder_api.cpp
index f355b828a4c3..dcd29b667096 100644
--- a/multimedia/x265/files/patch-source_encoder_api.cpp
+++ b/multimedia/x265/files/patch-source_encoder_api.cpp
@@ -8,9 +8,10 @@ See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248479
-mi
---- source/encoder/api.cpp 2020-05-29 13:39:35.000000000 -0400
-+++ source/encoder/api.cpp 2020-08-06 22:51:30.227635000 -0400
-@@ -451,5 +451,7 @@
+--- source/encoder/api.cpp.orig 2023-06-27 14:11:49 UTC
++++ source/encoder/api.cpp
+@@ -449,14 +449,18 @@ int x265_encoder_encode(x265_encoder *enc, x265_nal **
+
if (pic_in->rpu.payloadSize)
{
+#if ! SVT_CHECK_VERSION(1, 5, 0)
@@ -18,7 +19,8 @@ See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248479
+#endif
memcpy(inputData->dolbyVisionRpu.payload, pic_in->rpu.payload, pic_in->rpu.payloadSize);
inputData->dolbyVisionRpu.payloadSize = pic_in->rpu.payloadSize;
-@@ -458,5 +460,7 @@
+ inputData->dolbyVisionRpu.payloadType = NAL_UNIT_UNSPECIFIED;
+ }
else
{
+#if ! SVT_CHECK_VERSION(1, 5, 0)
@@ -26,7 +28,9 @@ See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248479
+#endif
inputData->dolbyVisionRpu.payloadSize = 0;
}
-@@ -696,5 +700,7 @@
+
+@@ -702,7 +706,9 @@ void x265_encoder_close(x265_encoder *enc)
+
svt_print_summary(enc);
EB_H265_ENC_INPUT *inputData = (EB_H265_ENC_INPUT*)encoder->m_svtAppData->inputPictureBuffer->pBuffer;
+#if ! SVT_CHECK_VERSION(1, 5, 0)
@@ -34,7 +38,9 @@ See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248479
+#endif
X265_FREE(inputData);
-@@ -2052,5 +2058,7 @@
+ X265_FREE(encoder->m_svtAppData->inputPictureBuffer);
+@@ -2063,7 +2069,9 @@ int svt_initialise_input_buffer(x265_encoder *enc)
+ inputPtr->pBuffer = (unsigned char*)x265_malloc(sizeof(EB_H265_ENC_INPUT));
EB_H265_ENC_INPUT *inputData = (EB_H265_ENC_INPUT*)inputPtr->pBuffer;
+#if ! SVT_CHECK_VERSION(1, 5, 0)
@@ -42,3 +48,4 @@ See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248479
+#endif
inputData->dolbyVisionRpu.payloadSize = 0;
+
diff --git a/multimedia/x265/files/patch-source_x265.h b/multimedia/x265/files/patch-source_x265.h
index 1fee612613ad..688edb23a552 100644
--- a/multimedia/x265/files/patch-source_x265.h
+++ b/multimedia/x265/files/patch-source_x265.h
@@ -1,13 +1,13 @@
https://github.com/Netflix/vmaf/commit/122089fa3d23
---- source/x265.h.orig 2020-09-16 15:52:49 UTC
+--- source/x265.h.orig 2023-06-27 14:11:49 UTC
+++ source/x265.h
-@@ -733,7 +733,7 @@ typedef struct x265_vmaf_commondata
+@@ -753,7 +753,7 @@ typedef struct x265_vmaf_commondata
int enable_conf_interval;
}x265_vmaf_commondata;
-static const x265_vmaf_commondata vcd[] = { { NULL, (char *)"/usr/local/share/model/vmaf_v0.6.1.pkl", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 1, 0 } };
+static const x265_vmaf_commondata vcd[] = { { NULL, (char *)"/usr/local/share/model/vmaf_v0.6.1.json", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 1, 0 } };
- /* x265 input parameters
- *
+ typedef struct x265_temporal_layer {
+ int poc_offset; /* POC offset */
diff --git a/multimedia/x265/files/patch-warnings b/multimedia/x265/files/patch-warnings
new file mode 100644
index 000000000000..1f94ec5094bb
--- /dev/null
+++ b/multimedia/x265/files/patch-warnings
@@ -0,0 +1,201 @@
+--- source/encoder/entropy.cpp 2023-06-27 10:11:49.000000000 -0400
++++ source/encoder/entropy.cpp 2023-10-22 21:00:30.522586000 -0400
+@@ -1362,5 +1362,7 @@
+ bool bDenomCoded = false;
+ int numRefDirs = slice.m_sliceType == B_SLICE ? 2 : 1;
++#if CHECKED_BUILD || _DEBUG
+ uint32_t totalSignalledWeightFlags = 0;
++#endif
+
+ if ((slice.m_sliceType == P_SLICE && slice.m_pps->bUseWeightPred) ||
+@@ -1384,5 +1386,7 @@
+ }
+ WRITE_FLAG(!!wp[0].wtPresent, "luma_weight_lX_flag");
++#if CHECKED_BUILD || _DEBUG
+ totalSignalledWeightFlags += wp[0].wtPresent;
++#endif
+ }
+
+@@ -1393,5 +1397,7 @@
+ wp = slice.m_weightPredTable[list][ref];
+ WRITE_FLAG(!!wp[1].wtPresent, "chroma_weight_lX_flag");
++#if CHECKED_BUILD || _DEBUG
+ totalSignalledWeightFlags += 2 * wp[1].wtPresent;
++#endif
+ }
+ }
+--- source/encoder/sao.cpp 2023-06-27 10:11:49.000000000 -0400
++++ source/encoder/sao.cpp 2023-10-22 21:03:08.008923000 -0400
+@@ -740,5 +740,4 @@
+ const pixel* fenc0 = m_frame->m_fencPic->getPlaneAddr(plane, addr);
+ const pixel* rec0 = reconPic->getPlaneAddr(plane, addr);
+- const pixel* fenc;
+ const pixel* rec;
+ intptr_t stride = plane ? reconPic->m_strideC : reconPic->m_stride;
+@@ -870,5 +869,4 @@
+ }
+
+- fenc = fenc0;
+ rec = rec0;
+
+@@ -880,5 +878,4 @@
+ if (startY)
+ {
+- fenc += stride;
+ rec += stride;
+ }
+@@ -895,5 +892,4 @@
+ skipR = 5;
+ }
+- fenc = fenc0;
+ rec = rec0;
+ startX = !lpelx;
+@@ -905,5 +901,4 @@
+ if (startY)
+ {
+- fenc += stride;
+ rec += stride;
+ }
+--- source/test/pixelharness.cpp 2023-06-27 10:11:49.000000000 -0400
++++ source/test/pixelharness.cpp 2023-10-22 21:37:53.184785000 -0400
+@@ -999,5 +999,4 @@
+ bool PixelHarness::check_pixel_var(var_t ref, var_t opt)
+ {
+- int j = 0;
+
+ intptr_t stride = STRIDE;
+@@ -1012,5 +1011,4 @@
+
+ reportfail();
+- j += INCR;
+ }
+
+@@ -1352,6 +1350,4 @@
+ int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1;
+
+- int j = 0;
+-
+ for (int i = 0; i < ITERS; i++)
+ {
+@@ -1380,5 +1376,4 @@
+
+ reportfail();
+- j += INCR;
+ }
+
+@@ -1400,6 +1395,4 @@
+ int8_t _upBufft_vec[MAX_CU_SIZE + 2], *upBufft_vec = _upBufft_vec + 1;
+
+- int j = 0;
+-
+ // NOTE: verify more times since our asm is NOT exact match to C, the output of upBuff* will be DIFFERENT
+ for (int i = 0; i < ITERS * 10; i++)
+@@ -1434,5 +1427,4 @@
+
+ reportfail();
+- j += INCR;
+ }
+
+@@ -1452,6 +1444,4 @@
+ int8_t _upBuff1_vec[MAX_CU_SIZE + 2], *upBuff1_vec = _upBuff1_vec + 1;
+
+- int j = 0;
+-
+ // (const pixel *fenc, const pixel *rec, intptr_t stride, int8_t *upBuff1, int endX, int endY, int32_t *stats, int32_t *count)
+ for (int i = 0; i < ITERS; i++)
+@@ -1483,5 +1473,4 @@
+
+ reportfail();
+- j += INCR;
+ }
+
+@@ -1736,5 +1725,4 @@
+ uint16_t ref_coeffFlag[MLS_GRP_NUM], opt_coeffFlag[MLS_GRP_NUM]; // bit mask map for non-zero coeff
+
+- int totalCoeffs = 0;
+ for (int i = 0; i < 32 * 32; i++)
+ {
+@@ -1748,5 +1736,4 @@
+ if ((rand() % 10) < 8)
+ ref_src[i] *= -1;
+- totalCoeffs += (ref_src[i] != 0);
+ }
+
+@@ -1873,5 +1860,4 @@
+ memset(opt_absCoeff, 0xCD, sizeof(opt_absCoeff));
+
+- int totalCoeffs = 0;
+ for (int i = 0; i < 32 * 32; i++)
+ {
+@@ -1885,5 +1871,4 @@
+ if ((rand() % 10) < 8)
+ ref_src[i] *= -1;
+- totalCoeffs += (ref_src[i] != 0);
+ }
+
+@@ -2230,5 +2215,4 @@
+ {
+ intptr_t srcStep = 64;
+- int j = 0;
+ uint32_t dst_ref[BUFFSIZE] = { 0 };
+ uint32_t dst_opt[BUFFSIZE] = { 0 };
+@@ -2260,6 +2244,5 @@
+ return false;
+
+- reportfail()
+- j += INCR;
++ reportfail();
+ }
+ return true;
+@@ -2272,5 +2255,4 @@
+ * where data movement in AVX2 is 8 elements at a time */
+ intptr_t srcStep[2] = { 56, 64 };
+- int j = 0;
+ uint32_t dst_ref[BUFFSIZE] = { 0 };
+ uint32_t dst_opt[BUFFSIZE] = { 0 };
+@@ -2290,6 +2272,5 @@
+ return false;
+
+- reportfail()
+- j += INCR;
++ reportfail();
+ }
+ }
+--- source/common/scaler.cpp 2023-06-27 10:11:49.000000000 -0400
++++ source/common/scaler.cpp 2023-10-22 21:43:05.304243000 -0400
+@@ -512,8 +512,5 @@
+ int srcVCrPos;
+ int dstVCrPos;
+- int dst_stride = SCALER_ALIGN(dstW * sizeof(int16_t) + 66, 16);
+ m_bitDepth = dstVideoDesc->m_inputDepth;
+- if (m_bitDepth == 16)
+- dst_stride <<= 1;
+
+ m_algorithmFlags = algorithmFlags;
+--- source/encoder/ratecontrol.cpp 2023-08-24 07:11:18.000000000 -0400
++++ source/encoder/ratecontrol.cpp 2023-10-22 22:12:33.546126000 -0400
+@@ -580,5 +580,4 @@
+ /* read stats */
+ p = statsIn;
+- double totalQpAq = 0;
+ for (int i = 0; i < m_numEntries; i++)
+ {
+@@ -645,5 +644,4 @@
+ }
+ rce->qScale = rce->newQScale = x265_qp2qScale(qpRc);
+- totalQpAq += qpAq;
+ rce->qpNoVbv = qNoVbv;
+ rce->qpaRc = qpRc;
+@@ -999,5 +997,5 @@
+ bool RateControl::initPass2()
+ {
+- uint64_t allConstBits = 0, allCodedBits = 0;
++ uint64_t allConstBits = 0;
+ uint64_t allAvailableBits = uint64_t(m_param->rc.bitrate * 1000. * m_numEntries * m_frameDuration);
+ int startIndex, framesCount, endIndex;
+@@ -1010,5 +1008,4 @@
+ {
+ allConstBits += m_rce2Pass[endIndex].miscBits;
+- allCodedBits += m_rce2Pass[endIndex].coeffBits + m_rce2Pass[endIndex].mvBits;
+ if (m_param->rc.rateControlMode == X265_RC_CRF)
+ {
diff --git a/multimedia/x265/pkg-descr b/multimedia/x265/pkg-descr
index 805eef5fc761..eb2b7518f0bb 100644
--- a/multimedia/x265/pkg-descr
+++ b/multimedia/x265/pkg-descr
@@ -12,5 +12,3 @@ standard.
* HEVC can support 8K Ultra High Definition video, with a picture size up to
8192x4320 pixels
-
-WWW: http://www.x265.org/
diff --git a/multimedia/x265/pkg-plist b/multimedia/x265/pkg-plist
index 36d6f89c2fd5..33c170ed4109 100644
--- a/multimedia/x265/pkg-plist
+++ b/multimedia/x265/pkg-plist
@@ -6,5 +6,5 @@ lib/libhdr10plus.a
lib/libhdr10plus.so
lib/libx265.a
lib/libx265.so
-lib/libx265.so.192
+lib/libx265.so.200
libdata/pkgconfig/x265.pc
diff --git a/multimedia/xanim/Makefile b/multimedia/xanim/Makefile
index 36e3c5806b17..b9904a91bc96 100644
--- a/multimedia/xanim/Makefile
+++ b/multimedia/xanim/Makefile
@@ -1,8 +1,6 @@
-# Created by: piero
-
PORTNAME= xanim
PORTVERSION= 2.92.0
-PORTREVISION= 9
+PORTREVISION= 11
CATEGORIES= multimedia graphics
MASTER_SITES= ftp://ftp.nstu.ru/pub/mirrors/xanim.va.pubnix.com/:main \
LOCAL/dinoex:main,DEFAULT \
@@ -12,6 +10,7 @@ DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:main ${EXTRA_FILES}
MAINTAINER= dinoex@FreeBSD.org
COMMENT= Play most popular animation formats and show pictures
+WWW= http://xanim.polter.net/
# Converted from NO_CDROM
LICENSE= xanim
@@ -26,7 +25,7 @@ USE_GCC= yes
USE_XORG= xext xt sm ice xext x11
MAKE_ARGS+= -j 2 # safe and helps even the single-CPU machines
DLLDIR= ${PREFIX}/lib/X11/xanim
-PLIST_FILES+= bin/xanim man/man1/xanim.1.gz
+PLIST_FILES+= bin/xanim share/man/man1/xanim.1.gz
post-extract:
${CP} ${WRKSRC}/docs/xanim.man ${WRKSRC}
diff --git a/multimedia/xanim/pkg-descr b/multimedia/xanim/pkg-descr
index b548a2254a6d..415cc250f6e9 100644
--- a/multimedia/xanim/pkg-descr
+++ b/multimedia/xanim/pkg-descr
@@ -49,4 +49,3 @@ LICENSE: freely used, copied and redistributed without fee for non-commerical pu
( http://xanim.va.pubnix.com/home.html )
( http://xanim.resnet.gatech.edu/home.html )
( http://smurfland.cit.buffalo.edu/xanim/home.html )
-WWW: http://xanim.polter.net/
diff --git a/multimedia/xawtv/Makefile b/multimedia/xawtv/Makefile
index fef0c32a64aa..1440e86268bf 100644
--- a/multimedia/xawtv/Makefile
+++ b/multimedia/xawtv/Makefile
@@ -1,12 +1,12 @@
-# Created by: George Reid <greid@ukug.uk.freebsd.org>
-
PORTNAME= xawtv
PORTVERSION= 3.107
+PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= http://linuxtv.org/downloads/xawtv/
MAINTAINER= oliver@FreeBSD.org
COMMENT= TV viewing application and a few TV utilities
+WWW= https://linuxtv.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -21,20 +21,15 @@ USES= cpe gmake iconv jpeg motif ncurses perl5 tar:bzip2 pkgconfig xorg
CPE_VENDOR= linuxtv
-OPTIONS_DEFINE= AALIB BKTR DV QUICKTIME ZVBI
+OPTIONS_DEFINE= AALIB DV ZVBI
OPTIONS_DEFINE_i386= MMX
-OPTIONS_DEFAULT= AALIB BKTR
-.if !exists(/usr/include/dev/bktr/ioctl_bt848.h)
-OPTIONS_EXCLUDE= BKTR
-.endif
+OPTIONS_DEFAULT= AALIB
OPTIONS_SUB= yes
-BKTR_DESC= bktr(4) support
ZVBI_DESC= Enable libzvbi support
-BKTR_MAKE_ARGS= HAVE_BKTR=yes
-
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share
USE_XORG= x11 xaw
CPPFLAGS+= -I${WRKSRC}/common
LIBS+= -L${LOCALBASE}/lib
@@ -43,6 +38,8 @@ USE_LDCONFIG= yes
FILES_LIBJPEG= console/Subdir.mk x11/Subdir.mk libng/plugins/Subdir.mk
+CONFIGURE_ARGS= --enable-alsa=no --enable-quicktime=no --enable-gl=no
+
.include <bsd.port.pre.mk>
.if ${PORT_OPTIONS:MAALIB}
@@ -71,19 +68,11 @@ CONFIGURE_ARGS+=--enable-mmx
CFLAGS+= -DMMX=1
.endif
-.if ${PORT_OPTIONS:MQUICKTIME}
-CONFIGURE_ARGS+=--enable-quicktime
-LIB_DEPENDS+= libquicktime.so:multimedia/libquicktime
-.else
-CONFIGURE_ARGS+=--enable-quicktime=no
-.endif
-
PLIST_SUB+= X11PREFIX=${LOCALBASE}
post-patch:
@${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g; \
s|/usr/local|${LOCALBASE}|g; \
- s|-lquicktime|-L${LOCALBASE}/lib &|g; \
s|LIBV4L="yes"|LIBV4L="no"|g; \
s|-lunicode|-liconv &|g' \
${WRKSRC}/configure
diff --git a/multimedia/xawtv/files/patch-Makefile.in b/multimedia/xawtv/files/patch-Makefile.in
index 94d66b488e2c..27d0704bce9a 100644
--- a/multimedia/xawtv/files/patch-Makefile.in
+++ b/multimedia/xawtv/files/patch-Makefile.in
@@ -1,6 +1,6 @@
---- Makefile.in.orig 2013-04-02 15:19:10.000000000 +0200
-+++ Makefile.in 2013-05-15 11:20:52.000000000 +0200
-@@ -68,25 +68,12 @@
+--- Makefile.in.orig 2020-05-15 23:32:25 UTC
++++ Makefile.in
+@@ -69,24 +69,11 @@ LIBV4L := @LIBV4L@
FOUND_EXPLAIN := @FOUND_EXPLAIN@
# build final cflags
@@ -19,11 +19,10 @@
# for gcc3
#CFLAGS += -std-gnu99
-
+-
-# shared objects need -fPIC
-%.so : CFLAGS += -fPIC
-%.so : CXXFLAGS += -fPIC
--
+
# libraries
LDLIBS := @LDLIBS@
-
diff --git a/multimedia/xawtv/files/patch-common__vbi-data.c b/multimedia/xawtv/files/patch-common__vbi-data.c
index 33471b7fde5e..ce6027182d1e 100644
--- a/multimedia/xawtv/files/patch-common__vbi-data.c
+++ b/multimedia/xawtv/files/patch-common__vbi-data.c
@@ -1,6 +1,6 @@
---- common/vbi-data.c.orig Tue Feb 10 22:07:49 2004
-+++ common/vbi-data.c Tue Feb 10 22:09:03 2004
-@@ -71,8 +71,11 @@
+--- common/vbi-data.c.orig 2020-05-15 23:32:25 UTC
++++ common/vbi-data.c
+@@ -86,8 +86,11 @@ vbi_open(char *dev, int debug, int sim)
vbi->cap = vbi_capture_v4l2_new(dev,16,&services,-1,&vbi->err,debug);
if (NULL == vbi->cap) {
vbi->cap = vbi_capture_v4l_new(dev,16,&services,-1,&vbi->err,debug);
diff --git a/multimedia/xawtv/files/patch-configure b/multimedia/xawtv/files/patch-configure
index fb42a4104330..3b5a3d09664e 100644
--- a/multimedia/xawtv/files/patch-configure
+++ b/multimedia/xawtv/files/patch-configure
@@ -1,6 +1,6 @@
---- configure.orig 2013-04-02 15:20:33.000000000 +0200
-+++ configure 2013-05-15 11:26:05.000000000 +0200
-@@ -5244,7 +5244,7 @@
+--- configure.orig 2020-05-15 23:35:58 UTC
++++ configure
+@@ -5296,7 +5296,7 @@ if ${ac_cv_lib_zvbi_vbi_capture_fd+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_check_lib_save_LIBS=$LIBS
@@ -9,7 +9,7 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-@@ -5277,7 +5277,7 @@
+@@ -5329,7 +5329,7 @@ $as_echo "$ac_cv_lib_zvbi_vbi_capture_fd" >&6; }
if test "x$ac_cv_lib_zvbi_vbi_capture_fd" = xyes; then :
$as_echo "#define HAVE_ZVBI 1" >>confdefs.h
@@ -18,7 +18,7 @@
fi
else
-@@ -5379,7 +5379,7 @@
+@@ -5431,7 +5431,7 @@ $as_echo "$ac_cv_lib_dv_dv_decoder_new" >&6; }
if test "x$ac_cv_lib_dv_dv_decoder_new" = xyes; then :
$as_echo "#define HAVE_DV 1" >>confdefs.h
@@ -27,8 +27,8 @@
fi
else
-@@ -5914,23 +5914,14 @@
-
+@@ -5966,23 +5966,14 @@ VERSION="`head -1 $srcdir/Changes`"
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11 config directory" >&5
$as_echo_n "checking for X11 config directory... " >&6; }
-x11conf=/usr/lib/X11
@@ -38,8 +38,8 @@
+x11conf=/etc/X11
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $x11conf" >&5
$as_echo "$x11conf" >&6; }
-
-
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X11 app-defaults directory" >&5
$as_echo_n "checking for X11 app-defaults directory... " >&6; }
-resdir=/usr/lib/X11
@@ -52,5 +52,4 @@
+resdir=/usr/X11R6/lib/X11
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $resdir/app-defaults" >&5
$as_echo "$resdir/app-defaults" >&6; }
-
-
+
diff --git a/multimedia/xawtv/files/patch-console__fbtools.c b/multimedia/xawtv/files/patch-console__fbtools.c
index 478e5e96008b..8d7ffe337009 100644
--- a/multimedia/xawtv/files/patch-console__fbtools.c
+++ b/multimedia/xawtv/files/patch-console__fbtools.c
@@ -1,5 +1,5 @@
---- console/fbtools.c.orig Tue Feb 10 22:40:55 2004
-+++ console/fbtools.c Tue Feb 10 22:42:03 2004
+--- console/fbtools.c.orig 2020-05-15 23:32:25 UTC
++++ console/fbtools.c
@@ -2,6 +2,7 @@
* some generic framebuffer device stuff
*
@@ -8,7 +8,7 @@
#include <stdio.h>
#include <stdlib.h>
-@@ -521,3 +522,4 @@
+@@ -523,3 +524,4 @@ fb_catch_exit_signals(void)
fprintf(stderr,"Oops: %s\n",sys_siglist[termsig]);
exit(42);
}
diff --git a/multimedia/xawtv/files/patch-console__scantv.c b/multimedia/xawtv/files/patch-console__scantv.c
index 968457a392a1..26c2a0abc3a7 100644
--- a/multimedia/xawtv/files/patch-console__scantv.c
+++ b/multimedia/xawtv/files/patch-console__scantv.c
@@ -1,6 +1,6 @@
---- console/scantv.c.orig Wed Feb 11 23:14:16 2004
-+++ console/scantv.c Wed Feb 11 23:15:04 2004
-@@ -245,7 +245,11 @@
+--- console/scantv.c.orig 2020-05-15 23:32:25 UTC
++++ console/scantv.c
+@@ -261,7 +261,11 @@ main(int argc, char **argv)
fprintf(stderr,"no station\n");
continue;
}
diff --git a/multimedia/xawtv/files/patch-console__showqt.c b/multimedia/xawtv/files/patch-console__showqt.c
index 970608babebe..e357719a8d41 100644
--- a/multimedia/xawtv/files/patch-console__showqt.c
+++ b/multimedia/xawtv/files/patch-console__showqt.c
@@ -1,8 +1,8 @@
---- console/showqt.c.orig Tue Nov 19 23:49:53 2002
-+++ console/showqt.c Tue Nov 19 23:57:26 2002
-@@ -11,6 +11,15 @@
- #include <inttypes.h>
- #include <time.h>
+--- console/showqt.c.orig 2020-05-15 23:32:25 UTC
++++ console/showqt.c
+@@ -16,6 +16,15 @@
+ # define PRIx64 "llx"
+ #endif
+#if !defined(PRId64)
+#define PRId64 "lld"
@@ -14,5 +14,5 @@
+
+
#if BYTE_ORDER == LITTLE_ENDIAN
- # define SWAP2(x) (((x>>8) & 0x00ff) |\
- ((x<<8) & 0xff00))
+ # define SWAP2(x) ((((uint16_t)x>>8) & (uint16_t)0x00ff) |\
+ (((uint16_t)x<<8) & (uint16_t)0xff00))
diff --git a/multimedia/xawtv/files/patch-console__vbi-tty.c b/multimedia/xawtv/files/patch-console__vbi-tty.c
index 1265408050b0..f156032d7902 100644
--- a/multimedia/xawtv/files/patch-console__vbi-tty.c
+++ b/multimedia/xawtv/files/patch-console__vbi-tty.c
@@ -1,5 +1,5 @@
---- console/vbi-tty.c.orig Tue Feb 10 22:41:06 2004
-+++ console/vbi-tty.c Tue Feb 10 22:42:03 2004
+--- console/vbi-tty.c.orig 2020-05-15 23:32:25 UTC
++++ console/vbi-tty.c
@@ -19,7 +19,7 @@
#include <sys/types.h>
#include <sys/ioctl.h>
@@ -9,7 +9,7 @@
#include "vbi-data.h"
#include "vbi-tty.h"
-@@ -65,7 +65,7 @@
+@@ -65,7 +65,7 @@ static void tty_goto(int x, int y)
}
/* --------------------------------------------------------------------- */
@@ -18,7 +18,7 @@
static int have_fb = 0;
static int fb_fmt = VBI_PIXFMT_RGBA32_LE;
static int switch_last;
-@@ -74,7 +74,7 @@
+@@ -74,7 +74,7 @@ static void fb_clear(void)
{
fb_memset(fb_mem+fb_mem_offset,0,fb_fix.smem_len);
}
@@ -27,7 +27,7 @@
/* --------------------------------------------------------------------- */
struct vbi_tty {
-@@ -133,6 +133,7 @@
+@@ -133,6 +133,7 @@ vbi_render_page(struct vbi_tty *tty)
vbi_fetch_vt_page(tty->vbi->dec,&tty->pg,tty->pgno,tty->subno,
VBI_WST_LEVEL_1p5,25,1);
vbi_fix_head(tty,tty->pg.text);
@@ -35,9 +35,9 @@
if (have_fb) {
vbi_draw_vt_page_region(&tty->pg, fb_fmt,
fb_mem + fb_mem_offset,
-@@ -142,13 +143,16 @@
+@@ -142,13 +143,16 @@ vbi_render_page(struct vbi_tty *tty)
0,1);
-
+
} else {
+#endif
len = vbi_export_txt(data,nl_langinfo(CODESET),25*41*8,
@@ -52,7 +52,7 @@
}
static void
-@@ -166,6 +170,7 @@
+@@ -169,6 +173,7 @@ vbi_render_head(struct vbi_tty *tty, int pgno, int sub
vbi_fetch_vt_page(tty->vbi->dec,&pg,pgno,subno,
VBI_WST_LEVEL_1p5,1,1);
vbi_fix_head(tty,pg.text);
@@ -60,9 +60,9 @@
if (have_fb) {
vbi_draw_vt_page_region(&pg, fb_fmt,
fb_mem + fb_mem_offset,
-@@ -175,13 +180,16 @@
+@@ -177,13 +182,16 @@ vbi_render_head(struct vbi_tty *tty, int pgno, int sub
+ pg.columns, 1,
0,1);
-
} else {
+#endif
len = vbi_export_txt(data,nl_langinfo(CODESET),41*8,
@@ -77,7 +77,7 @@
}
static void
-@@ -232,7 +240,7 @@
+@@ -234,7 +242,7 @@ void vbi_tty(char *device, int debug, int sim)
vbi = vbi_open(device,debug,sim);
if (NULL == vbi)
exit(1);
@@ -86,7 +86,7 @@
if (0 /* 0 == fb_probe() */ ) {
have_fb = 1;
fb_init(NULL,NULL,0);
-@@ -240,14 +248,21 @@
+@@ -242,14 +250,21 @@ void vbi_tty(char *device, int debug, int sim)
fb_switch_init();
switch_last = fb_switch_state;
} else {
@@ -108,7 +108,7 @@
tty = malloc(sizeof(*tty));
memset(tty,0,sizeof(*tty));
-@@ -264,14 +279,18 @@
+@@ -266,14 +281,18 @@ void vbi_tty(char *device, int debug, int sim)
rc = select(vbi->fd+1,&set,NULL,NULL,&tv);
if (-1 == rc) {
tty_restore();
@@ -127,7 +127,7 @@
tty_restore();
fprintf(stderr,"oops: timeout\n");
exit(1);
-@@ -289,7 +308,11 @@
+@@ -291,7 +310,11 @@ void vbi_tty(char *device, int debug, int sim)
break;
case 'L' & 0x1f:
/* refresh */
@@ -139,7 +139,7 @@
vbi_render_page(tty);
break;
case 'i':
-@@ -339,8 +362,10 @@
+@@ -341,8 +364,10 @@ void vbi_tty(char *device, int debug, int sim)
vbi_hasdata(vbi);
}
}
diff --git a/multimedia/xawtv/files/patch-libng__contrib-plugins__Subdir.mk b/multimedia/xawtv/files/patch-libng__contrib-plugins__Subdir.mk
index 999c06b91421..99675dcd4118 100644
--- a/multimedia/xawtv/files/patch-libng__contrib-plugins__Subdir.mk
+++ b/multimedia/xawtv/files/patch-libng__contrib-plugins__Subdir.mk
@@ -1,6 +1,6 @@
---- libng/contrib-plugins/Subdir.mk.orig Thu Feb 13 15:15:28 2003
-+++ libng/contrib-plugins/Subdir.mk Thu Feb 13 15:15:34 2003
-@@ -18,7 +18,7 @@
+--- libng/contrib-plugins/Subdir.mk.orig 2020-05-15 23:32:25 UTC
++++ libng/contrib-plugins/Subdir.mk
+@@ -18,7 +18,7 @@ libng/contrib-plugins/snd-alsa.so : LDLIBS := $(ALSA_L
# linear-blend has mmx support ...
ifeq ($(USE_MMX),yes)
diff --git a/multimedia/xawtv/files/patch-libng__plugins__drv0-bsd.c b/multimedia/xawtv/files/patch-libng__plugins__drv0-bsd.c
index 62801a53a196..84e15701f3c7 100644
--- a/multimedia/xawtv/files/patch-libng__plugins__drv0-bsd.c
+++ b/multimedia/xawtv/files/patch-libng__plugins__drv0-bsd.c
@@ -1,5 +1,5 @@
---- libng/plugins/drv0-bsd.c.orig Wed Mar 12 17:45:56 2003
-+++ libng/plugins/drv0-bsd.c Tue May 24 11:32:55 2005
+--- libng/plugins/drv0-bsd.c.orig 2020-05-15 23:32:25 UTC
++++ libng/plugins/drv0-bsd.c
@@ -23,10 +23,12 @@
#ifdef HAVE_DEV_IC_BT8XX_H
@@ -15,7 +15,7 @@
#endif
#include "grab-ng.h"
-@@ -127,7 +129,7 @@
+@@ -129,7 +131,7 @@ static struct STRTAB inputs[] = {
{ 3, "CSVIDEO" },
{ -1, NULL }
};
@@ -24,7 +24,7 @@
METEOR_INPUT_DEV1,
METEOR_INPUT_DEV0,
METEOR_INPUT_DEV_SVIDEO,
-@@ -144,7 +146,7 @@
+@@ -146,7 +148,7 @@ static struct STRTAB norms[] = {
{ 6, "RSVD" },
{ -1, NULL }
};
@@ -33,7 +33,7 @@
BT848_IFORM_F_NTSCM,
BT848_IFORM_F_NTSCJ,
BT848_IFORM_F_PALBDGHI,
-@@ -160,7 +162,7 @@
+@@ -162,7 +164,7 @@ static struct STRTAB audio[] = {
{ 2, "Intern" },
{ -1, NULL }
};
@@ -42,7 +42,7 @@
AUDIO_TUNER,
AUDIO_EXTERN,
AUDIO_INTERN,
-@@ -242,7 +244,7 @@
+@@ -244,7 +246,7 @@ static int signal_off = METEOR_SIG_MODE_MASK;
#define PREFIX "bktr: ioctl: "
static int
@@ -51,7 +51,7 @@
{
int rc;
-@@ -296,7 +298,7 @@
+@@ -298,7 +300,7 @@ xioctl(int fd, int cmd, void *arg)
break;
}
default:
@@ -60,7 +60,7 @@
break;
}
fprintf(stderr,": %s\n",(rc == 0) ? "ok" : strerror(errno));
-@@ -474,7 +476,7 @@
+@@ -482,7 +484,7 @@ static void bsd_get_min_size(void *handle, int *min_wi
/* ---------------------------------------------------------------------- */
static int
@@ -69,7 +69,7 @@
{
switch (id) {
case ATTR_ID_HUE:
-@@ -502,19 +504,20 @@
+@@ -510,19 +512,20 @@ bsd_get_range(int id, int *get, int *set)
static int bsd_read_attr(struct ng_attribute *attr)
{
struct bsd_handle *h = attr->handle;
@@ -93,7 +93,7 @@
if (arg == inputs_map[i])
value = i;
break;
-@@ -532,7 +535,7 @@
+@@ -540,7 +543,7 @@ static int bsd_read_attr(struct ng_attribute *attr)
break;
case ATTR_ID_COUNT+1: /* AUDIO */
if (-1 != xioctl(h->tfd, BT848_GAUDIO, &arg))
@@ -102,7 +102,7 @@
if (arg == audio_map[i])
value = i;
break;
-@@ -545,7 +548,8 @@
+@@ -553,7 +556,8 @@ static int bsd_read_attr(struct ng_attribute *attr)
static void bsd_write_attr(struct ng_attribute *attr, int value)
{
struct bsd_handle *h = attr->handle;
@@ -112,7 +112,7 @@
switch (attr->id) {
case ATTR_ID_NORM:
-@@ -599,7 +603,15 @@
+@@ -607,7 +611,15 @@ static void bsd_setfreq(void *handle, unsigned long fr
static int bsd_tuned(void *handle)
{
diff --git a/multimedia/xawtv/files/patch-libng_plugins_Subdir.mk b/multimedia/xawtv/files/patch-libng_plugins_Subdir.mk
index 4360391109d0..d5933e852265 100644
--- a/multimedia/xawtv/files/patch-libng_plugins_Subdir.mk
+++ b/multimedia/xawtv/files/patch-libng_plugins_Subdir.mk
@@ -1,15 +1,12 @@
---- libng/plugins/Subdir.mk.orig 2020-03-18 04:43:15 UTC
+--- libng/plugins/Subdir.mk.orig 2020-05-15 23:32:25 UTC
+++ libng/plugins/Subdir.mk
-@@ -28,9 +28,11 @@ TARGETS-plugins += \
+@@ -28,9 +28,7 @@ TARGETS-plugins += \
libng/plugins/drv0-libv4l.so
endif
ifeq ($(FOUND_OS),bsd)
-+ifeq ($(HAVE_BKTR),yes)
- TARGETS-plugins += \
+-TARGETS-plugins += \
- libng/plugins/drv0-bsd.so \
- libng/plugins/snd-oss.so
-+ libng/plugins/drv0-bsd.so
-+endif
+TARGETS-plugins += libng/plugins/snd-oss.so
endif
diff --git a/multimedia/xawtv/files/patch-scripts-subtitles b/multimedia/xawtv/files/patch-scripts-subtitles
index e82b20a95853..f663bf811be9 100644
--- a/multimedia/xawtv/files/patch-scripts-subtitles
+++ b/multimedia/xawtv/files/patch-scripts-subtitles
@@ -1,12 +1,12 @@
---- scripts/subtitles.orig 2014-06-13 07:05:00.434754238 +0200
-+++ scripts/subtitles 2014-06-13 07:06:45.175747077 +0200
+--- scripts/subtitles.orig 2020-05-15 23:32:25 UTC
++++ scripts/subtitles
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /bin/sh
#
# display teletext subtitles (PAL) in xawtv
# required: alevt-cap, xawtv-remote
-@@ -12,7 +12,7 @@
+@@ -12,7 +12,7 @@ device="/dev/vbi0"
##########################################################################
# helpers
diff --git a/multimedia/xawtv/files/patch-x11__Subdir.mk b/multimedia/xawtv/files/patch-x11__Subdir.mk
index 3b528cedfef5..9f47ebac8f9a 100644
--- a/multimedia/xawtv/files/patch-x11__Subdir.mk
+++ b/multimedia/xawtv/files/patch-x11__Subdir.mk
@@ -1,6 +1,6 @@
---- x11/Subdir.mk.orig Mon Jan 12 18:56:17 2004
-+++ x11/Subdir.mk Mon Feb 9 18:49:10 2004
-@@ -116,8 +116,8 @@
+--- x11/Subdir.mk.orig 2020-05-15 23:32:25 UTC
++++ x11/Subdir.mk
+@@ -117,8 +117,8 @@ x11/v4lctl : LDFLAGS := $(DLFLAGS)
x11/pia : LDFLAGS := $(DLFLAGS)
# compile flags
@@ -11,7 +11,7 @@
# i18n
-@@ -128,12 +128,12 @@
+@@ -129,12 +129,12 @@ MOTV-app := $(patsubst %,x11/MoTV.%.ad,$(LANGUAGES))
# local targets
x11/complete-xaw.o: x11/complete.c
@$(echo_compile_c)
diff --git a/multimedia/xawtv/pkg-descr b/multimedia/xawtv/pkg-descr
index 47a89e093eb5..4ec5418ad3f9 100644
--- a/multimedia/xawtv/pkg-descr
+++ b/multimedia/xawtv/pkg-descr
@@ -1,4 +1,2 @@
This is a _simple_ xaw-based TV Program which uses the bttv driver or
video4linux (included in 2.1.x). Copy Policy is GNU GPL.
-
-WWW: http://linuxtv.org/
diff --git a/multimedia/xawtv/pkg-plist b/multimedia/xawtv/pkg-plist
index f658f601a0be..a4b8ce6ead15 100644
--- a/multimedia/xawtv/pkg-plist
+++ b/multimedia/xawtv/pkg-plist
@@ -20,7 +20,6 @@ bin/xawtv-remote
lib/xawtv/bilinear.so
lib/xawtv/conv-mjpeg.so
lib/xawtv/cubic.so
-%%BKTR%%lib/xawtv/drv0-bsd.so
lib/xawtv/flt-disor.so
lib/xawtv/flt-gamma.so
lib/xawtv/flt-invert.so
@@ -29,46 +28,44 @@ lib/xawtv/linear-blend.so
lib/xawtv/linedoubler.so
lib/xawtv/read-avi.so
%%DV%%lib/xawtv/read-dv.so
-%%QUICKTIME%%lib/xawtv/read-qt.so
lib/xawtv/snd-oss.so
lib/xawtv/write-avi.so
%%DV%%lib/xawtv/write-dv.so
-%%QUICKTIME%%lib/xawtv/write-qt.so
-man/man1/alevtd.1.gz
-man/man1/dump-mixers.1.gz
-man/man1/fbtv.1.gz
-man/man1/motv.1.gz
-man/man1/mtt.1.gz
-man/man1/ntsc-cc.1.gz
-man/man1/pia.1.gz
-man/man1/propwatch.1.gz
-man/man1/radio.1.gz
-man/man1/record.1.gz
-man/man1/rootv.1.gz
-man/man1/scantv.1.gz
-man/man1/showriff.1.gz
-man/man1/streamer.1.gz
-man/man1/subtitles.1.gz
-man/man1/ttv.1.gz
-man/man1/v4l-info.1.gz
-man/man1/v4lctl.1.gz
-man/man1/webcam.1.gz
-man/man1/xawtv-remote.1.gz
-man/man1/xawtv.1.gz
-man/man5/xawtvrc.5.gz
-man/man8/v4l-conf.8.gz
-man/es/man1/fbtv.1.gz
-man/es/man1/rootv.1.gz
-man/es/man1/scantv.1.gz
-man/es/man1/streamer.1.gz
-man/es/man1/subtitles.1.gz
-man/es/man1/ttv.1.gz
-man/es/man1/v4lctl.1.gz
-man/es/man1/xawtv-remote.1.gz
-man/es/man1/xawtv.1.gz
-man/es/man5/xawtvrc.5.gz
-man/es/man8/v4l-conf.8.gz
-man/fr/man1/xawtv.1.gz
+share/man/man1/alevtd.1.gz
+share/man/man1/dump-mixers.1.gz
+share/man/man1/fbtv.1.gz
+share/man/man1/motv.1.gz
+share/man/man1/mtt.1.gz
+share/man/man1/ntsc-cc.1.gz
+share/man/man1/pia.1.gz
+share/man/man1/propwatch.1.gz
+share/man/man1/radio.1.gz
+share/man/man1/record.1.gz
+share/man/man1/rootv.1.gz
+share/man/man1/scantv.1.gz
+share/man/man1/showriff.1.gz
+share/man/man1/streamer.1.gz
+share/man/man1/subtitles.1.gz
+share/man/man1/ttv.1.gz
+share/man/man1/v4l-info.1.gz
+share/man/man1/v4lctl.1.gz
+share/man/man1/webcam.1.gz
+share/man/man1/xawtv-remote.1.gz
+share/man/man1/xawtv.1.gz
+share/man/man5/xawtvrc.5.gz
+share/man/man8/v4l-conf.8.gz
+share/man/es/man1/fbtv.1.gz
+share/man/es/man1/rootv.1.gz
+share/man/es/man1/scantv.1.gz
+share/man/es/man1/streamer.1.gz
+share/man/es/man1/subtitles.1.gz
+share/man/es/man1/ttv.1.gz
+share/man/es/man1/v4lctl.1.gz
+share/man/es/man1/xawtv-remote.1.gz
+share/man/es/man1/xawtv.1.gz
+share/man/es/man5/xawtvrc.5.gz
+share/man/es/man8/v4l-conf.8.gz
+share/man/fr/man1/xawtv.1.gz
share/xawtv/Index.map
share/xawtv/argentina.list
share/xawtv/ccir-h.list
diff --git a/multimedia/xfce4-parole/Makefile b/multimedia/xfce4-parole/Makefile
index 1bc8603ca0e5..8a281f578e41 100644
--- a/multimedia/xfce4-parole/Makefile
+++ b/multimedia/xfce4-parole/Makefile
@@ -1,13 +1,13 @@
-# Created by: Martin Wilke <miwi@FreeBSD.org>
-
PORTNAME= parole
-PORTVERSION= 4.16.0
+PORTVERSION= 4.18.1
+PORTREVISION= 2
CATEGORIES= multimedia xfce
MASTER_SITES= XFCE/apps
DIST_SUBDIR= xfce4
MAINTAINER= xfce@FreeBSD.org
COMMENT= Lightweight media player for Xfce4 based on GStreamer
+WWW= https://docs.xfce.org/apps/parole/introduction
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -15,14 +15,15 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libdbus-1.so:devel/dbus \
libdbus-glib-1.so:devel/dbus-glib \
libnotify.so:devel/libnotify \
- libtag.so:audio/taglib
+ libtag_c.so:audio/taglib \
+ libharfbuzz.so:print/harfbuzz
RUN_DEPENDS= xdg-screensaver:devel/xdg-utils
USES= compiler:c++11-lang desktop-file-utils gettext-tools \
gmake gnome gstreamer libtool pkgconfig tar:bzip2 xfce xorg
-USE_GNOME= cairo gtk30 glib20 intltool
-USE_GSTREAMER= core faad flac wavpack rtmp x
-USE_XFCE= panel
+USE_GNOME= cairo gdkpixbuf2 gtk30 glib20 intltool
+USE_GSTREAMER= core faad flac wavpack x
+USE_XFCE= libmenu xfconf
USE_XORG= ice sm x11
GNU_CONFIGURE= yes
diff --git a/multimedia/xfce4-parole/distinfo b/multimedia/xfce4-parole/distinfo
index 4a76018f72d5..e1c7eaa3c954 100644
--- a/multimedia/xfce4-parole/distinfo
+++ b/multimedia/xfce4-parole/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1610351990
-SHA256 (xfce4/parole-4.16.0.tar.bz2) = 0d305ad8ccd3974d6b632f74325b1b8a39304c905c6b405b70f52c4cfd55a7e7
-SIZE (xfce4/parole-4.16.0.tar.bz2) = 924955
+TIMESTAMP = 1701364130
+SHA256 (xfce4/parole-4.18.1.tar.bz2) = 0c7364a484812f69cf2b20a2323864203334cc854fd8103d1d1131814ac55a66
+SIZE (xfce4/parole-4.18.1.tar.bz2) = 934059
diff --git a/multimedia/xfce4-parole/files/patch-configure b/multimedia/xfce4-parole/files/patch-configure
deleted file mode 100644
index 3de498acc539..000000000000
--- a/multimedia/xfce4-parole/files/patch-configure
+++ /dev/null
@@ -1,15 +0,0 @@
---- configure.orig 2018-04-12 00:49:30 UTC
-+++ configure
-@@ -23916,10 +23916,10 @@ _ACEOF
- else
-
- cat >>confdefs.h <<_ACEOF
--#define PIXMAPS_DIR "${prefix}/${DATADIRNAME}/${PACKAGE}/pixmaps"
-+#define PIXMAPS_DIR "${prefix}/${DATADIRNAME}/pixmaps"
- _ACEOF
-
-- pixmapsdir="${prefix}/${DATADIRNAME}/${PACKAGE}/pixmaps"
-+ pixmapsdir="${prefix}/${DATADIRNAME}/pixmaps"
- fi
-
-
diff --git a/multimedia/xfce4-parole/files/patch-src_plugins_mpris2_mpris2-provider.c b/multimedia/xfce4-parole/files/patch-src_plugins_mpris2_mpris2-provider.c
new file mode 100644
index 000000000000..1babb3f4f4c1
--- /dev/null
+++ b/multimedia/xfce4-parole/files/patch-src_plugins_mpris2_mpris2-provider.c
@@ -0,0 +1,11 @@
+--- src/plugins/mpris2/mpris2-provider.c.orig 2024-03-17 09:51:52 UTC
++++ src/plugins/mpris2/mpris2-provider.c
+@@ -196,7 +196,7 @@ static GVariant* mpris_Root_get_SupportedUriSchemes(GE
+ static GVariant* mpris_Root_get_SupportedUriSchemes(GError **error, Mpris2Provider *provider) {
+ return g_variant_parse(G_VARIANT_TYPE("as"),
+ "['cdda', 'dvd', 'file', 'icy', 'icyx', 'mms', 'mmsh', 'net', "
+- "'pnm', 'rtmp', 'rtp', 'rtsp', 'uvox']", NULL, NULL, NULL);
++ "'pnm', 'rtp', 'rtsp', 'uvox']", NULL, NULL, NULL);
+ }
+
+ static GVariant* mpris_Root_get_SupportedMimeTypes(GError **error, Mpris2Provider *provider) {
diff --git a/multimedia/xfce4-parole/pkg-descr b/multimedia/xfce4-parole/pkg-descr
index ef1cc4d1deec..f185ef5b3831 100644
--- a/multimedia/xfce4-parole/pkg-descr
+++ b/multimedia/xfce4-parole/pkg-descr
@@ -1,4 +1,2 @@
Parole is a modern media player based on the GStreamer framework for the
Xfce desktop.
-
-WWW: https://docs.xfce.org/apps/parole/introduction
diff --git a/multimedia/xfce4-parole/pkg-plist b/multimedia/xfce4-parole/pkg-plist
index d653ab391072..79d3d0d4760a 100644
--- a/multimedia/xfce4-parole/pkg-plist
+++ b/multimedia/xfce4-parole/pkg-plist
@@ -16,8 +16,11 @@ share/icons/hicolor/16x16/apps/org.xfce.parole.png
share/icons/hicolor/16x16/apps/parole-extension-symbolic.svg
share/icons/hicolor/16x16/apps/parole-extension.png
share/icons/hicolor/24x24/apps/org.xfce.parole.png
+share/icons/hicolor/32x32/apps/org.xfce.parole.png
share/icons/hicolor/48x48/apps/org.xfce.parole.png
share/icons/hicolor/48x48/apps/parole-extension.png
+share/icons/hicolor/64x64/apps/org.xfce.parole.png
+share/icons/hicolor/96x96/apps/org.xfce.parole.png
share/icons/hicolor/scalable/apps/org.xfce.parole.svg
%%NLS%%share/locale/ar/LC_MESSAGES/parole.mo
%%NLS%%share/locale/ast/LC_MESSAGES/parole.mo
@@ -75,6 +78,6 @@ share/metainfo/parole.appdata.xml
%%DATADIR%%/parole-plugins-0/mpris2.desktop
%%DATADIR%%/parole-plugins-0/notify.desktop
%%DATADIR%%/parole-plugins-0/system-tray.desktop
-share/pixmaps/no-cover.png
-share/pixmaps/play.png
-share/pixmaps/replay.png
+%%DATADIR%%/pixmaps/no-cover.png
+%%DATADIR%%/pixmaps/play.png
+%%DATADIR%%/pixmaps/replay.png
diff --git a/multimedia/xine/Makefile b/multimedia/xine/Makefile
index db016a535406..4f769bdbaa3b 100644
--- a/multimedia/xine/Makefile
+++ b/multimedia/xine/Makefile
@@ -1,12 +1,13 @@
PORTNAME= xine
-PORTVERSION= 0.99.12
-PORTREVISION= 3
+PORTVERSION= 0.99.14
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-ui/${PORTVERSION}
DISTNAME= ${PORTNAME}-ui-${PORTVERSION}
MAINTAINER= ports@FreeBSD.org
COMMENT= X11 multimedia player
+WWW= https://www.xine-project.org
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
@@ -18,6 +19,7 @@ USES= cpe desktop-file-utils gmake gnome iconv jpeg localbase pkgconfig \
readline shared-mime-info tar:xz xorg
USE_XORG= x11 xext xinerama xscrnsaver xt xtst xv xxf86vm
GNU_CONFIGURE= yes
+GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_ARGS= --enable-vdr-keys \
--disable-nvtvsimple \
--disable-rpath
@@ -29,7 +31,6 @@ DOCSDIR= ${PREFIX}/share/doc/xine-ui
OPTIONS_DEFINE= AALIB CACA CURL DOCS LIRC NLS XFT
OPTIONS_DEFAULT= CURL XFT
-OPTIONS_DEFINE_i386= WIN32_CODECS
OPTIONS_SUB= yes
AALIB_LIB_DEPENDS= libaa.so:graphics/aalib
@@ -45,13 +46,10 @@ LIRC_CONFIGURE_ENV= LIRC_CFLAGS="-I${LOCALBASE}/include" \
LIRC_CONFIGURE_ENABLE= lirc
NLS_USES= gettext
NLS_CONFIGURE_ENABLE= nls
-WIN32_CODECS_DESC= Enable win32 codecs
-WIN32_CODECS_RUN_DEPENDS=\
- win32-codecs>0:multimedia/win32-codecs
XFT_USE= XORG=xft
XFT_CONFIGURE_ENABLE= xft
-XINE_PLUGINSDIR= lib/xine/plugins/2.10
+XINE_PLUGINSDIR= lib/xine/plugins/2.11
post-patch:
@${REINPLACE_CMD} -e \
diff --git a/multimedia/xine/distinfo b/multimedia/xine/distinfo
index 8ebe7641919f..5a55c982d0e7 100644
--- a/multimedia/xine/distinfo
+++ b/multimedia/xine/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1576091262
-SHA256 (xine-ui-0.99.12.tar.xz) = 54bfc49d8e68baba84e1625951bd36352c0a5883180895bd940f5538b4aef583
-SIZE (xine-ui-0.99.12.tar.xz) = 1980672
+TIMESTAMP = 1673203870
+SHA256 (xine-ui-0.99.14.tar.xz) = d4d490d5cece70e2bb9849c9e482f2cf87af0302d451b614476fdcc3642cd9c3
+SIZE (xine-ui-0.99.14.tar.xz) = 2214740
diff --git a/multimedia/xine/pkg-descr b/multimedia/xine/pkg-descr
index 28536a5c2909..c22d4524d3f3 100644
--- a/multimedia/xine/pkg-descr
+++ b/multimedia/xine/pkg-descr
@@ -2,5 +2,3 @@ xine is a free multimedia player. It plays back CDs, DVDs, and VCDs.
It also decodes multimedia files like AVI, MOV, WMV, and MP3 from
local disk drives, and displays multimedia streamed over the Internet.
It interprets many of the most common multimedia formats available.
-
-WWW: http://www.xine-project.org
diff --git a/multimedia/xine/pkg-plist b/multimedia/xine/pkg-plist
index 776a09c52a2f..bd907793e182 100644
--- a/multimedia/xine/pkg-plist
+++ b/multimedia/xine/pkg-plist
@@ -1,58 +1,71 @@
-%%AALIB%%bin/aaxine
-%%CACA%%bin/cacaxine
bin/fbxine
bin/xine
bin/xine-bugreport
bin/xine-check
bin/xine-remote
-man/de/man1/aaxine.1.gz
-man/de/man1/xine-bugreport.1.gz
-man/de/man1/xine-check.1.gz
-man/de/man1/xine-remote.1.gz
-man/de/man1/xine.1.gz
-man/es/man1/aaxine.1.gz
-man/es/man1/xine-bugreport.1.gz
-man/es/man1/xine-check.1.gz
-man/es/man1/xine-remote.1.gz
-man/es/man1/xine.1.gz
-man/fr/man1/xine.1.gz
-man/man1/aaxine.1.gz
-man/man1/xine-bugreport.1.gz
-man/man1/xine-check.1.gz
-man/man1/xine-remote.1.gz
-man/man1/xine.1.gz
-man/pl/man1/aaxine.1.gz
-man/pl/man1/xine-remote.1.gz
-man/pl/man1/xine.1.gz
+share/man/de/man1/aaxine.1.gz
+share/man/de/man1/xine-bugreport.1.gz
+share/man/de/man1/xine-check.1.gz
+share/man/de/man1/xine-remote.1.gz
+share/man/de/man1/xine.1.gz
+share/man/es/man1/aaxine.1.gz
+share/man/es/man1/xine-bugreport.1.gz
+share/man/es/man1/xine-check.1.gz
+share/man/es/man1/xine-remote.1.gz
+share/man/es/man1/xine.1.gz
+share/man/fr/man1/xine.1.gz
+share/man/man1/aaxine.1.gz
+share/man/man1/xine-bugreport.1.gz
+share/man/man1/xine-check.1.gz
+share/man/man1/xine-remote.1.gz
+share/man/man1/xine.1.gz
+share/man/nl/man1/aaxine.1.gz
+share/man/nl/man1/xine-bugreport.1.gz
+share/man/nl/man1/xine-check.1.gz
+share/man/nl/man1/xine-remote.1.gz
+share/man/nl/man1/xine.1.gz
+share/man/pl/man1/aaxine.1.gz
+share/man/pl/man1/xine-remote.1.gz
+share/man/pl/man1/xine.1.gz
share/applications/xine.desktop
-%%PORTDOCS%%%%DOCSDIR%%/README.config_en
-%%PORTDOCS%%%%DOCSDIR%%/README.cs.0.Introduction
-%%PORTDOCS%%%%DOCSDIR%%/README.cs.10.Remote_control
-%%PORTDOCS%%%%DOCSDIR%%/README.cs.15.MRLs
-%%PORTDOCS%%%%DOCSDIR%%/README.cs.5.xine-ui
-%%PORTDOCS%%%%DOCSDIR%%/README.en.0.Introduction
-%%PORTDOCS%%%%DOCSDIR%%/README.en.10.Remote_control
-%%PORTDOCS%%%%DOCSDIR%%/README.en.15.MRLs
-%%PORTDOCS%%%%DOCSDIR%%/README.en.20.DVD
-%%PORTDOCS%%%%DOCSDIR%%/README.en.25.VideoCD
-%%PORTDOCS%%%%DOCSDIR%%/README.en.30.Advanced
-%%PORTDOCS%%%%DOCSDIR%%/README.en.32.Window_managers
-%%PORTDOCS%%%%DOCSDIR%%/README.en.35.Legal_issues
-%%PORTDOCS%%%%DOCSDIR%%/README.en.5.xine-ui
-%%PORTDOCS%%%%DOCSDIR%%/README_cs
-%%PORTDOCS%%%%DOCSDIR%%/README_de
-%%PORTDOCS%%%%DOCSDIR%%/README_en
-%%PORTDOCS%%%%DOCSDIR%%/README_es
-%%PORTDOCS%%%%DOCSDIR%%/README_fi
-%%PORTDOCS%%%%DOCSDIR%%/README_fr
-%%PORTDOCS%%%%DOCSDIR%%/README_it
-%%PORTDOCS%%%%DOCSDIR%%/README_pl
-%%PORTDOCS%%%%DOCSDIR%%/README_uk
-%%PORTDOCS%%share/doc/xitk/README
share/icons/hicolor/16x16/apps/xine.png
share/icons/hicolor/22x22/apps/xine.png
share/icons/hicolor/32x32/apps/xine.png
share/icons/hicolor/48x48/apps/xine.png
+share/icons/hicolor/64x64/apps/xine.png
+share/icons/hicolor/scalable/apps/xine.svgz
+share/mime/packages/xine-ui.xml
+share/pixmaps/xine.xpm
+share/pixmaps/xine_32.xpm
+%%AALIB%%bin/aaxine
+%%CACA%%bin/cacaxine
+%%DATADIR%%/oxine/mainmenu
+%%DATADIR%%/oxine/mediamarks
+%%DATADIR%%/skins/missing.png
+%%DATADIR%%/skins/xine-ui_logo.mpg
+%%DATADIR%%/skins/xine-ui_logo.png
+%%DATADIR%%/skins/xine_64.png
+%%DATADIR%%/skins/xine_splash.png
+%%DATADIR%%/skins/xinetic/ACtlBg.png
+%%DATADIR%%/skins/xinetic/CtlBg.png
+%%DATADIR%%/skins/xinetic/Letters.png
+%%DATADIR%%/skins/xinetic/Letters2.png
+%%DATADIR%%/skins/xinetic/LettersA.png
+%%DATADIR%%/skins/xinetic/LettersHL.png
+%%DATADIR%%/skins/xinetic/LettersHLA.png
+%%DATADIR%%/skins/xinetic/MainBg.png
+%%DATADIR%%/skins/xinetic/MainBits1.png
+%%DATADIR%%/skins/xinetic/MainBits2.png
+%%DATADIR%%/skins/xinetic/MrlBg.png
+%%DATADIR%%/skins/xinetic/MrlFlit.png
+%%DATADIR%%/skins/xinetic/PlBg.png
+%%DATADIR%%/skins/xinetic/PlBits2.png
+%%DATADIR%%/skins/xinetic/PlInputTxt.png
+%%DATADIR%%/skins/xinetic/PlItemBtn.png
+%%DATADIR%%/skins/xinetic/SkItemBtn.png
+%%DATADIR%%/skins/xinetic/skinconfig
+%%DATADIR%%/skins/xinetic/unused.png
+%%DATADIR%%/visuals/default.mpv
%%NLS%%share/locale/cs/LC_MESSAGES/xine-ui.mo
%%NLS%%share/locale/cs/LC_MESSAGES/xitk.mo
%%NLS%%share/locale/de/LC_MESSAGES/xine-ui.mo
@@ -70,6 +83,7 @@ share/icons/hicolor/48x48/apps/xine.png
%%NLS%%share/locale/ja/LC_MESSAGES/xitk.mo
%%NLS%%share/locale/nb/LC_MESSAGES/xine-ui.mo
%%NLS%%share/locale/nb/LC_MESSAGES/xitk.mo
+%%NLS%%share/locale/nl/LC_MESSAGES/xine-ui.mo
%%NLS%%share/locale/pl/LC_MESSAGES/xine-ui.mo
%%NLS%%share/locale/pl/LC_MESSAGES/xitk.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/xine-ui.mo
@@ -80,73 +94,36 @@ share/icons/hicolor/48x48/apps/xine.png
%%NLS%%share/locale/sk/LC_MESSAGES/xitk.mo
%%NLS%%share/locale/uk/LC_MESSAGES/xine-ui.mo
%%NLS%%share/locale/uk/LC_MESSAGES/xitk.mo
-share/mime/packages/xine-ui.xml
-share/pixmaps/xine.xpm
-%%DATADIR%%/oxine/mainmenu
-%%DATADIR%%/oxine/mediamarks
-%%DATADIR%%/skins/xine-ui_logo.mpg
-%%DATADIR%%/skins/xine-ui_logo.png
-%%DATADIR%%/skins/xine_splash.png
-%%DATADIR%%/skins/xinetic/BigArrowDown.png
-%%DATADIR%%/skins/xinetic/BigArrowLeft.png
-%%DATADIR%%/skins/xinetic/BigArrowRight.png
-%%DATADIR%%/skins/xinetic/BigArrowUp.png
-%%DATADIR%%/skins/xinetic/CtlBg.png
-%%DATADIR%%/skins/xinetic/CtlBtn.png
-%%DATADIR%%/skins/xinetic/CtlDismiss.png
-%%DATADIR%%/skins/xinetic/CtlDummy.png
-%%DATADIR%%/skins/xinetic/CtlReset.png
-%%DATADIR%%/skins/xinetic/CtlSave.png
-%%DATADIR%%/skins/xinetic/Letters.png
-%%DATADIR%%/skins/xinetic/Letters2.png
-%%DATADIR%%/skins/xinetic/MainAutoButton.png
-%%DATADIR%%/skins/xinetic/MainBg.png
-%%DATADIR%%/skins/xinetic/MainCam.png
-%%DATADIR%%/skins/xinetic/MainClose.png
-%%DATADIR%%/skins/xinetic/MainDown.png
-%%DATADIR%%/skins/xinetic/MainEject.png
-%%DATADIR%%/skins/xinetic/MainFastB.png
-%%DATADIR%%/skins/xinetic/MainFastF.png
-%%DATADIR%%/skins/xinetic/MainFullScreen.png
-%%DATADIR%%/skins/xinetic/MainMute.png
-%%DATADIR%%/skins/xinetic/MainNav.png
-%%DATADIR%%/skins/xinetic/MainNext.png
-%%DATADIR%%/skins/xinetic/MainPause.png
-%%DATADIR%%/skins/xinetic/MainPlay.png
-%%DATADIR%%/skins/xinetic/MainPower.png
-%%DATADIR%%/skins/xinetic/MainPrev.png
-%%DATADIR%%/skins/xinetic/MainSetup.png
-%%DATADIR%%/skins/xinetic/MainStop.png
-%%DATADIR%%/skins/xinetic/MainUp.png
-%%DATADIR%%/skins/xinetic/MainVolumeBg.png
-%%DATADIR%%/skins/xinetic/MainVolumePad.png
-%%DATADIR%%/skins/xinetic/MrlBg.png
-%%DATADIR%%/skins/xinetic/MrlBtn.png
-%%DATADIR%%/skins/xinetic/MrlDismiss.png
-%%DATADIR%%/skins/xinetic/MrlFlit.png
-%%DATADIR%%/skins/xinetic/MrlSelect.png
-%%DATADIR%%/skins/xinetic/Onglet.png
-%%DATADIR%%/skins/xinetic/PlBg.png
-%%DATADIR%%/skins/xinetic/PlBtn.png
-%%DATADIR%%/skins/xinetic/PlDelete.png
-%%DATADIR%%/skins/xinetic/PlDeleteAll.png
-%%DATADIR%%/skins/xinetic/PlDismiss.png
-%%DATADIR%%/skins/xinetic/PlInputTxt.png
-%%DATADIR%%/skins/xinetic/PlItemBtn.png
-%%DATADIR%%/skins/xinetic/PlMoveDn.png
-%%DATADIR%%/skins/xinetic/PlMoveUp.png
-%%DATADIR%%/skins/xinetic/PlPlay.png
-%%DATADIR%%/skins/xinetic/PlSlidHBg.png
-%%DATADIR%%/skins/xinetic/SkItemBtn.png
-%%DATADIR%%/skins/xinetic/SkSlidBG.png
-%%DATADIR%%/skins/xinetic/SkSlidHBg.png
-%%DATADIR%%/skins/xinetic/SkSlidHPad.png
-%%DATADIR%%/skins/xinetic/SlidHPad.png
-%%DATADIR%%/skins/xinetic/SliderHBg.png
-%%DATADIR%%/skins/xinetic/SliderHPad.png
-%%DATADIR%%/skins/xinetic/SliderVBg.png
-%%DATADIR%%/skins/xinetic/SliderVPad.png
-%%DATADIR%%/skins/xinetic/SmallArrowDown.png
-%%DATADIR%%/skins/xinetic/SmallArrowUp.png
-%%DATADIR%%/skins/xinetic/skinconfig
-%%DATADIR%%/visuals/default.mpv
+%%PORTDOCS%%%%DOCSDIR%%/README.config_en
+%%PORTDOCS%%%%DOCSDIR%%/README.cs.0.Introduction
+%%PORTDOCS%%%%DOCSDIR%%/README.cs.10.Remote_control
+%%PORTDOCS%%%%DOCSDIR%%/README.cs.15.MRLs
+%%PORTDOCS%%%%DOCSDIR%%/README.cs.5.xine-ui
+%%PORTDOCS%%%%DOCSDIR%%/README.en.0.Introduction
+%%PORTDOCS%%%%DOCSDIR%%/README.en.10.Remote_control
+%%PORTDOCS%%%%DOCSDIR%%/README.en.15.MRLs
+%%PORTDOCS%%%%DOCSDIR%%/README.en.20.DVD
+%%PORTDOCS%%%%DOCSDIR%%/README.en.25.VideoCD
+%%PORTDOCS%%%%DOCSDIR%%/README.en.30.Advanced
+%%PORTDOCS%%%%DOCSDIR%%/README.en.32.Window_managers
+%%PORTDOCS%%%%DOCSDIR%%/README.en.35.Legal_issues
+%%PORTDOCS%%%%DOCSDIR%%/README.en.5.xine-ui
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.0.Introduction
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.10.Remote_control
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.15.MRLs
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.25.VideoCD
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.30.Advanced
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.32.Window_managers
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.35.Legal_issues
+%%PORTDOCS%%%%DOCSDIR%%/README.nl.5.xine-ui
+%%PORTDOCS%%%%DOCSDIR%%/README_cs
+%%PORTDOCS%%%%DOCSDIR%%/README_de
+%%PORTDOCS%%%%DOCSDIR%%/README_en
+%%PORTDOCS%%%%DOCSDIR%%/README_es
+%%PORTDOCS%%%%DOCSDIR%%/README_fi
+%%PORTDOCS%%%%DOCSDIR%%/README_fr
+%%PORTDOCS%%%%DOCSDIR%%/README_it
+%%PORTDOCS%%%%DOCSDIR%%/README_nl
+%%PORTDOCS%%%%DOCSDIR%%/README_pl
+%%PORTDOCS%%%%DOCSDIR%%/README_uk
+%%PORTDOCS%%share/doc/xitk/README
diff --git a/multimedia/xporthdmv/Makefile b/multimedia/xporthdmv/Makefile
index a906c3c2bb03..ecd95504dd8a 100644
--- a/multimedia/xporthdmv/Makefile
+++ b/multimedia/xporthdmv/Makefile
@@ -1,13 +1,12 @@
-# Created by: Steve Wills <steve@mouf.net>
-
PORTNAME= xporthdmv
PORTVERSION= 1.01
CATEGORIES= multimedia
MASTER_SITES= http://www.w6rz.net/
DISTNAME= xport
-MAINTAINER= swills@FreeBSD.org
+MAINTAINER= bofh@FreeBSD.org
COMMENT= The xport Transport Stream Demuxer
+WWW= https://www.w6rz.net/
USES= zip
NO_WRKSUBDIR= yes
diff --git a/multimedia/xporthdmv/pkg-descr b/multimedia/xporthdmv/pkg-descr
index ac3373b2eb71..6ff87514ad14 100644
--- a/multimedia/xporthdmv/pkg-descr
+++ b/multimedia/xporthdmv/pkg-descr
@@ -1,3 +1 @@
xport Transport Stream Demuxer, sometimes called xporthdmv
-
-WWW: http://www.w6rz.net/
diff --git a/multimedia/xvid/Makefile b/multimedia/xvid/Makefile
index 575d26f9ece5..31d6a10c9756 100644
--- a/multimedia/xvid/Makefile
+++ b/multimedia/xvid/Makefile
@@ -1,5 +1,3 @@
-# Created by: Michael Nottebrock <michaelnottebrock@gmx.net> et al
-
PORTNAME= xvid
PORTVERSION= 1.3.7
PORTEPOCH= 1
@@ -9,6 +7,7 @@ DISTNAME= ${PORTNAME}core-${PORTVERSION}
MAINTAINER= riggs@FreeBSD.org
COMMENT= Opensource MPEG-4 codec, based on OpenDivx
+WWW= http://www.xvid.org/
LICENSE= GPLv2+
LICENSE_FILE= ${WRKDIR}/xvidcore/LICENSE
diff --git a/multimedia/xvid/pkg-descr b/multimedia/xvid/pkg-descr
index d17f8e8d3db6..8077e86cc197 100644
--- a/multimedia/xvid/pkg-descr
+++ b/multimedia/xvid/pkg-descr
@@ -1,3 +1 @@
An opensource MPEG-4 codec, based on OpenDivx
-
-WWW: http://www.xvid.org/
diff --git a/multimedia/yamdi/Makefile b/multimedia/yamdi/Makefile
index 3bf817826e90..a1d83352b157 100644
--- a/multimedia/yamdi/Makefile
+++ b/multimedia/yamdi/Makefile
@@ -1,5 +1,3 @@
-# Created by: Kuan-Chung Chiu <buganini@gmail.com>
-
PORTNAME= yamdi
PORTVERSION= 1.9
CATEGORIES= multimedia
@@ -7,6 +5,7 @@ MASTER_SITES= SF
MAINTAINER= buganini@gmail.com
COMMENT= Metadata injector for FLV files
+WWW= https://yamdi.sourceforge.net/
LICENSE= BSD3CLAUSE
diff --git a/multimedia/yamdi/pkg-descr b/multimedia/yamdi/pkg-descr
index d30f92f738c7..bcd678f89ed4 100644
--- a/multimedia/yamdi/pkg-descr
+++ b/multimedia/yamdi/pkg-descr
@@ -1,4 +1,2 @@
YAMDI stands for Yet Another MetaData Injector and is a metadata injector
for FLV files. It adds the onMetaData event to your FLV files.
-
-WWW: http://yamdi.sourceforge.net/
diff --git a/multimedia/ytfzf/Makefile b/multimedia/ytfzf/Makefile
index 03922ab000b8..02f2097bed31 100644
--- a/multimedia/ytfzf/Makefile
+++ b/multimedia/ytfzf/Makefile
@@ -1,11 +1,11 @@
PORTNAME= ytfzf
DISTVERSIONPREFIX= v
-DISTVERSION= 1.2.0
-PORTREVISION= 1
+DISTVERSION= 2.6.2
CATEGORIES= multimedia
-MAINTAINER= 0mp@FreeBSD.org
+MAINTAINER= eduardo@FreeBSD.org
COMMENT= Find and watch YouTube videos from the terminal
+WWW= https://github.com/pystardust/ytfzf
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
@@ -27,21 +27,20 @@ PYTHON_NO_DEPENDS= yes
NO_ARCH= yes
NO_BUILD= yes
-PLIST_FILES= bin/${PORTNAME}
+PLIST_FILES= bin/${PORTNAME} \
+ share/man/man1/${PORTNAME}.1.gz \
+ share/man/man5/${PORTNAME}.5.gz
-PORTDOCS= USAGE.md conf.sh
PORTEXAMPLES= conf.sh
-OPTIONS_DEFINE= DOCS EXAMPLES
+OPTIONS_DEFINE= EXAMPLES
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKSRC}/docs/man/${PORTNAME}.1 ${STAGEDIR}${PREFIX}/share/man/man1
+ ${INSTALL_MAN} ${WRKSRC}/docs/man/${PORTNAME}.5 ${STAGEDIR}${PREFIX}/share/man/man5
- @${MKDIR} ${STAGEDIR}${DOCSDIR}
- ${INSTALL_DATA} ${WRKSRC}/docs/USAGE.md ${STAGEDIR}${DOCSDIR}
-
- @${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/docs/conf.sh ${STAGEDIR}${EXAMPLESDIR}
- ${RLN} ${STAGEDIR}${EXAMPLESDIR}/conf.sh ${STAGEDIR}${DOCSDIR}/conf.sh
.include <bsd.port.mk>
diff --git a/multimedia/ytfzf/distinfo b/multimedia/ytfzf/distinfo
index 444f30a69b03..f0c0eae74c06 100644
--- a/multimedia/ytfzf/distinfo
+++ b/multimedia/ytfzf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1625097159
-SHA256 (pystardust-ytfzf-v1.2.0_GH0.tar.gz) = 244205d59f4fbab30c87740b7181c387a1892e23d8e20a034adcfaa686130fa7
-SIZE (pystardust-ytfzf-v1.2.0_GH0.tar.gz) = 3229824
+TIMESTAMP = 1706774580
+SHA256 (pystardust-ytfzf-v2.6.2_GH0.tar.gz) = 73280e4ef4f490400a42bf582b713803c523587b0b30269859eaa6f2693ec9b1
+SIZE (pystardust-ytfzf-v2.6.2_GH0.tar.gz) = 3279051
diff --git a/multimedia/ytfzf/files/patch-ytfzf b/multimedia/ytfzf/files/patch-ytfzf
deleted file mode 100644
index c7a5827d6be3..000000000000
--- a/multimedia/ytfzf/files/patch-ytfzf
+++ /dev/null
@@ -1,11 +0,0 @@
---- ytfzf.orig 2021-06-26 05:44:53 UTC
-+++ ytfzf
-@@ -1095,7 +1095,7 @@ play_url () {
- session_is_running () {
- session_count=0
- while read -r pid; do
-- [ -d /proc/"$pid" ] && session_count=$(( session_count + 1 ))
-+ kill -0 "$pid" 2>/dev/null && session_count=$(( session_count + 1 ))
- done < "$pid_file"
- [ $session_count -eq 1 ] && return 1 || return 0
- }
diff --git a/multimedia/ytfzf/pkg-descr b/multimedia/ytfzf/pkg-descr
index e3ab0d1ba1a3..281ec43ce1db 100644
--- a/multimedia/ytfzf/pkg-descr
+++ b/multimedia/ytfzf/pkg-descr
@@ -1,4 +1,2 @@
Ytfzf is a POSIX script that helps you find Youtube videos (without API)
and opens/downloads them using mpv/youtube-dl.
-
-WWW: https://github.com/pystardust/ytfzf
diff --git a/multimedia/zart/Makefile b/multimedia/zart/Makefile
index 2b25a99f610f..8f826cb06101 100644
--- a/multimedia/zart/Makefile
+++ b/multimedia/zart/Makefile
@@ -1,6 +1,6 @@
PORTNAME= zart
PORTVERSION= g20191124
-PORTREVISION= 2
+PORTREVISION= 5
CATEGORIES= multimedia
MASTER_SITES= https://gmic.eu/files/source/:gmic
DISTFILES= gmic_${GMIC_VERSION}.tar.gz:gmic
@@ -10,6 +10,7 @@ PATCHFILES= 6ca1964690afbbc78627d7c868a692401043a584.patch:-p1
MAINTAINER= yuri@FreeBSD.org
COMMENT= GMIC GUI for video streams
+WWW= https://github.com/c-koi/zart
LICENSE= CeCILL
LICENSE_NAME= CeCILL
@@ -24,7 +25,7 @@ USES= compiler:c++11-lang pkgconfig qmake qt:5
USE_GITHUB= yes
GH_ACCOUNT= c-koi
GH_TAGNAME= 099554f
-USE_QT= core gui network widgets xml buildtools_build
+USE_QT= core gui network widgets xml buildtools:build
GMIC_VERSION= 2.8.1
diff --git a/multimedia/zart/pkg-descr b/multimedia/zart/pkg-descr
index 83e9faa57055..5756c64db679 100644
--- a/multimedia/zart/pkg-descr
+++ b/multimedia/zart/pkg-descr
@@ -2,5 +2,3 @@ ZArt is a computer program whose purpose is to demonstrate the possibilities of
the G'MIC image processing language by offering the choice of several
manipulations on a video stream acquired from a webcam. In other words, ZArt is
a GUI for G'MIC real-time manipulations on the output of a webcam.
-
-WWW: https://github.com/c-koi/zart
diff --git a/multimedia/zoneminder/Makefile b/multimedia/zoneminder/Makefile
index be9926cb6a9c..69a34e271d9a 100644
--- a/multimedia/zoneminder/Makefile
+++ b/multimedia/zoneminder/Makefile
@@ -1,14 +1,16 @@
PORTNAME= zoneminder
-DISTVERSION= 1.36.12
+DISTVERSION= 1.36.33
+PORTREVISION= 3
CATEGORIES= multimedia
MAINTAINER= bsd@abinet.ru
COMMENT= Complete security camera solution, fully web based with image analysis
+WWW= https://www.zoneminder.com/
LICENSE= GPLv2
ZM_DEPENDS= p5-DBI>=0:databases/p5-DBI \
- p5-DBD-mysql>=0:databases/p5-DBD-mysql \
+ ${DBD_MYSQL} \
p5-Date-Manip>=0:devel/p5-Date-Manip \
p5-Test-LWP-UserAgent>=0:www/p5-Test-LWP-UserAgent \
p5-Sys-Mmap>=0:devel/p5-Sys-Mmap \
@@ -37,9 +39,9 @@ USES= cmake:insource,noninja cpe jpeg mysql perl5 php shebangfix ssl
USE_GITHUB= yes
GH_TUPLE= FriendsOfCake:crud:1429237:crud/web/api/app/Plugin/Crud \
ZoneMinder:CakePHP-Enum-Behavior:ea90c0c:crud_plugin/web/api/app/Plugin/CakePHP-Enum-Behavior \
- ZoneMinder:RtspServer:cd7fd49:rtsp_server/dep/RtspServer
+ ZoneMinder:RtspServer:eab3285:rtsp_server/dep/RtspServer
USE_RC_SUBR= zoneminder
-USE_PHP= json pdo_mysql session gd sockets ctype opcache openssl hash
+USE_PHP= ctype gd intl opcache pdo_mysql session sockets sysvsem
OPTIONS_DEFINE= NLS V4L
OPTIONS_SUB= yes
@@ -103,11 +105,11 @@ pre-install:
${MKDIR} ${STAGEDIR}${WWWDIR}/temp
${MKDIR} ${STAGEDIR}${WWWDIR}/api/app/tmp
${MKDIR} ${STAGEDIR}/var/cache/zoneminder
- ${MKDIR} ${STAGEDIR}/var/cache/zoneminder/events
- ${MKDIR} ${STAGEDIR}/var/cache/zoneminder/images
${MKDIR} ${STAGEDIR}/var/db/zoneminder
+ ${MKDIR} ${STAGEDIR}/var/db/zoneminder/events
${MKDIR} ${STAGEDIR}/var/run/zm
${MKDIR} ${STAGEDIR}/var/tmp/zm
+ ${MKDIR} ${STAGEDIR}/var/log/zm
post-install: # zmsystemctl.pl is only for systend-based systems
@cd ${STAGEDIR}${PREFIX} && \
diff --git a/multimedia/zoneminder/distinfo b/multimedia/zoneminder/distinfo
index 3bde15a93e04..44f06f0f9537 100644
--- a/multimedia/zoneminder/distinfo
+++ b/multimedia/zoneminder/distinfo
@@ -1,9 +1,9 @@
-TIMESTAMP = 1641049619
-SHA256 (zoneminder-zoneminder-1.36.12_GH0.tar.gz) = 8f2772c9aa891e3e3de6b73e4ce95189af4d5faa886ac13d7ce20972d11c31dd
-SIZE (zoneminder-zoneminder-1.36.12_GH0.tar.gz) = 11350267
+TIMESTAMP = 1677226523
+SHA256 (zoneminder-zoneminder-1.36.33_GH0.tar.gz) = cd0f44c7238bcfd10579d665b271f6af81b61f5cbd8cbbc2ff5d7839232e267e
+SIZE (zoneminder-zoneminder-1.36.33_GH0.tar.gz) = 11501221
SHA256 (FriendsOfCake-crud-1429237_GH0.tar.gz) = 4dc57f344623d3c0e735b53ed583e5382aa9e43012215f641cbd8ebad381aadc
SIZE (FriendsOfCake-crud-1429237_GH0.tar.gz) = 73018
SHA256 (ZoneMinder-CakePHP-Enum-Behavior-ea90c0c_GH0.tar.gz) = 3a9006c7c59f2b864ce628df4725b241fc23cfd9abc56e746acbd22d850f5ab1
SIZE (ZoneMinder-CakePHP-Enum-Behavior-ea90c0c_GH0.tar.gz) = 3500
-SHA256 (ZoneMinder-RtspServer-cd7fd49_GH0.tar.gz) = 0a397ca5810ecff1c66955348b65903114c5da8f390e3af137a4d0fa33672762
-SIZE (ZoneMinder-RtspServer-cd7fd49_GH0.tar.gz) = 1395694
+SHA256 (ZoneMinder-RtspServer-eab3285_GH0.tar.gz) = 8e37a14b4895e2e1d76e323875ae515f4ac4018b50d579842848718de804c142
+SIZE (ZoneMinder-RtspServer-eab3285_GH0.tar.gz) = 1396598
diff --git a/multimedia/zoneminder/files/patch-dep_jwt-cpp_include_jwt-cpp_jwt.h b/multimedia/zoneminder/files/patch-dep_jwt-cpp_include_jwt-cpp_jwt.h
new file mode 100644
index 000000000000..aa01fb69f479
--- /dev/null
+++ b/multimedia/zoneminder/files/patch-dep_jwt-cpp_include_jwt-cpp_jwt.h
@@ -0,0 +1,14 @@
+--- dep/jwt-cpp/include/jwt-cpp/jwt.h.orig 2022-10-18 11:00:07 UTC
++++ dep/jwt-cpp/include/jwt-cpp/jwt.h
+@@ -45,11 +45,6 @@
+ #define OPENSSL110
+ #endif
+
+-#if defined(LIBRESSL_VERSION_NUMBER)
+-#define OPENSSL10
+-#define OPENSSL110
+-#endif
+-
+ #ifndef JWT_CLAIM_EXPLICIT
+ #define JWT_CLAIM_EXPLICIT explicit
+ #endif
diff --git a/multimedia/zoneminder/files/patch-src_zm__utils.cpp b/multimedia/zoneminder/files/patch-src_zm__utils.cpp
new file mode 100644
index 000000000000..aa450dd74cfe
--- /dev/null
+++ b/multimedia/zoneminder/files/patch-src_zm__utils.cpp
@@ -0,0 +1,16 @@
+Partial application of upstream commit 78a10b6 to fix
+armv7 support fix.
+
+https://github.com/ZoneMinder/zoneminder/commit/78a10b6095b3759d341a1a336ac2b73a880871b4
+
+--- src/zm_utils.cpp.orig 2021-12-10 22:36:30 UTC
++++ src/zm_utils.cpp
+@@ -231,6 +231,8 @@ void HwCapsDetect() {
+ unsigned long auxval = 0;
+ elf_aux_info(AT_HWCAP, &auxval, sizeof(auxval));
+ if (auxval & HWCAP_NEON) {
++ #else
++ {
+ #error Unsupported OS.
+ #endif
+ Debug(1,"Detected ARM (AArch32) processor with Neon");
diff --git a/multimedia/zoneminder/files/pkg-message.in b/multimedia/zoneminder/files/pkg-message.in
index 6599d214cc40..4a0f166a25f1 100644
--- a/multimedia/zoneminder/files/pkg-message.in
+++ b/multimedia/zoneminder/files/pkg-message.in
@@ -172,6 +172,11 @@ log_bin_trust_function_creators = 1 in runtime or in mysql server config;
For example, login as root and issue SET GLOBAL log_bin_trust_function_creators = 1;
+If ZM interface complains about absent configuration parameters, zmupdate.pl script
+contains --freshen option to add them.
+
+You can execute it with sudo -u www zmupdate.pl --freshen
+
Starting from version 1.36, ZM doesn't need too much tmpfs space. zmc process now
allocates memory as needed. tmpfs backed /tmp is still needed by zms to store
1-3 images, so you shrink your tmpfs /tmp drasticallyi (if you followed installation
diff --git a/multimedia/zoneminder/pkg-descr b/multimedia/zoneminder/pkg-descr
index 0dc7d03be0a7..388fbbcec8bb 100644
--- a/multimedia/zoneminder/pkg-descr
+++ b/multimedia/zoneminder/pkg-descr
@@ -1,4 +1,2 @@
Zoneminder is an all-in-one GPL'd security and surveillance camera solution.
Fully web-based system for viewing and analyzing security camera feeds.
-
-WWW: https://www.zoneminder.com/
diff --git a/multimedia/zoneminder/pkg-plist b/multimedia/zoneminder/pkg-plist
index 6fa183570e71..832128e0ee49 100644
--- a/multimedia/zoneminder/pkg-plist
+++ b/multimedia/zoneminder/pkg-plist
@@ -6175,6 +6175,7 @@ etc/zm.conf
%%PERL5_MAN3%%/ZoneMinder::Trigger::Connection::Example.3.gz
%%PERL5_MAN3%%/ZoneMinder::User.3.gz
%%PERL5_MAN3%%/ZoneMinder::Zone.3.gz
+share/applications/zoneminder.desktop
share/man/man8/zmaudit.pl.8.gz
share/man/man8/zmc.8.gz
share/man/man8/zmcamtool.pl.8.gz
@@ -6194,7 +6195,6 @@ share/man/man8/zmupdate.pl.8.gz
share/man/man8/zmvideo.pl.8.gz
share/man/man8/zmwatch.pl.8.gz
share/man/man8/zmx10.pl.8.gz
-share/applications/zoneminder.desktop
%%DATADIR%%/db/triggers.sql
%%DATADIR%%/db/zm_create.sql
%%DATADIR%%/db/zm_update-0.0.1.sql
@@ -6370,6 +6370,8 @@ share/applications/zoneminder.desktop
%%DATADIR%%/db/zm_update-1.35.7.sql
%%DATADIR%%/db/zm_update-1.35.8.sql
%%DATADIR%%/db/zm_update-1.35.9.sql
+%%DATADIR%%/db/zm_update-1.36.16.sql
+%%DATADIR%%/db/zm_update-1.36.18.sql
%%DATADIR%%/db/zm_update-1.36.6.sql
%%DATADIR%%/db/zm_update-1.36.9.sql
%%DATADIR%%/fonts/default.zmfnt
@@ -7711,10 +7713,6 @@ share/applications/zoneminder.desktop
%%WWWDIR%%/css/font-awesome.min.css
%%WWWDIR%%/css/reset.css
%%WWWDIR%%/css/spinner.css
-%%WWWDIR%%/fonts/MaterialIcons-Regular.eot
-%%WWWDIR%%/fonts/MaterialIcons-Regular.ttf
-%%WWWDIR%%/fonts/MaterialIcons-Regular.woff
-%%WWWDIR%%/fonts/MaterialIcons-Regular.woff2
%%WWWDIR%%/fonts/fontawesome-webfont.eot
%%WWWDIR%%/fonts/fontawesome-webfont.svg
%%WWWDIR%%/fonts/fontawesome-webfont.ttf
@@ -7726,6 +7724,8 @@ share/applications/zoneminder.desktop
%%WWWDIR%%/fonts/glyphicons-halflings-regular.woff
%%WWWDIR%%/fonts/glyphicons-halflings-regular.woff2
%%WWWDIR%%/fonts/license.md
+%%WWWDIR%%/fonts/material-icons.woff
+%%WWWDIR%%/fonts/material-icons.woff2
%%WWWDIR%%/graphics/favicon.ico
%%WWWDIR%%/graphics/spinner.png
%%WWWDIR%%/graphics/transparent.png
@@ -7767,12 +7767,12 @@ share/applications/zoneminder.desktop
%%WWWDIR%%/includes/actions/options.php
%%WWWDIR%%/includes/actions/privacy.php
%%WWWDIR%%/includes/actions/server.php
-%%WWWDIR%%/includes/actions/settings.php
%%WWWDIR%%/includes/actions/snapshot.php
%%WWWDIR%%/includes/actions/state.php
%%WWWDIR%%/includes/actions/storage.php
%%WWWDIR%%/includes/actions/user.php
%%WWWDIR%%/includes/actions/version.php
+%%WWWDIR%%/includes/actions/watch.php
%%WWWDIR%%/includes/actions/zone.php
%%WWWDIR%%/includes/actions/zones.php
%%WWWDIR%%/includes/auth.php
@@ -7791,6 +7791,7 @@ share/applications/zoneminder.desktop
%%WWWDIR%%/index.php
%%WWWDIR%%/js/MonitorStream.js
%%WWWDIR%%/js/Server.js
+%%WWWDIR%%/js/ajaxQueue.js
%%WWWDIR%%/js/logger.js
%%WWWDIR%%/js/videojs.zoomrotate.js
%%WWWDIR%%/lang/ba_ba.php
@@ -7848,6 +7849,7 @@ share/applications/zoneminder.desktop
%%WWWDIR%%/skins/classic/css/base/views/options.css
%%WWWDIR%%/skins/classic/css/base/views/plugin.css
%%WWWDIR%%/skins/classic/css/base/views/privacy.css
+%%WWWDIR%%/skins/classic/css/base/views/report_event_audit.css
%%WWWDIR%%/skins/classic/css/base/views/server.css
%%WWWDIR%%/skins/classic/css/base/views/settings.css
%%WWWDIR%%/skins/classic/css/base/views/snapshot.css
@@ -7981,28 +7983,27 @@ share/applications/zoneminder.desktop
%%WWWDIR%%/skins/classic/js/font/vjs.eot
%%WWWDIR%%/skins/classic/js/font/vjs.ttf
%%WWWDIR%%/skins/classic/js/font/vjs.woff
-%%WWWDIR%%/skins/classic/js/jquery-3.5.1.min.js
-%%WWWDIR%%/skins/classic/js/jquery-3.5.1.min.map
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/AUTHORS.txt
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/LICENSE.txt
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/index.html
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.css
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.js
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.min.css
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.min.js
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.structure.css
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.structure.min.css
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.theme.css
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/jquery-ui.theme.min.css
-%%WWWDIR%%/skins/classic/js/jquery-ui-1.12.1/package.json
-%%WWWDIR%%/skins/classic/js/jquery-ui-structure.css
-%%WWWDIR%%/skins/classic/js/jquery-ui.js
+%%WWWDIR%%/skins/classic/js/jquery-3.6.1.min.js
+%%WWWDIR%%/skins/classic/js/jquery-3.6.1.min.map
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/AUTHORS.txt
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/LICENSE.txt
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/external/jquery/jquery.js
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/images/ui-icons_444444_256x240.png
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/images/ui-icons_555555_256x240.png
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/images/ui-icons_777620_256x240.png
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/images/ui-icons_777777_256x240.png
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/images/ui-icons_cc0000_256x240.png
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/images/ui-icons_ffffff_256x240.png
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/index.html
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.css
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.js
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.min.css
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.min.js
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.structure.css
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.structure.min.css
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.theme.css
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/jquery-ui.theme.min.css
+%%WWWDIR%%/skins/classic/js/jquery-ui-1.13.2/package.json
%%WWWDIR%%/skins/classic/js/jquery.min.js
%%WWWDIR%%/skins/classic/js/jquery.min.js.URL
%%WWWDIR%%/skins/classic/js/moment.js
@@ -8149,8 +8150,8 @@ share/applications/zoneminder.desktop
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/api/app/tmp
@dir(%%WWWOWN%%,%%WWWGRP%%,) %%WWWDIR%%/temp
@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/cache/zoneminder
-@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/cache/zoneminder/events
-@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/cache/zoneminder/images
@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/db/zoneminder
+@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/db/zoneminder/events
+@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/log/zm
@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/run/zm
@dir(%%WWWOWN%%,%%WWWGRP%%,) /var/tmp/zm