brotli-vl.spec 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. %define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}
  2. %bcond_with test
  3. Summary: Lossless compression algorithm
  4. Summary(ja): ロスレス圧縮アルゴリズム
  5. Name: brotli
  6. Version: 1.1.0
  7. Release: 2%{?_dist_release}
  8. Group: system
  9. Vendor: Project Vine
  10. Distribution: Vine Linux
  11. License: MIT
  12. URL: https://github.com/google/brotli
  13. Source0: https://github.com/google/brotli/archive/v%{version}.tar.gz
  14. BuildRequires: cmake
  15. BuildRequires: python3-devel python-rpm-macros python3-rpm-macros
  16. %description
  17. Brotli is a generic-purpose lossless compression algorithm that compresses
  18. data using a combination of a modern variant of the LZ77 algorithm, Huffman
  19. coding and 2nd order context modeling, with a compression ratio comparable
  20. to the best currently available general-purpose compression methods.
  21. It is similar in speed with deflate but offers more dense compression.
  22. %package -n python3-%{name}
  23. Summary: Lossless compression algorithm (python 3)
  24. Group: programming
  25. %{?python_provide:%python_provide python3-%{name}}
  26. Requires: python3
  27. %description -n python3-%{name}
  28. Brotli is a generic-purpose lossless compression algorithm that compresses
  29. data using a combination of a modern variant of the LZ77 algorithm, Huffman
  30. coding and 2nd order context modeling, with a compression ratio comparable
  31. to the best currently available general-purpose compression methods.
  32. It is similar in speed with deflate but offers more dense compression.
  33. This package installs a Python 3 module.
  34. %package -n %{name}-devel
  35. Summary: Lossless compression algorithm (development files)
  36. Group: programming
  37. Requires: %{name}%{?_isa} = %{version}-%{release}
  38. %description -n %{name}-devel
  39. Brotli is a generic-purpose lossless compression algorithm that compresses
  40. data using a combination of a modern variant of the LZ77 algorithm, Huffman
  41. coding and 2nd order context modeling, with a compression ratio comparable
  42. to the best currently available general-purpose compression methods.
  43. It is similar in speed with deflate but offers more dense compression.
  44. This package installs the development files
  45. %package -n compat32-%{name}
  46. Summary: Lossless compression algorithm
  47. Summary(ja): ロスレス圧縮アルゴリズム
  48. Group: system,legacy
  49. %description -n compat32-%{name}
  50. Brotli is a generic-purpose lossless compression algorithm that compresses
  51. data using a combination of a modern variant of the LZ77 algorithm, Huffman
  52. coding and 2nd order context modeling, with a compression ratio comparable
  53. to the best currently available general-purpose compression methods.
  54. It is similar in speed with deflate but offers more dense compression.
  55. %debug_package
  56. %prep
  57. %autosetup -p1
  58. # fix permissions for -debuginfo
  59. # rpmlint will complain if I create an extra %%files section for
  60. # -debuginfo for this so we'll put it here instead
  61. %{__chmod} 644 c/enc/*.[ch]
  62. %{__chmod} 644 c/include/brotli/*.h
  63. %{__chmod} 644 c/tools/brotli.c
  64. %build
  65. %cmake \
  66. -DCMAKE_INSTALL_PREFIX="%{_prefix}" \
  67. -DCMAKE_INSTALL_LIBDIR="%{_libdir}"
  68. %cmake_build
  69. %py3_build
  70. %install
  71. %cmake_install
  72. %py3_install
  73. %{__install} -dm755 "%{buildroot}%{_mandir}/man3"
  74. cd docs
  75. for i in *.3;do
  76. %{__install} -m644 "$i" "%{buildroot}%{_mandir}/man3/${i}brotli"
  77. done
  78. %if %{with test}
  79. %check
  80. %ctest
  81. %{__python3} setup.py test
  82. %endif
  83. %files
  84. %license LICENSE
  85. %{_bindir}/brotli
  86. %{_libdir}/*.so.*
  87. # Note that there is no %%files section for the unversioned python module
  88. # if we are building for several python runtimes
  89. %files -n python3-%{name}
  90. %license LICENSE
  91. %{python3_sitearch}/*
  92. %files -n %{name}-devel
  93. %{_includedir}/*
  94. %{_libdir}/*.so
  95. %{_libdir}/pkgconfig/*
  96. %{_mandir}/man3/*
  97. %if %{build_compat32}
  98. %files -n compat32-%{name}
  99. %{_libdir}/*.so.*
  100. %endif
  101. %changelog
  102. * Thu May 29 2025 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.1.0-2
  103. - added compat32.
  104. * Thu Aug 31 2023 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.1.0-1
  105. - new upstream release.
  106. - dropped Patch0: fixed in upstream.
  107. * Fri Apr 02 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.0.9-2
  108. - imported Patch0 from upstream to fix *.pc.
  109. - dropped ldconfig scriptlets.
  110. * Tue Sep 22 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.0.9-1
  111. - new upstream release.
  112. * Mon Aug 17 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.0.7-5
  113. - rebuilt with python-3.8.
  114. * Tue Aug 04 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.0.7-4
  115. - rebuilt with current environment.
  116. * Thu Jan 03 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 1.0.7-3
  117. - initial build for Vine Linux.
  118. * Sun Dec 09 2018 Miro Hrončok <mhroncok@redhat.com> - 1.0.7-2
  119. - Remove last python2 bits
  120. * Wed Nov 28 2018 Travis Kendrick pouar@pouar.net> - 1.0.7-1
  121. - Update to 1.0.7
  122. * Wed Nov 28 2018 Travis Kendrick pouar@pouar.net> - 1.0.5-2
  123. - remove Python 2 support https://fedoraproject.org/wiki/Changes/Mass_Python_2_Package_Removal
  124. * Fri Jul 13 2018 Travis Kendrick pouar@pouar.net> - 1.0.5-1
  125. - update to 1.0.5
  126. * Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.4-4
  127. - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
  128. * Mon Jun 18 2018 Miro Hrončok <mhroncok@redhat.com> - 1.0.4-3
  129. - Rebuilt for Python 3.7
  130. * Wed Apr 18 2018 Travis Kendrick pouar@pouar.net> - 1.0.4-2
  131. - update to 1.0.4
  132. * Sat Mar 03 2018 Travis Kendrick <pouar@pouar.net> - 1.0.3-1
  133. - update to 1.0.3
  134. * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-3
  135. - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
  136. * Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.0.1-2
  137. - Switch to %%ldconfig_scriptlets
  138. * Fri Sep 22 2017 Travis Kendrick <pouar@pouar.net> - 1.0.1-1
  139. - update to 1.0.1
  140. * Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-6
  141. - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
  142. * Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-5
  143. - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
  144. * Tue May 23 2017 Travis Kendrick <pouar@pouar.net> - 0.6.0-4
  145. - add man pages
  146. * Sun May 14 2017 Travis Kendrick <pouar@pouar.net> - 0.6.0-3
  147. - wrong directory for ctest
  148. - LICENSE not needed in -devel
  149. - fix "spurious-executable-perm"
  150. - rpmbuild does the cleaning for us, so 'rm -rf %%{buildroot}' isn't needed
  151. * Sat May 13 2017 Travis Kendrick <pouar@pouar.net> - 0.6.0-2
  152. - include libraries and development files
  153. * Sat May 06 2017 Travis Kendrick <pouar@pouar.net> - 0.6.0-1
  154. - Initial build