c9baba9212
(My OCD kicked in today...) Remove repeated package names, capitalize first word, remove trailing periods and move overlong descriptions to longDescription. I also simplified some descriptions as well, when they were particularly long or technical, often based on Arch Linux' package descriptions. I've tried to stay away from generated expressions (and I think I succeeded). Some specifics worth mentioning: * cron, has "Vixie Cron" in its description. The "Vixie" part is not mentioned anywhere else. I kept it in a parenthesis at the end of the description. * ctags description started with "Exuberant Ctags ...", and the "exuberant" part is not mentioned elsewhere. Kept it in a parenthesis at the end of description. * nix has the description "The Nix Deployment System". Since that doesn't really say much what it is/does (especially after removing the package name!), I changed that to "Powerful package manager that makes package management reliable and reproducible" (borrowed from nixos.org). * Tons of "GNU Foo, Foo is a [the important bits]" descriptions is changed to just [the important bits]. If the package name doesn't contain GNU I don't think it's needed to say it in the description either.
68 lines
2.2 KiB
Nix
68 lines
2.2 KiB
Nix
{ fetchurl, stdenv, libiconv }:
|
|
|
|
stdenv.mkDerivation (rec {
|
|
name = "libunistring-0.9.3";
|
|
|
|
src = fetchurl {
|
|
url = "mirror://gnu/libunistring/${name}.tar.gz";
|
|
sha256 = "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1";
|
|
};
|
|
|
|
propagatedBuildInputs =
|
|
stdenv.lib.optional ((! (stdenv ? glibc))
|
|
|| (stdenv ? cross &&
|
|
stdenv.cross.config == "i686-pc-mingw32"))
|
|
libiconv;
|
|
|
|
# XXX: There are test failures on non-GNU systems, see
|
|
# http://lists.gnu.org/archive/html/bug-libunistring/2010-02/msg00004.html .
|
|
doCheck = (stdenv ? glibc);
|
|
|
|
meta = {
|
|
homepage = http://www.gnu.org/software/libunistring/;
|
|
|
|
description = "Unicode string library";
|
|
|
|
longDescription = ''
|
|
This library provides functions for manipulating Unicode strings
|
|
and for manipulating C strings according to the Unicode
|
|
standard.
|
|
|
|
GNU libunistring is for you if your application involves
|
|
non-trivial text processing, such as upper/lower case
|
|
conversions, line breaking, operations on words, or more
|
|
advanced analysis of text. Text provided by the user can, in
|
|
general, contain characters of all kinds of scripts. The text
|
|
processing functions provided by this library handle all scripts
|
|
and all languages.
|
|
|
|
libunistring is for you if your application already uses the ISO
|
|
C / POSIX <ctype.h>, <wctype.h> functions and the text it
|
|
operates on is provided by the user and can be in any language.
|
|
|
|
libunistring is also for you if your application uses Unicode
|
|
strings as internal in-memory representation.
|
|
'';
|
|
|
|
license = stdenv.lib.licenses.lgpl3Plus;
|
|
|
|
maintainers = [ stdenv.lib.maintainers.ludo ];
|
|
platforms = stdenv.lib.platforms.all;
|
|
};
|
|
}
|
|
|
|
//
|
|
|
|
# On Cygwin Libtool is unable to find `libiconv.dll' if there's no explicit
|
|
# `-L/path/to/libiconv' argument on the linker's command line; and since it
|
|
# can't find the dll, it will only create a static library.
|
|
(if (stdenv ? glibc)
|
|
then {}
|
|
else { configureFlags = "--with-libiconv-prefix=${libiconv}"; })
|
|
|
|
//
|
|
|
|
# Don't run the native `strip' when cross-compiling.
|
|
(if (stdenv ? cross)
|
|
then { dontStrip = true; }
|
|
else { }))
|