jasper-vl.spec 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
  2. Name: jasper
  3. Summary: implementation of the JPEG-2000 standard, Part 1
  4. Version: 1.900.1
  5. Release: 11%{?_dist_release}
  6. Group: Applications/Graphics
  7. License: Modified BSD (see LICENSE)
  8. URL: http://www.ece.uvic.ca/~mdadams/jasper/
  9. Source: %{name}-%{version}.zip
  10. Patch1: jasper-1.701.0-GL.patch
  11. # autoconf/automake bits of patch1
  12. Patch2: jasper-1.701.0-GL-ac.patch
  13. # CVE-2007-2721 (bug #240397)
  14. # borrowed from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413041;msg=88
  15. Patch3: patch-libjasper-stepsizes-overflow.diff
  16. # borrowed from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=469786
  17. Patch4: jpc_dec.c.patch
  18. # OpenBSD hardening patches addressing couple of possible integer overflows
  19. # during the memory allocations
  20. # https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3520
  21. Patch5: jasper-1.900.1-CVE-2008-3520.patch
  22. # https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2008-3522
  23. Patch6: jasper-1.900.1-CVE-2008-3522.patch
  24. # add pkg-config support
  25. Patch7: jasper-pkgconfig.patch
  26. Patch8: jasper-1.900.1-CVE-2011-4516-CVE-2011-4517-CERT-VU-887409.patch
  27. Patch9: jasper-CVE-2014-9029.patch
  28. Patch10: jasper-CVE-2014-8137.patch
  29. Patch11: jasper-CVE-2014-8138.patch
  30. # Issues found by static analysis of code
  31. Patch110: jasper-1.900.1-Coverity-BAD_SIZEOF.patch
  32. Patch111: jasper-1.900.1-Coverity-CHECKED_RETURN.patch
  33. Patch112: jasper-1.900.1-Coverity-FORWARD_NULL.patch
  34. Patch113: jasper-1.900.1-Coverity-NULL_RETURNS.patch
  35. Patch114: jasper-1.900.1-Coverity-RESOURCE_LEAK.patch
  36. Patch115: jasper-1.900.1-Coverity-UNREACHABLE.patch
  37. Patch116: jasper-1.900.1-Coverity-UNUSED_VALUE.patch
  38. # from debian
  39. Patch1000: 09-CVE-2016-1577.patch
  40. Patch1001: 10-CVE-2016-2089.patch
  41. Patch1002: 11-CVE-2016-2116.patch
  42. BuildRoot: %{_tmppath}/%{name}-%{version}-root
  43. BuildRequires: autoconf automake libtool
  44. BuildRequires: freeglut-devel
  45. BuildRequires: libGLU-devel
  46. BuildRequires: libjpeg-devel
  47. BuildRequires: pkgconfig
  48. Requires: %{name}-libs = %{version}-%{release}
  49. Vendor: Project Vine
  50. Distribution: Vine Linux
  51. %description
  52. JasPer is a collection of software (i.e., a library and application
  53. programs) for the coding and manipulation of images. This software
  54. can handle image data in a variety of formats. One such format
  55. supported by JasPer is the JPEG-2000 format defined in ISO/IEC 15444-1.
  56. %package devel
  57. Summary: Include Files and Documentation for jasper
  58. Group: Development/Libraries
  59. Requires: %{name}-libs = %{version}-%{release}
  60. Requires: libjpeg-devel
  61. %description devel
  62. This package contains libjasper, a library implementing the JPEG-2000
  63. image compression standard Part 1.
  64. %package libs
  65. Summary: Runtime libraries for %{name}
  66. Group: System Environment/Libraries
  67. %description libs
  68. This package contains runtime libraries for JasPer.
  69. # compat32
  70. %package -n compat32-%{name}-devel
  71. Summary: Include Files and Documentation for jasper
  72. Group: Development/Libraries
  73. Requires: %{name}-libs = %{version}-%{release}
  74. Requires: compat32-libjpeg-devel
  75. %description -n compat32-%{name}-devel
  76. This package contains libjasper, a library implementing the JPEG-2000
  77. image compression standard Part 1.
  78. %package -n compat32-%{name}-libs
  79. Summary: Runtime libraries for %{name}
  80. Group: System Environment/Libraries
  81. %description -n compat32-%{name}-libs
  82. This package contains runtime libraries for JasPer.
  83. %prep
  84. %setup -q -n %{name}-%{version}
  85. %patch1 -p1 -b .GL
  86. %patch2 -p1 -b .GL-ac
  87. %patch3 -p1 -b .CVE-2007-2721
  88. %patch4 -p1 -b .jpc_dec_assertion
  89. %patch5 -p1 -b .CVE-2008-3520
  90. %patch6 -p1 -b .CVE-2008-3522
  91. %patch7 -p1 -b .pkgconfig
  92. %patch8 -p1 -b .CVE-2011-4516-4517
  93. %patch9 -p1 -b .CVE-2014-9029
  94. %patch10 -p1 -b .CVE-2014-8137-variant2
  95. %patch11 -p1 -b .CVE-2014-8138
  96. %patch110 -p1 -b .BAD_SIZEOF
  97. %patch111 -p1 -b .CHECKED_RETURN
  98. %patch112 -p1 -b .FORWARD_NULL
  99. %patch113 -p1 -b .NULL_RETURNS
  100. %patch114 -p1 -b .RESOURCE_LEAK
  101. %patch115 -p1 -b .UNREACHABLE
  102. %patch116 -p1 -b .UNUSED_VALUE
  103. %patch1000 -p1 -b .CVE-2016-1577
  104. %patch1001 -p1 -b .CVE-2016-2089
  105. %patch1002 -p1 -b .CVE-2016-2116
  106. autoreconf --verbose --force --install
  107. %build
  108. CFLAGS="%{optflags} -fno-strict-overflow" \
  109. %configure --enable-shared --disable-static
  110. make %{?_smp_mflags}
  111. %install
  112. [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
  113. make install DESTDIR=$RPM_BUILD_ROOT
  114. # remove .la
  115. rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la
  116. %clean
  117. [ -n "$RPM_BUILD_ROOT" -a "$RPM_BUILD_ROOT" != / ] && rm -rf $RPM_BUILD_ROOT
  118. %post libs -p /sbin/ldconfig
  119. %postun libs -p /sbin/ldconfig
  120. %post -n compat32-%{name}-libs -p /sbin/ldconfig
  121. %postun -n compat32-%{name}-libs -p /sbin/ldconfig
  122. %files
  123. %defattr(-,root,root)
  124. %{!?_licensedir:%global license %%doc}
  125. %license COPYRIGHT LICENSE
  126. %doc ChangeLog INSTALL NEWS README doc
  127. %{_bindir}/*
  128. %{_mandir}/man1/*
  129. %files libs
  130. %defattr(-,root,root)
  131. %{_libdir}/libjasper*.so.*
  132. %files devel
  133. %defattr(-,root,root)
  134. %{_includedir}/jasper
  135. %{_libdir}/libjasper*.so
  136. %{_libdir}/pkgconfig/jasper.pc
  137. # compat32
  138. %if %{build_compat32}
  139. %files -n compat32-%{name}-libs
  140. %defattr(-,root,root)
  141. %{_libdir}/libjasper*.so.*
  142. %files -n compat32-%{name}-devel
  143. %defattr(-,root,root)
  144. %{_libdir}/libjasper*.so
  145. %{_libdir}/pkgconfig/jasper.pc
  146. %endif
  147. %changelog
  148. * Tue Jul 19 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.900.1-11
  149. - added Patch1000-1002 to fix CVE-2016-{1577,2089,2116}.
  150. * Wed Dec 24 2014 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.900.1-10
  151. - imported all patches from RawHide.
  152. * Tue Jul 15 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.900.1-9
  153. - rebuild with libpng-1.6.12
  154. * Thu Apr 14 2011 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.900.1-8
  155. - rebuilt with current VineSeed
  156. * Sat May 02 2009 NAKAMURA Kenta <kenta@vinelinux.org> 1.900.1-7
  157. - added compat32 subpackage for x86_64 arch support.
  158. * Sat Sep 06 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.900.1-6
  159. - splited out runtime library to sub package
  160. - enable opengl again, add BuildRequires: freeglut-devel
  161. * Wed Jun 25 2008 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 1.900.1-5
  162. - remove .la
  163. - add --disable-static to configure option
  164. * Sun Jun 24 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.900.1-0vl4
  165. - added Patch0 from VinePlus/4.0
  166. * Thu Jun 21 2007 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.900.1-0vl2.1
  167. - add patch100 for fix CVE-2007-2721
  168. - add Vendor/Distributin Tag
  169. * Fri May 25 2007 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 1.900.1-0vl3
  170. - remove BuildPrereq: freeglut-devel and Requires freeglut
  171. - add --disable-opengl to configure option
  172. * Fri Mar 16 2007 MATSUBAYASHI Kohji <shaolin@vinelinux.org> 1.900.1-0vl2
  173. - add BuildPreReq: unzip (used in the %%pre section)
  174. * Thu Mar 15 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.900.1-0vl1
  175. - new upstream release
  176. * Tue Jan 16 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.900.0-0vl1
  177. - new upstream release
  178. - changed Group to System Environment/Libraries
  179. - added --mandir=%{_mandir}
  180. - added %post and %postun section
  181. * Thu Sep 07 2006 NAKAMURA Kenta <kenta@vinelinux.org> 1.701.0-0vl3
  182. - added --libdir=%{_libdir} configure option
  183. * Tue Sep 5 2006 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 1.701.0-0vl2
  184. - build with freeglut
  185. - change BuildPrereq and Requires
  186. * Tue Dec 14 2004 Satoshi MACHINO <machino@vinelinux.org> 1.701.0-0vl1
  187. - new upstream version (jasper-1.701.0)
  188. * Sat Nov 15 2003 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 1.700.5-0vl2
  189. - rebuild for VineSeedPlus
  190. * Sat Nov 15 2003 AKIYAMA Kazuhito <akiyama@yb3.so-net.ne.jp> 1.700.5-0vl1
  191. - source upgrade
  192. - change spec to build for VineLinux
  193. * Fri Oct 25 2002 Alexander D. Karaivanov <adk@medical-insight.com>
  194. - spec file created