dirac/dirac.spec

210 lines
7.8 KiB
RPMSpec

#
# spec file for package dirac
#
# Copyright (c) 2015 SUSE LINUX 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/
#
Name: dirac
Version: 1.0.2
Release: 0
Url: http://diracvideo.org/
Summary: The Dirac_Video Codec
License: MPL-1.1
Group: Productivity/Multimedia/Video/Editors and Convertors
Source0: %{name}-%{version}.tar.bz2
Source1: baselibs.conf
Patch0: 0001-Fix-uninitialised-memory-read-that-causes-the-encode.patch
Patch1: %{name}-%{version}-gcc45.patch
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: graphviz-gd
BuildRequires: libcppunit-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Dirac is an open source video codec. It uses a traditional hybrid video
codec architecture, but with the wavelet transform instead of the usual
block transforms. Motion compensation uses overlapped blocks to reduce
block artefacts that would upset the transform coding stage.
Dirac can code just about any size of video, from streaming up to HD
and beyond, although certain presets are defined for different
applications and standards. These cover the parameters that need to be
set for the encoder to work, such as block sizes and temporal
prediction structures, which must otherwise be set by hand.
Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.
%package -n libdirac_decoder0
Summary: Dirac Video Codec Decoder Library
Group: System/Libraries
%description -n libdirac_decoder0
Dirac is an open source video codec. It uses a traditional hybrid video
codec architecture, but with the wavelet transform instead of the usual
block transforms. Motion compensation uses overlapped blocks to reduce
block artefacts that would upset the transform coding stage.
Dirac can code just about any size of video, from streaming up to HD
and beyond, although certain presets are defined for different
applications and standards. These cover the parameters that need to be
set for the encoder to work, such as block sizes and temporal
prediction structures, which must otherwise be set by hand.
Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.
%package -n libdirac_encoder0
Summary: Dirac Video Codec Encoder Library
Group: System/Libraries
%description -n libdirac_encoder0
Dirac is an open source video codec. It uses a traditional hybrid video
codec architecture, but with the wavelet transform instead of the usual
block transforms. Motion compensation uses overlapped blocks to reduce
block artefacts that would upset the transform coding stage.
Dirac can code just about any size of video, from streaming up to HD
and beyond, although certain presets are defined for different
applications and standards. These cover the parameters that need to be
set for the encoder to work, such as block sizes and temporal
prediction structures, which must otherwise be set by hand.
Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.
%package devel
Summary: Development Files for Dirac Video Codec
Group: Development/Libraries/C and C++
Requires: libdirac_decoder0 = %{version}
Requires: libdirac_encoder0 = %{version}
Provides: libdirac-devel = %{version}-%{release}
Obsoletes: libdirac-devel < %{version}-%{release}
%description devel
Dirac is an open source video codec. It uses a traditional hybrid video
codec architecture, but with the wavelet transform instead of the usual
block transforms. Motion compensation uses overlapped blocks to reduce
block artefacts that would upset the transform coding stage.
Dirac can code just about any size of video, from streaming up to HD
and beyond, although certain presets are defined for different
applications and standards. These cover the parameters that need to be
set for the encoder to work, such as block sizes and temporal
prediction structures, which must otherwise be set by hand.
Dirac is intended to develop into real coding and decoding software,
capable of plugging into video processing applications and media
players that need compression. It is intended to develop into a simple
set of reliable but effective coding tools that work over a wide
variety of content and formats, using well-understood compression
techniques, in a clear and accessible software structure. It is not
intended as a demonstration or reference coder.
%package doc
Summary: Dirac Video Codec api documentation
Group: Documentation/HTML
%if 0%{?suse_version} > 1110
BuildArch: noarch
%endif
%description doc
This package provides the api reference documentation for using dirac libraries
in your program.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
# Code is not mature enough for -Werror (unused results)
sed -i 's/-Werror//' configure.ac
%build
# fix build in disabling as-needed
export SUSE_ASNEEDED=0
ACLOCAL="aclocal -I m4" autoreconf -f -i
%if %suse_version == 1100
%ifarch x86_64
export CXXFLAGS="$RPM_OPT_FLAGS -O0"
%endif
%endif
%configure\
--disable-static \
--docdir=%{_docdir}/packages/%{name}
make %{?_smp_mflags}
#htmldir=%{_docdir}/%{name}/code/api_html
%install
%makeinstall htmldir=%{_docdir}/%{name}/code/api_html
%{__rm} -f %{buildroot}%{_libdir}/*.la
%{__cp} -a AUTHORS COPYING ChangeLog NEWS README TODO %{buildroot}%{_docdir}/%{name}/
%fdupes %{buildroot}%{_docdir}/%{name}
%post -n libdirac_decoder0 -p /sbin/ldconfig
%postun -n libdirac_decoder0 -p /sbin/ldconfig
%post -n libdirac_encoder0 -p /sbin/ldconfig
%postun -n libdirac_encoder0 -p /sbin/ldconfig
%files
%defattr (-, root, root)
#%%doc AUTHORS COPYING ChangeLog NEWS README TODO
#%%doc %{_docdir}/%{name}/[ACNRT]*
%{_bindir}/*
%files -n libdirac_decoder0
%defattr (-, root, root)
%{_libdir}/libdirac_decoder.so.0*
%files -n libdirac_encoder0
%defattr (-, root, root)
%{_libdir}/libdirac_encoder.so.0*
%files devel
%defattr (-, root, root)
#%%doc %{_docdir}/%{name}/[ACNRT]*
%{_libdir}/*.so
#%{_libdir}/*.*a
%{_libdir}/pkgconfig/*.pc
%{_includedir}/%{name}
%files doc
%defattr (-, root, root)
%doc %{_docdir}/%{name}
%changelog