gnu: rng-tools: Update to 6.3.1.
[jackhill/guix/guix.git] / gnu / packages / libidn.scm
CommitLineData
233e7676
LC
1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2012 Andreas Enge <andreas@enge.fr>
f98adb1c 3;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
77c5d63f 4;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
b8b0f536 5;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
acc2dab7 6;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
2ee8edc4 7;;;
233e7676 8;;; This file is part of GNU Guix.
2ee8edc4 9;;;
233e7676 10;;; GNU Guix is free software; you can redistribute it and/or modify it
2ee8edc4
AE
11;;; under the terms of the GNU General Public License as published by
12;;; the Free Software Foundation; either version 3 of the License, or (at
13;;; your option) any later version.
14;;;
233e7676 15;;; GNU Guix is distributed in the hope that it will be useful, but
2ee8edc4
AE
16;;; WITHOUT ANY WARRANTY; without even the implied warranty of
17;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18;;; GNU General Public License for more details.
19;;;
20;;; You should have received a copy of the GNU General Public License
233e7676 21;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
2ee8edc4 22
1ffa7090 23(define-module (gnu packages libidn)
59a43334 24 #:use-module (gnu packages)
9b5fccbc 25 #:use-module (gnu packages compression)
0418ff7a 26 #:use-module (gnu packages libunistring)
2ee8edc4
AE
27 #:use-module (guix licenses)
28 #:use-module (guix packages)
29 #:use-module (guix download)
30 #:use-module (guix build-system gnu))
31
32(define-public libidn
33 (package
34 (name "libidn")
33f3da11 35 (version "1.34")
2ee8edc4
AE
36 (source (origin
37 (method url-fetch)
38 (uri (string-append "mirror://gnu/libidn/libidn-" version
39 ".tar.gz"))
4f81d527
LF
40 (sha256
41 (base32
33f3da11 42 "0g3fzypp0xjcgr90c5cyj57apx1cmy0c6y9lvw2qdcigbyby469p"))
acc2dab7
EB
43 (modules '((guix build utils)))
44 (snippet
45 '(begin
46 ;; The gnulib test-lock test is prone to writer starvation
47 ;; with our glibc@2.25, which prefers readers, so disable it.
48 ;; The gnulib commit b20e8afb0b2 should fix this once
49 ;; incorporated here.
50 (substitute* "lib/gltests/Makefile.in"
51 (("test-lock\\$\\(EXEEXT\\) ") ""))
52 #t))))
2ee8edc4
AE
53 (build-system gnu-build-system)
54;; FIXME: No Java and C# libraries are currently built.
f50d2669 55 (synopsis "Internationalized string processing library")
2ee8edc4 56 (description
12bcf94a 57 "libidn is a library implementing of the Stringprep, Punycode and IDNA
79c311b8 58specifications. These are used to encode and decode internationalized domain
c2f4cab9
LF
59names according to the IDNA2003 specifications. It includes native C, C# and
60Java libraries.")
74dd0e48
EF
61 ;; The C code is dual-licensed gpl2+ lgpl3+, the manual is fdl1.3+,
62 ;; the command line tool is gpl3+.
63 (license (list gpl2+ gpl3+ lgpl3+ fdl1.3+))
6fd52309 64 (home-page "https://www.gnu.org/software/libidn/")))
d058708e 65
250a8abc
LF
66(define-public libidn2
67 (package
68 (name "libidn2")
bed19695 69 (version "2.0.4")
250a8abc
LF
70 (source (origin
71 (method url-fetch)
f98adb1c 72 (uri (string-append "mirror://gnu/libidn/" name "-" version
9b5fccbc 73 ".tar.lz"))
250a8abc
LF
74 (sha256
75 (base32
bed19695 76 "00f2fyw5kwr9is3cdn5h9arzxp0lnvg0z9bb9zyfs0dq81gaqim4"))))
9b5fccbc
MB
77 (native-inputs
78 `(("lzip" ,lzip)))
0418ff7a
LF
79 (inputs
80 `(("libunistring" ,libunistring)))
250a8abc
LF
81 (build-system gnu-build-system)
82 (synopsis "Internationalized domain name library for IDNA2008")
83 (description "Libidn2 is an internationalized domain library implementing
84the IDNA2008 specifications. Libidn2 is believed to be a complete IDNA2008
85implementation, but has yet to be as extensively used as the original Libidn
86library.")
87 (home-page "https://www.gnu.org/software/libidn/#libidn2")
bed19695 88 (properties '((ftp-directory . "/gnu/libidn")))
250a8abc
LF
89 ;; The command-line tool 'idn2' is GPL3+, while the library is dual-licensed
90 ;; GPL2+ or LGPL3+.
91 (license (list gpl2+ gpl3+ lgpl3+))))