Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / liblouis / default.nix
blob32d1522fb68fe30a2112a096c955b74d942a57a1
1 { fetchFromGitHub
2 , lib
3 , stdenv
4 , autoreconfHook
5 , pkg-config
6 , gettext
7 , python3
8 , texinfo
9 , help2man
10 , libyaml
11 , perl
14 stdenv.mkDerivation (finalAttrs: {
15   pname = "liblouis";
16   version = "3.27.0";
18   outputs = [ "out" "dev" "info" "doc" ]
19     # configure: WARNING: cannot generate manual pages while cross compiling
20     ++ lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [ "man" ];
22   src = fetchFromGitHub {
23     owner = "liblouis";
24     repo = "liblouis";
25     rev = "v${finalAttrs.version}";
26     hash = "sha256-5umpIscs4Y8MSaoY7yKtBFmlIa8QDQtjBxoysZ+GTm8=";
27   };
29   strictDeps = true;
30   nativeBuildInputs = [
31     autoreconfHook
32     pkg-config
33     gettext
34     python3
35     # Docs, man, info
36     texinfo
37     help2man
38   ];
40   buildInputs = [
41     # lou_checkYaml
42     libyaml
43   ];
45   nativeCheckInputs = [
46     perl
47   ];
49   configureFlags = [
50     # Required by Python bindings
51     "--enable-ucs4"
52   ];
54   postPatch = ''
55     patchShebangs tests
56     substituteInPlace python/louis/__init__.py.in --replace "###LIBLOUIS_SONAME###" "$out/lib/liblouis.so"
57   '';
59   postInstall = ''
60     pushd python
61     python setup.py install --prefix="$out" --optimize=1
62     popd
63   '';
65   doCheck = true;
67   meta = with lib; {
68     description = "Open-source braille translator and back-translator";
69     homepage = "https://liblouis.io/";
70     license = with licenses; [
71       lgpl21Plus # library
72       gpl3Plus # tools
73     ];
74     maintainers = with maintainers; [ jtojnar ];
75     platforms = platforms.unix;
76   };