diff options
Diffstat (limited to 'pkgs/applications/misc/dozenal/default.nix')
-rw-r--r-- | pkgs/applications/misc/dozenal/default.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/applications/misc/dozenal/default.nix b/pkgs/applications/misc/dozenal/default.nix new file mode 100644 index 00000000000..b5ae9fb567c --- /dev/null +++ b/pkgs/applications/misc/dozenal/default.nix @@ -0,0 +1,61 @@ +{ stdenv, fetchFromGitHub, ncurses, hdate, lua5_2 }: + +stdenv.mkDerivation rec { + version = "12010904"; + name = "dozenal-${version}"; + src = fetchFromGitHub { + owner = "dgoodmaniii"; + repo = "dozenal"; + rev = "v${version}"; + sha256 = "1ic63gpdda762x6ks3al71dwgmsy2isicqyr2935bd245jx8s209"; + }; + makeFlags = [ + # author do not use configure and prefix directly using $prefix + "prefix=$(out)" + # graphical version of dozdc requires xforms, which is not i nixpkgs so I turned it down + "XFORMS_FLAGS=-UXFORMS" + "LUALIB=-llua" + "bindir=$(prefix)/bin/" + ]; + # some include hardcodes the lua libraries path. This is a patch for that + patches = [ ./lua-header.patch ]; + preBuild = "cd dozenal"; + buildInputs = [ ncurses hdate lua5_2 ]; + # I remove gdozdc, as I didn't figure all it's dependency yet. + postInstall = "rm $out/bin/gdozdc"; + + meta = { + description = "A complete suite of dozenal (base twelve) programs"; + longDescription = '' + Programs + + doz --- a converter; converts decimal numbers into dozenal. Accepts + input in standard or exponential notation (i.e., "1492.2" or "1.4922e3"). + dec --- a converter; converts dozenal numbers into decimal. Accepts input + in standard or exponential notation (i.e., "X44;4" or "X;444e2"). + dozword --- converts a dozenal number (integers only) into words, + according to the Pendlebury system. + dozdc --- a full-featured scientific calculator which works in the + dozenal base. RPN command line. + tgmconv --- a converter for all standard measurements; converts to and + from TGM, Imperial, customary, and SI metric. + dozpret --- a pretty-printer for dozenal numbers; inserts spacing (or + other characters) as desired, and can also transform transdecimal digits + from 'X' to 'E' into any character or sequence of characters desired. + dozdate --- a more-or-less drop-in replacement for GNU and BSD date, it + outputs the date and time in dozenal, as well as containing some TGM + extensions. + dozstring --- a simple byte converter; absorbs a string either from + standard input or a command line argument, leaving it identical but + for the numbers, which it converts into dozenal. Options for padding + and for not converting specific numbers. + doman --- a converter which takes a dozenal integer and + emits its equivalent in a non-place-value system, such as + Roman numerals. Arbitrary ranks and symbols may be used. + Defaults to dozenal Roman numerals. + ''; + homepage = https://github.com/dgoodmaniii/dozenal/; + maintainers = with stdenv.lib.maintainers; [ CharlesHD ]; + license = stdenv.lib.licenses.gpl3; + }; +} |