1 { lib, stdenv, fetchurl, unzip, makeWrapper, flex, bison, ncurses, buddy, tecla
2 , libsigsegv, gmpxx, cln, yices
16 url = "https://github.com/maude-lang/Maude/archive/refs/tags/Maude${version}.tar.gz";
17 sha256 = "IXWEWAmh388NpNSt9wnOpLkzhZ09N+AStO2wn5dRT8o=";
20 nativeBuildInputs = [ flex bison unzip makeWrapper ];
22 ncurses buddy tecla gmpxx libsigsegv cln yices
25 hardeningDisable = [ "stackprotector" ] ++
26 lib.optionals stdenv.hostPlatform.isi686 [ "pic" "fortify" ];
28 # Fix for glibc-2.34, see
29 # https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-lang/maude/maude-3.1-r1.ebuild?id=f021cc6cfa1e35eb9c59955830f1fd89bfcb26b4
30 configureFlags = [ "--without-libsigsegv" ];
32 # Certain tests (in particular, Misc/fileTest) expect us to build in a subdirectory
33 # We'll use the directory Opt/ as suggested in INSTALL
37 --datadir="$out/share/maude"
38 TECLA_LIBS="-ltecla -lncursesw"
40 CFLAGS="-O3" CXXFLAGS="-O3"
43 configureScript = "../configure";
48 for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done
52 # tamarin-prover only supports specific versions of maude explicitly
53 inherit tamarin-prover;
56 enableParallelBuilding = true;
59 homepage = "http://maude.cs.illinois.edu/";
60 description = "High-level specification language";
61 mainProgram = "maude";
62 license = lib.licenses.gpl2Plus;
65 Maude is a high-performance reflective language and system
66 supporting both equational and rewriting logic specification and
67 programming for a wide range of applications. Maude has been
68 influenced in important ways by the OBJ3 language, which can be
69 regarded as an equational logic sublanguage. Besides supporting
70 equational specification and programming, Maude also supports
71 rewriting logic computation.
74 platforms = lib.platforms.unix;
75 maintainers = [ lib.maintainers.peti ];