gpac-vl.spec 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. %define with_static 1
  2. Name: gpac
  3. Summary: MPEG-4 multimedia framework
  4. Version: 0.4.5
  5. Release: 8%{?_dist_release}
  6. License: LGPLv2+
  7. Group: System Environment/Libraries
  8. URL: http://gpac.sourceforge.net/
  9. Source0: http://downloads.sourceforge.net/gpac/gpac-%{version}.tar.gz
  10. #Source0: http://rpms.kwizart.net/fedora/SOURCE/gpac-%{version}-repack.tar.bz2
  11. #Source9: gpac-snapshot.sh
  12. Patch0: gpac-0.4.5-makefix.patch
  13. Patch1: gpac-0.4.5-soname.patch
  14. Patch2: gpac-0.4.5-amr.patch
  15. Patch3: gpac-0.4.5-lib64.patch
  16. Patch4: gpac-0.4.5-system_openjpeg.patch
  17. Patch6: gpac-0.4.5-shared_sggen.patch
  18. Patch7: gpac-0.4.5-libxml2.patch
  19. Patch8: gpac-ppc64.patch
  20. Patch9: gpac-0.4.5-ffmpeg.patch
  21. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
  22. BuildRequires: ImageMagick
  23. BuildRequires: SDL-devel
  24. BuildRequires: librsvg2-devel >= 2.5.0
  25. BuildRequires: libGLU-devel
  26. BuildRequires: freeglut-devel
  27. BuildRequires: freetype2-devel >= 2.1.4
  28. BuildRequires: libjpeg-devel
  29. BuildRequires: libpng-devel >= 1.2.5
  30. BuildRequires: libxml2-devel
  31. BuildRequires: openssl-devel
  32. BuildRequires: openjpeg-devel
  33. BuildRequires: pulseaudio-libs-devel
  34. BuildRequires: zlib-devel
  35. BuildRequires: libogg-devel libvorbis-devel libtheora-devel
  36. BuildRequires: libXt-devel
  37. BuildRequires: libXpm-devel
  38. BuildRequires: libXv-devel
  39. #BuildRequires: wxGTK-devel
  40. BuildRequires: xmlrpc-epi-devel
  41. %{?_with_mozilla:BuildRequires: gecko-devel}
  42. BuildRequires: doxygen
  43. BuildRequires: desktop-file-utils
  44. %{?_with_amr:BuildRequires: amrnb-devel amrwb-devel}
  45. # *-devel packages provided by other self-build-* should only be listed
  46. # in self-build-%{name}.spec as PreReq.
  47. #BuildRequires: a52dec-devel
  48. #BuildRequires: faad2-devel
  49. #BuildRequires: libmad-devel
  50. #BuildRequires: xvidcore-devel >= 1.0.0
  51. ##BuildRequires: ffmpeg-devel
  52. %description
  53. GPAC is a multimedia framework based on the MPEG-4 Systems standard developed
  54. from scratch in ANSI C. The original development goal is to provide a clean,
  55. small and flexible alternative to the MPEG-4 Systems reference software.
  56. GPAC features the integration of recent multimedia standards (SVG/SMIL, VRML,
  57. X3D, SWF, 3GPP(2) tools and more) into a single framework. GPAC also features
  58. MPEG-4 Systems encoders/multiplexers, publishing tools for content distribution
  59. for MP4 and 3GPP(2) files and many tools for scene descriptions
  60. (MPEG4 <-> VRML <-> X3D converters, SWF -> MPEG-4, etc).
  61. %package libs
  62. Summary: Library for %{name}
  63. Group: System Environment/Libraries
  64. %description libs
  65. The %{name}-libs package contains library for %{name}.
  66. %package devel
  67. Summary: Development libraries and files for %{name}
  68. Group: Development/Libraries
  69. Requires: %{name}-libs = %{version}-%{release}
  70. %description devel
  71. Development libraries and files for gpac.
  72. %if %{with_static}
  73. %package devel-static
  74. Summary: Development libraries and files for %{name}
  75. Group: Development/Libraries
  76. Requires: %{name}-devel = %{version}-%{release}
  77. %description devel-static
  78. Static library for gpac.
  79. %endif
  80. %prep
  81. %setup -q -n gpac
  82. ## remove extra_libs directory
  83. %__rm -rf extra_libs
  84. %patch0 -p1 -b .makefix
  85. %patch1 -p1 -b .soname
  86. %patch2 -p1 -b .amr
  87. %ifarch x86_64
  88. %patch3 -p1 -b .lib64
  89. %endif
  90. %patch4 -p1 -b .openjpeg
  91. %patch6 -p1 -b .shared
  92. %patch7 -p1 -b .libxml2
  93. %patch8 -p1 -b .ppc64
  94. %patch9 -p1 -b .ffmpeg
  95. ## kwizart - enable dynamic mode - hardcoded with patch2
  96. # define SONAME number from the first number of gpac version.
  97. #define soname libgpac.so.0
  98. #sed -i.soname -e 's|EXTRALIBS+=$(GPAC_SH_FLAGS)|EXTRALIBS+=$(GPAC_SH_FLAGS)\nLDFLAGS+="-Wl,-soname,%{soname}"|' src/Makefile
  99. # Update doxygen
  100. pushd doc
  101. doxygen -u
  102. popd
  103. # Fix encoding warnings
  104. cp -p Changelog Changelog.origine
  105. iconv -f ISO-8859-1 -t UTF8 Changelog.origine > Changelog
  106. touch -r Changelog.origine Changelog
  107. rm -rf Changelog.origine
  108. cp -p doc/ipmpx_syntax.bt doc/ipmpx_syntax.bt.origine
  109. iconv -f ISO-8859-1 -t UTF8 doc/ipmpx_syntax.bt.origine > doc/ipmpx_syntax.bt
  110. touch -r doc/ipmpx_syntax.bt.origine doc/ipmpx_syntax.bt
  111. rm -rf doc/ipmpx_syntax.bt.origine
  112. # executable ./configure
  113. chmod +x configure
  114. %build
  115. %configure \
  116. --enable-debug \
  117. --X11-path=%{_prefix} \
  118. --extra-cflags="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D_LARGEFILE_SOURCE=1 -D_GNU_SOURCE=1" \
  119. --disable-oss-audio \
  120. %{?_with_mozilla:--mozdir=%{_libdir}/mozilla/plugins} \
  121. %{?_with_amr:--enable-amr} \
  122. --use-js=no \
  123. --disable-static \
  124. --disable-wx
  125. # Parallele build will fail
  126. %__make all OPTFLAGS="$RPM_OPT_FLAGS -fPIC -DPIC"
  127. #{?_smp_mflags}
  128. %__make sggen OPTFLAGS="$RPM_OPT_FLAGS -fPIC -DPIC"
  129. #{?_smp_mflags}
  130. ## kwizart - build doxygen doc for devel
  131. pushd doc
  132. doxygen
  133. popd
  134. %install
  135. rm -rf $RPM_BUILD_ROOT
  136. make DESTDIR=$RPM_BUILD_ROOT install install-lib
  137. ## kwizart - rpmlint gpac no-ldconfig-symlink
  138. ln -sf libgpac.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libgpac.so.0
  139. ln -sf libgpac.so.0 $RPM_BUILD_ROOT%{_libdir}/libgpac.so
  140. #Install generated sggen binaries
  141. for b in MPEG4 SVG X3D; do
  142. pushd applications/generators/${b}
  143. install -pm 0755 ${b}Gen $RPM_BUILD_ROOT%{_bindir}
  144. popd
  145. done
  146. #Fix doxygen timestamp
  147. touch -r Changelog doc/html/*
  148. %clean
  149. rm -rf $RPM_BUILD_ROOT
  150. %post libs -p /sbin/ldconfig
  151. %postun libs -p /sbin/ldconfig
  152. %files
  153. %defattr(-,root,root,-)
  154. %doc AUTHORS BUGS Changelog COPYING README TODO
  155. %{_bindir}/MP4*
  156. %{_bindir}/*Gen
  157. %{_datadir}/gpac/
  158. %{_mandir}/man1/*.1.*
  159. %files libs
  160. %defattr(-,root,root)
  161. %{_libdir}/libgpac.so.*
  162. %{_libdir}/gpac/
  163. %files devel
  164. %doc doc/CODING_STYLE doc/ipmpx_syntax.bt
  165. %doc doc/html/*
  166. %defattr(-,root,root)
  167. %{_includedir}/gpac/
  168. %{_libdir}/libgpac.so
  169. %if %{with_static}
  170. %files devel-static
  171. %defattr(-,root,root,-)
  172. %{_libdir}/libgpac_static.a
  173. %else
  174. %exclude %{_libdir}/libgpac_static.a
  175. %endif
  176. %changelog
  177. * Sat Mar 20 2010 Munehiro Yamamoto <munepi@vinelinux.org> 0.4.5-8
  178. - change release to sync with self-build-gpac
  179. * Thu Feb 18 2010 Munehiro Yamamoto <munepi@vinelinux.org> 0.4.5-7
  180. - rebuild
  181. * Sun Jun 07 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 0.4.5-6
  182. - added --use-js=no in configure
  183. - added devel-static subpackage
  184. * Tue May 26 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 0.7.4-5
  185. - change release to sync with self-build-gpac
  186. * Thu May 14 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 0.4.5-4
  187. - change release to sync with self-build-gpac
  188. * Thu Mar 26 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 0.4.5-3
  189. - applied gpac-0.4.5-ffmpeg.patch (RPM Fusion #454)
  190. - corrected default %%defattr
  191. * Thu Mar 12 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 0.4.5-2
  192. - dropped BuildRequires: ffmpeg-devel as self-build-ffmpeg
  193. - rebuilt with ffmpeg-devel by self-build-ffmpeg
  194. * Sun Mar 01 2009 Munehiro Yamamoto <munepi@cg8.so-net.ne.jp> 0.4.5-1
  195. - initial build based on RPM Fusion
  196. - without Osmo4 and its plugins for Mozilla browsers
  197. - added --disable-wx in configure options
  198. - included %%{_libdir}/libgpac_static.a in devel subpackage
  199. * Sun Dec 28 2008 kwizart < kwizart at gmail.com > - 0.4.5-3
  200. - Fix -devel doc timestamp which leads to multilib conflict
  201. ( RPM Fusion #270 )
  202. * Thu Dec 18 2008 kwizart < kwizart at gmail.com > - 0.4.5-2
  203. - Fix for ppc64
  204. * Wed Dec 17 2008 kwizart < kwizart at gmail.com > - 0.4.5-1
  205. - Update to 0.4.5 (final)
  206. - Drop upstreamed patches - Rewrite some
  207. - Add More BR.
  208. - Conditionalize --with mozilla amr
  209. * Mon Sep 8 2008 kwizart < kwizart at gmail.com > - 0.4.5-0.5.20080217cvs
  210. - Fix for Large File Support (was livna #2075 )
  211. * Mon Feb 25 2008 kwizart < kwizart at gmail.com > - 0.4.5-0.3.20080217cvs
  212. - Enable devel-static
  213. - Conditionalize Osmo4 (buggy).
  214. - Clean the spec
  215. * Sun Feb 17 2008 kwizart < kwizart at gmail.com > - 0.4.5-0.2.20080217cvs
  216. - Update to 20080217.
  217. - Split libs.
  218. - Use the new amr nosrc scheme (need an end-users rebuilt to add support to it).
  219. - Add openjpeg-devel missing BR
  220. - Static patching instead of dyn patch when possible.
  221. - Disable %%{smp_mflags} (it tries to build the bin before the lib is ready)
  222. - Define soname as libgpac.so.0 (instead of libgpac.so.%%version )
  223. - Exclude static lib
  224. * Mon Feb 11 2008 Stewart Adam < s.adam at diffingo.com > - 0.4.5-0.1.20080211cvs
  225. - Use %%{smp_mflags}
  226. - Oops, we're actually 0.4.5
  227. - Fix gpac so filenames
  228. - Only install nposmozilla when %%{with_firefox} is set
  229. * Mon Feb 11 2008 Stewart Adam < s.adam at diffingo.com > - 0.4.4-3.20080211cvs
  230. - Update to 20080211cvs
  231. - Disable osmozilla, doesn't build with xulrunner
  232. - Fix builds with gcc 4.3
  233. * Sat Dec 15 2007 Stewart Adam < s.adam at diffingo.com > - 0.4.4-2
  234. - Rebuild for rawhide
  235. * Tue Oct 16 2007 Stewart Adam < s.adam at diffingo.com > - 0.4.4-1
  236. - Update to v4.4
  237. * Sat May 26 2007 kwizart < kwizart at gmail.com > - 0.4.3-0.1cvs20070526
  238. - Update to cvs 20070526
  239. - Enable conditional build ( 3gpp firefox )
  240. * Wed Apr 11 2007 kwizart < kwizart at gmail.com > - 0.4.3-0.1cvs20070411
  241. - Update to cvs 20070411
  242. * Thu Dec 08 2006 kwizart < kwizart at gmail.com > - 0.4.3-cvs20061208.1.kwizart.fc6
  243. - Update to 20061208
  244. - Uses firefox-devel (since fc6!)
  245. - Drop tutorial
  246. - Use version-DEV-date with libgpac.so
  247. - Disabled osmozilla
  248. - Fix soname
  249. - Enabled gprof
  250. * Tue Oct 17 2006 kwizart < kwizart at gmail.com > - 0.4.3-cvs20061017.1_FC5
  251. - gpac snapshot.sh
  252. - Revert Patch osmozilla.cpp (v1.17 - build error from gpac/internal/terminal_dev.h)
  253. - TODO: - no-soname make option for libgpac.so
  254. - static lib in devel - needed ?
  255. - osmozilla - xpt link problem.
  256. - Osmo4: segmentation fault on exit.
  257. - MP4Client: segmentation fault on launch.
  258. - The program 'Osmo4' received an X Window System error:
  259. "The error was 'BadMatch (invalid parameter attributes)'.
  260. (Details: serial 37 error_code 8 request_code 42 minor_code 0)"
  261. - MP4Box -version display: GPAC version 0.4.3-DEV (try to display cvs )
  262. * Sat Oct 15 2006 kwizart < kwizart at gmail.com > - 0.4.2-rc2.1_FC5
  263. - Update to 0.4.2cvs20061017
  264. - Use DESTDIR=RPM_BUILD_ROOT in various Makefile.
  265. - Enable mozilla plugin: osmozilla.
  266. - Enable AMR_NB_FLOAT and AMR_WB_FLOAT / bundle AMR_NB_FIXED (but not used by default).
  267. - Provide documentation html in doc .
  268. - Provide tutorial from http://www.wildamerica.com/pages/Marty.html
  269. - Various corrections.
  270. * Fri Sep 01 2006 Anssi Hannula <anssi@zarb.org> 0.4.1-0.20060630.2plf2007.0
  271. - lib64 fixes
  272. * Fri Jan 30 2006 Austin Acton <austin@mandriva.org> 0.4.1-0.20060630.1plf2007.0
  273. - initial package