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.
x265/x265.spec

132 lines
3.7 KiB

%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 <rpm@greysector.net> 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 <rpm@greysector.net> 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 <rpm@greysector.net> 1.2-4
- don't create bogus soname (patch by Xavier)
* Thu Jul 17 2014 Dominik Mierzejewski <rpm@greysector.net> 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 <rpm@greysector.net> 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 <rpm@greysector.net> 1.2-1
- initial build
- fix pkgconfig file install location
- link test binaries with shared library