with structuredAttrs lists will be bash arrays which cannot be exported which will be a issue with some patches and some wrappers like cc-wrapper this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists in env cause a eval failure
31 lines
1 KiB
Nix
31 lines
1 KiB
Nix
{ 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";
|
|
homepage = "https://typespeed.sourceforge.net/";
|
|
license = licenses.gpl2;
|
|
platforms = platforms.unix;
|
|
maintainers = [ maintainers.auntie ];
|
|
};
|
|
}
|