lol
1{ fetchurl, stdenv }:
2
3assert (!stdenv.isLinux);
4
5stdenv.mkDerivation rec {
6 name = "libiconv-1.14";
7
8 src = fetchurl {
9 url = "mirror://gnu/libiconv/${name}.tar.gz";
10 sha256 = "04q6lgl3kglmmhw59igq1n7v3rp1rpkypl366cy1k1yn2znlvckj";
11 };
12
13 patches = if stdenv.isCygwin then [
14 ./libiconv-1.14-reloc.patch
15 ./libiconv-1.14-wchar.patch
16 ] else null;
17
18 # On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
19 # (Windows' linker would need to be used somehow to produce an actual
20 # DLL.) Thus, build the static library too, and this is what Gettext
21 # will actually use.
22 configureFlags = if stdenv.isCygwin then [ "--enable-static" ] else null;
23
24 crossAttrs = {
25 # Disable stripping to avoid "libiconv.a: Archive has no index" (MinGW).
26 dontStrip = true;
27 dontCrossStrip = true;
28 };
29
30 meta = {
31 description = "An iconv(3) implementation";
32
33 longDescription = ''
34 Some programs, like mailers and web browsers, must be able to convert
35 between a given text encoding and the user's encoding. Other programs
36 internally store strings in Unicode, to facilitate internal processing,
37 and need to convert between internal string representation (Unicode)
38 and external string representation (a traditional encoding) when they
39 are doing I/O. GNU libiconv is a conversion library for both kinds of
40 applications.
41 '';
42
43 homepage = http://www.gnu.org/software/libiconv/;
44 license = stdenv.lib.licenses.lgpl2Plus;
45
46 maintainers = [ ];
47
48 # This library is not needed on GNU platforms.
49 hydraPlatforms = stdenv.lib.platforms.cygwin ++ stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.freebsd;
50 };
51}