nixpkgs/pkgs/development/libraries/utf8proc/default.nix
sternenseemann c5d2491fd1 utf8proc: enable tests
For the current version normtest and graphemetest are disabled. This
will probably change in the future. Those tests are problematic because
they depend on unicode data files which are downloaded by cmake at build
time:

    file(MAKE_DIRECTORY data)
    set(UNICODE_VERSION 13.0.0)
    file(DOWNLOAD https://www.unicode.org/Public/${UNICODE_VERSION}/ucd/NormalizationTest.txt data/NormalizationTest.txt SHOW_PROGRESS)
    file(DOWNLOAD https://www.unicode.org/Public/${UNICODE_VERSION}/ucd/auxiliary/GraphemeBreakTest.txt data/GraphemeBreakTest.txt SHOW_PROGRESS)

For the next update, we'll probably need to patch out this section of
CMakeLists.txt and download the files in question with fetchurl
ourselves.
2020-12-15 12:02:11 +01:00

38 lines
1 KiB
Nix

{ stdenv, fetchFromGitHub, cmake }:
stdenv.mkDerivation rec {
pname = "utf8proc";
version = "2.6.0";
src = fetchFromGitHub {
owner = "JuliaStrings";
repo = pname;
rev = "v${version}";
sha256 = "0czk8xw1jra0fjf6w4bcaridyz3wz2br3v7ik1g7z0j5grx9n8r1";
};
nativeBuildInputs = [ cmake ];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON"
"-DUTF8PROC_ENABLE_TESTING=ON"
"-DCMAKE_SKIP_BUILD_RPATH=OFF"
];
# the pkg-config file is not created in the cmake installation
# process, so we use the Makefile and install it manually
# see https://github.com/JuliaStrings/utf8proc/issues/198
preConfigure = "make libutf8proc.pc prefix=$out";
postInstall = "install -Dm644 ../libutf8proc.pc -t $out/lib/pkgconfig/";
doCheck = true;
meta = with stdenv.lib; {
description = "A clean C library for processing UTF-8 Unicode data";
homepage = "https://juliastrings.github.io/utf8proc/";
license = licenses.mit;
platforms = platforms.all;
maintainers = [ maintainers.ftrvxmtrx ];
};
}