libmlt/libmlt.spec

259 lines
9.8 KiB
RPMSpec
Raw Normal View History

#
# spec file for package libmlt
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%bcond_with ffmpeg
%define _name mlt
%define libname lib%{_name}
%define soname 5
%define _name_pp %{_name}++
%define libname_pp lib%{_name_pp}
%define soname_pp 3
Name: %{libname}
Version: 0.8.0
Release: 0
Summary: Multimedia framework designed and developed for television broadcasting
License: GPL-3.0+
Group: System/Libraries
Url: http://%{_name}.sourceforge.net/
Source0: http://downloads.sourceforge.net/project/%{_name}/%{_name}/%{_name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM libmlt-0.8.0-optflags.patch sf#3554425 reddwarf@opensuse.org -- Build the python binding with %{optflags}
Patch0: libmlt-0.8.0-optflags.patch
# PATCH-FIX-UPSTREAM libmlt-0.8.0-vdpau.patch http://permalink.gmane.org/gmane.comp.video.mlt.devel/2392 reddwarf@opensuse.org -- Fix build with VDPAU support
Patch1: libmlt-0.8.0-vdpau.patch
# PATCH-FIX-UPSTREAM libmlt-0.8.0-vdpau.patch sf#3555214 reddwarf@opensuse.org -- Install modules and data in versioned directories
Patch2: libmlt-0.8.0-versioned_dirs.patch
BuildRequires: gcc-c++
BuildRequires: ladspa-devel
BuildRequires: pkg-config
BuildRequires: pkgconfig(QtCore)
BuildRequires: pkgconfig(QtGui)
BuildRequires: pkgconfig(QtSvg)
BuildRequires: pkgconfig(QtXml)
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(libquicktime)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(pangoft2)
BuildRequires: pkgconfig(samplerate)
BuildRequires: pkgconfig(sdl)
BuildRequires: pkgconfig(sox)
BuildRequires: pkgconfig(vorbisfile)
%if %{with ffmpeg}
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavdevice)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(vdpau)
# VDPAU support requires it
BuildRequires: pkgconfig(x11)
%endif
%description
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.
%package -n %{libname}%{soname}
Summary: Multimedia framework designed and developed for television broadcasting
Group: System/Libraries
Recommends: %{libname}%{soname}-data
Recommends: %{libname}%{soname}-modules
%description -n %{libname}%{soname}
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.
%package devel
Summary: Multimedia framework designed and developed for television broadcasting
Group: Development/Libraries/C and C++
Requires: %{libname}%{soname} = %{version}
%description devel
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.
%package -n %{libname_pp}%{soname_pp}
Summary: Multimedia framework designed and developed for television broadcasting
Group: System/Libraries
%description -n %{libname_pp}%{soname_pp}
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.
%package -n %{libname_pp}-devel
Summary: Multimedia framework designed and developed for television broadcasting
Group: Development/Libraries/C and C++
Requires: %{libname_pp}%{soname_pp} = %{version}
Requires: %{libname}-devel = %{version}
%description -n %{libname_pp}-devel
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.
%package -n melt
Summary: Multimedia framework designed and developed for television broadcasting
Group: Productivity/Multimedia/Video/Editors and Convertors
%description -n melt
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.
%package -n %{libname}%{soname}-modules
Summary: Multimedia framework designed and developed for television broadcasting
Group: Productivity/Multimedia/Video/Editors and Convertors
Requires: %{_bindir}/melt
Requires: %{libname}%{soname} = %{version}
Requires: %{libname}%{soname}-data
Recommends: frei0r-plugins
%if %{with ffmpeg}
Provides: mlt(%{soname})(avformat)
%endif
%description -n %{libname}%{soname}-modules
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.
%package -n %{libname}%{soname}-data
Summary: Multimedia framework designed and developed for television broadcasting
Group: Productivity/Multimedia/Video/Editors and Convertors
Requires: %{libname}%{soname} = %{version}
BuildArch: noarch
%description -n %{libname}%{soname}-data
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.
%package -n python-%{_name}
Summary: Python bindings for MLT
Group: Development/Languages/Python
BuildRequires: python-devel
BuildRequires: swig
Requires: %{libname}%{soname} = %{version}
%{py_requires}
Provides: python-%{_name}%{soname}
%description -n python-%{_name}
This package is needed to use MLT from Python.
%prep
%setup -q -n %{_name}-%{version}
%patch0
%patch1
%patch2
%build
%configure --enable-gpl --enable-gpl3 \
%ifarch i586
--disable-mmx \
%endif
%if %{with ffmpeg}
--avformat-vdpau \
%endif
--swig-languages=python
make %{?_smp_mflags}
%install
%make_install
install -Dpm 0644 docs/melt.1 '%{buildroot}%{_mandir}/man1/melt.1'
install -Dpm 0644 src/swig/python/_%{_name}.so '%{buildroot}%{python_sitearch}/_%{_name}.so'
install -Dpm 0644 src/swig/python/%{_name}.py '%{buildroot}%{python_sitearch}/%{_name}.py'
%post -n %{libname}%{soname} -p /sbin/ldconfig
%postun -n %{libname}%{soname} -p /sbin/ldconfig
%post -n %{libname_pp}%{soname_pp} -p /sbin/ldconfig
%postun -n %{libname_pp}%{soname_pp} -p /sbin/ldconfig
%files -n %{libname}%{soname}
%defattr(0644, root, root, 0755)
%doc AUTHORS ChangeLog COPYING GPL GPLv3 NEWS README
%{_libdir}/lib%{_name}.so.%{soname}
%{_libdir}/lib%{_name}.so.%{version}
%files devel
%defattr(0644, root, root, 0755)
%{_libdir}/lib%{_name}.so
%{_includedir}/%{_name}
%{_libdir}/pkgconfig/%{_name}-framework.pc
%files -n %{libname_pp}%{soname_pp}
%defattr(0644, root, root, 0755)
%{_libdir}/lib%{_name_pp}.so.%{soname_pp}
%{_libdir}/lib%{_name_pp}.so.%{version}
%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
%{_mandir}/man1/melt.1%{ext_man}
%files -n %{libname}%{soname}-modules
%defattr(0644, root, root, 0755)
%{_libdir}/%{_name}-%{soname}/
%files -n %{libname}%{soname}-data
%defattr(0644, root, root, 0755)
%{_datadir}/%{_name}-%{soname}/
%files -n python-%{_name}
%defattr(0644, root, root, 0755)
%{python_sitearch}/_%{_name}.so
%{python_sitearch}/%{_name}.py
%changelog