%global commit d6257335c537 Summary: H.265/HEVC encoder Name: x265 Version: 1.2 Release: 6%{?dist} URL: http://x265.org/ Source0: https://bitbucket.org/multicoreware/x265/get/%{version}.tar.bz2 # fix pkgconfig file installation path Patch0: x265-pc-path.patch # link test binaries with shared library Patch1: x265-test-shared.patch # build with -fPIC on arm and i686, too Patch2: x265-pic.patch # don't create bogus soname (https://bitbucket.org/multicoreware/x265/issue/62/linux-incorrect-symbolic-links-to-shared) Patch3: x265-fix-soname.patch Patch4: x265-detect_cpu_armhfp.patch # source/Lib/TLibCommon - BSD # source/Lib/TLibEncoder - BSD # everything else - GPLv2+ License: GPLv2+ and BSD BuildRequires: cmake BuildRequires: yasm %description The primary objective of x265 is to become the best H.265/HEVC encoder available anywhere, offering the highest compression efficiency and the highest performance on a wide variety of hardware platforms. This package contains the command line encoder. %package libs Summary: H.265/HEVC encoder library %description libs The primary objective of x265 is to become the best H.265/HEVC encoder available anywhere, offering the highest compression efficiency and the highest performance on a wide variety of hardware platforms. This package contains the shared library. %package devel Summary: H.265/HEVC encoder library development files Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description devel The primary objective of x265 is to become the best H.265/HEVC encoder available anywhere, offering the highest compression efficiency and the highest performance on a wide variety of hardware platforms. This package contains the shared library development files. %prep %setup -q -n multicoreware-%{name}-%{commit} %patch0 -p1 -b .p # tests are crashing on x86 if linked against shared libx265 %ifnarch i686 %patch1 -p1 -b .ts %endif %patch2 -p1 -b .pic %patch3 -p1 -b .soname %patch4 -p1 -b .armhfp f=doc/uncrustify/drag-uncrustify.bat tr -d '\r' < ${f} > ${f}.unix && \ touch -r ${f} ${f}.unix && \ mv ${f}.unix ${f} %build %cmake -G "Unix Makefiles" \ -DCMAKE_SKIP_RPATH:BOOL=YES \ -DENABLE_TESTS:BOOL=ON \ source make %{?_smp_mflags} %install make DESTDIR=%{buildroot} install rm %{buildroot}%{_libdir}/libx265.a install -Dpm644 COPYING %{buildroot}%{_pkgdocdir}/COPYING %ifnarch %{arm} %check LD_LIBRARY_PATH=$(pwd) test/PoolTest LD_LIBRARY_PATH=$(pwd) test/TestBench %endif %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files %{_bindir}/x265 %files libs %dir %{_pkgdocdir} %{_pkgdocdir}/COPYING %{_libdir}/libx265.so.25 %files devel %doc doc/* %{_includedir}/x265.h %{_includedir}/x265_config.h %{_libdir}/libx265.so %{_libdir}/pkgconfig/x265.pc %changelog * Thu Dec 18 2014 Dominik Mierzejewski 1.2-6 - fix build on armv7l arch (partially fix rfbz#3361, patch by Nicolas Chauvet) - don't run tests on ARM for now (rfbz#3361) * Sun Aug 17 2014 Dominik Mierzejewski 1.2-5 - don't include contributor agreement in doc - make sure /usr/share/doc/x265 is owned - add a comment noting which files are BSD-licenced * Fri Aug 08 2014 Dominik Mierzejewski 1.2-4 - don't create bogus soname (patch by Xavier) * Thu Jul 17 2014 Dominik Mierzejewski 1.2-3 - fix tr call to remove DOS EOL - build the library with -fPIC on arm and i686, too * Sun Jul 13 2014 Dominik Mierzejewski 1.2-2 - use version in source URL - update License tag - fix EOL in drag-uncrustify.bat - don't link test binaries with shared binary on x86 (segfault) * Thu Jul 10 2014 Dominik Mierzejewski 1.2-1 - initial build - fix pkgconfig file install location - link test binaries with shared library