nixpkgs/pkgs/games/klavaro/default.nix
Will Dietz 606eab00d0 klavaro: patch to use non-deprecated names for icons
Started just wanting to fix the "gtk-strikethrough" icon,
but kept finding items marked deprecated.

This change may be incomplete, but all changes were to deprecated
icons (that used to be "stock", I think).

Icon name candidates were identified by extracting all used icon-name
values and checking which existed in my system's copy of the 'breeze' theme.

If missing, these were checked online to find the new replacement.

(I couldn't find an authoritative list of the replacements,
but looking each up finds the right deprecation warning)
2022-03-13 22:39:36 -05:00

53 lines
1.3 KiB
Nix

{ lib, stdenv
, fetchurl
, makeWrapper
, curl
, espeak
, file
, gtk3
, gtkdatabox
, intltool
, pkg-config
}:
stdenv.mkDerivation rec {
pname = "klavaro";
version = "3.13";
src = fetchurl {
url = "mirror://sourceforge/klavaro/${pname}-${version}.tar.bz2";
sha256 = "0z6c3lqikk50mkz3ipm93l48qj7b98lxyip8y6ndg9y9k0z0n878";
};
nativeBuildInputs = [ intltool makeWrapper pkg-config ];
buildInputs = [ curl gtk3 gtkdatabox ];
postPatch = ''
substituteInPlace src/tutor.c --replace '"espeak ' '"${espeak}/bin/espeak '
'';
patches = [ ./icons.patch ./trans_lang_get_similar.patch ];
postInstall = ''
wrapProgram $out/bin/klavaro \
--prefix LD_LIBRARY_PATH : $out/lib
'';
# Fixes /usr/bin/file: No such file or directory
preConfigure = ''
substituteInPlace configure \
--replace "/usr/bin/file" "${file}/bin/file"
'';
# Hack to avoid TMPDIR in RPATHs.
preFixup = ''rm -rf "$(pwd)" '';
meta = with lib; {
description = "Free touch typing tutor program";
homepage = "http://klavaro.sourceforge.net/";
changelog = "https://sourceforge.net/p/klavaro/code/HEAD/tree/trunk/ChangeLog";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ mimame davidak ];
};
}