commit b39677ef39cce89624fa48ff8e6f143ead37ec2b Author: tigro Date: Fri May 31 15:00:21 2024 +0300 import libyuv-0-0.45.20201024git19d71f6.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5d07266 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/libyuv-0.tar.xz diff --git a/.libyuv.metadata b/.libyuv.metadata new file mode 100644 index 0000000..e56877c --- /dev/null +++ b/.libyuv.metadata @@ -0,0 +1 @@ +c7cd0b1ebb796141164d57a6a5b8c61239308998 SOURCES/libyuv-0.tar.xz diff --git a/SOURCES/libyuv-0001-Use-a-proper-so-version.patch b/SOURCES/libyuv-0001-Use-a-proper-so-version.patch new file mode 100644 index 0000000..e4b4b76 --- /dev/null +++ b/SOURCES/libyuv-0001-Use-a-proper-so-version.patch @@ -0,0 +1,19 @@ +From: Peter Lemenkov +Date: Fri, 21 Sep 2018 12:45:55 +0200 +Subject: [PATCH] Use a proper so-version + +Signed-off-by: Peter Lemenkov + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ed4948f0..e1f87062 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -30,6 +30,8 @@ ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) + SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) + SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) + ++SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES VERSION "0.0.0" SOVERSION 0 ) ++ + # this creates the conversion tool + ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) + TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) diff --git a/SOURCES/libyuv-0002-Link-against-shared-library.patch b/SOURCES/libyuv-0002-Link-against-shared-library.patch new file mode 100644 index 0000000..e4f8f6a --- /dev/null +++ b/SOURCES/libyuv-0002-Link-against-shared-library.patch @@ -0,0 +1,28 @@ +From: Peter Lemenkov +Date: Fri, 21 Sep 2018 12:47:42 +0200 +Subject: [PATCH] Link against shared library + +Signed-off-by: Peter Lemenkov + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e1f87062..bff03e88 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,7 +34,7 @@ SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES VERSION "0.0.0" SOVERSION 0 + + # this creates the conversion tool + ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) +-TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) ++TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_shared} ) + + + INCLUDE ( FindJPEG ) +@@ -61,7 +61,7 @@ if(TEST) + endif() + + add_executable(libyuv_unittest ${ly_unittest_sources}) +- target_link_libraries(libyuv_unittest ${ly_lib_name} ${GTEST_LIBRARY}) ++ target_link_libraries(libyuv_unittest ${ly_lib_shared} ${GTEST_LIBRARY}) + find_library(PTHREAD_LIBRARY pthread) + if(NOT PTHREAD_LIBRARY STREQUAL "PTHREAD_LIBRARY-NOTFOUND") + target_link_libraries(libyuv_unittest pthread) diff --git a/SOURCES/libyuv-0003-Disable-static-library.patch b/SOURCES/libyuv-0003-Disable-static-library.patch new file mode 100644 index 0000000..70d73a9 --- /dev/null +++ b/SOURCES/libyuv-0003-Disable-static-library.patch @@ -0,0 +1,39 @@ +From: Peter Lemenkov +Date: Mon, 24 Sep 2018 15:08:45 +0200 +Subject: [PATCH] Disable static library + +Signed-off-by: Peter Lemenkov + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bff03e88..1832ad42 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,7 +11,6 @@ SET ( ly_src_dir ${ly_base_dir}/source ) + SET ( ly_inc_dir ${ly_base_dir}/include ) + SET ( ly_tst_dir ${ly_base_dir}/unit_test ) + SET ( ly_lib_name yuv ) +-SET ( ly_lib_static ${ly_lib_name} ) + SET ( ly_lib_shared ${ly_lib_name}_shared ) + + FILE ( GLOB_RECURSE ly_source_files ${ly_src_dir}/*.cc ) +@@ -22,9 +21,6 @@ LIST ( SORT ly_unittest_sources ) + + INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) + +-# this creates the static library (.a) +-ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) +- + # this creates the shared library (.so) + ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) + SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) +@@ -82,9 +78,8 @@ if(TEST) + endif() + + +-# install the conversion tool, .so, .a, and all the header files ++# install the conversion tool, .so, and all the header files + INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_static} DESTINATION lib ) + INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) + INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + diff --git a/SOURCES/libyuv-0004-Don-t-install-conversion-tool.patch b/SOURCES/libyuv-0004-Don-t-install-conversion-tool.patch new file mode 100644 index 0000000..eea9c3a --- /dev/null +++ b/SOURCES/libyuv-0004-Don-t-install-conversion-tool.patch @@ -0,0 +1,38 @@ +From: Peter Lemenkov +Date: Mon, 24 Sep 2018 15:10:16 +0200 +Subject: [PATCH] Don't install conversion tool + +Signed-off-by: Peter Lemenkov + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1832ad42..854aea7f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,15 +28,9 @@ SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) + + SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES VERSION "0.0.0" SOVERSION 0 ) + +-# this creates the conversion tool +-ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) +-TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_shared} ) +- +- + INCLUDE ( FindJPEG ) + if (JPEG_FOUND) + include_directories( ${JPEG_INCLUDE_DIR} ) +- target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) + add_definitions( -DHAVE_JPEG ) + endif() + +@@ -78,9 +72,8 @@ if(TEST) + endif() + + +-# install the conversion tool, .so, and all the header files +-INSTALL ( PROGRAMS ${CMAKE_BINARY_DIR}/yuvconvert DESTINATION bin ) +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) ++# install .so, and all the header files ++INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib ) + INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + + # create the .deb and .rpm packages using cpack diff --git a/SOURCES/libyuv-0005-Use-library-suffix-during-installation.patch b/SOURCES/libyuv-0005-Use-library-suffix-during-installation.patch new file mode 100644 index 0000000..acb4a6f --- /dev/null +++ b/SOURCES/libyuv-0005-Use-library-suffix-during-installation.patch @@ -0,0 +1,19 @@ +From: Peter Lemenkov +Date: Mon, 24 Sep 2018 15:15:09 +0200 +Subject: [PATCH] Use library suffix during installation + +Signed-off-by: Peter Lemenkov + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 854aea7f..eb12ab4f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -73,7 +73,7 @@ endif() + + + # install .so, and all the header files +-INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib ) ++INSTALL ( TARGETS ${ly_lib_shared} LIBRARY DESTINATION lib${LIB_SUFFIX} ) + INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR}/include/ DESTINATION include ) + + # create the .deb and .rpm packages using cpack diff --git a/SOURCES/libyuv-0006-Link-main-library-against-libjpeg.patch b/SOURCES/libyuv-0006-Link-main-library-against-libjpeg.patch new file mode 100644 index 0000000..7bb05ed --- /dev/null +++ b/SOURCES/libyuv-0006-Link-main-library-against-libjpeg.patch @@ -0,0 +1,18 @@ +From: Peter Lemenkov +Date: Wed, 17 Apr 2019 12:39:42 +0300 +Subject: [PATCH] Link main library against libjpeg + +Signed-off-by: Peter Lemenkov + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index eb12ab4f..856cc975 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,6 +31,7 @@ SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES VERSION "0.0.0" SOVERSION 0 + INCLUDE ( FindJPEG ) + if (JPEG_FOUND) + include_directories( ${JPEG_INCLUDE_DIR} ) ++ target_link_libraries( ${ly_lib_shared} ${JPEG_LIBRARY} ) + add_definitions( -DHAVE_JPEG ) + endif() + diff --git a/SPECS/libyuv.spec b/SPECS/libyuv.spec new file mode 100644 index 0000000..7af104f --- /dev/null +++ b/SPECS/libyuv.spec @@ -0,0 +1,239 @@ +Name: libyuv +Summary: YUV conversion and scaling functionality library +Version: 0 +Release: 0.45.20201024git19d71f6%{?dist} +License: BSD +Url: https://chromium.googlesource.com/libyuv/libyuv +VCS: scm:git:https://chromium.googlesource.com/libyuv/libyuv +## git clone https://chromium.googlesource.com/libyuv/libyuv +## cd libyuv +## git archive --format=tar --prefix=libyuv-0/ 19d71f6 | xz > ../libyuv-0.tar.xz +Source0: %{name}-%{version}.tar.xz +# Fedora-specific. Upstream isn't interested in these patches. +Patch1: libyuv-0001-Use-a-proper-so-version.patch +Patch2: libyuv-0002-Link-against-shared-library.patch +Patch3: libyuv-0003-Disable-static-library.patch +Patch4: libyuv-0004-Don-t-install-conversion-tool.patch +Patch5: libyuv-0005-Use-library-suffix-during-installation.patch +Patch6: libyuv-0006-Link-main-library-against-libjpeg.patch +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: gtest-devel +BuildRequires: libjpeg-devel + + +%description +This is an open source project that includes YUV conversion and scaling +functionality. Converts all webcam formats to YUV (I420). Convert YUV to +formats for rendering/effects. Rotate by 90 degrees to adjust for mobile +devices in portrait mode. Scale YUV to prepare content for compression, +with point, bilinear or box filter. + + +%package devel +Summary: The development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + + +%description devel +Additional header files for development with %{name}. + + +%prep +%autosetup -p1 + +cat > %{name}.pc << EOF +prefix=%{_prefix} +exec_prefix=${prefix} +libdir=%{_libdir} +includedir=%{_includedir} + +Name: %{name} +Description: %{summary} +Version: %{version} +Libs: -lyuv +EOF + + +%build +%{cmake} -DTEST=true +%{cmake_build} + + +%install +%{cmake_install} + +mkdir -p %{buildroot}%{_libdir}/pkgconfig +cp -a %{name}.pc %{buildroot}%{_libdir}/pkgconfig/ + + +%check +# FIXME fails again on s390 +./libyuv_unittest || true + + +%files +%license LICENSE +%doc AUTHORS PATENTS README.md +%{_libdir}/%{name}.so.* + + +%files devel +%{_includedir}/%{name} +%{_includedir}/%{name}.h +%{_libdir}/%{name}.so +%{_libdir}/pkgconfig/%{name}.pc + + +%changelog +* Fri May 31 2024 Arkady L. Shane - 0-0.45.20201024git19d71f6 +- Rebuilt for MSVSphere 9.4 + +* Thu Jan 19 2023 Fedora Release Engineering - 0-0.45.20201024git19d71f6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 0-0.44.20201024git19d71f6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 0-0.43.20201024git19d71f6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 0-0.42.20201024git19d71f6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 0-0.41.20201024git19d71f6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Oct 27 2020 Peter Lemenkov - 0-0.40.20201024git19d71f6 +- Update to the latest git snapshot +- Fix FTBFS + +* Sat Aug 01 2020 Fedora Release Engineering - 0-0.39.20190401git4bd08cb +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 0-0.38.20190401git4bd08cb +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 0-0.37.20190401git4bd08cb +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 0-0.36.20190401git4bd08cb +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Apr 17 2019 Peter Lemenkov - 0-0.35.20190401git4bd08cb +- Fix linkage against libjpeg + +* Tue Apr 16 2019 Peter Lemenkov - 0-0.34.20190401git4bd08cb +- Fixed pkgconfig-file + +* Tue Apr 09 2019 Peter Lemenkov - 0-0.33.20190401git4bd08cb +- Update to the latest git snapshot + +* Fri Feb 01 2019 Fedora Release Engineering - 0-0.32.20180904git9a07219 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Sep 24 2018 Peter Lemenkov - 0-0.31.20180904git9a07219 +- Update to the latest git snapshot + +* Fri Jul 13 2018 Fedora Release Engineering - 0-0.30.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 0-0.29.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0-0.28.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0-0.27.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0-0.26.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Feb 04 2016 Fedora Release Engineering - 0-0.25.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 0-0.24.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 0-0.23.20121221svn522 +- Rebuilt for GCC 5 C++11 ABI change + +* Sun Aug 17 2014 Fedora Release Engineering - 0-0.22.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0-0.21.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Aug 03 2013 Fedora Release Engineering - 0-0.20.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0-0.19.20121221svn522 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 18 2013 Adam Tkac - 0-0.18.20121221svn522 +- rebuild due to "jpeg8-ABI" feature drop + +* Sun Dec 30 2012 Dan HorĂ¡k - 0-0.17.20121221svn522 +- add big endian fix + +* Fri Dec 21 2012 Adam Tkac - 0-0.16.20121221svn522 +- rebuild against new libjpeg + +* Fri Dec 21 2012 Peter Lemenkov - 0-0.15.20121221svn522 +- Next svn snapshot - ver. 522 + +* Thu Oct 04 2012 Peter Lemenkov - 0-0.14.20121001svn389 +- Next svn snapshot - ver. 389 +- Enable NEON on ARM (if detected) + +* Sat Sep 15 2012 Peter Lemenkov - 0-0.13.20120915svn353 +- Next svn snapshot - ver. 353 +- Dropped upstreamed patch no.3 + +* Mon Jul 30 2012 Peter Lemenkov - 0-0.12.20120727svn312 +- Next svn snapshot - ver. 312 + +* Thu Jul 19 2012 Fedora Release Engineering - 0-0.11.20120627svn296 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jul 05 2012 Peter Lemenkov - 0-0.10.20120627svn296 +- Next svn snapshot - ver. 296 +- Dropped patch3 (header conflict) - fixed upstream + +* Thu Jun 14 2012 Tom Callaway - 0-0.9.20120518svn268 +- resolve header conflict with duplicate definition in scale*.h + +* Fri May 18 2012 Peter Lemenkov - 0-0.8.20120518svn268 +- Next svn snapshot - ver. 268 +- Fixed failure on s390x and PPC64 (see rhbz #822494) +- Fixed FTBFS on EL5 (see rhbz #819179) + +* Sat May 05 2012 Peter Lemenkov - 0-0.7.20120505svn256 +- Next svn snapshot - ver. 256 + +* Sun Apr 08 2012 Peter Lemenkov - 0-0.6.20120406svn239 +- Next svn snapshot - ver. 239 + +* Thu Mar 08 2012 Peter Lemenkov - 0-0.5.20120308svn209 +- Next svn ver. - 209 +- Drop upstreamed patches +- Add libjpeg as a dependency + +* Thu Feb 02 2012 Peter Lemenkov - 0-0.4.20120202svn164 +- Next svn ver. - 164 +- Added two patches - no.2 and no.3 + +* Thu Jan 12 2012 Peter Lemenkov - 0-0.3.20120109svn128 +- Use bzip2 instead of xz (for EL-5) + +* Wed Jan 11 2012 Peter Lemenkov - 0-0.2.20120109svn128 +- Update to svn rev. 128 +- Enable unit-tests +- Dropped obsolete defattr directive +- Consistently use macros +- Explicitly add _isa to the Requires for *-devel sub-package + +* Fri Jan 6 2012 Peter Lemenkov - 0-0.1.20120105svn127 +- Initial package