ripasso-cursive: cosmetic changes (#361736)
[NixPkgs.git] / pkgs / by-name / kl / klavaro / package.nix
blobadaae799cb5cf71d88c2ad9363e9a5a38b23759d
1 { lib, stdenv
2 , fetchurl
3 , makeWrapper
4 , curl
5 , espeak
6 , file
7 , gtk3
8 , gtkdatabox
9 , intltool
10 , pkg-config
13 stdenv.mkDerivation rec {
14   pname = "klavaro";
15   version = "3.14";
17   src = fetchurl {
18     url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
19     hash = "sha256-hxh+SdMBxRDmlkCYzbYSEmvwMNKodf15nq3K0+rlbas=";
20   };
22   nativeBuildInputs = [ intltool makeWrapper pkg-config ];
23   buildInputs = [ curl gtk3 gtkdatabox ];
25   postPatch = ''
26     substituteInPlace src/tutor.c --replace '"espeak ' '"${espeak}/bin/espeak '
27   '';
29   postInstall = ''
30     wrapProgram $out/bin/klavaro \
31       --prefix LD_LIBRARY_PATH : $out/lib
32   '';
34   # Fixes /usr/bin/file: No such file or directory
35   preConfigure = ''
36     substituteInPlace configure \
37       --replace "/usr/bin/file" "${file}/bin/file"
38   '';
40   # remove forbidden references to $TMPDIR
41   preFixup = lib.optionalString stdenv.hostPlatform.isLinux ''
42     for f in "$out"/bin/*; do
43       if isELF "$f"; then
44         patchelf --shrink-rpath --allowed-rpath-prefixes "$NIX_STORE" "$f"
45       fi
46     done
47   '';
49   meta = with lib; {
50     description = "Free touch typing tutor program";
51     mainProgram = "klavaro";
52     homepage = "http://klavaro.sourceforge.net/";
53     changelog = "https://sourceforge.net/p/klavaro/code/HEAD/tree/trunk/ChangeLog";
54     license = licenses.gpl3Plus;
55     platforms = platforms.linux;
56     maintainers = with maintainers; [ mimame davidak ];
57   };