python312Packages.llama-index: 0.12.9 -> 0.12.9.post1 (#371957)
[NixPkgs.git] / pkgs / by-name / li / libidn / package.nix
blobb591ed684689e3c884d7cb1adbe6e1232ecf0d7b
2   fetchurl,
3   lib,
4   stdenv,
5   libiconv,
6   testers,
7 }:
9 stdenv.mkDerivation (finalAttrs: {
10   pname = "libidn";
11   version = "1.42";
13   src = fetchurl {
14     url = "mirror://gnu/libidn/libidn-${finalAttrs.version}.tar.gz";
15     sha256 = "sha256-1sGZ3NgG5P4nk2DLSwg0mg05Vg7VSP/RzK3ajN7LRyM=";
16   };
18   outputs = [
19     "bin"
20     "dev"
21     "out"
22     "info"
23     "devdoc"
24   ];
26   hardeningDisable = [ "format" ];
28   buildInputs = lib.optional stdenv.hostPlatform.isDarwin libiconv;
30   passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
32   meta = {
33     homepage = "https://www.gnu.org/software/libidn/";
34     description = "Library for internationalized domain names";
36     longDescription = ''
37       GNU Libidn is a fully documented implementation of the
38       Stringprep, Punycode and IDNA specifications.  Libidn's purpose
39       is to encode and decode internationalized domain names.  The
40       native C, C\# and Java libraries are available under the GNU
41       Lesser General Public License version 2.1 or later.
43       The library contains a generic Stringprep implementation.
44       Profiles for Nameprep, iSCSI, SASL, XMPP and Kerberos V5 are
45       included.  Punycode and ASCII Compatible Encoding (ACE) via IDNA
46       are supported.  A mechanism to define Top-Level Domain (TLD)
47       specific validation tables, and to compare strings against those
48       tables, is included.  Default tables for some TLDs are also
49       included.
50     '';
52     mainProgram = "idn";
53     license = lib.licenses.lgpl2Plus;
54     pkgConfigModules = [ "libidn" ];
55     platforms = lib.platforms.all;
56     maintainers = with lib.maintainers; [ lsix ];
57   };