Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 57 lines 1.4 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchurl, 5}: 6 7stdenv.mkDerivation rec { 8 pname = "gnu-cim"; 9 version = "5.1"; 10 11 outputs = [ 12 "out" 13 "lib" 14 "man" 15 "info" 16 ]; 17 18 src = fetchurl { 19 url = "mirror://gnu/cim/cim-${version}.tar.gz"; 20 hash = "sha256-uQcXtm7EAFA73WnlN+i38+ip0QbDupoIoErlc2mgaak="; 21 }; 22 23 postPatch = '' 24 for fname in lib/{simulation,simset}.c; do 25 substituteInPlace "$fname" \ 26 --replace-fail \ 27 '#include "../../lib/cim.h"' \ 28 '#include "../lib/cim.h"' 29 done 30 ''; 31 32 # lib.escapeShellArgs does not work 33 env.CFLAGS = lib.concatStringsSep " " [ 34 "-Wno-error=implicit-function-declaration" 35 "-Wno-error=implicit-int" 36 "-Wno-error=return-mismatch" 37 "-Wno-error=incompatible-pointer-types" 38 ]; 39 40 doCheck = true; 41 42 meta = with lib; { 43 description = "GNU compiler for the programming language Simula"; 44 longDescription = '' 45 GNU Cim is a compiler for the programming language Simula. 46 It offers a class concept, separate compilation with full type checking, 47 interface to external C routines, an application package for process 48 simulation and a coroutine concept. Commonly used with the Demos for 49 discrete event modelling. 50 ''; 51 homepage = "https://www.gnu.org/software/cim/"; 52 license = licenses.gpl2; 53 platforms = platforms.all; 54 badPlatforms = [ "aarch64-darwin" ]; 55 maintainers = with maintainers; [ pbsds ]; 56 }; 57}