python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / applications / office / teapot / default.nix
blobd2d44511bc63f5e8b4594a660db65e00597e34f7
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , libtirpc
6 , ncurses
7 }:
9 stdenv.mkDerivation rec {
10   pname = "teapot";
11   version = "2.3.0";
13   src = fetchFromGitHub {
14     name = "${pname}-${version}";
15     owner = "museoa";
16     repo = pname;
17     rev = version;
18     hash = "sha256-38XFjRzOGasr030f+mRYT+ptlabpnVJfa+1s7ZAjS+k=";
19   };
21   prePatch = ''
22     cd src
23   '';
25   patches = [
26     # include a local file in order to make cc happy
27     ./001-fix-warning.patch
28     # remove the ENABLE_HELP target entirely - lyx and latex are huge!
29     ./002-remove-help.patch
30   ];
32   nativeBuildInputs = [
33     cmake
34   ];
36   buildInputs = [
37     libtirpc
38     ncurses
39   ];
41   # By no known reason libtirpc is not detected
42   NIX_CFLAGS_COMPILE = [ "-I${libtirpc.dev}/include/tirpc" ];
43   NIX_LDFLAGS = [ "-ltirpc" ];
45   cmakeConfigureFlags = [
46     "-DENABLE_HELP=OFF"
47   ];
49   meta = with lib; {
50     inherit (src.meta) homepage;
51     description = "Table Editor And Planner, Or: Teapot";
52     longDescription = ''
53       Teapot is a compact spreadsheet software originally written by Michael
54       Haardt. It features a (n)curses-based text terminal interface, and
55       recently also a FLTK-based GUI.
57       These days, it may seem pointless having yet another spreadsheet program
58       (and one that doesn't even know how to load Microsoft Excel files). Its
59       compact size (130k for the ncurses executable, 140k for the GUI
60       executable, 300k for the self-contained Windows EXE) and the fact that it
61       can run across serial lines and SSH sessions make it an interesting choice
62       for embedded applications and as system administration utility, even more
63       so since it has a batch processing mode and comes with example code for
64       creating graphs from data sets.
66       Another interesting feature is its modern approach to spread sheet theory:
67       It sports true three-dimensional tables and iterative expressions. And
68       since it breaks compatibility with the usual notions of big spreadsheet
69       packages, it can also throw old syntactic cruft over board which many
70       spreadsheets still inherit from the days of VisiCalc on ancient CP/M
71       systems.
72     '';
73     license = licenses.gpl3Plus;
74     maintainers = with maintainers; [ AndersonTorres ];
75     platforms = platforms.unix;
76   };
78 # TODO: patch/fix FLTK building
79 # TODO: add documentation