david_david

qt5av.spec

May 27th, 2016
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.23 KB | None | 0 0
  1. %define up_name QtAV
  2.  
  3. %define major 1
  4. %define libname %mklibname %{name} %{major}
  5. %define libname_widgets %mklibname %{name}widgets %{major}
  6. %define develname %mklibname %{name} -d
  7.  
  8. Name: qt5av
  9. Version: 1.10.0
  10. Release: %mkrel 0.1
  11. Summary: Qt5 multimedia framework
  12. License: LGPLv2+ and GPLv3
  13. Group: Video/Players
  14. Url: http://qtav.org/
  15. Source0: https://github.com/wang-bin/QtAV/archive/v%{version}/%{up_name}-%{version}.tar.gz
  16. BuildRequires: imagemagick
  17. BuildRequires: kf5-macros
  18. BuildRequires: portaudio-devel
  19. BuildRequires: pkgconfig(Qt5Core)
  20. BuildRequires: pkgconfig(Qt5Gui)
  21. BuildRequires: pkgconfig(Qt5OpenGL)
  22. BuildRequires: pkgconfig(Qt5Qml)
  23. BuildRequires: pkgconfig(Qt5Quick)
  24. BuildRequires: pkgconfig(Qt5Widgets)
  25. BuildRequires: pkgconfig(egl)
  26. BuildRequires: pkgconfig(libass)
  27. BuildRequires: pkgconfig(libavcodec)
  28. BuildRequires: pkgconfig(libavdevice)
  29. BuildRequires: pkgconfig(libavfilter)
  30. BuildRequires: pkgconfig(libavformat)
  31. BuildRequires: pkgconfig(libavresample)
  32. BuildRequires: pkgconfig(libavutil)
  33. BuildRequires: pkgconfig(libpulse) >= 1.0
  34. BuildRequires: pkgconfig(libswresample)
  35. BuildRequires: pkgconfig(libswscale)
  36. BuildRequires: pkgconfig(libva)
  37. BuildRequires: pkgconfig(openal)
  38. BuildRequires: pkgconfig(uchardet)
  39. BuildRequires: pkgconfig(xv)
  40.  
  41. Provides: %{up_name} = %{version}-%{release}
  42.  
  43. %description
  44. QtAV is a multimedia playback library based on Qt and FFmpeg. It can help
  45. you to write a player with less effort than ever before.
  46.  
  47. Features include:
  48. * Hardware decoding suppprt: DXVA2, VAAPI, VDA, CedarX, CUDA
  49. * OpenGL and ES2 support for Hi10P and other 16-bit YUV videos
  50. * Real time preview
  51. * Video capture in rgb and yuv format
  52. * OSD and custom filters
  53. * Subtitle
  54. * Transform video using GraphicsItemRenderer. (rotate, shear, etc)
  55. * Playing frame by frame (currently support forward playing)
  56. * Playback speed control
  57. * Variant streams: locale file, http, rtsp, etc.
  58. * Audio channel, tracks and external audio tracks
  59. * Dynamically change render engine when playing
  60. * Multiple video outputs for 1 player
  61. * Region of interest(ROI), i.e. video cropping
  62. * Video eq: brightness, contrast, saturation, hue
  63. * QML support as a plugin. Most playback APIs are compatible with
  64. QtMultiMedia module
  65.  
  66. %files
  67. %doc Changelog README*
  68. %license gpl-3.0* lgpl-2.1*
  69. %{_bindir}/Player
  70. %{_bindir}/QMLPlayer
  71. %{_qt5_bindir}/player
  72. %{_qt5_bindir}/QMLPlayer
  73. %{_datadir}/applications/player.desktop
  74. %{_datadir}/applications/QMLPlayer.desktop
  75. %{_iconsdir}/hicolor/scalable/apps/%{up_name}.svg
  76. %dir %{_qt5_qml}/%{up_name}
  77. %{_qt5_qml}/%{up_name}/Video.qml
  78. %{_qt5_qml}/%{up_name}/libQmlAV.so
  79. %{_qt5_qml}/%{up_name}/plugins.qmltypes
  80. %{_qt5_qml}/%{up_name}/qmldir
  81.  
  82. #----------------------------------------------------
  83.  
  84. %package -n %{libname}
  85. Summary: QtAV library
  86. Group: System/Libraries
  87.  
  88. %description -n %{libname}
  89. QtAV is a multimedia playback library based on Qt and FFmpeg.
  90.  
  91. This package contains the QtAV library.
  92.  
  93. %files -n %{libname}
  94. %{_qt5_libdir}/lib%{up_name}.so.%{major}{,.*}
  95.  
  96. #----------------------------------------------------
  97.  
  98. %package -n %{libname_widgets}
  99. Summary: QtAV Widgets module
  100. Group: System/Libraries
  101.  
  102. %description -n %{libname_widgets}
  103. QtAV is a multimedia playback library based on Qt and FFmpeg.
  104.  
  105. This package contains a set of widgets to play media.
  106.  
  107. %files -n %{libname_widgets}
  108. %{_qt5_libdir}/lib%{up_name}Widgets.so.%{major}{,.*}
  109.  
  110. #----------------------------------------------------
  111.  
  112. %package -n %{develname}
  113. Summary: QtAV development files
  114. Group: Development/C++
  115. Requires: %{libname} = %{version}-%{release}
  116. Requires: %{libname_widgets} = %{version}-%{release}
  117. Provides: %{name}-devel = %{version}-%{release}
  118. Provides: qtav-devel= %{version}-%{release}
  119.  
  120. %description -n %{develname}
  121. QtAV is a multimedia playback library based on Qt and FFmpeg.
  122.  
  123. This package contains the header development files for building some QtAV
  124. applications using QtAV headers.
  125.  
  126. %files -n %{develname}
  127. %{_qt5_includedir}/
  128. %{_qt5_libdir}/lib%{up_name}.so
  129. %{_qt5_libdir}/lib%{up_name}Widgets.so
  130. %{_qt5_libdir}/lib%{up_name}.prl
  131. %{_qt5_libdir}/lib%{up_name}Widgets.prl
  132. %{_qt5_bindir}/libcommon.prl
  133. %{_qt5_prefix}/mkspecs/features/av.prf
  134. %{_qt5_prefix}/mkspecs/features/avwidgets.prf
  135. %{_kf5_mkspecsdir}/qt_lib_av.pri
  136. %{_kf5_mkspecsdir}/qt_lib_av_private.pri
  137. %{_kf5_mkspecsdir}/qt_lib_avwidgets.pri
  138. %{_kf5_mkspecsdir}/qt_lib_avwidgets_private.pri
  139.  
  140. #----------------------------------------------------
  141.  
  142. %prep
  143. %setup -q -n %{up_name}-%{version}
  144.  
  145. %build
  146. %qmake_qt5 "CONFIG+=no_rpath recheck"
  147. %make_build
  148.  
  149. %install
  150. %qmakeinstall_std
  151.  
  152. find %{buildroot} -name '*.a' -delete
  153.  
  154. # binaries
  155. mkdir -p %{buildroot}%{_bindir}
  156. ln -s %{_qt5_bindir}/player %{buildroot}%{_bindir}/Player
  157. ln -s %{_qt5_bindir}/QMLPlayer %{buildroot}%{_bindir}/QMLPlayer
  158.  
  159. # icons svg
  160. mkdir -p %{buildroot}%{_iconsdir}/hicolor/scalable/apps
  161. mv %{buildroot}%{_iconsdir}/hicolor/{64x64/apps,scalable/apps}/%{up_name}.svg
  162.  
  163. # duplicate files
  164. rm -rf %{buildroot}%{_datadir}/doc
Advertisement
Add Comment
Please, Sign In to add comment