Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at netboot-syslinux-multiplatform 77 lines 2.3 kB view raw
1{ lib, stdenv, fetchurl, unzip, makeWrapper, flex, bison, ncurses, buddy, tecla 2, libsigsegv, gmpxx, cln, yices 3# passthru.tests 4, tamarin-prover 5}: 6 7let 8 version = "3.3.1"; 9in 10 11stdenv.mkDerivation { 12 pname = "maude"; 13 inherit version; 14 15 src = fetchurl { 16 url = "https://github.com/SRI-CSL/Maude/archive/refs/tags/Maude${version}.tar.gz"; 17 sha256 = "ueM8qi3fLogWT8bA+ZyBnd9Zr9oOKuoiu2YpG6o5J1E="; 18 }; 19 20 nativeBuildInputs = [ flex bison unzip makeWrapper ]; 21 buildInputs = [ 22 ncurses buddy tecla gmpxx libsigsegv cln yices 23 ]; 24 25 hardeningDisable = [ "stackprotector" ] ++ 26 lib.optionals stdenv.isi686 [ "pic" "fortify" ]; 27 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" ]; 31 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 34 preConfigure = '' 35 mkdir Opt; cd Opt 36 configureFlagsArray=( 37 --datadir="$out/share/maude" 38 TECLA_LIBS="-ltecla -lncursesw" 39 LIBS="-lcln" 40 CFLAGS="-O3" CXXFLAGS="-O3" 41 ) 42 ''; 43 configureScript = "../configure"; 44 45 doCheck = true; 46 47 postInstall = '' 48 for n in "$out/bin/"*; do wrapProgram "$n" --suffix MAUDE_LIB ':' "$out/share/maude"; done 49 ''; 50 51 passthru.tests = { 52 # tamarin-prover only supports specific versions of maude explicitly 53 inherit tamarin-prover; 54 }; 55 56 enableParallelBuilding = true; 57 58 meta = { 59 broken = stdenv.isDarwin; 60 homepage = "http://maude.cs.illinois.edu/"; 61 description = "High-level specification language"; 62 license = lib.licenses.gpl2Plus; 63 64 longDescription = '' 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. 72 ''; 73 74 platforms = lib.platforms.unix; 75 maintainers = [ lib.maintainers.peti ]; 76 }; 77}