libpsl-vl.spec 10 KB

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