diff --git a/libmlt-fixluma.patch b/libmlt-fixluma.patch deleted file mode 100644 index 6ce67b5..0000000 --- a/libmlt-fixluma.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: mlt-6.20.0/src/modules/lumas/create_lumas -=================================================================== ---- mlt-6.20.0.orig/src/modules/lumas/create_lumas -+++ mlt-6.20.0/src/modules/lumas/create_lumas -@@ -1,5 +1,7 @@ - #!/bin/sh - -+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../framework -+ - [ \( -d PAL \) -a \( ! $0 -nt .executed \) ] && exit 0 - - if [ "$(uname -s)" = "Darwin" ]; then diff --git a/libmlt.changes b/libmlt.changes index 89c6e67..899a54b 100644 --- a/libmlt.changes +++ b/libmlt.changes @@ -1,3 +1,114 @@ +------------------------------------------------------------------- +Sun May 16 08:02:34 UTC 2021 - Luigi Baldoni + +- Update to version 7.0.1 + * Fixed a system-installed build cannot finds its modules and + data. + * Fixed the python installation path for binaries. + * Added support for the `DESTDIR` environment variable when + creating melt symlink. + * Increased the build constant for the maximum size of a line + of a properties file. + * Fixed the vid.stab metadata install path. +- Drop mlt-7.0.0-python_install_dir.patch (merged upstream) + +------------------------------------------------------------------- +Mon May 3 07:57:51 UTC 2021 - Luigi Baldoni + +- Update to version 7.0.0 + Framework: + * Added `mlt_chain` and `Mlt::Chain` classes. + * Added `mlt_link` and `Mlt::Link` classes. + * Added a `link` value to service `type` in the service + metadata schema. + * Added a boolean `animation` parameter attribute to the + service metadata schema. + * Added `mlt_animation_shift_frame()` and + `Mlt::Animation::shift_frames()`. + * Added `mlt_animation_get_string()`. + * Fixed using a stale cached property animation string. + * Added `mlt_image` and `Mlt::Image` classes. + * Remove legacy "height + 1" workaround in image allocation. + * Fixed a crash on setting `timewarp` speed higher than 23x. + * Added `mlt_audio_silence()`. + * Removed `mlt_image_opengl`. + * Replaced variadic arguments in `mlt_events` with new + `mlt_event_data` APIs. + * Removed `mlt_geometry` APIs. + * Renamed `mlt_image_rgb24a` as `mlt_image_rgba`. + * Renamed `mlt_image_rgb24` to `mlt_image_rgb`. + * Renamed `mlt_image_glsl` to `mlt_image_movit`. + * Renamed `mlt_image_glsl_texture` to + `mlt_image_opengl_texture`. + * Removed virtual function `mlt_frame::get_alpha_mask()`. + * Removed `mlt_frame_get_alpha_mask()`. + * Removed deprecated functions: + + `mlt_sample_calculator` + + `mlt_sample_calculator_to_now` + + `mlt_channel_layout_name` + + `mlt_channel_layout_id` + + `mlt_channel_layout_channels` + + `mlt_channel_layout_default` + + `mlt_slices_init` + + `mlt_slices_close` + + `mlt_slices_run` + + `mlt_playlist_move_region` + + `Mlt::Playlist::move_region` + * Fixed a rounding error calculating display aspect ratio in + `mlt_profile_from_producer()`. + Modules: + * Added a `timeremap` link to the core module with animatable + `map` property. (Speed can increase or decrease between + keyframes including reverse.) + * Added `chain` and `link` XML elements to `xml` module. + * Added "meta.media.has_b_frames" property to `avformat` + producer. + * Removed deprecated modules: + + `dv` + + `gtk2` (not gdk) + + `kino` + + `linsys` + + `lumas` + + `motion_est` + + `swfdec` + + `videostab` + * Removed the following services: + + `data_feed` filter + + `data_show` filter + + `region` filter and transition + + `sdl_image` + * Converted filters to use new `mlt_image` class: + + `brightness` + + `imageconver` + + `mirror` + + `spot_remover` + * Deprecated the `audiowave` filter. + * Added the ability to build the `jackrack` module without + JACK to get only LADSPA producers and filters. + * Deprecated `start` and `end` properties for the following + filters: + + `brightness` + + `panner` + + `boxblur` + + `wave` + + `volume` + * Removed deprecated `font` property from `pango` producer. + * Improved album art (attached pic) detection in `avformat` + producer. + * Improved the `resample` filter to have less artifacts and + use less memory. + Other: + * CMake: nearly complete rewrite. + * Removed the old configure bash scripts and Makefiles. + * Added `-chain` and `-link` options to `melt` command line. +- Switch build to cmake +- Drop libmlt-fixluma.patch (no longer useful) +- Add mlt-7.0.0-python_install_dir.patch +- Create single devel subpackage as cmake scripts are + undifferentiated +- Rename melt subpackage and add update-alternatives +- Spec cleanup + ------------------------------------------------------------------- Tue Apr 13 19:10:53 UTC 2021 - Luigi Baldoni diff --git a/libmlt.spec b/libmlt.spec index 3a6a1f2..b88bfd1 100644 --- a/libmlt.spec +++ b/libmlt.spec @@ -18,66 +18,56 @@ %define _name mlt %define libname lib%{_name} -%define lversion 6.26.1 -%define soname 6 +%define lversion 7.0.1 +%define sover 7 +%define lib_pkgname %{libname}-%{sover}-%{sover} %define _name_pp %{_name}++ %define libname_pp lib%{_name_pp} -%define soname_pp 3 - +%define sover_pp 7 +%define lversion_pp 7.0.1 +%define libpp_pkgname %{libname_pp}-%{sover_pp}-%{sover_pp} Name: %{libname} -Version: 6.26.1 +Version: 7.0.1 Release: 0 Summary: Multimedia framework for television broadcasting License: GPL-3.0-or-later Group: Development/Libraries/C and C++ -URL: http://www.mltframework.org +URL: https://www.mltframework.org Source0: https://github.com/mltframework/mlt/archive/v%{version}.tar.gz#/%{_name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM libmlt-fixluma.patch aloisio@gmx.com -- add LD_LIBRARY_PATH so that luma can run -Patch2: libmlt-fixluma.patch +BuildRequires: cmake BuildRequires: fdupes -%if 0%{?suse_version} >= 1500 BuildRequires: gcc-c++ -%else -BuildRequires: gcc7 -BuildRequires: gcc7-c++ -#!Buildignore: libgcc_s1 -%endif BuildRequires: ladspa-devel -BuildRequires: pkg-config -BuildRequires: python3-devel -BuildRequires: pkgconfig(Qt5Core) >= 5.10 -BuildRequires: pkgconfig(Qt5Gui) -BuildRequires: pkgconfig(Qt5OpenGL) -BuildRequires: pkgconfig(Qt5Svg) -BuildRequires: pkgconfig(Qt5Xml) +BuildRequires: pkgconfig +BuildRequires: cmake(Qt5Core) >= 5.10 +BuildRequires: cmake(Qt5Gui) +BuildRequires: cmake(Qt5Svg) +BuildRequires: cmake(Qt5Widgets) +BuildRequires: cmake(Qt5Xml) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(fftw3) BuildRequires: pkgconfig(frei0r) -BuildRequires: pkgconfig(gdk-2.0) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(jack) -BuildRequires: pkgconfig(libdv) -BuildRequires: pkgconfig(libebur128) -BuildRequires: pkgconfig(libexif) -BuildRequires: pkgconfig(libpulse) -BuildRequires: pkgconfig(libquicktime) -BuildRequires: pkgconfig(libxml-2.0) -BuildRequires: pkgconfig(movit) -#!BuildIgnore: opencv-qt5-devel BuildRequires: pkgconfig(libavcodec) >= 58 BuildRequires: pkgconfig(libavdevice) >= 58 BuildRequires: pkgconfig(libavformat) >= 58 BuildRequires: pkgconfig(libavutil) >= 56 -BuildRequires: pkgconfig(libpostproc) >= 55 +BuildRequires: pkgconfig(libebur128) +BuildRequires: pkgconfig(libexif) +BuildRequires: pkgconfig(libpulse-simple) BuildRequires: pkgconfig(libswscale) >= 5 +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(movit) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pangoft2) +BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(samplerate) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(sox) BuildRequires: pkgconfig(vidstab) +BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vorbisfile) %description @@ -87,62 +77,53 @@ transcoders and web streamers. The functionality of the system is provided via an assortment of tools, XML authoring components, and an plug-in based API. -%package -n %{libname}%{soname} +%package -n %{lib_pkgname} Summary: C library API for the MLT multimedia framework Group: System/Libraries -%description -n %{libname}%{soname} +%description -n %{lib_pkgname} MLT is a multimedia framework for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders and web streamers. This subpackage contains the C library API for MLT. -%package devel -Summary: Development files for MLT's C language API -Group: Development/Libraries/C and C++ -Requires: %{libname}%{soname} = %{version} - -%description devel -MLT is a multimedia framework for television broadcasting. It -provides a toolkit for broadcasters, video editors, media players, -transcoders and web streamers. - -This subpackage contains the headers to make use of the MLT C API. - -%package -n %{libname_pp}%{soname_pp} +%package -n %{libpp_pkgname} Summary: C++ library API for the MLT multimedia framework Group: System/Libraries -%description -n %{libname_pp}%{soname_pp} +%description -n %{libpp_pkgname} MLT is a multimedia framework for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders and web streamers. This subpackage contains the C++ library API for MLT. -%package -n %{libname_pp}-devel -Summary: Development files for MLT's C++ language API +%package devel +Summary: Development files for MLT's C and C++ language API Group: Development/Libraries/C and C++ -Requires: %{libname_pp}%{soname_pp} = %{version} -Requires: %{libname}-devel = %{version} +Requires: %{lib_pkgname} = %{version} +Requires: %{libpp_pkgname} = %{version} -%description -n %{libname_pp}-devel +%description devel MLT is a multimedia framework for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders and web streamers. -This subpackage contains the headers to make use of the MLT C++ API. +This subpackage contains the headers to make use of the MLT C and +C++ API. -%package -n melt +%package -n melt%{sover} Summary: Multimedia framework for television broadcasting Group: Productivity/Multimedia/Video/Editors and Convertors Provides: melt%{soname} = %{version} Obsoletes: melt%{soname} < %{version} -Requires: %{libname}%{soname}-data = %{version} -Requires: %{libname}%{soname}-modules = %{version} +Requires: %{libname}%{sover}-data = %{version} +Requires: %{libname}%{sover}-modules = %{version} +Requires(post): update-alternatives +Requires(postun):update-alternatives -%description -n melt +%description -n melt%{sover} MLT is a multimedia framework for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders and web streamers. @@ -150,13 +131,13 @@ transcoders and web streamers. The functionality of the system is provided via an assortment of tools, XML authoring components, and an plug-in based API. -%package -n %{libname}%{soname}-modules +%package -n %{libname}%{sover}-modules Summary: Modules for the MLT multimedia framework Group: Productivity/Multimedia/Video/Editors and Convertors Recommends: frei0r-plugins -Provides: mlt(%{soname})(avformat) +Provides: mlt(%{sover})(avformat) -%description -n %{libname}%{soname}-modules +%description -n %{libname}%{sover}-modules MLT is a multimedia framework for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders and web streamers. @@ -164,12 +145,12 @@ transcoders and web streamers. The functionality of the system is provided via an assortment of tools, XML authoring components, and an plug-in based API. -%package -n %{libname}%{soname}-data +%package -n %{libname}%{sover}-data Summary: Architecture-independent data files for the MLT multimedia framework Group: Productivity/Multimedia/Video/Editors and Convertors BuildArch: noarch -%description -n %{libname}%{soname}-data +%description -n %{libname}%{sover}-data MLT is a multimedia framework for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders and web streamers. @@ -177,11 +158,9 @@ transcoders and web streamers. %package -n python3-%{_name} Summary: Python bindings for the MLT multimedia framework Group: Development/Languages/Python -BuildRequires: python3-devel BuildRequires: swig -Requires: %{libname_pp}%{soname_pp} >= %{version} -Requires: %{libname}%{soname} >= %{version} -Provides: python3-%{_name}%{soname} +BuildRequires: pkgconfig(python3) +Provides: python3-%{_name}%{sover} %description -n python3-%{_name} MLT is a multimedia framework for television broadcasting. It @@ -194,43 +173,26 @@ This package contains python bindings. %autopatch -p1 %build -test -x "$(type -p gcc-7)" && export CC=gcc-7 -test -x "$(type -p g++-7)" && export CXX=g++-7 - -# Until boo#1179650 is fixed -%ifarch ppc64le -export CFLAGS="-I%{_includedir}/eigen3" -%endif - # WARNING: building opencv module causes multicore issues - boo#1068792 -%configure --disable-opencv \ ---enable-sdl2 \ -%ifnarch %{ix86} x86_64 - --disable-mmx \ - --disable-sse \ - --disable-sse2 \ -%endif ---enable-debug \ ---enable-gpl --enable-gpl3 \ ---enable-lumas \ -%ifarch i586 ---disable-mmx \ -%endif ---enable-extra-versioning \ ---swig-languages=python -make %{?_smp_mflags} +%cmake \ + -DMOD_OPENCV=OFF \ + -DGPL=ON \ + -DGPL3=ON \ + -DSWIG_PYTHON=ON +%cmake_build %install -%make_install -install -Dpm 0644 docs/melt.1 %{buildroot}%{_mandir}/man1/melt%{soname}.1 -ln -s melt%{soname}.1 %{buildroot}%{_mandir}/man1/melt.1 -install -Dpm 0644 src/swig/python/_%{_name}.so '%{buildroot}%{python3_sitearch}/_%{_name}.so' -install -Dpm 0644 src/swig/python/%{_name}.py '%{buildroot}%{python3_sitearch}/%{_name}.py' +%cmake_install + +# update-alternatives +mkdir -pv %{buildroot}%{_sysconfdir}/alternatives +ln -sf %{_sysconfdir}/alternatives/melt %{buildroot}%{_bindir}/melt +ln -sf %{_sysconfdir}/alternatives/melt.1%{?ext_man} %{buildroot}%{_mandir}/man1/melt.1%{?ext_man} # Get the modules that need data -for MODULE in %{buildroot}%{_libdir}/mlt-%{soname}/libmlt*.so; do +for MODULE in %{buildroot}%{_libdir}/mlt-%{sover}/libmlt*.so; do echo $MODULE - MODULEDIR=%{_datadir}/mlt-%{soname}/$(echo $MODULE | sed 's|%{buildroot}%{_libdir}/mlt-%{soname}/libmlt\(.*\).so|\1|') + MODULEDIR=%{_datadir}/mlt-%{sover}/$(echo $MODULE | sed 's|%{buildroot}%{_libdir}/mlt-%{sover}/libmlt\(.*\).so|\1|') echo $MODULEDIR if [ -e %{buildroot}$MODULEDIR ]; then echo Done $MODULEDIR @@ -238,73 +200,63 @@ for MODULE in %{buildroot}%{_libdir}/mlt-%{soname}/libmlt*.so; do fi; done -# Pure data modules -for MODULE in feeds lumas; do - echo %{_datadir}/mlt-%{soname}/$MODULE >> module_data.dirs -done - -# Remove the unversioned symbolic links -rm -f %{buildroot}%{_libdir}/mlt -rm -f %{buildroot}%{_datadir}/mlt - # remove dupes -%fdupes -s %{buildroot}%{_datadir}/mlt-6 +%fdupes %{buildroot}%{_datadir}/mlt-%{sover} -%post -n %{libname}%{soname} -p /sbin/ldconfig +%post -n melt%{sover} +update-alternatives \ + --install %{_bindir}/melt melt %{_bindir}/melt-%{sover} 20 \ + --slave %{_mandir}/man1/melt.1%{?ext_man} melt.1%{?ext_man} %{_mandir}/man1/melt-%{sover}.1%{?ext_man} -%postun -n %{libname}%{soname} -p /sbin/ldconfig +%postun -n melt%{sover} +if [ $1 -eq 0 ] ; then + update-alternatives --remove melt %{_bindir}/melt-%{sover} +fi -%post -n %{libname_pp}%{soname_pp} -p /sbin/ldconfig +%post -n %{lib_pkgname} -p /sbin/ldconfig +%postun -n %{lib_pkgname} -p /sbin/ldconfig +%post -n %{libpp_pkgname} -p /sbin/ldconfig +%postun -n %{libpp_pkgname} -p /sbin/ldconfig -%postun -n %{libname_pp}%{soname_pp} -p /sbin/ldconfig - -%files -n %{libname}%{soname} -%defattr(0644, root, root, 0755) -%{_libdir}/lib%{_name}.so.%{soname} -%{_libdir}/lib%{_name}.so.%{lversion} +%files -n %{lib_pkgname} +%{_libdir}/lib%{_name}-%{sover}.so.%{sover} +%{_libdir}/lib%{_name}-%{sover}.so.%{lversion} %files devel -%defattr(0644, root, root, 0755) -%{_libdir}/lib%{_name}.so -%{_includedir}/%{_name} -%{_libdir}/pkgconfig/%{_name}-framework.pc +%{_includedir}/%{_name}-%{sover} +%{_libdir}/cmake/Mlt%{sover} +%{_libdir}/lib%{_name}-%{sover}.so +%{_libdir}/lib%{_name_pp}-%{sover_pp}.so +%{_libdir}/pkgconfig/%{_name}-framework-%{sover}.pc +%{_libdir}/pkgconfig/%{_name_pp}-%{sover_pp}.pc -%files -n %{libname_pp}%{soname_pp} -%defattr(0644, root, root, 0755) -%{_libdir}/lib%{_name_pp}.so.%{soname_pp} -%{_libdir}/lib%{_name_pp}.so.%{lversion} +%files -n %{libpp_pkgname} +%{_libdir}/lib%{_name_pp}-%{sover_pp}.so.%{sover_pp} +%{_libdir}/lib%{_name_pp}-%{sover_pp}.so.%{lversion_pp} -%files -n %{libname_pp}-devel -%defattr(0644, root, root, 0755) -%{_libdir}/lib%{_name_pp}.so -%{_includedir}/%{_name_pp} -%{_libdir}/pkgconfig/%{_name_pp}.pc - -%files -n melt -%defattr(0644, root, root, 0755) -%attr(0755, root, root) %{_bindir}/melt%{soname} -%{_mandir}/man1/melt%{soname}.1%{ext_man} +%files -n melt%{sover} %{_bindir}/melt -%{_mandir}/man1/melt.1%{ext_man} +%{_bindir}/melt-%{sover} +%{_mandir}/man1/melt.1%{?ext_man} +%{_mandir}/man1/melt-%{sover}.1%{?ext_man} +%ghost %{_sysconfdir}/alternatives/melt +%ghost %{_sysconfdir}/alternatives/melt.1%{?ext_man} -%files -n %{libname}%{soname}-modules -f module_data.dirs -%defattr(0644, root, root, 0755) -%doc AUTHORS NEWS README +%files -n %{libname}%{sover}-modules -f module_data.dirs +%doc AUTHORS NEWS README.md %license GPLv3 COPYING GPL -%{_libdir}/%{_name}-%{soname}/ -%dir %{_datadir}/%{_name}-%{soname}/ +%{_libdir}/%{_name}-%{sover} +%dir %{_datadir}/%{_name}-%{sover}/ -%files -n %{libname}%{soname}-data -%defattr(0644, root, root, 0755) -%dir %{_datadir}/%{_name}-%{soname}/ -%{_datadir}/%{_name}-%{soname}/metaschema.yaml -%{_datadir}/%{_name}-%{soname}/profiles/ -%{_datadir}/%{_name}-%{soname}/presets/ -%{_datadir}/%{_name}-%{soname}/vid.stab/ +%files -n %{libname}%{sover}-data +%dir %{_datadir}/%{_name}-%{sover}/ +%{_datadir}/%{_name}-%{sover}/metaschema.yaml +%{_datadir}/%{_name}-%{sover}/profiles/ +%{_datadir}/%{_name}-%{sover}/presets/ +%{_datadir}/%{_name}-%{sover}/vid.stab/ %files -n python3-%{_name} -%defattr(0644, root, root, 0755) -%{python3_sitearch}/_%{_name}.so -%{python3_sitearch}/%{_name}.py +%{python3_sitearch}/_%{_name}%{sover}.so +%{python3_sitearch}/%{_name}%{sover}.py %changelog diff --git a/mlt-6.26.1.tar.gz b/mlt-6.26.1.tar.gz deleted file mode 100644 index f54455d..0000000 --- a/mlt-6.26.1.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:8a484bbbf51f33e25312757531f3ad2ce20607149d20fcfcb40a3c1e60b20b4e -size 1366022 diff --git a/mlt-7.0.1.tar.gz b/mlt-7.0.1.tar.gz new file mode 100644 index 0000000..5c73fbf --- /dev/null +++ b/mlt-7.0.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b68c88d9ad91889838186188cce938feee8b63e3755a3b6fb45dc9c2ae0c5ecd +size 1181298