libpsl-vl.spec 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. Name: libpsl
  2. Version: 0.21.0
  3. Release: 5%{?_dist_release}
  4. Summary: C library for the Publix Suffix List
  5. Vendor: Project Vine
  6. Distribution: Vine Linux
  7. License: MIT
  8. URL: https://rockdaboot.github.io/libpsl
  9. Source0: https://github.com/rockdaboot/libpsl/releases/download/libpsl-%{version}/libpsl-%{version}.tar.gz
  10. # fix unnecessary build failure due to missing tree_index.sgml in gtk-doc output
  11. Patch1: 0001-libpsl-0.21.0-gtk-doc.patch
  12. BuildRequires: gcc
  13. BuildRequires: gettext-devel
  14. BuildRequires: glib2-devel
  15. BuildRequires: gtk-doc
  16. BuildRequires: libicu-devel
  17. BuildRequires: libidn2-devel
  18. BuildRequires: libunistring-devel
  19. BuildRequires: libxslt
  20. BuildRequires: publicsuffix-list
  21. BuildRequires: python3-devel
  22. BuildRequires: python3-rpm-macros
  23. Requires: publicsuffix-list-dafsa
  24. %description
  25. libpsl is a C library to handle the Public Suffix List. A "public suffix" is a
  26. domain name under which Internet users can directly register own names.
  27. Browsers and other web clients can use it to
  28. - Avoid privacy-leaking "supercookies";
  29. - Avoid privacy-leaking "super domain" certificates;
  30. - Domain highlighting parts of the domain in a user interface;
  31. - Sorting domain lists by site;
  32. Libpsl...
  33. - has built-in PSL data for fast access;
  34. - allows to load PSL data from files;
  35. - checks if a given domain is a "public suffix";
  36. - provides immediate cookie domain verification;
  37. - finds the longest public part of a given domain;
  38. - finds the shortest private part of a given domain;
  39. - works with international domains (UTF-8 and IDNA2008 Punycode);
  40. - is thread-safe;
  41. - handles IDNA2008 UTS#46;
  42. %package devel
  43. Summary: Development files for %{name}
  44. Requires: %{name}%{?_isa} = %{version}-%{release}
  45. Requires: publicsuffix-list
  46. %description devel
  47. This package contains libraries and header files for
  48. developing applications that use %{name}.
  49. %package -n psl
  50. Summary: Commandline utility to explore the Public Suffix List
  51. %description -n psl
  52. This package contains a commandline utility to explore the Public Suffix List,
  53. for example it checks if domains are public suffixes, checks if cookie-domain
  54. is acceptable for domains and so on.
  55. %package -n psl-make-dafsa
  56. Summary: Compiles the Public Suffix List into DAFSA form
  57. %description -n psl-make-dafsa
  58. This script produces C/C++ code or an architecture-independent binary object
  59. which represents a Deterministic Acyclic Finite State Automaton (DAFSA)
  60. from a plain text Public Suffix List.
  61. %prep
  62. %autosetup -p1
  63. rm -frv list
  64. ln -sv %{_datadir}/publicsuffix list
  65. sed -i -e "1s|#!.*|#!%{__python3}|" src/psl-make-dafsa
  66. %build
  67. # Tarballs from github have 2 versions, one is raw files from repo, and
  68. # the other one from CDN contains pre-generated autotools files.
  69. # But makefile hack is not upstreamed yet so we continue reconfiguring these.
  70. # [ -f configure ] || autoreconf -fiv
  71. # autoreconf -fiv
  72. # libicu does allow support for a newer IDN specification (IDN 2008) than
  73. # libidn 1.x (IDN 2003). However, libpsl mostly relies on an internally
  74. # compiled list, which is generated at buildtime and the testsuite thereof
  75. # requires either libidn or libicu only at buildtime; the runtime
  76. # requirement is only for loading external lists, which IIUC neither curl
  77. # nor wget support. libidn2 supports IDN 2008 as well, and is *much* smaller
  78. # than libicu.
  79. #
  80. # curl (as of 7.51.0-1.fc25) and wget (as of 1.19-1.fc26) now depend on libidn2.
  81. # Therefore, we use libidn2 at runtime to help minimize core dependencies.
  82. %configure --disable-silent-rules \
  83. --disable-static \
  84. --enable-man \
  85. --enable-gtk-doc \
  86. --enable-builtin=libicu \
  87. --enable-runtime=libidn2 \
  88. --with-psl-distfile=%{_datadir}/publicsuffix/public_suffix_list.dafsa \
  89. --with-psl-file=%{_datadir}/publicsuffix/effective_tld_names.dat \
  90. --with-psl-testfile=%{_datadir}/publicsuffix/test_psl.txt
  91. # avoid using rpath
  92. sed -i libtool \
  93. -e 's|^\(runpath_var=\).*$|\1|' \
  94. -e 's|^\(hardcode_libdir_flag_spec=\).*$|\1|'
  95. %make_build
  96. %install
  97. %make_install
  98. # the script is noinst but the manpage is installed
  99. install -m0755 src/psl-make-dafsa %{buildroot}%{_bindir}/
  100. find %{buildroot} -name '*.la' -delete -print
  101. %check
  102. export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
  103. make check || cat tests/test-suite.log
  104. %post -p /sbin/ldconfig
  105. %postun -p /sbin/ldconfig
  106. %files
  107. %license COPYING
  108. %{_libdir}/libpsl.so.5
  109. %{_libdir}/libpsl.so.5.*
  110. %files devel
  111. %doc AUTHORS NEWS
  112. %{_datadir}/gtk-doc/html/libpsl/
  113. %{_includedir}/libpsl.h
  114. %{_libdir}/libpsl.so
  115. %{_libdir}/pkgconfig/libpsl.pc
  116. %{_mandir}/man3/libpsl.3*
  117. %files -n psl
  118. %doc AUTHORS NEWS
  119. %license COPYING
  120. %{_bindir}/psl
  121. %{_mandir}/man1/psl.1*
  122. %files -n psl-make-dafsa
  123. %license COPYING
  124. %{_bindir}/psl-make-dafsa
  125. %{_mandir}/man1/psl-make-dafsa.1*
  126. %changelog
  127. * Sat May 09 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.21.0-5
  128. - initial build for Vine Linux.
  129. * Thu Jan 30 2020 Kamil Dudka <kdudka@redhat.com> - 0.21.0-4
  130. - fix unnecessary build failure due to missing tree_index.sgml in gtk-doc output
  131. * Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.0-3
  132. - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
  133. * Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.21.0-2
  134. - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
  135. * Wed Apr 17 2019 Kamil Dudka <kdudka@redhat.com> - 0.21.0-1
  136. - update to 0.21.0 (#1700444)
  137. * Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.2-6
  138. - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
  139. * Fri Jul 27 2018 Kamil Dudka <kdudka@redhat.com> - 0.20.2-5
  140. - avoid using rpath in the psl executable (#1533448)
  141. * Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.20.2-4
  142. - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
  143. * Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 0.20.2-3
  144. - Rebuilt for Python 3.7
  145. * Tue May 22 2018 Yaakov Selkowitz <yselkowi@redhat.com> - 0.20.2-2
  146. - Rebuilt for publicsuffix-list 20180514
  147. * Tue May 01 2018 Yaakov Selkowitz <yselkowi@redhat.com> - 0.20.2-1
  148. - Update to 0.20.2 (#1572887)
  149. * Wed Feb 28 2018 Yaakov Selkowitz <yselkowi@redhat.com> - 0.20.1-1
  150. - Update to 0.20.1 (#1548604)
  151. * Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.19.1-3
  152. - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
  153. * Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.19.1-2
  154. - Switch to %%ldconfig_scriptlets
  155. * Tue Nov 14 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 0.19.1-1
  156. - new version (#1511463)
  157. * Fri Aug 11 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 0.18.0-1
  158. - new version (#1473465)
  159. * Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-4
  160. - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
  161. * Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-3
  162. - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
  163. * Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.17.0-2
  164. - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
  165. * Tue Jan 17 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 0.17.0-1
  166. - new version (#1413791)
  167. * Thu Jan 5 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 0.16.1-1
  168. - new version (#1403620)
  169. * Tue Nov 15 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 0.15.0-1
  170. - new version (#1394761)
  171. * Fri Nov 04 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 0.14.0-2
  172. - Switch to libidn2 at runtime
  173. - Rebuilt with publicsuffix-list-20161028
  174. * Mon Aug 15 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 0.14.0-1
  175. - new version (#1361781)
  176. * Thu Mar 31 2016 Yaakov Selkowitz <yselkowi@redhat.com> - 0.13.0-1
  177. - new version (#1313825)
  178. - Use libidn at runtime, libicu only at buildtime (#1305701)
  179. * Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.0-2
  180. - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
  181. * Fri Jan 22 2016 Christopher Meng <rpm@cicku.me> - 0.12.0-1
  182. - Update to 0.12.0
  183. * Wed Oct 28 2015 David Tardon <dtardon@redhat.com> - 0.7.0-7
  184. - rebuild for ICU 56.1
  185. * Tue Aug 04 2015 Christopher Meng <rpm@cicku.me> - 0.7.0-6
  186. - Rebuild for publicsuffix-list-20150731
  187. * Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-5
  188. - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
  189. * Sat Feb 28 2015 Christopher Meng <rpm@cicku.me> - 0.7.0-4
  190. - Rebuild for publicsuffix-list-20150226
  191. * Fri Feb 20 2015 Christopher Meng <rpm@cicku.me> - 0.7.0-3
  192. - Rebuild for publicsuffix-list-20150217
  193. * Sun Feb 15 2015 Christopher Meng <rpm@cicku.me> - 0.7.0-2
  194. - Correct the dependency
  195. * Mon Feb 02 2015 Christopher Meng <rpm@cicku.me> - 0.7.0-1
  196. - Update to 0.7.0
  197. * Mon Jan 26 2015 David Tardon <dtardon@redhat.com> - 0.6.2-2
  198. - rebuild for ICU 54.1
  199. * Thu Nov 20 2014 Christopher Meng <rpm@cicku.me> - 0.6.2-1
  200. - Update to 0.6.2
  201. * Tue Aug 26 2014 David Tardon <dtardon@redhat.com> - 0.5.1-3
  202. - rebuild for ICU 53.1
  203. * Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.1-2
  204. - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
  205. * Mon Aug 04 2014 Christopher Meng <rpm@cicku.me> - 0.5.1-1
  206. - Update to 0.5.1
  207. - Drop patch merged upstream
  208. * Sat Aug 02 2014 Christopher Meng <rpm@cicku.me> - 0.5.0-3
  209. - Add a patch from Jakub Čajka to complete the tests on non-x86 arch.
  210. * Thu Jul 24 2014 Christopher Meng <rpm@cicku.me> - 0.5.0-2
  211. - Drop useless test data
  212. - Add missing gettext-devel
  213. - psl is now separately packaged recommended by the upstream
  214. * Fri Jul 04 2014 Christopher Meng <rpm@cicku.me> - 0.5.0-1
  215. - Update to 0.5.0
  216. * Tue Jul 01 2014 Christopher Meng <rpm@cicku.me> - 0.4.0-1
  217. - Update to 0.4.0
  218. * Tue Apr 08 2014 Christopher Meng <rpm@cicku.me> - 0.2-1
  219. - Initial Package.