libpsl-vl.spec 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. Name: libpsl
  2. Version: 0.21.1
  3. Release: 1%{?_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/%{version}/libpsl-%{version}.tar.gz
  10. BuildRequires: gcc
  11. BuildRequires: gettext-devel
  12. BuildRequires: glib2-devel
  13. BuildRequires: gtk-doc
  14. BuildRequires: libicu-devel
  15. BuildRequires: libidn2-devel
  16. BuildRequires: libunistring-devel
  17. BuildRequires: libxslt
  18. BuildRequires: publicsuffix-list
  19. BuildRequires: python3-devel
  20. Requires: publicsuffix-list-dafsa
  21. %description
  22. libpsl is a C library to handle the Public Suffix List. A "public suffix" is a
  23. domain name under which Internet users can directly register own names.
  24. Browsers and other web clients can use it to
  25. - Avoid privacy-leaking "supercookies";
  26. - Avoid privacy-leaking "super domain" certificates;
  27. - Domain highlighting parts of the domain in a user interface;
  28. - Sorting domain lists by site;
  29. Libpsl...
  30. - has built-in PSL data for fast access;
  31. - allows to load PSL data from files;
  32. - checks if a given domain is a "public suffix";
  33. - provides immediate cookie domain verification;
  34. - finds the longest public part of a given domain;
  35. - finds the shortest private part of a given domain;
  36. - works with international domains (UTF-8 and IDNA2008 Punycode);
  37. - is thread-safe;
  38. - handles IDNA2008 UTS#46;
  39. %package devel
  40. Summary: Development files for %{name}
  41. Requires: %{name}%{?_isa} = %{version}-%{release}
  42. Requires: publicsuffix-list
  43. %description devel
  44. This package contains libraries and header files for
  45. developing applications that use %{name}.
  46. %package -n psl
  47. Summary: Commandline utility to explore the Public Suffix List
  48. %description -n psl
  49. This package contains a commandline utility to explore the Public Suffix List,
  50. for example it checks if domains are public suffixes, checks if cookie-domain
  51. is acceptable for domains and so on.
  52. %package -n psl-make-dafsa
  53. Summary: Compiles the Public Suffix List into DAFSA form
  54. %description -n psl-make-dafsa
  55. This script produces C/C++ code or an architecture-independent binary object
  56. which represents a Deterministic Acyclic Finite State Automaton (DAFSA)
  57. from a plain text Public Suffix List.
  58. %debug_package
  59. %prep
  60. %autosetup -p1
  61. rm -frv list
  62. ln -sv %{_datadir}/publicsuffix list
  63. sed -i -e "1s|#!.*|#!%{__python3}|" src/psl-make-dafsa
  64. %build
  65. # Tarballs from github have 2 versions, one is raw files from repo, and
  66. # the other one from CDN contains pre-generated autotools files.
  67. # But makefile hack is not upstreamed yet so we continue reconfiguring these.
  68. # [ -f configure ] || autoreconf -fiv
  69. # autoreconf -fiv
  70. # libicu does allow support for a newer IDN specification (IDN 2008) than
  71. # libidn 1.x (IDN 2003). However, libpsl mostly relies on an internally
  72. # compiled list, which is generated at buildtime and the testsuite thereof
  73. # requires either libidn or libicu only at buildtime; the runtime
  74. # requirement is only for loading external lists, which IIUC neither curl
  75. # nor wget support. libidn2 supports IDN 2008 as well, and is *much* smaller
  76. # than libicu.
  77. #
  78. # curl (as of 7.51.0-1.fc25) and wget (as of 1.19-1.fc26) now depend on libidn2.
  79. # Therefore, we use libidn2 at runtime to help minimize core dependencies.
  80. %configure --disable-silent-rules \
  81. --disable-static \
  82. --enable-man \
  83. --enable-gtk-doc \
  84. --enable-builtin=libicu \
  85. --enable-runtime=libidn2 \
  86. --with-psl-distfile=%{_datadir}/publicsuffix/public_suffix_list.dafsa \
  87. --with-psl-file=%{_datadir}/publicsuffix/effective_tld_names.dat \
  88. --with-psl-testfile=%{_datadir}/publicsuffix/test_psl.txt
  89. # avoid using rpath
  90. sed -i libtool \
  91. -e 's|^\(runpath_var=\).*$|\1|' \
  92. -e 's|^\(hardcode_libdir_flag_spec=\).*$|\1|'
  93. %make_build
  94. %install
  95. %make_install
  96. # the script is noinst but the manpage is installed
  97. install -m0755 src/psl-make-dafsa %{buildroot}%{_bindir}/
  98. find %{buildroot} -name '*.la' -delete -print
  99. %check
  100. export LD_LIBRARY_PATH=%{buildroot}%{_libdir}
  101. make check || cat $(find . -name test-suite.log)
  102. %files
  103. %license COPYING
  104. %{_libdir}/libpsl.so.5
  105. %{_libdir}/libpsl.so.5.*
  106. %files devel
  107. %doc AUTHORS NEWS
  108. %{_datadir}/gtk-doc/html/libpsl/
  109. %{_includedir}/libpsl.h
  110. %{_libdir}/libpsl.so
  111. %{_libdir}/pkgconfig/libpsl.pc
  112. %{_mandir}/man3/libpsl.3*
  113. %files -n psl
  114. %doc AUTHORS NEWS
  115. %license COPYING
  116. %{_bindir}/psl
  117. %{_mandir}/man1/psl.1*
  118. %files -n psl-make-dafsa
  119. %license COPYING
  120. %{_bindir}/psl-make-dafsa
  121. %{_mandir}/man1/psl-make-dafsa.1*
  122. %changelog
  123. * Fri Apr 02 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 0.21.1-1
  124. - new upstream release.
  125. - dropped Patch1: fixed in upstream.
  126. - dropped ldconfig scriptlets.
  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.