46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
|
{ lib
|
||
|
, stdenv
|
||
|
, fetchurl
|
||
|
}:
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
pname = "gnu-cim";
|
||
|
version = "5.1";
|
||
|
|
||
|
outputs = ["out" "lib" "man" "info"];
|
||
|
|
||
|
src = fetchurl {
|
||
|
url = "mirror://gnu/cim/cim-${version}.tar.gz";
|
||
|
hash = "sha256-uQcXtm7EAFA73WnlN+i38+ip0QbDupoIoErlc2mgaak=";
|
||
|
};
|
||
|
|
||
|
postPatch = ''
|
||
|
for fname in lib/{simulation,simset}.c; do
|
||
|
substituteInPlace "$fname" \
|
||
|
--replace \
|
||
|
'#include "../../lib/cim.h"' \
|
||
|
'#include "../lib/cim.h"'
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
CFLAGS = lib.optionalString stdenv.cc.isClang "-Wno-return-type";
|
||
|
|
||
|
doCheck = true;
|
||
|
|
||
|
meta = with lib; {
|
||
|
description = "A GNU compiler for the programming language Simula";
|
||
|
longDescription = ''
|
||
|
GNU Cim is a compiler for the programming language Simula.
|
||
|
It offers a class concept, separate compilation with full type checking,
|
||
|
interface to external C routines, an application package for process
|
||
|
simulation and a coroutine concept. Commonly used with the Demos for
|
||
|
discrete event modelling.
|
||
|
'';
|
||
|
homepage = "https://www.gnu.org/software/cim/";
|
||
|
license = licenses.gpl2;
|
||
|
platforms = platforms.all;
|
||
|
badPlatforms = [ "aarch64-darwin" ];
|
||
|
maintainers = with maintainers; [ pbsds ];
|
||
|
};
|
||
|
}
|