Files
nixpkgs/pkgs/by-name/al/algol68g/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

76 lines
1.8 KiB
Nix

{
lib,
stdenv,
fetchurl,
curl,
gmp,
gsl,
libpq,
mpfr,
ncurses,
plotutils,
pkg-config,
withPDFDoc ? true,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "algol68g";
version = "3.5.14";
src = fetchurl {
url = "https://jmvdveer.home.xs4all.nl/algol68g-${finalAttrs.version}.tar.gz";
hash = "sha256-uIy8rIhUjohiQJ/K5EprsIISXMAx1w27I3cGo/9H9Wk=";
};
outputs = [
"out"
"man"
]
++ lib.optionals withPDFDoc [ "doc" ];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
curl
mpfr
ncurses
gmp
gsl
plotutils
libpq
];
strictDeps = true;
postInstall =
let
pdfdoc = fetchurl {
url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf";
hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU=";
};
in
lib.optionalString withPDFDoc ''
install -m644 ${pdfdoc} ${placeholder "doc"}/share/doc/algol68g/learning-algol-68-genie.pdf
'';
meta = {
homepage = "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html";
description = "Algol 68 Genie compiler-interpreter";
longDescription = ''
Algol 68 Genie (a68g) is a recent checkout hybrid compiler-interpreter,
written from scratch by Marcel van der Veer. It ranks among the most
complete Algol 68 implementations. It implements for example arbitrary
precision arithmetic, complex numbers, parallel processing, partial
parametrisation and formatted transput, as well as support for curses,
regular expressions and sounds. It can be linked to GNU plotutils, the GNU
scientific library and PostgreSQL.
'';
license = lib.licenses.gpl3Plus;
mainProgram = "a68g";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})