python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / development / interpreters / maude / default.nix
blobda4df0fb79a29e08f464e387cbe9ebfa3f51840a
1 { lib, stdenv, fetchurl, unzip, makeWrapper, flex, bison, ncurses, buddy, tecla
2 , libsigsegv, gmpxx, cln, yices
3 }:
5 let
7   version = "3.1";
9   fullMaude = fetchurl {
10     url = "http://maude.cs.illinois.edu/w/images/0/0a/Full-Maude-${version}.zip";
11     sha256 = "8b13af02c6243116c2ef9592622ecaa06d05dbe1dd6b1e595551ff33855948f2";
12   };
16 stdenv.mkDerivation {
17   pname = "maude";
18   inherit version;
20   src = fetchurl {
21     url = "http://maude.cs.illinois.edu/w/images/d/d3/Maude-${version}.tar.gz";
22     sha256 = "b112d7843f65217e3b5a9d40461698ef8dab7cbbe830af21216dfb924dc88a2f";
23   };
25   nativeBuildInputs = [ flex bison unzip makeWrapper ];
26   buildInputs = [
27     ncurses buddy tecla gmpxx libsigsegv cln yices
28   ];
30   hardeningDisable = [ "stackprotector" ] ++
31     lib.optionals stdenv.isi686 [ "pic" "fortify" ];
33   # Fix for glibc-2.34, see
34   # https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/maude/maude-3.1-r1.ebuild?id=f021cc6cfa1e35eb9c59955830f1fd89bfcb26b4
35   configureFlags = [ "--without-libsigsegv" ];
37   preConfigure = ''
38     configureFlagsArray=(
39       --datadir="$out/share/maude"
40       TECLA_LIBS="-ltecla -lncursesw"
41       LIBS="-lcln"
42       CFLAGS="-O3" CXXFLAGS="-O3"
43     )
44   '';
46   doCheck = true;
48   postInstall = ''
49     for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
50     unzip ${fullMaude}
51     install -D -m 444 full-maude31.maude $out/share/maude/full-maude.maude
52   '';
54   # bison -dv surface.yy -o surface.c
55   # mv surface.c surface.cc
56   # mv: cannot stat 'surface.c': No such file or directory
57   enableParallelBuilding = false;
59   meta = {
60     broken = stdenv.isDarwin;
61     homepage = "http://maude.cs.illinois.edu/";
62     description = "High-level specification language";
63     license = lib.licenses.gpl2Plus;
65     longDescription = ''
66       Maude is a high-performance reflective language and system
67       supporting both equational and rewriting logic specification and
68       programming for a wide range of applications. Maude has been
69       influenced in important ways by the OBJ3 language, which can be
70       regarded as an equational logic sublanguage. Besides supporting
71       equational specification and programming, Maude also supports
72       rewriting logic computation.
73     '';
75     platforms = lib.platforms.unix;
76     maintainers = [ lib.maintainers.peti ];
77   };