marst: init at 2.7

MARST is an Algol-to-C translator.
This commit is contained in:
AndersonTorres 2021-07-29 04:20:48 -03:00
parent fe273ea648
commit 2f6eb6594d
2 changed files with 56 additions and 0 deletions

View file

@ -0,0 +1,54 @@
{ lib
, stdenv
, fetchurl
, texinfo
}:
stdenv.mkDerivation rec {
pname = "marst";
version = "2.7";
src = fetchurl {
url = "mirror://gnu/gnu/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-Pue50cvjzZ+19iJxfae7VQbxpto7MPgS4jhLh7zk2lA=";
};
nativeBuildInputs = [
texinfo
];
postBuild = ''
makeinfo doc/marst.texi -o doc/marst.info
'';
postInstall = ''
install -m644 doc/marst.info -Dt $out/share/info/
install -m644 doc/marst.pdf -Dt $out/share/doc/${pname}/
'';
meta = with lib; {
homepage = "https://www.gnu.org/software/marst/";
description = "An Algol-60-to-C translator";
longDescription = ''
MARST is an Algol-to-C translator. It automatically translates programs
written on the algorithmic language Algol 60 to the C programming
language.
The MARST package includes three main components:
- the translator, MARST, that translates Algol 60 programs to the C
programming language.
- the library, ALGLIB, that contains precompiled standard Algol 60
procedures and other necessary library routines. This library is to be
used at linking stage. (In the distribution the name libalgol.a is used
for this library.)
- the converter, MACVT, that allows to convert existing Algol 60 programs
from some other representations to MARST representation.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}

View file

@ -11842,6 +11842,8 @@ in
manticore = callPackage ../development/compilers/manticore { };
marst = callPackage ../development/compilers/marst { };
mercury = callPackage ../development/compilers/mercury {
jdk = openjdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};