Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 75 lines 1.8 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 curl, 6 gmp, 7 gsl, 8 libpq, 9 mpfr, 10 ncurses, 11 plotutils, 12 pkg-config, 13 withPDFDoc ? true, 14}: 15 16stdenv.mkDerivation (finalAttrs: { 17 pname = "algol68g"; 18 version = "3.5.14"; 19 20 src = fetchurl { 21 url = "https://jmvdveer.home.xs4all.nl/algol68g-${finalAttrs.version}.tar.gz"; 22 hash = "sha256-uIy8rIhUjohiQJ/K5EprsIISXMAx1w27I3cGo/9H9Wk="; 23 }; 24 25 outputs = [ 26 "out" 27 "man" 28 ] 29 ++ lib.optionals withPDFDoc [ "doc" ]; 30 31 nativeBuildInputs = [ 32 pkg-config 33 ]; 34 35 buildInputs = [ 36 curl 37 mpfr 38 ncurses 39 gmp 40 gsl 41 plotutils 42 libpq 43 ]; 44 45 strictDeps = true; 46 47 postInstall = 48 let 49 pdfdoc = fetchurl { 50 url = "https://jmvdveer.home.xs4all.nl/learning-algol-68-genie.pdf"; 51 hash = "sha256-QCwn1e/lVfTYTeolCFErvfMhvwCgsBnASqq2K+NYmlU="; 52 }; 53 in 54 lib.optionalString withPDFDoc '' 55 install -m644 ${pdfdoc} ${placeholder "doc"}/share/doc/algol68g/learning-algol-68-genie.pdf 56 ''; 57 58 meta = { 59 homepage = "https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html"; 60 description = "Algol 68 Genie compiler-interpreter"; 61 longDescription = '' 62 Algol 68 Genie (a68g) is a recent checkout hybrid compiler-interpreter, 63 written from scratch by Marcel van der Veer. It ranks among the most 64 complete Algol 68 implementations. It implements for example arbitrary 65 precision arithmetic, complex numbers, parallel processing, partial 66 parametrisation and formatted transput, as well as support for curses, 67 regular expressions and sounds. It can be linked to GNU plotutils, the GNU 68 scientific library and PostgreSQL. 69 ''; 70 license = lib.licenses.gpl3Plus; 71 mainProgram = "a68g"; 72 maintainers = with lib.maintainers; [ ]; 73 platforms = lib.platforms.unix; 74 }; 75})