diff options
Diffstat (limited to 'nixpkgs/pkgs/games/typespeed/default.nix')
-rw-r--r-- | nixpkgs/pkgs/games/typespeed/default.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/games/typespeed/default.nix b/nixpkgs/pkgs/games/typespeed/default.nix new file mode 100644 index 000000000000..483f631fcea9 --- /dev/null +++ b/nixpkgs/pkgs/games/typespeed/default.nix @@ -0,0 +1,31 @@ +{ lib, stdenv, fetchurl, ncurses }: + +stdenv.mkDerivation rec { + pname = "typespeed"; + version = "0.6.5"; + buildInputs = [ ncurses ]; + src = fetchurl { + url = "https://typespeed.sourceforge.net/typespeed-${version}.tar.gz"; + sha256 = "5c860385ceed8a60f13217cc0192c4c2b4705c3e80f9866f7d72ff306eb72961"; + }; + + patches = [ ./typespeed-config-in-home.patch ]; + + # Workaround build failure on -fno-common toolchains like upstream + # gcc-10. Otherwise build fails as: + # ld: typespeed-typespeed.o:/build/typespeed-0.6.5/src/typespeed.h:69: multiple definition of + # `opt'; typespeed-file.o:/build/typespeed-0.6.5/src/typespeed.h:69: first defined here + env.NIX_CFLAGS_COMPILE = "-fcommon"; + + configureFlags = [ "--datadir=\${out}/share/" ]; + makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ]; + + meta = with lib; { + description = "A curses based typing game"; + mainProgram = "typespeed"; + homepage = "https://typespeed.sourceforge.net/"; + license = licenses.gpl2; + platforms = platforms.unix; + maintainers = [ maintainers.auntie ]; + }; +} |