You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
vmaf/vmaf.spec

144 lines
4.2 KiB

6 years ago
%global commit0 8f41503605e6e55b34945e49cba864697e1ca683
6 years ago
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
6 years ago
%global commitdate0 20190403
6 years ago
Name: vmaf
6 years ago
Version: 1.3.14
Release: 1.%{commitdate0}git%{shortcommit0}%{?dist}
6 years ago
Summary: Video Multi-Method Assessment Fusion
License: ASL 2.0
URL: https://github.com/netflix/vmaf/
Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz
Patch0: 0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch
Patch1: 0002-Unbundle-pugixml.patch
Patch3: 0004-Use-better-FLAGS-for-ptools.patch
Patch4: 0005-Switch-pugixml-include.patch
Patch5: 0006-Switch-to-shared-library-for-libvmaf.patch
Patch6: 0007-Unbundle-libsvm.patch
Patch7: 0008-Add-pugixml-LIBS.patch
Patch8: 0009-Avoid-x86cpudetection-code-when-not-relevant.patch
Patch9: 0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch
# This project relies on AVX
ExclusiveArch: x86_64
BuildRequires: gcc-c++
BuildRequires: libsvm-devel
BuildRequires: pugixml-devel
# Enforce our own build version for library
Requires: libvmaf%{?_isa} = %{version}-%{release}
# Upstream only provides a static library
# Packages using libvmaf must Requires this:
#%%{?libvmaf_version:Requires: libvmaf%%{?_isa} = %%{libvmaf_version}}
%description
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. For an overview, read this
tech blog post, or this slide deck.
https://github.com/Netflix/vmaf/blob/master/resource/doc/VMAF_ICIP17.pdf
%package -n libvmaf
Summary: Library for %{name}
#Some repo provides it
Provides: %{name}-static = %{version}-%{release}
Obsoletes: %{name}-static < %{version}-%{release}
%description -n libvmaf
Library for %{name}.
%package -n libvmaf-devel
Summary: Development files for %{name}
Requires: libvmaf%{?_isa} = %{version}-%{release}
#Some repo provides it
Provides: %{name}-devel = %{version}-%{release}
Obsoletes: %{name}-devel < %{version}-%{release}
%description -n libvmaf-devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup -p1 -n %{name}-%{commit0}
# Unbundle
rm -rf wrapper/src/pugixml
rm -rf libsvm
# Tweak libvmaf.pc
sed -i -e 's|/usr/local|%{_prefix}|g' wrapper/libvmaf.pc
sed -i -e 's|/usr/lib|%{_libdir}|g' wrapper/libvmaf.pc
%build
%ifarch i686
export ASM_CFLAGS="-msse -msse2 -mavx"
%endif
%make_build CFLAGS_COMMON="%{optflags} ${ASM_CFLAGS} -fPIC" LDFLAGS="%{__global_ldflags}" V=1
%install
%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir}
mv %{buildroot}%{_libdir}/libvmaf.so \
%{buildroot}%{_libdir}/libvmaf.so.0.0.0
ln -s libvmaf.so.0.0.0 \
%{buildroot}%{_libdir}/libvmaf.so.0
ln -s libvmaf.so.0 \
%{buildroot}%{_libdir}/libvmaf.so
# Install vmafossexec
mkdir -p %{buildroot}%{_bindir}
install -pm 0755 wrapper/vmafossexec \
%{buildroot}%{_bindir}
#RPM Macros support
mkdir -p %{buildroot}%{rpmmacrodir}
cat > %{buildroot}%{rpmmacrodir}/macros.%{name} << EOF
# libvmaf RPM Macros
%libvmaf_version %{version}
EOF
touch -r LICENSE %{buildroot}%{rpmmacrodir}/macros.%{name}
%ldconfig_scriptlets -n libvmaf
%files
%doc FAQ.md NOTICE.md README.md
%{_bindir}/vmafossexec
%{_datadir}/model/
%files -n libvmaf
%doc CHANGELOG.md
%license LICENSE
%{_libdir}/*.so.*
%files -n libvmaf-devel
%doc CONTRIBUTING.md
%{rpmmacrodir}/macros.%{name}
%{_includedir}/libvmaf.h
%{_libdir}/*.so
%{_libdir}/pkgconfig/libvmaf.pc
%changelog
6 years ago
* Sat Apr 06 2019 Nicolas Chauvet <kwizart@gmail.com> - 1.3.14-1.20190403git8f415036
- Update to 1.13.4
- Rebase patches
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.9-2.20180914gita654f6f
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
6 years ago
* Fri Sep 21 2018 Nicolas Chauvet <kwizart@gmail.com> - 1.3.9-0.20180914gita654f6f
- Update to 1.3.9 up to 20180914
* Sat Apr 07 2018 Nicolas Chauvet <kwizart@gmail.com> - 1.3.3-1.20180407git510e257
- Initial spec file