linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / libpsl / default.nix
blobe68219f63485e8d4b0a1034bc2175aba8b609113
1 { lib, stdenv
2 , fetchurl
3 , autoreconfHook
4 , docbook_xsl
5 , docbook_xml_dtd_43
6 , gtk-doc
7 , lzip
8 , libidn2
9 , libunistring
10 , libxslt
11 , pkg-config
12 , python3
13 , valgrind
14 , publicsuffix-list
17 stdenv.mkDerivation rec {
18   pname = "libpsl";
19   version = "0.21.0";
21   src = fetchurl {
22     url = "https://github.com/rockdaboot/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.lz";
23     sha256 = "183hadbira0d2zvv8272lspy31dgm9x26z35c61s5axcd5wd9g9i";
24   };
26   nativeBuildInputs = [
27     autoreconfHook
28     docbook_xsl
29     docbook_xml_dtd_43
30     gtk-doc
31     lzip
32     pkg-config
33     python3
34     libxslt
35   ] ++ lib.optionals (!stdenv.isDarwin) [
36     valgrind
37   ];
39   buildInputs = [
40     libidn2
41     libunistring
42     libxslt
43   ];
45   propagatedBuildInputs = [
46     publicsuffix-list
47   ];
49   postPatch = ''
50     patchShebangs src/psl-make-dafsa
51   '';
53   preAutoreconf = ''
54     gtkdocize
55   '';
57   configureFlags = [
58     # "--enable-gtk-doc"
59     "--enable-man"
60     "--with-psl-distfile=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
61     "--with-psl-file=${publicsuffix-list}/share/publicsuffix/public_suffix_list.dat"
62     "--with-psl-testfile=${publicsuffix-list}/share/publicsuffix/test_psl.txt"
63   ] ++ lib.optionals (!stdenv.isDarwin) [
64     "--enable-valgrind-tests"
65   ];
67   enableParallelBuilding = true;
69   doCheck = true;
71   meta = with lib; {
72     description = "C library for the Publix Suffix List";
73     longDescription = ''
74       libpsl is a C library for the Publix Suffix List (PSL). A "public suffix"
75       is a domain name under which Internet users can directly register own
76       names. Browsers and other web clients can use it to avoid privacy-leaking
77       "supercookies" and "super domain" certificates, for highlighting parts of
78       the domain in a user interface or sorting domain lists by site.
79     '';
80     homepage = "https://rockdaboot.github.io/libpsl/";
81     changelog = "https://raw.githubusercontent.com/rockdaboot/${pname}/${pname}-${version}/NEWS";
82     license = licenses.mit;
83     platforms = platforms.unix;
84     maintainers = [ maintainers.c0bw3b ];
85   };