]> git.pld-linux.org Git - packages/vmaf.git/commitdiff
- updated to 1.3.9 auto/th/vmaf-1.3.9-1
authorJakub Bogusz <qboosh@pld-linux.org>
Wed, 31 Oct 2018 07:57:29 +0000 (08:57 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Wed, 31 Oct 2018 07:57:29 +0000 (08:57 +0100)
- added libdir, shared patches; build shared library
- use optflags, added sse2 bcond

vmaf-libdir.patch [new file with mode: 0644]
vmaf-shared.patch [new file with mode: 0644]
vmaf.spec

diff --git a/vmaf-libdir.patch b/vmaf-libdir.patch
new file mode 100644 (file)
index 0000000..e981a31
--- /dev/null
@@ -0,0 +1,29 @@
+--- vmaf-1.3.9/wrapper/Makefile.orig   2018-08-07 23:36:56.000000000 +0200
++++ vmaf-1.3.9/wrapper/Makefile        2018-10-29 21:05:31.269560608 +0100
+@@ -9,6 +9,7 @@
+ FEATURESRCDIR = $(TOP)/../feature/src
+ PTOOLSDIR = $(TOP)/../ptools
+ INSTALL_PREFIX = /usr/local
++LIBDIR = $(INSTALL_PREFIX)/lib
+ OBJS = \
+       $(OBJDIR)/alloc.o \
+@@ -170,14 +171,14 @@
+ .PHONY: install
+ install:
+-      mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/lib
++      mkdir -p $(DESTDIR)$(LIBDIR)
+       mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/include
+       mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/share
+-      mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/lib/pkgconfig
+-      cp $(LIBVMAF) $(DESTDIR)$(INSTALL_PREFIX)/lib/$(LIBVMAF)
++      mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
++      cp $(LIBVMAF) $(DESTDIR)$(LIBDIR)/$(LIBVMAF)
+       cp src/libvmaf.h $(DESTDIR)$(INSTALL_PREFIX)/include/
+       cp -r ../model $(DESTDIR)$(INSTALL_PREFIX)/share/
+-      cp libvmaf.pc $(DESTDIR)$(INSTALL_PREFIX)/lib/pkgconfig/
++      cp libvmaf.pc $(DESTDIR)$(LIBDIR)/pkgconfig/
+ .PHONY: uninstall
+ uninstall:
diff --git a/vmaf-shared.patch b/vmaf-shared.patch
new file mode 100644 (file)
index 0000000..47470b1
--- /dev/null
@@ -0,0 +1,46 @@
+--- vmaf-1.3.9/wrapper/Makefile.orig   2018-10-29 21:15:18.206220575 +0100
++++ vmaf-1.3.9/wrapper/Makefile        2018-10-31 07:16:17.494822306 +0100
+@@ -1,7 +1,9 @@
+ LIBVMAF = libvmaf.a
++LIBVMAFSO = libvmaf.so
++LIBVMAFSOVER = libvmaf.so.0
+ .PHONY: all
+-all: $(LIBVMAF) vmafossexec
++all: $(LIBVMAF) $(LIBVMAFSO) vmafossexec
+ TOP = $(shell pwd)
+ SRCDIR = $(TOP)/src
+@@ -166,7 +168,11 @@
+ $(LIBVMAF): $(OBJS) $(wildcard ../ptools/*.o)
+       ar rcs $@ $^
+-vmafossexec: $(OBJDIR)/main.o $(LIBVMAF)
++$(LIBVMAFSO): $(OBJS) $(wildcard ../ptools/*.o)
++      $(CXX) $(LDFLAGS) $(CFLAGS) -shared -o $(LIBVMAFSOVER) -Wl,-soname,$(LIBVMAFSOVER) $^ -pthread
++      ln -sf $(LIBVMAFSOVER) $(LIBVMAFSO)
++
++vmafossexec: $(OBJDIR)/main.o $(LIBVMAFSO)
+       $(CXX) -s -o $@ $(LDFLAGS) $^ -pthread
+ .PHONY: install
+@@ -175,6 +181,8 @@
+       mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/include
+       mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/share
+       mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
++      install $(LIBVMAFSOVER) $(DESTDIR)$(LIBDIR)/$(LIBVMAFSOVER)
++      ln -s $(LIBVMAFSOVER) $(DESTDIR)$(LIBDIR)/$(LIBVMAFSO)
+       cp $(LIBVMAF) $(DESTDIR)$(LIBDIR)/$(LIBVMAF)
+       cp src/libvmaf.h $(DESTDIR)$(INSTALL_PREFIX)/include/
+       cp -r ../model $(DESTDIR)$(INSTALL_PREFIX)/share/
+--- vmaf-1.3.9/feature/Makefile.orig   2018-08-07 23:36:56.000000000 +0200
++++ vmaf-1.3.9/feature/Makefile        2018-10-31 08:01:19.208124793 +0100
+@@ -5,7 +5,7 @@
+ SRCDIR  = $(TOP)/src
+ OBJDIR  = $(TOP)/obj
+ TOOLDIR = $(TOP)/tool
+-LIBVMAF = $(TOP)/../wrapper/libvmaf.a
++LIBVMAF = $(TOP)/../wrapper/libvmaf.so
+ CFLAGS_COMMON = -g -O3 -fPIC -w -Wextra -pedantic
+ # CFLAGS_COMMON = -g -O0 -fPIC -Wall -Wextra -pedantic
index e874b921ae1e5cd8efd7aa300dfbf242970888ad..04276c2bb14c16582da80d8ca306142eba7b8dc7 100644 (file)
--- a/vmaf.spec
+++ b/vmaf.spec
@@ -1,37 +1,59 @@
 # TODO:
-# - shared library
 # - python package
-# - optflags
 # - system libs if possible:
 #   libsvm
 #   wrapper/src/pugixml
 #   ptools ?
 #   ptools/opencontainers_1_8_4 ?
+#
+# Conditional build:
+%bcond_with    sse2    # use SSE2 instructions
+
+%ifarch pentium4 %{x8664} x32
+%define        with_sse2       1
+%endif
 Summary:       Netflix's VMAF library
 Summary(pl.UTF-8):     Biblioteka Netflix VMAF
 Name:          vmaf
-Version:       1.3.1
-Release:       0.1
+Version:       1.3.9
+Release:       1
 License:       Apache v2.0
 Group:         Libraries
 #Source0Download: https://github.com/Netflix/vmaf/releases
 Source0:       https://github.com/Netflix/vmaf/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 864c2c74649fd8770fd6a566fdaf6f35
+# Source0-md5: b5f39df007a66e6b6e284a820066bb70
+Patch0:                %{name}-libdir.patch
+Patch1:                %{name}-shared.patch
 URL:           https://github.com/Netflix/vmaf
 BuildRequires: libstdc++-devel >= 6:4.8
 BuildRequires: sed >= 4.0
+Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
 VMAF is a perceptual video quality assessment algorithm developed by
 Netflix.
 
-#%description -l pl.UTF-8
+%description -l pl.UTF-8
+VMAF to percepcyjny algorytm oceny jakoĊ›ci obrazu tworzony przez
+Netfliksa.
+
+%package libs
+Summary:       Netflix VMAF libary
+Summary(pl.UTF-8):     Biblioteka Netflix VMAF
+Group:         Libraries
+
+%description libs
+Netflix VMAF libary.
+
+%description libs -l pl.UTF-8
+Biblioteka Netflix VMAF.
 
 %package devel
 Summary:       Netflix VMAF SDK
 Summary(pl.UTF-8):     Pakiet programistyczny Netflix VMAF
 Group:         Development/Libraries
+Requires:      %{name}-libs = %{version}-%{release}
 Requires:      libstdc++-devel >= 6:4.8
 
 %description devel
@@ -40,10 +62,32 @@ Netflix VMAF SDK.
 %description devel -l pl.UTF-8
 Pakiet programistyczny Netflix VMAF.
 
+%package static
+Summary:       Static Netflix VMAF library
+Summary(pl.UTF-8):     Statyczna biblioteka Netflix VMAF
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{version}-%{release}
+
+%description static
+Static Netflix VMAF library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka Netflix VMAF.
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
+
+%if %{without sse2}
+%{__sed} -i -e 's,#define ADM_OPT_RECIP_DIVISION,/* & */,' feature/src/adm_options.h
+%endif
 
 %build
+CFLAGS="%{rpmcflags}%{?with_sse2: -msse2}" \
+CXXFLAGS="%{rpmcxxflags}%{?with_sse2: -msse2}" \
+CPPFLAGS="%{rpmcppflags}" \
+LDFLAGS="%{rpmldflags}" \
 %{__make} \
        CC="%{__cc}" \
        CXX="%{__cxx}" \
@@ -54,21 +98,38 @@ Pakiet programistyczny Netflix VMAF.
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_bindir}
 
-%{__make} install \
+%{__make} -C wrapper install \
        DESTDIR=$RPM_BUILD_ROOT \
-       PREFIX=%{_prefix}
+       INSTALL_PREFIX=%{_prefix} \
+       LIBDIR=%{_libdir}
+
+install feature/{psnr,vmaf} $RPM_BUILD_ROOT%{_bindir}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc CHANGELOG.md FAQ.md NOTICE.md README.md VERSION
+%attr(755,root,root) %{_bindir}/psnr
+%attr(755,root,root) %{_bindir}/vmaf
 %{_datadir}/model
 
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libvmaf.so.0
+
 %files devel
 %defattr(644,root,root,755)
-%{_libdir}/libvmaf.a
+%attr(755,root,root) %{_libdir}/libvmaf.so
 %{_includedir}/libvmaf.h
 %{_pkgconfigdir}/libvmaf.pc
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libvmaf.a
This page took 0.322168 seconds and 4 git commands to generate.