about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/python-modules/cchardet/default.nix
blob: 587d0d1f6c126d3bc9d899fd34e0a5634b5a72d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
{ lib
, stdenv
, buildPythonPackage
, fetchPypi
, python
, nose
}:

buildPythonPackage rec {
  pname = "cchardet";
  version = "2.1.7";

  src = fetchPypi {
    inherit pname version;
    sha256 = "c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf";
  };

  pythonImportsCheck = [
    "cchardet"
  ];

  checkInputs = [ nose ];

  # on non x86-64 some charsets are identified as their superset, so we skip these tests (last checked with version 2.1.7)
  preCheck = ''
    cp -R src/tests $TMPDIR
    pushd $TMPDIR
  '' + lib.optionalString (stdenv.hostPlatform.system != "x86_64-linux") ''
    rm $TMPDIR/tests/testdata/th/tis-620.txt  # identified as iso-8859-11, which is fine for all practical purposes
    rm $TMPDIR/tests/testdata/ga/iso-8859-1.txt  # identified as windows-1252, which is fine for all practical purposes
    rm $TMPDIR/tests/testdata/fi/iso-8859-1.txt  # identified as windows-1252, which is fine for all practical purposes
  '';

  checkPhase = ''
    runHook preCheck

    nosetests

    runHook postCheck
  '';

  postCheck = ''
    popd
  '';

  meta = {
    description = "High-speed universal character encoding detector";
    homepage = "https://github.com/PyYoshi/cChardet";
    license = lib.licenses.mpl11;
    maintainers = with lib.maintainers; [ ivan ];
  };
}