diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8d60cc5 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/libvpl-2.10.1.tar.gz diff --git a/libvpl-pkgconfig.patch b/libvpl-pkgconfig.patch new file mode 100644 index 0000000..97a8f40 --- /dev/null +++ b/libvpl-pkgconfig.patch @@ -0,0 +1,14 @@ +diff -Naur libvpl-2.10.1.old/libvpl/pkgconfig/vpl.pc.in libvpl-2.10.1/libvpl/pkgconfig/vpl.pc.in +--- libvpl-2.10.1.old/libvpl/pkgconfig/vpl.pc.in 2024-02-13 16:06:51.876261945 +0100 ++++ libvpl-2.10.1/libvpl/pkgconfig/vpl.pc.in 2024-02-13 16:07:15.192661073 +0100 +@@ -2,8 +2,8 @@ + libdir=@pc_rel_libdir@ + includedir=@pc_rel_incdir@ + +-Name: Intel® Video Processing Library +-Description: Accelerated video decode, encode, and frame processing capabilities on Intel® GPUs ++Name: Intel Video Processing Library ++Description: Accelerated video decode, encode, and frame processing capabilities on Intel GPUs + Version: @API_VERSION_MAJOR@.@API_VERSION_MINOR@ + URL: https://github.com/intel/libvpl + diff --git a/libvpl-system-analyzer.patch b/libvpl-system-analyzer.patch new file mode 100644 index 0000000..6c445af --- /dev/null +++ b/libvpl-system-analyzer.patch @@ -0,0 +1,21 @@ +--- a/tools/cli/system_analyzer/system_analyzer.cpp 2023-12-11 16:19:01.403056486 +0200 ++++ b/tools/cli/system_analyzer/system_analyzer.cpp 2023-12-11 16:19:46.638923008 +0200 +@@ -210,14 +210,14 @@ + + int main() { + bool check_gpu_caps = true; +- void *libva_handle = dlopen("libva.so", RTLD_NOW | RTLD_GLOBAL); ++ void *libva_handle = dlopen("libva.so.2", RTLD_NOW | RTLD_GLOBAL); + if (!libva_handle) { +- printf("could not open libva.so\n"); ++ printf("could not open libva.so.2\n"); + check_gpu_caps = false; + } +- void *libvadrm_handle = dlopen("libva-drm.so", RTLD_NOW | RTLD_GLOBAL); ++ void *libvadrm_handle = dlopen("libva-drm.so.2", RTLD_NOW | RTLD_GLOBAL); + if (!libvadrm_handle) { +- printf("could not open libva-drm.so\n"); ++ printf("could not open libva-drm.so.2\n"); + check_gpu_caps = false; + } + diff --git a/libvpl.spec b/libvpl.spec new file mode 100644 index 0000000..0a47201 --- /dev/null +++ b/libvpl.spec @@ -0,0 +1,176 @@ +%global mfx_major 2 +%global mfx_minor 10 + +Name: libvpl +Epoch: 1 +Version: %{mfx_major}.%{mfx_minor}.1 +Release: 2%{?dist} +Summary: Intel Video Processing Library +License: MIT +URL: https://intel.github.io/libvpl/latest/index.html +ExclusiveArch: x86_64 + +Source0: https://github.com/intel/libvpl/archive/v%{version}/%{name}-%{version}.tar.gz +Patch0: %{name}-system-analyzer.patch +Patch1: %{name}-pkgconfig.patch + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: pkgconfig(libdrm) >= 2.4.91 +BuildRequires: pkgconfig(libva) >= 1.2 +BuildRequires: pkgconfig(libva-drm) >= 1.2 +BuildRequires: pkgconfig(libva-x11) >= 1.10.0 +BuildRequires: pkgconfig(pciaccess) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) >= 1.15 +BuildRequires: pkgconfig(x11) + +Recommends: intel-mediasdk +Recommends: oneVPL-intel-gpu + +Obsoletes: oneVPL <= 2023.4.0 +Provides: oneVPL%{?_isa} == %{?epoch:%{epoch}:}%{version}-%{release} + +%description +The oneAPI Video Processing Library (oneVPL) provides a single video processing +API for encode, decode, and video processing that works across a wide range of +accelerators. + +The base package is limited to the dispatcher and samples. To use oneVPL for +video processing you need to install at least one implementation. Current +implementations: + +- oneVPL-intel-gpu for use on Intel Xe graphics and newer +- intel-mediasdk for use on legacy Intel graphics + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +Obsoletes: oneVPL-devel <= 2023.4.0 +Provides: oneVPL-devel%{?_isa} == %{?epoch:%{epoch}:}%{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for developing +applications that use %{name}. + +%package samples +Summary: Sample programs and source code for %{name} +Requires: %{name}-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} + +Obsoletes: oneVPL-samples <= 2023.4.0 +Provides: oneVPL-samples%{?_isa} == %{?epoch:%{epoch}:}%{version}-%{release} + +%description samples +This package contains sample programs and applications that use %{name}. + +%prep +%autosetup -p1 -n libvpl-%{version} + +%build +%cmake -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} +%cmake_build + +%install +%cmake_install + +# Let RPM pick up documents in the files section +rm -fr %{buildroot}%{_datadir}/vpl/licensing + +%files +%license LICENSE +%doc README.md CONTRIBUTING.md third-party-programs.txt +%dir %{_sysconfdir}/vpl +%{_sysconfdir}/vpl/vars.sh +%{_bindir}/system_analyzer +%{_libdir}/libvpl.so.%{mfx_major} +%{_libdir}/libvpl.so.%{mfx_major}.%{mfx_minor} +%dir %{_libdir}/vpl +%{_libdir}/vpl/libvpl_wayland.so + +%files devel +%{_includedir}/vpl +%{_libdir}/cmake/vpl +%{_libdir}/libvpl.so +%{_libdir}/pkgconfig/vpl.pc + +%files samples +%{_bindir}/sample_decode +%{_bindir}/sample_encode +%{_bindir}/sample_multi_transcode +%{_bindir}/sample_vpp +%{_bindir}/val-surface-sharing +%{_bindir}/vpl-import-export +%{_bindir}/vpl-inspect +%{_datadir}/vpl + +%changelog +* Tue Feb 13 2024 Simone Caronni - 1:2.10.1-2 +- Switch from Intel® to Intel in pkgconfig file. + +* Thu Jan 18 2024 Simone Caronni - 1:2.10.1-1 +- Rename to libvpl with new versioning scheme. + +* Thu Dec 14 2023 Simone Caronni - 2023.4.0-2 +- Drop patch, adjust file section. + +* Mon Dec 11 2023 Ali Erdinc Koroglu - 2023.4.0-1 +- Update to 2023.4.0 + +* Tue Oct 03 2023 Simone Caronni - 2023.3.1-1 +- Update to 2023.3.1. + +* Thu Jul 20 2023 Fedora Release Engineering - 2023.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Mar 22 2023 Nicolas Chauvet - 2023.1.3-2 +- Rebuilt for libva + +* Mon Mar 13 2023 Adam Williamson - 2023.1.3-1 +- Update to 2023.1.3 +- Drop Python bindings (removed upstream) +- Fix install path for config files (#2177912) + +* Thu Jan 19 2023 Fedora Release Engineering - 2022.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Aug 24 2022 Simone Caronni - 2022.2.2-1 +- Update to 2022.2.2. +- Patch system_analyzer so it works without devel subpackage installed. + +* Fri Jul 22 2022 Fedora Release Engineering - 2022.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 08 2022 Simone Caronni - 2022.1.5-1 +- Update to 2022.1.5. + +* Mon Jun 13 2022 Python Maint - 2022.1.3-2 +- Rebuilt for Python 3.11 + +* Wed May 25 2022 Simone Caronni - 2022.1.3-1 +- Update to 2022.1.3. + +* Tue Apr 26 2022 Simone Caronni - 2022.1.1-1 +- Update to 2022.1.1. +- Recommend implementations (at least one must be installed). + +* Sat Mar 19 2022 Simone Caronni - 2022.1.0-1 +- Update to 2022.1.0. + +* Sun Mar 13 2022 Simone Caronni - 2022.0.6-1 +- Update to 2022.0.6. + +* Wed Mar 02 2022 Simone Caronni - 2022.0.5-2 +- Rebuild for updated libva. + +* Wed Mar 02 2022 Simone Caronni - 2022.0.5-1 +- Update to 2022.0.5. + +* Tue Feb 08 2022 Simone Caronni - 2022.0.4-1 +- Update to 2022.0.4. + +* Mon Feb 07 2022 Simone Caronni - 2022.0.0-2 +- Enable Python binding. + +* Sat Feb 05 2022 Simone Caronni - 2022.0.0-1 +- First build. diff --git a/sources b/sources new file mode 100644 index 0000000..6c97beb --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libvpl-2.10.1.tar.gz) = c7cf122b343c004877478d71fcd7156bf25557072acfde6fdb8fd09b03aee1b81f65ee9a1674134a05c2c0cac4f58fff011911f28b5e99db89fb358b5eb33665